آموزش ساخت سایت استاتیک به کمک فریمورک Hexo

سلام برای نوشتن مستندات یه کتابخونه نیاز بود تا یه وبلاگ ایجاد کنم، برای همین تصمیم گرفتم روش کار رو که با فریمورک hexo انجام میشه براتون بصورت فیلم آموزشی ضبط کنم.

در مورد هگزو باید بهتون بگم که یه فریمورک خیلی ساده و قوی برای ایجاد سایت های استاتیک هستش علاوه بر اینکه خیلی ساده هستش بسیار عالی و قوی هم هست. اگه اشتباه نکنم هگزو توسط برنامه نویس های چینی طراحی شده و یا حداقل اکثرا چینی ها بهش علاقه دارن!

توی این ویدئوی ۳۰ دقیقه ای با هم دیگه سیستممون رو کانفیگ میکنیم تا هگزو رو نصب کنیم چندتا مطلب تست میفرستیم رو وبلاگمون و در آخر وبلاگمون رو روی سایت گیتهاب منتشر میکنیم. بدون اینکه نیاز به تهیه هاست و دامنه باشه.

راستی من تو ویدئو فراموش کردم که بگم شما میتونید پوشه Public که شامل فایل های html و… هستش رو هرجا که دوست دارید اپلود کنید و استفاده کنید. محدودیتی نداره میتونید روی هاست شخصی بزارید یا روی گیتلب و…

خوشحال میشم نظراتتون رو بشنوم

https://www.aparat.com/v/Yfa84

نوشته آموزش ساخت سایت استاتیک به کمک فریمورک Hexo اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

توسعه دهنده های نرم افزار اندروید، بیاید یکم هاردمون رو خالی کنیم

اگر برای مدتی به توسعه نرم افزارهای اندرویدی با اندروید استودیو پرداخته باشید، متوجه شدید که پس از مدتی حجم دایرکتوری که حاوی پروژه هاست خیلی زیاد شده است.

در هر پروژه اندرویدی که با اندروید استودیو میسازیم چند دایرکتوری زائد داریم که بیلدسیستم آن ها را ایجاد میکند. این دایرکتوری ها عبارتند از:

۱- دایرکتوری gradle. که در روت دایرکتوری پروژه قرار گرفته است. ( با دایرکتوری gradle آن را اشتباه نگیرید)

۲- دایرکتوری build که داخل دایرکتوری app هست.

با حذف این دو دایرکتوری حجم یک پروژه ممکن است از حدود ۴۰ مگابایت به زیر ۱ مگابایت برسد.

اگر ۴۰ پروژه داشته باشیم، چیزی حدود ۱٫۶ گیگابایت فضا اشغال شده است. که میتوان با حذف دایرکتوری های زائد آن را به حدود ۴۰ مگابایت کاهش داد.

با هر بار build کردن پروژه، این دایرکتوری ها دوباره ایجاد می شوند.

قاعدتا برای ما حرام است که به صورت دستی وارد همه دایرکتوری ها بشویم و دایرکتوری های زائد را حذف کنیم.

پس یک بش اسکریپت می نویسیم که این کار را برایمان انجام دهد.


نوشتن اسکریپت

https://gist.github.com/oh-my-saeed/9d621d9dcd769d7344780279d3442a86

در این اسکریپت روی تمام دایرکتوری های موجود در دایرکتوری پروژه های اندرویدمان یک حلقه میزنیم و دایرکتوری های gradle. و build را در صورت وجود حذف میکنیم.

این اسکریپت خیلی خیلی ساده است. اما با این حال l اگر می خواهید از آن استفاده کنید ابتدا روی یک پروژه تست کنید تا مطمئن شوید مشکلی برای پروژه هایتان ایجاد نمی کند.


تصویر اجرا روی پروژه های خودم

نوشته توسعه دهنده های نرم افزار اندروید، بیاید یکم هاردمون رو خالی کنیم اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

چگونه هکر شویم؟؟

اگر می‌خواهید یک هکر واقعی باشید این مقاله را تا انتها بخوانید و با راه و روش‌های یک هکر واقعی آشنا شوید اما اگر می‌خواهید یک شکننده یا کرکر (Cracker) باشید این مقاله مناسب شما نیست.
قبل از اینکه بدانیم چگونه هکر شویم ابتدا باید مفهوم هک را بدانیم و انواع هکر را بشناسیم. هک کردن شناسایی ضعف و آسیب‌پذیری برخی سیستم‌ها و به دست آوردن دسترسی آن‌هاست.

به چه کسی هکر می‌گوییم؟ در امنیت رایانه، یک هکر شخصی است که بر مکانیزم‌های امنیتی سیستم‌های کامپیوتری و شبکه تسلط دارد. برای تبدیل‌شدن به یک هکر، یادگیری تکنیک‌های هکینگ پایه، چگونگی فکر کردن مانند یک هکر و چگونگی کسب احترام در جامعه هک، اخلاقی مهم است. در ادامه برای اینکه روش های هکر شدن را بدانید، به این مباحث می‌پردازیم.

به چه کسی کرکر میگوییم؟ به کسی که باعث اختلال در سیستم‌های رایانه‌ای یا موبایل‌ها می‌شود، کرکر می‌گویند به‌عنوان‌ مثال کسی که یک سایت را هک می‌کند و اسم خود یا گروه خود را روی صفحه‌ی اصلی آن می‌نویسد یک کرکر است یا کسی که با استفاده از نرم‌افزارها و اسکریپت‌های آماده وارد گوشی شما می‌شود، کرکر است. متأسفانه در فرهنگ حال حاضر اکثر مردم این افراد را “هکر” می‌نامند اما واقعیت این است که هکرهای واقعی این افراد را به‌عنوان اشخاصی بسیار تنبل و غیرقابل‌اعتماد می‌شناسند و به‌هیچ‌وجه آن‌ها را قبول ندارند.

چگونه هکر شویم

اریک استیو رایموند (رهبر نرم‌افزارهای متن‌باز) در مورد تفاوت بین هکرها و کرکرها می‌گوید: “هکرها چیزهایی را ساختند، کرکرها آن‌ها را شکستند. ”
در فرهنگ‌ عامه، شکستن (Cracking) کامپیوترها و سیستم‌های تلفن به معنای هک کردن است، اما این فرهنگ از آنچه که بیشتر مردم فکر می‌کنند، بسیار پیچیده‌تر و اخلاقی‌تر است.

انواع هکرها

اگر می‌خواهید بدانید چگونه هکر شویم ، قبل از آن باید انواع هکرها را شناسایی کنیم.

  • کلاه‌سفید: یک هکر اخلاقی است که یک اجازه رسمی و قانونی برای ارزیابی وضعیت امنیت سیستم هدف را دارد.
  • کلاه‌سیاه: با پیدا کردن دسترسی غیرمجاز، وارد سیستم می‌شود. این افراد برای تخریب هدف دست به هک می‌زنند. این نوع هک کاملاً غیرقانونی است و ممکن است مجازات‌های سنگینی را در پی داشته باشد.
  • کلاه خاکستری: فردی که با دسترسی غیرمجاز وارد سیستم می‌شود، اما نقاط ضعف شرکت را نشان می‌دهد.
  • بچه اسکریپتی (Script Kiddie): شخص بدون مهارت فنی است و فقط با استفاده از ابزارهای آماده و از پیش‌ساخته شده اقدام به هک کردن می‌کند.
  • هکتیویسم (Hacktivist): با استفاده از کامپیوتر و شبکه‌های کامپیوتری اعتراض و مقاصد سیاسی خود را بیان می‌کنند.

هکرها مشکلات را حل می‌کنند و به آزادی و کمک متقابل داوطلبانه اعتقاد دارند. برای پذیرفته شدن به‌عنوان یک هکر، شما باید مانند یک هکر رفتار کنید و روش های هکر شدن را بلد باشید.

حالا که مفهوم هک، هکر و انواع هکر را متوجه شدید بیایید به مواردی که در راستای سوال چگونه هکر شویم ، بپردازیم.

بخش اول: یادگیری اصول اولیه

۱- به زبان انگلیسی مسلط شوید: اولین قدم برای تبدیل‌شدن به یک هکر یادگیری زبان انگلیسی است. اگر زبان انگلیسی شما ضعیف و یا متوسط است سعی کنید به آن مسلط شوید.

۲- سیستم‌ عامل لینوکس را نصب کنید: شما برای اینکه بتوانید به یک هکر موفق تبدیل شوید حتماً باید به یکی از سیستم‌ عامل‌های یونیکس مسلط شوید. معروف‌ترین سیستم‌ عامل، لینوکس است و بهترین نسخه لینوکس، کالی است. پس شما برای شروع نیاز دارید که لینوکس کالی را روی هارد اصلی و یا روی یک مجازی ساز مانند WMWARE نصب کنید. البته می‌توانید روی یک فلش هم کالی لینوکس را اجرا کنید.

۳- به HTML مسلط باشید: HTML زبان‌ اصلی هر وب‌سایت است و تمام صفحات وب با آن ساخته‌شده‌اند. دانستن اصول اولیه HTML می‌تواند به شما در تشخیص نقاط ضعف در وب‌سایت‌ها کمک کند.

۴- زبان‌های برنامه‌نویسی را یاد بگیرید: برای اینکه یک هکر حرفه‌ای شوید باید به چند زبان برنامه‌نویسی مهم تسلط پیدا کنید. این زبان‌ها را در ادامه معرفی خواهیم کرد:

  • پایتون: برای شروع یادگیری زبان برنامه‌نویسی، پایتون یک گزینه مناسب است، زیرا به‌خوبی طراحی‌شده است، به‌خوبی مستند شده و نسبت به زبان‌های دیگر آسان به نظر می‌رسد. اگر زبان انگلیسی شما خوب است به‌راحتی می‌توانید این زبان را یاد بگیرید؛ چون توابع و دستورات موجود در آن به زبان محاوره‌ای بسیار نزدیک است.
  • جاوا: یادگیری جاوا می‌تواند بسیار زیاد به شما کمک کند. جاوا نسبت به پایتون زبان سخت‌تر و پیچیده‌تری است ولی کاربردهای بسیار زیادی دارد.
  • جاوا اسکریپت: برخلاف جاوا، جاوا اسکریپت بسیار شبیه به پایتون است؛ زیرا هر دو زبان مبتنی بر C و بسیار کاربرپسند هستند. جاوا اسکریپت “زبان برنامه‌نویسی وب ” است، بنابراین سعی کنید جاوا اسکریپت را بهتر از زبان‌های دیگر یاد بگیرد. یادگیری نحوه عملکرد جاوا اسکریپت هم می‌تواند به شما در شناسایی بخش‌های قابل‌استخراج از وب‌سایت‌ها کمک کند.
  • پی اچ پی: یکی از مهم‌ترین زبان‌ها برای هکرها زبان PHP است؛ زیرا این زبان در سمت سرور است و یکی از کارهایی که انجام می‌دهد مربوط به ورود مدیران و کاربران به سایت است. ورود مدیران به سایت یک بحث امنیتی است به همین دلیل این زبان برای هکرها مهم است.
  • SQL: زبان پایگاه داده اصلی برای وب‌سایت‌ها و خدمات آنلاین است. هکرها زمان زیادی را صرف تلاش برای دسترسی به پایگاه‌های داده می‌کنند، بنابراین دانستن چگونگی عملکرد SQL برای اغلب هک‌ها ضروری است.
  • C: برای درک اهمیت زبان سی همین کافی است که بگوییم بخش عظیمی از هسته سیستم عامل‌های لینوکس، ویندوز، OS X و اندروید با سی نوشته‌شده است. اکثر ابرسرورهای دنیا روی لینوکس قرار دارند و لینوکس هم بر پایه سی نوشته‌شده است. پس سعی کنید زبان سی را به‌صورت کامل یاد بگیرید و به آن تسلط کامل داشته باشید.

بخش دوم: نگرش‌ها و منش‌های هکر بودن را بپذیرید

📷نگرش و منش هکرها

جهان پر از مشکلات فریبنده در انتظار حل است؛ هک کردن یک سرگرمی بسیار جذاب است اما برای رسیدن به این سرگرمی تلاش زیادی لازم است و این تلاش نیازمند انگیزه‌ای بسیار زیاد است. برای اینکه روش های هکر شدن را یاد بگیرید، باید بتوانید مشکلات اساسی را با هیجان حل کنید، مهارت‌های خود را ارتقا دهید و از هوش خود بهره بگیرید.

اگر شما چنین شخصیتی ندارید باید آن را به دست آورید وگرنه توانایی هک کردن را با حواس‌پرتی‌هایی مانند پول، شهرت و … از دست خواهید داد.
(همچنین باید به ظرفیت یادگیری خود ایمان داشته باشید. اگر به یک مشکلی برخوردید کافی است فقط یک بخش از آن را حل کنید و از آن یاد بگیرید، به‌اندازه کافی یاد بگیرد تا بتوانید بخش بعدی را حل کنید و به همین ترتیب تا زمانی که به‌طور کامل حل شود).

هیچ مشکلی نباید دو بار حل شود؛ مغز خلاق یک منبع ارزشمند و محدود است. درحالی‌که جهان پر از مشکلات فریبنده در انتظار حل است، این مغز نباید برای حل یک مسئله تکراری دوباره هدر داده شود. هکرها معتقدند به اشتراک‌گذاری اطلاعات یک مسئولیت اخلاقی است. هنگامی‌که مشکلی را حل می‌کنید، اطلاعات آن را به‌صورت عمومی به اشتراک بگذارید تا به هر یک از شما یک مسئله حل شده بدهد تا هکرها مجبور نباشند مسائل را دوباره حل کنند و به‌جای آن به حل مسائل جدید بپردازند.

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

آزادی خوب است؛ هکرها به‌طور طبیعی ضد استبداد هستند. هرکسی به شما دستور دهد، شما را از هدف اصلی خود دور می‌کند. البته کسانی که دستور می‌دهند همیشه برای این کارشان دلایل ابلهانه‌ای دارند. باید با استبداد مبارزه شود زیرا تمام هکرها را تحت‌فشار قرار می‌دهد.

نگرش و منش، جایگزین مهارت نیست؛ برای اینکه شما یک هکر شوید، قبول برخی از این منش‌ها و نگرش‌ها ضروری است. البته با پذیرفتن این منش‌ها یک هکر نمی‌شوید، شما باید مهارت‌های گفته‌شده در بخش اول را به‌خوبی کسب کنید. هکر بودن به تیزهوشی، تمرین، تمرکز و کار سخت نیاز دارد.

بخش سوم: خودتان را در میان هکرها به شهرت برسانید

جلب احترام و اعتماد در جامعه هکری بسیار سخت است. شما نمی‌توانید با هک کردن یک سایت این احترام و اعتماد را به دست آورید و به شهرت برسید. پس برای اینکه احترام کسب کنید باز هم نیاز است روش های هکر شدن را بدانید.
ما در اینجا ۵ مورد از مواردی که شمارا در میان هکرها قابل‌احترام می‌کند را به‌اختصار توضیح می‌دهیم.

📷قابلیت متن باز بودن

۱- برنامه‌های متن‌باز بنویسید

برنامه‌های متن‌باز (Open Source) برنامه‌هایی هستند که بعد از انتشار، کد برنامه هم در اختیار عموم قرار می‌گیرد؛ مانند لینوکس. اولین و مهم‌ترین راه برای کسب شهرت در میان هکرها نوشتن برنامه‌های متن‌باز است.
محترم‌ترین هکرها کسانی هستند که برنامه‌های بزرگی نوشته‌اند و کد آن برنامه‌ها را به‌صورت رایگان در اختیار عموم قرار داده‌اند.

۲- برنامه‌های متن‌باز را خطایابی کنید

هنگامی‌که برنامه‌های متن‌باز برای اولین بار منتشر می‌شود، مسلماً دارای اشکالات و نواقصی است. شما می‌توانید با استفاده از دانش خود این نواقص و اشکالات را پیدا کنید و آن‌ها را رفع کنید. هکرها به کسانی که این کار را انجام دهند بسیار احترام می‌گذارند و این افراد را همیشه یاری می‌دهند.

هکرها یک جمله معروف در مورد این افراد دارند: ” کسانی که بتوانند مشکلات نصب یک برنامه متن‌باز عجله‌ای را تحمل کنند و به رفع مشکلات و نواقص آن کمک کنند، سزاوار دریافت یاقوت به‌اندازه وزن خود هستند. ”

۳- اطلاعات مفید را منتشر کنید

اگر می‌خواهید بدانید چگونه هکر شویم، حتما این کار را انجام دهید: یک کار مهم دیگر که موردتوجه هکرها قرار می‌گیرد جمع‌آوری مطالب مفید از انجمن‌ها و سایر منابع و انتشار آن مطالب به‌صورت یک مطلب کلی است.

۴- به پایداری زیرساخت‌ها کمک کنید

فرهنگ هکر به کمک داوطلبان اجرا می‌شود و به‌پیش می‌رود. کسانی که به پایداری زیرساخت‌ها کمک می‌کنند، مانند ایثارگران هستند. منظور از کارهای زیرساخت، کارهای کوچک ولی درعین‌حال ضروری هستند. کسانی که این کارها را انجام می‌دهند، بسیار مورداحترام هستند چون این کارها بسیار زمان‌بر است و جذابیت خاصی ندارد.

۵- به دیده شدن فرهنگ هکرها کمک کنید

در ابتدا شما با این روش زیاد موردتوجه هکرها قرار نمی‌گیرید اما هنگامی‌که یکی از ۴ مورد بالا را انجام دادید و به شهرت رسیدید این بخش می‌تواند شهرت شما را چند برابر کند. مثلاً می‌توانید با انتشار مقالات مربوط به هکر واقعی بودن به فرهنگ هکرها کمک کنید.

روش های هکر شدن

در این مقاله پیرامون این سوال که چگونه هکر شویم، صحبت کردیم و روش‌های مختلفی را ارائه دادیم. این موضوع مهم را خدمت شما عرض کردیم که هکرها افراد مخرب و بدی نیستند بلکه می‌توانند برای محفاظت از سیستم‌ها و سایت‌ها بسیار موثر باشند.
شما هم اگر برای روش های هکر شدن پیشنهادی دارید، می‌توانید پیشنهاد خود را در بخش دیدگاه‌ها بنویسید تا دیگر کاربران هم از تجربه شما استفاده کنند.

منبع:همیار وردپرس

نوشته چگونه هکر شویم؟؟ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

آموزش #F قسمت ۱۱

https://virgool.io/fsharp/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-f-%D9%82%D8%B3%D9%85%D8%AA-%DB%B1%DB%B0-pmc2g16wxysi

در همه زبانهای برنامه نویسی دستور switch رو داریم که توی زبانهای فانکشنال معمولا اسمش match‌ هست. pattern matching در زبان اف شارپ بسیار قوی هست به حدی که توی زبان سی شارپ ۸ اومدن شبیه اونو پیاده کردند. به کد زیر توجه کنید:

let printSeason month =
   match month with
   | "December" | "January" | "February" -> printfn "Winter"
   | "March" | "April" -> printfn "Spring"
   | "May" | "June" -> printfn "Summer"
   | "July" | "August" -> printfn "Rainy"
   | "September" | "October" | "November" -> printfn "Autumn"
   | _ -> printfn "Season depends on month!"

printSeason "February"
printSeason "April"
printSeason "November"
printSeason "July"

توضیح کد:

  1. یک تابع به نام printSeason‌ که یک ورودی به نام month‌ میگیره تعریف می کنیم.
  2. میگیم ورودی month‌ رو با شرایط پایین بسنج(match month with)
  3. اگر ورودی December, January, February‌ بود Winter رو چاپ کن( فارسیش این میشه اگر این ماهها بود زمستان رو چاپ کن)
  4. اگر ورودی March, April‌ بود Spring‌ رو چاپ کن.
  5. اگر ورودی May, June‌ بود Summer‌ رو چاپ کن.
  6. اگر ورودی July یا August‌ بود Rainy‌ رو چاپ کن.
  7. اگر ورودی September, October, November‌ بود Autumn‌ رو چاپ کن.
  8. اگر ورودی مطابقت نداشت Season depends on month! رو چاپ کن. درواقع یعنی خطا بده.

خطهای بعدی هم که تابع رو با یک ورودی وارد می کنیم تا کدمون رو تست کنیم. مثلا تابع برای February برامون Winter رو چاپ می کنه.

توضیحات تکمیلی:

  • Pattern matching با کلمات کلیدی match و with مشخص میشن.
  • برای هر شرط یا همون case‌ در دستورات از اپراتور | (پایپ Pipe) استفاده می کنیم. همونطور که تو کد بالا میبینید میتونیم چندین شرط رو باهم بنویسیم مثلا اگر یکی از این شرطها برقرار بود یک کار خاصی رو انجام بده.
  • در واقع علامت _| همون default‌ در دستور switch case بقیه زبانهاست. یعنی اگر شرایط بالا برقرار نبود این رو اجرا کن. و وجودش برای جلوگیری از خطا ضروریه هرچند اگر ننویسید هم کامپایلر ارور نمیده و کدتون اجرا خواهد شد.

نوشته آموزش #F قسمت ۱۱ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

جستجوی فایل ها در لینوکس با دستور Find

در این مطلب قصد داریم نحوه جستجو در ترمینال لینوکس را براساس معیار های مختلف مثل حجم، نام ، پسوند، سطح دسترسی، تاریخ و … را تشریح کنیم، دستور find با سوئیچ های مختلفی که دارد امکان سرچ  در لینوکس را بسادگی فراهم می کند.

جستجوی فایل ها براساس نام

جهت سرچ براساس نام نیاز است از دستور find  با سوئیچ -name استفاده کنید، البته اگر می خواهید بحروف بزرگ و کوچک حساس نباشد بجای -name  از -iname استفاده کنید.

بطور مثال اگر می خواهید فایلی بنام test.jpg را در دایرکتوری جاری سرچ کنید. دستور بصورت زیر می شود.

جهت سرچ کلیه فایل ها در دایرکتوری /home و با نام test.txt لازم است دستور زیر را اجرا کنید :

بعنوان مثال در تصویر زیر فایل هایی با نام passwd در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:

 

جستجوی پوشه ها براساس نام

ساختار دستور بصورت زیر می باشد:

بعنوان مثال برای جستجو تمام پوشه های بنام backup در /home دستور بصورت زیر تغییر می کند:

یا بطور مثال برای پیدا کردن فایل های مخفی در /home/aban/public_html/ از دستور زیر استفاده کنید:

بعنوان مثال در تصویر زیر پوشه هایی با نام  public_html در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:

 

 

جستجوی فایل ها با پسوند خاص

ساختار دستور بصورت زیر می باشد:

بطور مثال جهت سرچ فایل هایی با پسوند .php در مسیر جاری دستور بصورت زیر تغییر می یابد:

 

جستجوی فایل ها با سطح دسترسی خاص

ساختار دستور بصورت زیر می باشد:

بطور مثال  برای پیدا کردن کلیه فایل ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.

 

 

جستجوی دایرکتوری ها با سطح دسترسی خاص

ساختار دستور بصورت زیر می باشد، بصورت کلی type  با سوئیچ f برای فایل ها وبا سوئیچ d برای دایرکتوری/پوشه ها استفاده می شود.

بطور مثال  برای پیدا کردن کلیه پوشه ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.

با استفاده از !  در دستور FIND  می  توانید عملیات جستجوی معکوس را انجام دهید.

بعنوان مثال جهت جستجوی تمام فایل ها موجود در /home که پرمیژن آن ۷۷۷ نیست از دستور زیر استفاده کنید:

جستجوی فایل ها و دایرکتوری های خالی

جهت جستجوی فایل های خالی از دستور با ساختار زیر استفاده کنید:

جهت جستجوی پوشه های خالی از دستور با ساختار زیر استفاده کنید:

 

 

جستجوی فایل های یک یوزر خاص

جهت جستجوی فایل های یک یوزر خاص از دستور با ساختار زیر استفاده کنید:

بطور مثال برای جستجو تمام فایل هایی که متعاق به یوزر aban و در مسیر /home/admin  است، دستور بصورت زیر می باشد:

 

جستجوی فایل ها بر اساس حجم

جهت جستجوی فایل ها بر اساس حجم از دستور با ساختار زیر استفاده کنید:

بعنوان مثال جهت جستجوی فایل ها با حجم بیشتر از ۵۰ و کمتر از ۱۰۰  مگابایت  دستور بصورت زیر تغییر می کند:

بعنوان مثال در تصویر زیر فایل های لاگ موجود در سرور با حجم بیشتر از ۱۰ مگابایت سرچ شده و در خروجی نمایش داده می شود:

 

 

کاربرد -exec در دستور find

با -exec شما می توانید مشخص کنید چه عملیاتی بر روی خروجی دستور اجرا شود.

بطور مثال سطح دسترسی کلیه فایل ها  موجود در یک مسیر را از ۷۷۷ به  ۶۴۴ تغییر دهید.

کلیه فایل های .mp3 در مسیر جاری را حذف نمائید.

لیست کلیه فایل های لاگ با حجم بیشتر از ۱۰۰ مگ را مشاهده کنید.

 

جستجوی فایل ها بر اساس ساعت و تاریخ

 جستجو کردن فایل هایی  که در روزهای قبل ویرایش شده اند.

بعنوان مثال جهت جستجوی فایل هایی که در ۵۰ روز پیش در مسیر / تغییر کرده اند از دستور زیر استفاده نمائید.

جستجوی کردن تمام فایل هایی که در  مسیر / در ۵۰ روز پیش به آن ها دسترسی پیدا شده است، مشاهده شده اند.

جستجوی تمام فایل هایی که در یک ساعت اخیر تغییر داده شده اند.

جستجوی تمام فایل هایی که در یک ساعت اخیر ویرایش شده اند.

newerXy : این گزینه در صورتی قابل استفاده است که timestamp X فایلی که در جستجوی آن هستیم از timestamp Y آن جدیدتر باشد. بجای X و Yمیتوان هر یک از حروف زیر را استفاده کرد :

a: این سوئیچ زمان دسترسی فایل میباشد.

B :این آپشن زمان ایجاد فایل میباشد.

m: زمان تغییر فایل

t: با استفاده از این سوئیچ میتوانید مستقیما در دستور یک تاریخ را درج کنید.

بعوان مثال در دستور زیر تنها فایل هایی که در تاریخ ۲۰۱۶-۱۲-۰۶ در مسیر جاری تغییر داده شده اند جستجو میشوند:

 

maxdepth

با این آپشن میتوانید حداکثر عمق جستجو را با عنوان یک level مشخص کنید، که تا چندین level از subdirecotry های موجود از دایرکتوری جاری و یا دایرکتوری مورد جستجوی بررسی و search را انجام دهد.

جهت درک بهتر تصویر زیر را مشاهده کنید:

 

نوشته جستجوی فایل ها در لینوکس با دستور Find اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

افزونه کلود فلر وردپرس

بیش از ۲۵ درصد وب سایت ها از سیستم مدیریت محتوا وردپرس استفاده می کنند و به طور تقریبی ۱۰ درصد از وب سایت های موجود در کل شبکه اینترنت از CloudFlare استفاده می کنند.

وردپرس + کلودفلر همواره یک ترکیب برنده بوده است و اکنون با  افزونه جدید CloudFlare وردپرس سایت شما به مراتب سریعتر از قبل بارگذاری خواهد شد.

مزایای استفاده از افزونه کلودفلر وردپرس

  • پلاگین رایگان Cloudflare وردپرس باعث سرعت بخشیدن به سایت می شود
  •  SEO را بهبود می بخشد
  • از حملات DDoS و آسیب پذیری های خاص وردپرس محافظت می کند
  • با استفاده از این پلاگین شما به راحتی می توانید تنظیمات کلودفلر را برای سایت وردپرسی انجام دهید

 

 

آموزش فعالسازی  افزونه کلودفلر وردپرس

جهت فعالسازی و استفاده از این پلاگین در گام اول نیاز است در کلودفلر ثبت نام نموده و سایت خود  را ثبت نمایید، در این زمینه به لینک آموزش ثبت نام در کلودفلر مراجعه نمایید.

پس از ثبت سایت و بروز شدن dns ها جهت فعالسازی پلاگین کلودفلر وردپرس مراحل زیر را دنبال کنید.

وارد پنل مدیریتی وردپرس شوید.

از منو سمت راست بخش افزونه ها گزینه افزودن را انتخاب کنید.

افزونه cloudflare را سرچ نموده و با کلیک دکمه “هم اکنون نصب کن” این افزونه را اضافه کنید.

افزونه کلودفلر

 

سپس بر روی گزینه “فعال کردن” کلیک کنید.

حال در بخش افزونه ها، افزونه Cloudflare را مشاهده می کنید، دکمه setting را انتخاب کنید.

(افزونه هایی دیگر مانند LScacheWp Rocket نیز می توانند از API کلودفلر برای ادغام با سیستم کشینگ خود بهره ببرند. اگر از هاست وردپرسی ما استفاده می کنید، توصیه داریم از LScache نیز استفاده کنید که با لایت اسپید سرور ادغام می شود و سرعت بهینه ای به شما ارائه می کند)

تنظیمات افزونه کلودفلیر وردپرس

 

 

پس از فعال‌سازی یک گزینه در منوی تنظیمات با نام Cloudflare ایجاد خواهد شد، بر روی آن کلیک کنید.

گزینه sign in here را انتخاب و مشخصات ورود اکانت کلودفلر را درج نمایید.

 

در صفحه نخست دامنه فعال، بر روی گزینه Get your API Key کلیک کنید.

 

گزینه view را مطابق تصویر زیر انتخاب نمایید. (اگر پسوردی از شما سوال شد، رمز ورود به کلودفلر را وارد نمائید)

دریافت Api key کلودفلر

 

حال API Key نمایش داده شده را کپی نموده و در پنل وردپرس وارد نمایید.

بر روی گزینه Apply کلیک نمائید، بدین طریق تنظیمات فعالسازی پلاگین کلودفلر وردپرس انجام خواهد شد.

پلاگین کلودفلر وردپرس

 

برگرفته از [cloudflare.com]

 

نوشته افزونه کلود فلر وردپرس اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

۵ زبان برنامه نویسی برتر در حوزه بلاک‌چین

بلاک چین چشم مشتاقان زیادی را در سراسر دنیا به خود خیره کرده است تا این فناوری بتواند با از بین بردن سیستم‌های ثابت که تراکنش‌های مالی بر اساس آنها در سراسر دنیا انجام می‌شود به جای آنها جایگزین شود.در این مقاله می خواهیم با ۵ زبان برنامه نویسی برتر در حوزه بلاک‌چین آشنا شویم(دوره های آموزش برنامه نویسی کدفرند).

بلاک چین چیست؟

بلاک چین (Blockchain) از دو کلمه Block (بلوک) و Chain (زنجیره) ایجاد شده است. این فناوری در حقیقت زنجیره‌ای از بلوک‌هاست.به طور کلی بلاک چین یک نوع سیستم ثبت اطلاعات و گزارش است.تفاوت آن با سیستم‌های دیگر این است که اطلاعات ذخیره شده روی این نوع سیستم، میان همه اعضای شبکه به اشتراک گذاشته می‌شوند و با استفاده از رمزنگاری امکان حذف و دستکاری اطلاعات ثبت شده تقریبا غیرممکن است.

بیت کوین اولین کاربرد از این فناوری بود و از بلاک چین برای ذخیره اطلاعات دارایی کاربران بهره برد. اگر بلاک چین یک سیستم عامل باشد، بیت کوین نرم افزاری روی این سیستم عامل است.

تکنولوژی بلاک چین قطعا یک اختراع فوق العاده است. اما سوالی که برای همه مردم پیش می آید این است: واقعا بلاک چین چیست؟! بلاک چین یک اوراق بهادار دیجیتالی غیر متمرکز است. با استفاده از توزیع (و نه کپی) اطلاعات دیجیتال تکنولوژی بلاک چی در واقع زیرساخت ایجا یک نوع اینترنت جدید را ایجاد کرده است.

این تکنولوژی که در اصل وام گرفته شده از ارز دیجیتال و بیت کوین است، در حال یافتن کاربردهای دیگر برای این پتانسیل از تکنولوژی است. بیت کوین به عنوان طلای دیجیتال شناخته می شود.فناوری در حال فراهم آوردن فرصت‌های زیادی برای برنامه نویسان و گسترش دهندگان این صنعت است تا بر روی آن سرمایه گذاری کنند.

بهترین زبان برنامه نویسی بلاک چین

چندین زبان برنامه نویسی وجود دارند که می‌توانند برای ایجاد اپلیکیشن هایی برای بلاک چین کمک کنند می‌توان از زبان‌های قدیمی مانند ++C، جاوا (Java) و پایتون (Python) استفاده کرد یا دیگر زبان‌هایی مانند Simplicity و Solidity که جدید هستند و برای بلاک چین اختصاصی شده‌اند.

۱.زبان سی پلاس پلاس (++C)

این برنامه به عنوان مشتقی از زبان برنامه نویسی C ساخته شده است. زبان روندگرای ++C بر اساس زبان داده‌گرای C نوشته شده است. شاید همین بزرگ‌ترین تفاوت بین این دو زبان باشد. ++C اطلاعات و عملکرد آنها را به داده‌ها تبدیل می‌کند که می‌توان آنها را به راحتی در برنامه‌های دیگر مورد استفاده قرار داد. این زبان برنامه نویسی بلاک چین اجازه می‌دهد تا مدیریت مؤثرتری بر روی حافظه وجود داشته باشد.

بلاک چین به بسیاری از کاربران و ماینرها اجازه می‌دهد تا به صورت سیستماتیک و همزمان عمل کنند. ++C اپلیکیشنهایی را ایجاد می‌کند که نه تنها بین نقاط پایانی بلکه در پروسه انجام تراکنش سریع‌تر عمل می‌کنند. به همین علت است که پروژه‌های بلاک چین مانند بیت کوین اتریوم و ریپل همگی با زبان ++C نوشته شده‌اند.(دوره های آموزش برنامه نویسی کدفرند).

۲.زبان جاوا (Java)

جاوا به عنوان زبان جهانی اینترنت بسیار اهمیت دارد. زبان برنامه نویسی بلاک چین زبانی قدیمی و برای ایجاد پیج های اینترنتی فعال بسیار مفید است. همچنین برای ایجاد بلاک چین‌های ساده و تغییرناپذیر نیز کاربرد دارد. تغییر ناپذیری باعث می‌شود که هیچ کس نتواند اطلاعات یک بلوک را تغییر دهد هر بلوک تازه که بلاک چین اضافه می‌شود.

اطلاعات بلوک قبلی به اضافه اطلاعات بلوک جدید را در اختیار دارد. هر تغییری که در یک بلوک ایجاد شود باعث ایجاد تغییر جدیدی در بلوک‌های کناری آن هم خواهد شد، و تا زمانی که اطلاعات آن بلوک با دیگر بلوک‌ها هماهنگ نشده باشد نمی‌تواند به زنجیره اضافه شود در نتیجه بلاک چین به این وسیله تغییر ناپذیر شده است.

۳.زبان پایتون (Python)

زبان پایتون به وسیله یک برنامه نویس هلندی به نام گویدو وان روسام (guido van Rossum) در سال ۱۹۹۱ ابداع شد. هدف او تولید زبان برنامه نویسی آسان و مینی مالیستی بود. ترکیب و منطق این برنامه، نشان از روحیه بلندپرواز، ابداع کننده آن دارد. در نتیجه پایتون در زمینه توسعه نرم افزارها و وب، زبانی برتر است. این زبان در میان متخصصان کامپیوتری و دانشمندان زمینه دیتا بسیار معروف است. همچنین یکی از زبان‌های برتر برنامه نویسی بلاک چین است.

۴.زبان سیمپلیسیتی (Simplicity)

سیمپلیسیتی یک زبان برنامه نویسی بلاک چین است که برای تنظیم قراردادهای هوشمند به کار می‌رود. این زبان برنامه نویسی بلاک چین به گفته راسل اوکانر (Russell O’Connor) سازنده این برنامه بسیار ساده است. این زبان برای بهبود زبان‌های پایه‌ای ارزهای دیجیتال مانند بیت کوین و اتریوم به کار برده می‌شود.

در این زبان از تجزیه و تحلیل استاتیک برای جلوگیری از هنگ کردن برنامه‌ها هنگام آنالیز و محاسبات استفاده می‌شود. اوکانر و کمپانی او یعنی بلاک ‌استریم (blockstream) امیدوار هستند که این زبان، پس از آنکه آزمایشش را کاملاً پس داد در بیت کوین مورد استفاده قرار بگیرد.

۵.زبان سالیدیتی (Solidity)

و در آخر زبان برنامه نویسی سالیدیتی،این زبان برنامه نویسی بلاک‌چین از سطح بالایی برخوردار است و بر پایه قرارداد تنظیم شده است. حروف آن مشابه با حروفی هستند که در جاوا مورد استفاده قرار می‌گیرند. بخش‌های هم مانند متغیرها، کلاس‌ها و عملکردهای خود را از جاوا برداشت کرده است.

یادگیری این زبان برای برنامه نویسان بسیار آسان است. زبان سالیدیتی توضیحاتی در مورد اینکه چطور کدهایش عمل می‌کنند را برای کسانی که علاقه‌مند به آموختن آن باشند توضیح داده است این توضیح ممکن است در ابتدا کمی مشکل به نظر بیاید.

با این حال مشکل فقط برای کسانی وجود دارد که با زبان‌های مدرن برنامه نویسی آشنایی ندارند. به عنوان یک زبان جدید در برنامه نویسی سالیدیتی در حال پیشرفت و معروفیت است. افزایش اعداد و منابع در این زبان نشان دهنده آن است که این زبان به طور اختصاصی برای برنامه‌های تکنولوژیک طراحی شده و به منظور بهبود عمل کرده بلاک چین به کار می‌رود

(برای یادگیری زبان های برنامه نویسی اشاره شده در بالا می توانید از دوره ای آموزشی کدفرند استفاده کنید).

نوشته ۵ زبان برنامه نویسی برتر در حوزه بلاک‌چین اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

رفع خطا Internal Server Error 500

خطای ۵۰۰ چیست؟

خطای ۵۰۰ (Error 500) یا همان خطای Internal Server Error به معنای “خطای سرور داخلی” می‌باشد. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته می‌شود که بدلایل مختلفی ممکن است سایت با آن مواجه شود.

این پیغام خطا در شرایط مختلفی ظاهر می شود، اما معنای تمام آن ها یکی است. بسته به وبسایتی که در حال بازدید از آن هستید ممکن است با پیغام های زیر مواجه شوید:

 

خطای 500

 

ما در این مقاله بصورت خاص  رفع خطای ۵۰۰ در وردپرس را بدلیل محبوبیت و استفاده بیشتر کاربران از این سیستم مدیریت محتوا  را تشریح نموده ایم.

جهت بررسی ریشه یابی علت وقوع ارور ۵۰۰ و چگونگی برطرف نمودن آن مراحل زیر را دنبال کنید:

بررسی  error_log  

اولین گام در صورت مواجه شدن سایت با  خطا، بررسی ارور لاگ سایت می باشد، چون با مشاهده خطای لاگ می توانید سریعتر مشکل را شناسائی و نسبت به رفع آن اقدام نمائید.

بسیاری از مواقع زمانی که خطا Internal Server Error را مشاهده می کنیم، دلیل ایحاد این مشکل در قسمت error log کنترل پنل هاست نمایش داده می شود برای کنترل پنل سی پنل از قسمت Metrics روی گزینه Errors کلیک کنید.

 

مشاهده error log در سی پنل

 

برای کنترل پنل دایرکت ادمین نیز می توانید error log را در صفحه اصلی دایرکت ادمین روی گزینه Site Summary / Statistics / Logs کلیک کنید و سپس Web Error Log روی گزینه ۱۰۰ lines کلیک کنید تا ۱۰۰ خطای آخر به شما نمایش داده شود.

مشاهده error log در دایرکت ادمین

 

 

در سیستم های مدیریت محتوا امکان مشاهده خطا از طریق فایل کانفیگ آن ها نیز مقدور است.

بدین منظور بصورت زیر اقدام نمائید:

 

فعال کردن امکان مشاهده خطا در وردپرس

فایل  wp-config.php  موجود در public_html هاست را باز نموده و مقدار WP_DEBUG’ را به true تغییر دهید.
 فعالسازی امکان مشاهده خطا در وردپرس

فعال کردن امکان مشاهده خطا در جوملا

جهت فعال کردن امکان مشاهده خطا در سایت های جوملا در فایل configuration.php مقدار error_reporting را بصورت زیر تغییر دهید.

 

 

فعال کردن امکان مشاهده خطا در پرستاشاپ

برای مشاهده خطاهای prestashop باید فایل defines.inc.php در مسیر /home/username/public_html/config را ویرایش کنیم و مقدار define(‘PS_MODE_DEV ‘, false ); را به define(‘PS_MODE_DEV ‘, true ); تغییردهید.

 

توجه : پس از مشاهده خطا مجدد تغییر را بحالت قبل بازگردانید. چون مشاهده هشدار ها و خطای های سایت توسط بازدیدکنندگان مناسب نمی باشد.

 

چک کردن فایل htaccess  

برای بررسی این فایل نیازه که نام فایل رو تغییر بدید. مثلا نام اصلی رو به htaccess_old تغییر بدید.

برای اینکه مطمئن شوید مشکل از این فایل است یا خیر. فایل  را  مثلا به htaccess_old  تغییر نام دهید.

بدین منظور وارد هاست و بخش filemanger شده و وارد پوشه  public_html شوید.

فایل .htaccess فعلی را به htaccess_old  یا نام دلخواه تغییر دهید.

یک فایل جدید بنام .htaccess ایجاد نموده و کد زیر را در آن درج نمائید و سپس مشاهده سایت بدون خطا را مجدد بررسی نمائید.

اگر بعد از اینکار سایت را بدون خطا مشاهده کردید پس مشکل حل شده ، حالا باید خط به خط کد های htaccess را به آن اضافه کنید تا ببینید مشکل از کدوم خط بوده است.

 

غیر فعال کردن افزونه ها (پلاگین ها)

چه از وردپرس استفاده کنید، چه جوملا و هر سیستم مدیریت محتوای دیگری ، روی سیستم مدیریت محتوای خودتون یک سری افزونه یا پلاگین ( یا ماژول ) دارید که فعال بودن آن ها منجر به خطای ۵۰۰ شود. پس روش بعدی این هست که تک تک افزونه های سایت رو غیر فعال کنید و ببینید با غیر فعال کردن کدوم افزونه ، خطا internal server error 500 سایت شما از بین خواهد رفت.

غیرفعال کردن پلاگین های وردپرس

اگر به مدیریت سایت دسترسی ندارید، سطح دسترسی پوشه Plugins را از طریق filemanager  به صفر تغییر دهید.

 

بررسی تنظیمات دیتابیس

مشخصات دیتابیس ایجاد شده در هاست حتما باید با مشخصات درج شده در فایل wp-config.php  یکسان باشند.

بعنوان مثال در صورتیکه سایت با وردپرس طراحی شده نام دیتابیس- نام یوزردیتابیس و رمز باید بانام دیتابیس- نام یوزردیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد )

 

تغییر قالب به قالب پیشفرض وردپرس

گاهی وقت‌ها ممکنه خطای ۵۰۰ وردپرس بخاطر قالبی که استفاده می‌کنید باشه که برای اطمینان و راهکار نهایی میتونید قالب فعلی را غیرفعال کرده و از یکی از قالب‌های پیشفرض وردپرس استفاده کنید. اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایشپوسته‌ها مراجعه کرده و یکی از قالب‌های  پیش فرض وردپرس را انتخاب کرده و روی دکمه فعال کردن کلیک کنید.

فعال کردن تم پیش فرض وردپرس

اما اگر دسترسی به پیشخوان وردپرس ندارید برای غیرفعال کردن قالب فعلی وارد هاست شده و در File Manager به مسیر public_html/wp-content/themes مراجعه کنید. سپس پوشه قالبی که در حال استفاده از آن هستید را انتخاب کرده و روی اون راست کلیک کنید. گزینه Rename را انتخاب کرده و در پنجره باز شده نام دلخواهی برای پوشه قالب انتخاب نموده و ذخیره کنید. در این صورت قالب غیرفعال شده و یکی از قالب‌های پیشفرض وردپرس به عنوان قالب سایت فعال خواهد شد. سپس میتونید سایت را بررسی کنید و ببینید که آیا همچنان خطای ۵۰۰ در سایت نمایش داده میشه یا خیر!

در صورت رفع مشکل  مشخص است مشکلی در تم استفاده شده وجود دارد که نیاز است از طریق پشتیبانی قالب خریداری شده آن را پیگیری نمائید، ممکن است قالب شما به پیشنیاز خاصی نیاز داشته باشد که در سرور میزبان فعال نباشد و یا با نسخه های خاصی از php سازگار باشد.

 

دقت داشته باشید که در این روش حتما باید یکی از قالب‌های پیشفرض وردپرس در سایت وجود داشته باشند. پس اگر پوشه‌ای به جز پوشه قالب در این مسیر از هاست وجود نداره، قبل از انجام اینکار به آدرس fa.wordpress.org مراجعه کنید. سپس از داخل فایل zip دانلود شده به مسیر wp-content/themes مراجعه کرده و یکی از پوشه‌ها را در هاست آپلود کنید.

 

 

خرابی فایل های وردپرس

ممکن هست فایل های اصلی هسته وردپرس شما خراب شده باشد. قبل از اعمال تغییرات حتما از اطلاعات بکآپ تهیه نمائید، سپس آخرین نسخه وردپرس را از وبسایت رسمی آن دانلود کرده و پوشه wp-content و فایل wp-config.php را از فایل دانلودی حذف کرده و سایر پوشه‌ها و فایل‌های موجود را با پوشه و فایل موجود در هاست خود تعویض کنید.

با این کار اطلاعات شما پاک نخواهند شد و تنها در صورت وجود مشکل از جانب هسته وردپرس، مشکل برطرف می‌گردد.

 

در صورت هر گونه سوال یا پیشنهاد در بخش نظرات با ما در ارتباط باشید، باعث خرسندی ماست که بتوانیم در حل مشکلات خدمتی ارائه دهیم.

نوشته رفع خطا Internal Server Error 500 اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

۱۱ کانال برتر یوتیوب برای آموزش برنامه نویسی

خبر خوب این که ، هرگز زمانی بهتر از الان در تاریخ نبوده است که همزمان با گسترش فناوری های یوتیوب بسیاری از مهندسین نرم افزار و برنامه نویسان در کانال های برتر یوتیوب مشغول به آموزش رایگان به دیگر کاربران هستند.

خب پس با من همراه شوید تا ۱۱ کانال برتر آموزش برنامه نویسی در یوتیوب را به شما معرفی کنم.

۱- کانال Codecourse
قطعاً یکی از بهترین کانال ها برای شروع یادگیری زبانهای برنامه نویسی این کانال است و مطمئناً آموزش های برنامه نویسی آن در زبان PHP جزو بهترین هاست. همچنین آموزش های این ویدئو بروی اصول استاندارد نویسی بسیار تمرکز دارد و بهتر است که یاد بگیرید چگونه استاندارد تر کد بزنید.
حتماً به این کانال سر بزنید و تجربه خودتون رو با من در اشتراک بزارید.

۲- کانال JREAM
این کانال زبانهای برنامه نویسی زیادی را همانند Codecourse پوشش نمیدهد ولی یک بخش آموزشی ویژه ۵۴ قسمتی مخصوص PHP-Object-Oriented ( برنامه نویسی شی گرا ) که پیشنهاد میکنم از دستش ندید.

۳- کانال RebellionRider
این کانال دارای بیش از ۱۰۰ فیلم ضروری برنامه نویسی SQL است که سطح مبتدی تا پیشرفته میتوانید این زبان برنامه نویسی رو بیاموزید.
برنامه نویسی SQL مبتدی آن دارای ۸۹ ویدئو است و مرحله به مرحله پس از ارتقا خود در این زبان میتوانید با این کانال و ویدئوهای آموزشی اش همراه باشید.

۴- کانال PASStv
یک کانال آموزشی خوش ساخت از ویدئو های خوب در مورد تجربیات و زمینه های یادگیری SQL SERVER . این کانال خیلی به آموزش زبان برنامه نویسی نمیپردازد اما حضور مهندسان و متخصصان این زبان باعث میشود که ویدئو های خوبی از تجربیات مهندسان را بتوانید ببینید و فرا بگیرید.
اگر بدنبال یادگیری تجربی SQL SERVER هستید، توصیه میکنم این کانال رو ببینید.

۵- کانال MacKenzie Child
کانال جالب MacKenzie Child دارای ۱۲ سری آموزش مبتدی زبان برنامه نویسی Ruby است که طرفداران این زبان حتماً باید دیده باشند.
اما بیشتر از آن بخش ویژه “۱۲ وب سرویس در ۱۲ هفته” مخاطبان زیادی رو به خود اختصاص داده است. این بخش ویژه برای یادگیری تجربی برنامه نویسی وب سرویس ها در نظر گرفته شده است.

۶- کانال WildAcademy
کانال وایلدآکادمی توسط Jake Day Williams، برای گسترش دانش در زبان برنامه نویسی Ruby و PHP تاسیس شده است.این کانال برای مبتدیان و علاقه مندان به Ruby بسیار مفید است.

۷- کانال Corey Schafer
کوری شافر یک توسعه دهنده پایتون است که در دنیای پایتونی ها بسیار فعال است . سری ویدئوهای پایتون برای مبتدیان او بسیار مورد توجه و بازدید قرار گرفته است. اگر هر سری ویدئوهای اون ۲۲ قسمت طولانی هم باشد مطمئن باشید برایتان بسیار فراتر از مبتدیان خواهید آموخت.

۸- کانال Programming Knowledge
این کانال صرفاً آموزش پایتون نیست اما این کانال بالای ۱۶۰ ویدئو در زمینه آموزش پایتون منتشر کرده است . اگر بدنبال آموزش ASP.NET هستید این کانال را با ویدئو های آموزشی جذابش از دست ندهید.

۹- کانال Cave of Programming
این کانال دارای لیست پخش هایی با دسته بندی مبتدی – متوسطه – پیشرفته دارد که پوشش آموزشی در بخش های مختلفی را میدهد اما بسیار تمرکز زیادی بروی زبان برنامه نویسی Java دارد که در ایران هم بسیار طرفدار و برنامه نویس دارد.

۱۰- کانال Telusko
در این کانال آموزشی واقعاً با یک دوره حرفه ای از زبان Java مواجه هستید. درست است که ویدئو های آموزشی این کانال در هر مقطعی از یادگیری جاوا آموزش میدهد اما توسط پیشرفته ترین اساتید روز جاوا در دنیا تهیه و انتشار میگردد.
علاقه مندان و برنامه نویسان جاوا این کانال را جدی بگیرید…

۱۱- کانال The New Boston
The New Boston به عنوان مرجع آموزشی برای زبانهایی که با آن در حال کار هستید بوجود آمده است. این کانال ۲ میلیون دنبال کننده دارد و حدود نیم میلیارد بازدید از ویدئو رو به نام خود ثبت کرده است. در این کانال تمامی زبان های برنامه نویسی که توسعه back-end نرم افزار ها را بر عهده دارند آموزش داده میشود.

نوشته ۱۱ کانال برتر یوتیوب برای آموزش برنامه نویسی اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

قسمت چهارم JavaFX _ معماری و ساختار

سایر قسمت هارا در اینجا ببینید.

توجّه این قسمت تقریباً حالت معرّفی کلّی بخش های مختلف JavaFX را دارد و ممکن است به کلمات یا جملاتی برخورد کنید که باعث گیج شدنتان شود. اصلاً نگران این موضوع نباشید، متن را به دقّت بخوانید و هرجارا که نفهمیدید از آن رد شوید. این قسمت صرفاً برای آشنایی کلّی با معماری برنامه های JavaFX می باشد.

ـ JavaFX یک API کامل با مجموعه ای غنی از کلاس ها و اینترفیس ها برای ساخت اپلیکیشن های گرافیکی با گرافیک غنی را فراهم می کند.پکیج های مهمّ این API عبارت اند از _

ـ javafx.animation _ شامل کلاس هایی برای اضافه کردن انیمیشن های مبتنی بر انتقال از قبیل پر کردن(fill)، محو شدن(fade)، چرخش(rotate)، تغییر مقیاس(scale) و جابه جایی(translation) برای nodeهای JavaFX است.

نکته: node ها المان های گرافیکی JavaFX هستند.

  • ـjavafx.application _ شامل مجموعه ای از کلاس ها است که چرخه ی زندگی(life cycle) برنامه های JavaFX را بر عهده دارند.
  • ـ javafx.css _ شامل کلاس هایی برای طرّاحی CSSمانندِ اپلیکیشن های گرافیکی JavaFX می باشد.
  • ـ javafx.event _ شامل کلاس ها و اینترفیس هایی برای ارائه و مدیریت رویداد های JavaFX است.
  • ـ javafx.geometry _ شامل مجموعه ای از کلاس ها برای تعریف کردن اشیاء ۲بعدی و عملیات بر روی آن هاست.
  • ـ javafx.stage _ این بسته دارای کلاس های نگه دارنده ی(container) سطح بالای اپلیکیشن های JavaFX است.
  • ـ javafx.scene _ این بسته کلاس ها و اینترفیس هایی را برای پشتیبانی از گرافیک صحنه(Scene Graph) فراهم می کند. علاوه بر این، زیربسته ها یا sub_package هایی از قبیل بوم، نمودار، کنترل ها، افکت، تصویر، ورودی، لایه، مدیا، رنگ، شکل، متن، تبدیل، وب و… را فراهم می کند. اجزای متعدّدی هستند که این API غنی JavaFX، پشتیبانی می کنند. There are several components that support this rich API of JavaFX.

تصویر زیر ساختار API جاوا اف ایکس را نشان می دهد. در اینجا می توانید اجزایی که API جاوا اف ایکس پشتیبانی می کنند مشاهده کنید.

ساختار ای پی آی های JavaFX و اجزایی که از این APIها پشتیبانی می کنند.

گراف صحنه(Scene Graph)

در JavaFX ، اپلیکیشن های گرافیکی با استفاده از گراف صحنه کد نویسی شده اند. گراف صحنه نقطه ی شروع ساخت اپلیکیشن است. گراف صحنه(Scene Graph) اِلِمان های اصلی اپلیکیشن های گرافیکی JavaFX را که node نامیده می شوند در خود نگه داری می کند.

ـ node یک شیء بصری یا گرافیکی است و می تواند شامل این موارد باشد _

  • اشیای هندسی (گرافیکی) _ (۲بعدی و ۳بعدی) از قبیل دایره، مستطیل، چند ضلعی و…
  • کنترل های UI _ از قبیل Button ، CheckBox ، Choice box ، Text Area و…
  • ظروف شامل شونده (Containers) _ (پنجره های لایه ها یا layout panes)مثل Border Pane و Grid pane و Flow Pane و… (نگران نباشید بعداً به طور کامل همه ی این هارا بررسی خواهیم کرد.)
  • عناصر رسانه (Media elements) _ مانند آبجکت های صوتی، ویدیویی و تصویری.

به طور کلّی مجموعه ای از node ها یک گراف صحنه(scene graph) را می سازد. همه ی این node ها در یک سلسله مراتب(وراثتی) مرتّب شده اند که در تصویر زیر نشان داده شده است.

نمودار وراثتی node ها

هر node در گراف صحنه(scene graph) یک والد تک دارد، و node ای که هیچ والدی ندارد به عنوان nodeریشه یا root node شناخته می شود.

به طور مشابه node ها یک یا چند فرزند دارند، و node ای که هیچ فرزندی نداشته باشد leaf node نامیده می شود؛ node ای که دارای فرزند باشد branch node نامیده می شود.

در یک گراف صحنه(scene graph) فقط یک node می تواند اضافه شود. node ِ گراف صحنه می تواند افکت(Effects)، شفّافیت(Opacity)، تغییر شکل (transform) و Event Handler داشته باشد. (نگران نباشید در ادامه ی آموزش درباره ی همه ی این موارد توضیح داده خواهد شد)

ـPrism

ـprism یک عملکرد گرافیکی سطح بالاست که برای تفسیر گرافیکی در JavaFX استفاده می شود. که می تواند هر دوی گرافیک های دو بعدی و سه بعدی را تفسیر کند.

در صورتی که سیستم مورد نظر سخت افزار لازم برای پردازش گرافیکی را پشتیبانی نکند، prism از تفسیر نرم افزاری برای پردازش گرافیکی استفاده می کند.

زمانی که از کارت گرافیک یا GPU استفاده شود، گرافیک روان تری ارائه می شود. فقط زمانی که سیستم کارت گرافیک نداشته باشد، prism به صورت پیش فرض از پردازش گرافیکی نرم افزاری استفاده می کند.

GWT (Glass Windowing Toolkit)

ـGWT سرویس هایی برای مدیریت پنجره ها، تایمرها، سطوح برنامه(Surfaces) و صف رویدادها ارائه می دهد. GWT بسترِ JavaFX را به سیستم عامل بومی سیستم متّصل می کند.

وب ویو (WebView)

با استفاده از JavaFX شما می توانید محتوای HTML را هم در گراف صحنه ی خود قرار دهید. WebView کامپوننتی(جزئی) است که نمایش این محتوارا بر عهده دارد. وب ویو از تکنولوژی ای به نام Web Kit استفاده می کند که یک مرورگر وب داخلی منبع باز(open source) است. این جزءِ JavaFX از تکنولوژی های مختلف مربوط به وب پشتیبانی می کند مانند HTML5 و CSS و JavaScript و DOM و SVG.

با استفاده از وب ویو شما می توانید _

  • محتوای HTML را از بخش محلّی(local) یا آدرس URL ، رندر کنید.
  • پشتیبانی از تاریخ و ارائه ی قابلیت برگشت و جلو رفتن در صفحات وب.
  • بارگیری مجدّد محتوا (reload the content)
  • اعمال افکت روی صفحات وب.
  • ویرایش محتوای HTML.
  • اجرای دستورات JavaScript.
  • مدیریت رویدادها.

به طور کلّی با استفاده از WebView می توانید محتوای وب را از جاوا کنترل کنید.

موتور رسانه یا Media Engine

موتور رسانه ی JavaFX مبتنی بر یک موتور() منبع باز است که به عنوان یک استریمر(streamer) شناخته می شود. این موتور رسانه از پخش ویدیو و محتوای صوتی پشتیبانی می کند.

موتور رسانه ی JavaFX فایل های صوتی با فرمت های زیر را پشتیبانی می کند _

قالب های پشتیبانی شده در موتور رسانه ی JavaFX

بسته ی javafx.scene.media ، کلاس ها و اینترفیس هایی را برای ارائه ی قابلیت رسانه در JavaFX فراهم می کند. این در قالب سه جزء ارائه شده است که موارد زیر هستند _

ـMedia Object _ این نشان دهنده ی یک فایل رسانه ای است.

ـMedia Player _ برای پخش محتوای رسانه.

ـMedia View _ برای نمایش رسانه.

در ادامه با این سه بهتر آشنا خواهیم شد. فعلاً اسمشان را در گوشه ی ذهن خود داشته باشید تا بعد.

لطفاً نظرات ارزشمند خودتون رو بنویسید. لایک هم فراموش نشه، مرسی.

نوشته قسمت چهارم JavaFX _ معماری و ساختار اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی