خانه / بایگانی برچسب: پایگاه داده

بایگانی برچسب: پایگاه داده

تولید مجموعه داده های تصادفی با استفاده از SQL — راهنمای مقدماتی

آیا تاکنون نیاز داشته‌اید که یک پایگاه داده را با داده‌های تصادفی؛ اما واقعی پر کنید. این داده‌ها با مقاصدی از قبیل تست، نمایش یا تمرین ممکن است مورد استفاده قرار گیرند. این داده‌هادر وضعیت‌های زیادی مورد نیاز هستند و به عنوان یک توسعه‌دهنده ممکن است در مواقع زیادی با این نیاز مواجه شوید. در این نوشته به توضیح روش تولید مجموعه داده های تصادفی با استفاده از SQL می‌پردازیم. در مسیر توسعه یک اپلیکیشن زمان چندانی طول نمی‌کشد که یکی از افراد تیم نیاز پیدا کند اپلیکیشن را با داده‌های واقعی تست کند. بنابراین باید روشی برای مدیریت و رفع این نیاز بیابیم. یکی از بهترین روش‌ها استفاده از زبان SQL است. SQL یک زبان جالب و شگفت‌انگیز است و کارهایی که با آن می‌توان به سهولت انجام داد بی‌شمار هستند. البته بدیهی است که کتابخانه‌های زیادی وجود دارند که می‌توان این کار را با آن‌ها اجرا کرد. یکی از بهترین این کتابخانه‌ها faker.js (+) است. بسیاری از مثال‌هایی که در این متن مشاهده خواهید کرد با استفاده از faker.js به کد جاوا اسکریپت تبدیل شده‌اند. با این وجود هدف این مقاله آن است که نمایش بدهد چه کارهای..

توضیحات بیشتر »

بهینه سازی عملکرد اپلیکیشن های PHP — به زبان ساده

در این نوشته قصد داریم به بررسی روش‌های بهینه‌سازی عملکرد اپلیکیشن‌ های PHP بپردازیم. دقت کنید که عملکرد اپلیکیشن صرفاً یک مسئله فنی نیست؛ بلکه عملکرد می‌تواند منجر به موفقیت یا شکست تجاری یک پروژه شود. بنابراین اگر تصور می‌کنید چند میلی‌ثانیه اهمیت چندانی ندارد، باید در معلومات خود تجدیدنظر کنید. چرا عملکرد مهم است؟ اصولاً سه دلیل برای چرایی اهمیت عملکرد می‌توان برشمرد. دلیل نخست تجربه کاربری است؛ اگر اپلیکیشن شما به زمان زیادی برای بارگذاری نیاز دارد، در این صورت این ریسک وجود دارد که کاربران از خدمات رقبای شما استفاده کنند یا نظرات نامناسبی در مورد آن انتشار دهند که تأثیر بدی روی کسب و کار شما می‌گذارد. دلیل دوم برای اهمیت عملکرد، مفهوم «نرخ تبدیل» است. منظور از تبدیل، تعداد کاربرانی است که عملاً محصول شما را خریداری یا دانلود می‌کنند و یا به طور کلی کاربرانی که برای خدمات شما پول پرداخت می‌کنند. دلیل سوم، «مقیاس‌پذیری» است. هر چه اپلیکیشن شما درخواست‌های بیشتری را بتواند در هر ثانیه مدیریت کند، می‌توانید ترافیک بیشتری را دریافت کنید. برای نمونه اگر یک اپلیکیشن می‌تواند هر ثانیه به..

توضیحات بیشتر »

ساخت یک اپلیکیشن چند پلتفرمی موبایل با React Native (بخش دوم) — به زبان ساده

در بخش اول این مجموعه مطلب در وبلاگ فرادرس به بررسی روش نوشتن یک اپلیکیشن اندروید و iOS با استفاده از React Native پرداختیم. در آن پروژه از داده‌های ساختگی استفاده کردیم؛ اما در این مقاله قصد داریم برخی زیرساخت‌های مورد نیاز برای ذخیره‌سازی داده‌ها در پایگاه داده از جمله Google Cloud SQL را به اپلیکیشن خود اضافه کنیم. گوگل کلود یک اعتبار 300 دلاری اولیه به صورت دوره آزمایشی رایگان ارائه کرده است و از این رو در این مقاله از آن برای تکمیل اپلیکیشن خود استفاده می‌کنیم. بدین منظور به موارد زیر نیاز داریم: یک پایگاه داده یک API برای Node.js گوگل اس‌کیوال (Google SQL) زمانی که یک حساب گوگل کلود باز کرده و وارد کنسول خود شدید، می‌توانید به روشی کاملاً آسان یک پایگاه داده SQL ایجاد کنید. بدین منظور از منوی سمت چپ گزینه SQL و سپس Create Instance را انتخاب کنید. در ادامه نوع وهله پایگاه داده خود را انتخاب کنید. پیشنهاد ما انتخاب گزینه «development tier» است. در ادامه می‌توانید این گزینه را ارتقا بدهید. رمز عبور root خود را تعیین کرده و باقی موارد را نیز پر کنید. سپس زمانی که مراحل راه‌اندا..

توضیحات بیشتر »

ساخت اپلیکیشن اینستاگرام با Ruby On Rails (بخش دوم) — از صفر تا صد

در بخش قبلی این نوشته به بررسی مقدمات مورد نیاز برای طراحی اپلیکیشن اینستاگرام پرداختیم. در این نوشته برخی موارد دیگر که شامل آپلود عکس برای پست و همین طور آواتار کاربران است را معرفی می‌کنیم. مواردی که در این نوشته بررسی خواهند شد شامل فهرست زیر هستند: ایجاد مدل پست ارتباط بین کاربر و مدل‌های پست استفاده از Active Storage برای الصاق یک تصویر به هر پست ایجاد یک پست جدید و افزودن اعتبارسنجی پست نمایش پست‌ها روی صفحه اصلی و صفحه پروفایل کاربران. استفاده از Kaminari gem برای صفحه‌بندی پست‌ها آپلود آواتار برای کاربر. ایجاد مدل پست مدل‌ها در Rails از یک اسم مفرد و جداول متناظر آن‌ها در پایگاه داده از یک اسم جمع استفاده می‌کنند. برای ایجاد مدل Post باید از generator در Rails استفاده کنیم و دستور زیر را در ترمینال وارد نماییم: rails generate model Post description:string user_id:integer دستور فوق دسته‌ای از فایل‌ها را ایجاد می‌کند: Running via Spring preloader in process 5011 invoke active_record create db/migrate/20180922091640_create_posts.rb create app/models/post.rb invoke test_unit cre..

توضیحات بیشتر »

پایگاه های داده SQL و NoSQL و تفاوت آنها — به زبان ساده

از زمان‌های بسیار دور یکی از مهم‌ترین کارکردهای رایانه‌ها حافظه بوده است. با این که مباحث فنی و روش‌های پیاده‌سازی زیرساختی حافظه تفاوت زیادی با هم دارند؛ اما اغلب رایانه‌ها به سخت‌افزار ضروری برای پردازش اطلاعات و حفظ آن‌ها برای استفاده در موارد بعدی مجهز هستند. در دنیای امروز، چه سرور باشد و چه رایانه شخصی یا دستگاه‌های همراه، دیگر نمی‌توان هیچ اپلیکیشنی را بدون بهره‌گیری از این توانایی رایانه‌ها تصور کرد. از بازی‌های ساده تا ابزارهای مرتبط با کسب و کار که شامل وب‌سایت‌ها نیز می‌شود، انواع خاصی از داده‌ها در هر عملیاتی پردازش، ثبت و بازیابی می‌شوند. «سیستم‌های مدیریت پایگاه داده» (DBMS) نرم‌افزارهایی در سطوح بالاتر هستند که با «رابط‌های برنامه‌نویسی اپلیکیشن» (API) کار می‌کنند و مسئولیت این دسته از عملیات را بر عهده دارند. اکنون دهه‌ها است که برای کمک به حل کردن انواع مختلفی از مسائل، DBMS های مختلفی توسعه یافته‌اند (برای نمونه پایگاه‌های داده رابطه‌ای، NoSQL و غیره) و اپلیکیشن‌هایی برای پیاده‌سازی آن‌ها نیز طراحی شده‌اند که شامل MySQL، PostgreSQL، MongoDB، Redis و غیره هستند. در ..

توضیحات بیشتر »

راهنمای گام به گام ساده برای راه‌اندازی و اجرای Node.JS، Express و MongoDB — به زبان ساده

در این نوشته به شما کمک می‌کنیم در کمتر از سی دقیقه یک مجموعه کامل از نودجی‌اس و اکسپرس راه‌اندازی کرده و یک صفحه وب را عرضه کنید و در 30 دقیقه بعدی نیز می‌توانید کاری کنید که این وب اپلیکیشن با پایگاه داده ارتباط برقرار کند. این راهنما با استفاده از Node.js v8.11.x، MongoDB v3.6.x و Express v4.16 اجرا شده است و ممکن است با نسخه‌های قدیمی‌تر این نرم‌افزارها به‌درستی کار نکند. کد کامل این پروژه در این ریپو گیت‌هاب (+) قرار دارد. مقدمه راهنماهای بسیار زیادی در مورد راه‌اندازی یک اپلیکیشن «Hello World» با استفاده از Node.js روی وب منتشر شده‌اند. در صورتی که هدف شما صرفاً آشنایی با این دنیا باشد، این راهنماها عالی هستند؛ اما در اکثر موارد ما می‌خواهیم جزییات بیشتری در این مورد بدانیم و از این رو باید به دنبال راهنماهای بیشتری باشیم. اما راهنماهای مرحله بعدی به نظر 30 سطح بالاتر می‌رسند. چون از ساخت یک اپلیکیشن hello world ساده به یکباره به یک راهنمای ساخت سیستم بلاگ نویسی با درج کامنت می‌رسیم. این راهنماها نیز عالی هستند؛ اما در این راهنماها در اغلب موارد فرض می‌شود که کاربر آشنایی سطح ..

توضیحات بیشتر »

روش‌های مختلف ایمپورت پایگاه داده در MySQL — راهنمای جامع

دو روش ساده برای بارگذاری داده‌ها در پایگاه داده MySQL از یک فایل قبلاً پشتیبان‌گیری شده وجود دارد. ایمپورت داده‌ها با استفاده از LOAD DATA MySQL یک گزاره دارد که به عنوان یک بارگذار دسته‌ای داده‌ها عمل می‌کند. در ادامه مثالی از این گزاره ارائه شده که داده‌ها را از یک فایل در دایرکتوری جاری خوانده و در جدول mytbl در پایگاه داده جاری بارگذاری می‌کند: mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl; اگر کلیدواژه LOCAL ارائه نشود، MySQL با استفاده از نام مسیر مطلق (absolute pathname) به دنبال فایل داده در میزبان سرور می‌گردد که مکان فایل در آن به طور کامل مشخص شده است و از root سیستم فایل آغاز می‌شود. MySQL فایل را از مکان مورد نظر می‌خواند. به طور پیش‌فرض LOAD DATA فرض می‌کند که فایل‌های داده شامل خط‌هایی هستند که با کاراکترهای newline پایان می‌یابند و مقادیر داده‌ها درون یک خط به وسیله کاراکتر tab از هم جدا می‌شوند. برای تعیین صریح قالب فایل باید از بند FIELDS برای توصیف خصوصیات فیلدهای درون خط و از بند LINES برای تعیین کاراکترهای نشان دهنده پایان خط استفاده کنیم..

توضیحات بیشتر »

داده کاوی (Data Mining) — از صفر تا صد

در این مطلب به مباحث «داده کاوی» (Data Mining) از صفر تا صد پرداخته شده است. با پیشرفت سریع «فناوری اطلاعات» (Information Technology)، بشر شاهد یک رشد انفجاری در تولید «داده» (Data) و ظرفیت‌های گردآوری و ذخیره‌سازی آن در دامنه‌های گوناگون بوده است. در جهان کسب‌و‌کار، «پایگاه‌داده‌های» (Databases) بسیار بزرگی برای تراکنش‌های تجاری وجود دارند که توسط خرده‌فروشان و یا در «تجارت الکترونیک» (E-commerce) ساخته شده‌اند. از سوی دیگر، همه روزه حجم عظیمی از داده‌های علمی در زمینه‌های گوناگون تولید می‌شوند. از جمله داده‌های علمی می‌توان به پروژه «ژنوم انسان» (Human Genome) اشاره کرد که چندین گیگابایت داده را از کد ژنتیکی انسان تجمیع کرده است. «وب جهان گستر» (World Wide Web) مثال دیگری از منابع داده است که میلیاردها صفحه وب شامل اطلاعات متنی و چند رسانه‌ای را دربرمی‌گیرد. این صفحات توسط میلیون‌ها نفر بازدید می‌شوند. در چنین شرایطی، تحلیل بدنه بزرگ داده‌ها به شکل قابل درک و کاربردی، یک مساله چالش برانگیز است. «داده‌کاوی» (Data Mining) این مساله را با فراهم کردن روش‌ها و نرم‌افزارهایی برای خودکارس..

توضیحات بیشتر »

وب اپلیکیشن مدرن با Django و React برای مدیریت اطلاعات مشتری روی اوبونتو ۱۸.۰۴ — صفر تا صد

افراد مختلف از انواع متفاوتی از دستگاه‌ها برای اتصال به اینترنت و مرور وب استفاده می‌کنند. به همین دلیل وب اپلیکیشن‌ها باید از مکان‌های مختلف قابل دسترسی باشند. در مورد وب‌سایت‌های سنتی، داشتن یک رابط کاربری واکنش‌گرا معمولاً کافی است؛ اما اپلیکیشن‌های پیچیده‌تر غالباً نیازمند استفاده از تکنیک‌ها و معماری‌های دیگری هستند. این تکنیک‌ها شامل داشتن بک‌اند REST و همچنین اپلیکیشن فرانت‌اندی است که می‌تواند در سمت کلاینت به صورت وب اپلیکیشن، وب اپلیکیشن پیش‌رونده یعنی «Progressive Web App»به اختصار (PWA)، یا اپلیکیشن native موبایل پیاده‌سازی شود. برخی ابزارهایی که می‌توان برای ساخت چنین اپلیکیشن‌های پیچیده‌ای مورد استفاده قرار داد، به صورت زیر هستند: React یک فریمورک جاوا اسکریپت است که به توسعه دهنگان امکان ساخت فرانت‌اندهای وب و بومی برای بک‌اندهای دارای API به صورت REST را می‌دهد. Django یک فریمورک وب پایتون اوپن سورس است که از الگوی معماری نرم‌افزار model view controller یا به اختصار MVC پیروی می‌کند. فریمورک REST جنگو یک کیت ابزار قدرتمند و انعطاف‌پذیر برای ساخت REST API ها در جنگو مح..

توضیحات بیشتر »

اکسپورت پایگاه داده در MySQL — به زبان ساده

ساده‌ترین روش برای اکسپورت کردن داده‌های جدول به صورت فایل متنی استفاده از گزاره SELECT…INTO OUTFILE است که نتایج یک کوئری را در یک فایل روی میزبان سرور اکسپورت می‌کند. اکسپورت کردن داده‌ها با گزاره SELECT…INTO OUTFILE ساختار این گزاره ترکیبی از یک دستور SELECT معمولی با INTO OUTFILE filename در انتهایش است. قالب خروجی پیش‌فرض همان است که برای دستور LOAD DATA استفاده می‌شود. بنابراین گزاره زیر جدول tutorials_tbl را در فایل /tmp/tutorials.txt به صورت یک فایل جدا شده با tab و خاتمه یافته با کاراکتر newline اکسپورت می‌کند. mysql> SELECT * FROM tutorials_tbl -> INTO OUTFILE '/tmp/tutorials.txt'; می‌توان قالب خروجی را با استفاده از گزینه‌های مختلف برای نمایش چگونگی نشانه‌گذاری و جداسازی ستون‌ها و رکوردها تغییر داد. برای اکسپورت کردن جدول tutorial_tbl در قالب CSV با خط‌های خاتمه یافته با CRLF، می‌توان از دستور زیر استفاده کرد: mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED ..

توضیحات بیشتر »