خانه / ۱۳۹۷ / شهریور

بایگانی ماهانه: شهریور ۱۳۹۷

عبارت های ORDER BY و TOP در SQL — راهنمای جامع

در این نوشته دو مورد از عبارت‌هایی که در SQL به همراه دستور SELECT استفاده می‌شوند، معرفی می‌کنیم. OEDER BY از این دستور برای مرتب‌سازی نتایج ارائه شده از سوی یک ستون یا ستون‌های مفروض استفاده می‌کنیم. با استفاده از عبارت SELECT در زبان SQL می‌توانیم صدها یا هزاران رکورد را بازیابی کنیم. در برخی موارد ممکن است متوجه شوید که مرتب‌سازی رکوردها بر اساس یک ستون مفروض مفید است. برای نمونه، وقتی رکوردهایی را از یک جدول Individual که در ادامه معرفی کرده‌ایم، انتخاب ‌کنیم می‌توانیم آن‌ها را بر اساس ستون LastName مرتب نماییم. عبارت SQL SELECT * FROM Individual ORDER BY LastName; جدول منبع نتیجه ترتیب صعودی به طور پیش‌فرض ORDER BY ستون‌ها را با ترتیب صعودی مرتب می‌کند یعنی از کمترین مقادیر به سمت بزرگ‌ترین مقادیر. می‌توان با استفاده از کلیدواژه ASC این مسئله را به طور صریح تعیین کرد؛ اما ضرورتی برای این کار وجود ندارد. اگر بخواهیم مقادیر ما به صورت ابتدا بزرگ‌ترها و سپس حرکت به سمت مقادیر کوچک‌تر مرتب شوند، می‌توانیم از کلیدواژه DESC برای مرتب‌سازی نزولی استفاده کنیم. عبارت SQL SELECT * F..

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

ساختار داده و الگوریتم ها — معرفی مبانی و آرایه های داده ای

در این بخش از آموزش ساختار داده قصد داریم به معرفی مبانی ساختار داده و همچنین مفهوم آرایه در ساختار داده بپردازیم. ابتدا اصطلاحت مقدماتی مرتبط با ساختار داده معرفی می‌شوند. تعریف داده در هنگام تعریف داده، یک داده خاص که خصوصیات زیر را دارد تعریف می‌شود: اتمیک بودن: تعریف باید یک مفهوم منفرد را معرفی کند. قابلیت ردگیری: تعریف باید بتواند به برخی عناصر داده‌ای نگاشت شود. صحت: تعریف باید بی‌ابهام باشد. واضح و مختصر: تعریف باید قابل درک باشد. شیء داده‌ای شیء داده‌ای نماینده شیئی است که یک داده دارد. نوع داده نوع داده روشی برای تعیین انواع مختلف داده‌ها مانند عدد صحیح (Integer)، رشته (String) و موارد دیگر است. این نوع داده‌ای مقداری که باید با نوع داده متناظر مورد استفاده قرار گیرد و نوع عملیاتی که می‌تواند بر روی نوع متناظر داده اجرا شود را تعیین می‌کند. دو نوع داده وجود دارند: نوع داده داخلی نوع داده انشقاقی نوع داده داخلی نوع داده‌هایی که یک زبان به طور درونی از آن‌ها پشتیبانی می‌کند به نام انواع داده داخلی نامیده می‌شوند. برای نمونه اغلب زبان‌ها انواع داده داخلی زیر را در خود دارند:..

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

گواهی های SSL وایلدکارد Let’s Encrypt با استفاده از اعتبارسنجی کلودفلیر روی CentOS 7

Let’s Encrypt یک مرجع گواهی (CA) است که گواهی‌های امنیتی رایگانی برای رمزنگاری امنیت لایه انتقال (TLS) ارائه می‌دهد. این بنیاد یک کلاینت نرم‌افزاری به نام Certbot دارد که فرایند ایجاد، تأیید، امضا، نصب و تجدید گواهی‌ها را تسهیل می‌کند. Let’s Encrypt اینک از گواهی‌های وایلدکارد (Wildcard) نیز پشتیبانی می‌کند. با استفاده از این نوع گواهی‌ها می‌توانید همه زیردامنه‌های یک دامنه را تنها با یک گواهی به حالت امن دربیاورید. این وضعیت در صورتی که بخواهید از چندین سرویس مانند رابط وب، API ها و دیگر سایت‌ها با استفاده از یک سرور منفرد میزبانی کنید، مفید خواهد بود. برای به دست آوردن یک گواهی وایلدکارد از Let’s Encrypt باید از یکی از افزونه‌های DNS Certbot استفاده کنید که شامل موارد زیر است: certbot-dns-cloudflare certbot-dns-route53 certbot-dns-google certbot-dns-digitalocean افزونه‌ای که انتخاب می‌کنید به سرویس‌هایی که رکوردهای DNS شما میزبانی می‌کنند بستگی دارد. در این راهنما یک گواهی وایلدکارد برای دامنه خود با استفاده از اعتبارسنجی CloudFlare تنظیم می‌کنیم. این کار به کمک Certbot و بر روی ی..

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

تفاوت مهندس فرانت اند و توسعه دهنده فرانت اند چیست؟

تفاوت مهندس فرانت اند و توسعه دهنده فرانت اند چیست؟ : با سلام دوستان کدفرندی عزیز, با یک مقاله اختصاصی دیگه برگشتیم که عنوانش فرق بین مهندس فرانت اند و توسعه دهنده فرانت اند هست . و شاید برخی بگویند که فرقی بین این دو نیست و یا اصلا نمیدانستند که عبارت و یا کلمه ای به این نام : مهندس فرانت اند وجود دارد , خب در این مقاله به بررسی فرق های یک مهندس فرانت اند و فرانت اند دولوپر میپردازیم . تفاوت مهندس فرانت اند و توسعه دهنده فرانت اند چیست؟ دوستان اگر یک خلاصه کوچکی بخواهیم توضیح دهیم میتوان گفت : یک مهندس موضوع کار خود را میداند , یک توسعه دهنده نیز باید موضوع کار خود را بداند به خوبی ولی مهندس یک دلیل پشت این موضوع دارد که برای مثال چرا یک بعلاوه یک میشود ۲؟ ولی یک دولوپر یا همان توسعه دهنده نیازی به دانستن دلیل یک بعلاوه یک = با ۲ ندارد و فقط یک ماشین حساب دارد که ۱ را بعلاوه ۱ میکند و جمع آن را بدست می آورد .(فکر میکنم مثال خوبیست برای اینکه کمی به فرق بین مهندس و دولوپر فرانت اند نزدیک شویم). دولوپر یک دولوپر کد ها را مینویسد تکنولوژی های نو را یاد میگیرد و از آنها به خوبی استفاده ..

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

متحرک سازی نوشته در امتداد یک مسیر (Path) در افتر افکت — آموزک [ویدیوی آموزشی]

در افتر افکت روش‌های متعددی برای متحرک‌سازی، یا در اصطلاح انیمیت کردن متون وجود دارد؛ مثلاً یکی از این روش‌ها متحرک‌سازی یک متن در امتداد یک مسیر (Path) است. شما می‌توانید این مسیر را درون خود افتر افکت ایجاد کنید و یا آن را از نرم‌افزار ایلاستریتور ایمپورت کنید. در آموزکی که در ادامه آمده است نیز به همین ویژگی پرداخته شده و تنظیمات مرتبط به آن در قالب یک پروژه عملی به صورت مفصل شرح داده شده است. لینک دانلود ویدئو (+) لینک دانلود فایل های جانبی آموزک (+) در صورتیکه ویدیوی بالا برای‌تان مفید بوده است، آموزش‌هایی که در ادامه آمده‌اند نیز به شما پیشنهاد می‌شوند: گنجینه آموزش های افتر افکت (After Effects) مجموعه آموزش‌های طراحی سه بعدی و متحرک سازی مشاهده سایر آموزک‌های افتر افکت وبلاگ فرادرس (آموش‌های ویدیویی کوتاه) مشاهده همه آموزک‌های (آموزش‌های ویدیویی کوتاه) وبلاگ فرادرس ^^ بلی خیرنوشته متحرک سازی نوشته در امتداد یک مسیر (Path) در افتر افکت — آموزک [ویدیوی آموزشی] اولین بار در وبلاگ فرادرس. پدیدار شد.

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

ابزارهای تحلیل کلان داده (Big data) — راهنمای کامل

در بخش‌های پیشین از مجموعه مطالب «کلان داده» (Big Data)، «مفاهیم کلان داده (Big Data) و انواع تحلیل داده» و «تحلیل کلان داده (Big Data)، چالش ها و فناوری های مرتبط» تشریح شدند. در این بخش، ابزارهای تحلیل کلان داده و مسائل مربوط به آن‌ها از جمله «آپاچی هادوپ» (Apache Hadoop)، الگوریتم نگاشت کاهش (MapReduce)، سیستم فایل توزیع شده هادوپ (Hadoop Distributed File System | HDFS)، «آپاچی هایو» (Apache Hive)، «آپاچی ماهوت» (Apache Mahout)، «آپاچی اسپارک» (Apache Spark)، «دریاد» (Dryad)، «استورم» (Storm)، آپاچی دریل (Apache Drill)، جاسپرسافت (Jaspersoft) و اسپلانک (Splunk) مورد بررسی قرار خواهند گرفت. ۱. ابزارهای کلان‌داده ابزارهای تحلیل کلان داده ابزارهای زیادی برای تحلیل کلان داده موجود هستند. در این بخش، برخی از روش‌های کنونی موجود برای تحلیل کلان‌داده با تاکید بر سه مورد مهم نگاشت‌کاهش، آپاچی اسپارک و استورم ارائه شده‌اند. تمرکز اغلب ابزارهای کنونی موجود، روی «پردازش دسته‌ای» (batch processing)، «پردازش جریان» (stream processing) و «تحلیل تعاملی» (interactive analysis) است. بیشتر ابزارهای..

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

سیکل دیزل — آموزش جامع

اگر به مطالب آموزشی وبلاگ فرادرس مراجعه کرده باشید، می‌بینید که در آن به معرفی سیکل‌های ترمودینامیکی پرداخته شده است. دو نمونه از سیکل‌های ترمودینامیکی مذکور، سیکل برایتون و اتو بود. در این قسمت می‌خواهیم سیکلی را معرفی کنیم که بخشی از آن مشابه با سیکل اتو و بخشی دیگر از فرآیند‌ها مشابه با سیکل برایتون باشد. مقدمه در سال ۱۸۹۰، مخترع آلمانی، «رودولف دیزل» (Rudolf Diesel) اختراعی را ثبت کرد که مبنای کاری آن سیکلی ترمودینامیکی بود که بر اساس احتراق کند‌تر نسبت به بقیه سیکل‌های استفاده شده در موتور‌ها عمل می‌کرد. سیکل دیزل بسیار مشابه با اکثر سیکل‌های استفاده شده در موتور‌ها است. تفاوت عمده این سیکل با دیگر سیکل‌ها موارد زیر است: در ابتدای فرآیندِ تراکم، سوختی در سیلندر وجود ندارد، از این رو فرآیند احتراقِ خودکار در تراکم رخ نخواهد داد. سیکل دیزل از احتراق مبتنی بر تراکم به‌جای احتراق جرقه‌ای استفاده می‌کند. از آنجایی که فرآیند تراکم آدیاباتیک منجر به ایجاد دمای بسیار بالا می‌شود، بنابراین با پاشش سوخت در لحظه تراکم، فرآیند احتراق رخ خواهد داد [در ادامه بیشتر در مورد این فرآیند صحبت خواه..

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

راهکارهای افزایش سرعت وب سایت

قبلا در یکی از بخش های مقاله مربوط به سئو با عنوان ” بهبود رتبه سئو با ۹ روش ساده ” اشاره کرده بودیم که یکی از فاکتورهای مهم در موتورهای جستجو برای امتیازدهی به وبسایت شما، سرعت لود و بارگزاری وبسایت است. حال در این مقاله سعی می کنیم بصورت مفصل تر به مواردی که باعث افزایش سرعت وبسایت شما خواهند شد اشاره کنیم. مواردی که در بسیاری از ابزارهای بررسی سرعت وبسایت از جمله گوگل و Gtmetrix نیز به آن اشاره شده است. برای افزایش سرعت وبسایت خود، با ما همراه باشید… کاهش درخواست­ های HTTP تقریبا ۸۰% از زمان باز شدن صفحات وبسایت، در front-end یا همان قالب نمایش وبسایت است. اکثر این زمان صرف دانلود و باز کردن اجزاء مختلف صفحه، نظیر تصاویر، اسکریپت ها، فایل های CSS و JS و…می شود. کاهش تعداد و یا کاهش حجم این اجزا، کاهش تعداد درخواست های HTTP و در نتیجه افزایش سرعت وبسایت را به دنبال خواهد داشت. یکی از راه های بهینه سازی برای این مورد، ادغام فایل ها با یکدیگر است. به فرض صفحه وب شما دارای چند فایل CSS است. با ادغام کردن این فایل ها با یکدیگر و ساخت یک فایل جدید، می توانید تعداد درخواست ها را کاهش دهی..

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

Node.js و وب‌هوک های گیت‌هاب — راهنمای به‌روزرسانی پروژه‌ها از راه دور

زمانی که چند توسعه‌دهنده مشغول کار روی یک پروژه باشند، در حالتی که یکی از آن‌ها کدی را به یک ریپازیتوری push کند و در همین حال فرد دیگری مشغول ویرایش نسخه قدیمی کد باشد، وضعیت ترسناکی پیش می‌آید. چنین خطاهایی زمان‌بر هستند و از این رو شایسته است که اسکریپتی راه‌اندازی کنیم تا همه ریپازیتوری‌ها همواره به‌روز باشند. از این روش می‌توان در محیط production نیز برای ارسال hotfixها و یا دیگر تغییرات سریع بهره گرفت. با این که برای حل این مشکل راه‌حل‌های مختلفی وجود دارد؛ اما نوشتن یک اسکریپت سفارشی، گزینه‌ای انعطاف‌پذیر است که امکان سفارشی‌سازی در آینده را در اختیار ما قرار می‌دهد. گیت‌هاب امکان پیکربندی وب‌هوک برای ریپازیتوری را فراهم ساخته است. وب‌هوک‌ها رویدادهایی هستند که در موارد رخ دادن یک رویداد، درخواست‌های خاص HTTP ارسال می‌کنند. برای مثال می‌توانید از یک وب‌هوک برای اعلان زمان ایجاد درخواست pull یا push کد جدید استفاده کنید. در این راهنما ما یک سرور Node.js طراحی می‌کنیم که به اعلان‌های وب‌هوک گیت‌هاب گوش می‌دهد تا در مواردی که شما یا فرد دیگر کدی را به گیت‌هاب push می‌کند، متوجه ..

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

مقدمه‌ای بر حساب — یک راهنمای شهودی به زبان ساده

حساب بخشی از ریاضیات است که برای دستکاری و تبدیل اعداد استفاده می‌شود. این تبدیل‌ها کارآمد هستند و در برخی موارد چیزهایی در جهان واقعی وجود دارند که می‌خواهیم به همین ترتیب مورد تبدیل قرار دهیم. اما سوالی که وجود دارد این است که چرا محاسبه مهم است؟ اگر حساب را به عنوان نوعی تبدیل ببینیم که باعث می‌شود مفاهیم به ظاهر عجیب، برای مثال جذر ۱- معنی پیدا کنند، می‌توانیم مسائل را نیز به همین ترتیب به صورت بصری درک کنیم. جمع جمع ساده است، با این حال چند حالت دارد: تجمیع: شمارش کمیت‌های مشابه در کنار هم (در اغلب اوقات برای موارد ملموس) جابجایی: شیفت کردن یک عدد در راستای یک محور (برای چیزهای کمتر ملموس مانند دما) ترکیب: ایجاد یک کمیت جدید از دو کمیت متفاوت (مانند نت‌هایی در یک آکورد موسیقی) اما معنی دقیق جمع چیست؟ همه چیز به چارچوب مسئله بستگی دارد. زمانی که سیب‌ها را جمع می‌کنیم، مشغول گردآوری آیتم‌های مشابه هستیم (۳ سیب + ۴ سیب = ۷ سیب). وقتی دما را اندازه‌گیری می‌کنیم (حرارتی را که در راستای یک محور قرار دارد با هم جمع می‌زنیم (۳ درجه + ۴ درجه = ۷ درجه) زمانی که بردارها را جمع می‌کنیم،..

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