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

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

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

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

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

طبقه بندی موضوعی

۱۰ مطلب با موضوع «Programming» ثبت شده است

  • ۰
  • ۰

برای تبدیل محتوای html به فایل pdf میتوان از روش‌های مختلفی استفاده نمود که در زیر به ۲ مورد از آنها اشاره میشود.

در یک روش میتوان از برنامه phantomjs استفاده نمود که در واقع یکی از بسته‌های nodejs میباشد.

برای این منظور یک فایل js (فایل rasteriza.js) که مقداری کد در آن وجود دارد و وظیفه این را دارد که مشخص کند فایل خروجی با چه ویژگی‌هایی تولید شود، آدرس یک صفحه وب و آدرس فایل خروجی بعنوان پارامتر به برنامه مربوطه دهید  تا خروجی مورد انتظار خود را دریافت نمایید. با این برنامه کارهای جالبی میتوان انجام داد مثلاً ایجاد تصویر یک سایت.


در روش دوم که در واقع یک کد باینری زبان c هست میتوان تصویر یا pdf ایجاد نمود.

https://wkhtmltopdf.org/

  • حمیدرضا صدوقی
  • ۰
  • ۰

در لینک زیر مطلبی وجود دارد درباره معرفی ۵۰ پلاگین جذاب jquery که مشاهده آن میتواند برایتان مفید واقع شود.

http://tutorialzine.com/2013/04/50-amazing-jquery-plugins/


در زیر برخی از پلاگین‌های جذاب این سایت آورده شده است:


یکی از جذابترین پلاگینهای معرفی شده در این سایت پلاگین alert , notification , confirm است.

http://fabien-d.github.io/alertify.js/


پلاگین جذاب دیگر میتواند count down باشد و مثلا میتوانید یک زمان شمار برای آغاز یک رویداد را روی سایت قرار دهید.

نمونه: http://demo.tutorialzine.com/2011/12/countdown-jquery/

کد: http://tutorialzine.com/2011/12/countdown-jquery/


این یک پلاگین هست که به لیست قابلیتهای اضافه ای همچون جستجو و فیلتر میدهد.

http://listjs.com


این هم یک پلاگین نمودار برپایه ویژگی‌های HTML5 هست.

http://www.chartjs.org


این هم یک پلاگین نقشه برپایه نقشه گوگل که ویژگی‌های جالب و کاربردی ای دارد.

http://hpneo.github.io/gmaps/

  • حمیدرضا صدوقی
  • ۰
  • ۰

برای مدیریت حرفه‌ای تر برنامه‌های غیرهم روند با اشیاء promise و deferred میتوانید از دو لینک زیر کمک بگیرید:

http://blog.mediumequalsmessage.com/promise-deferred-objects-in-javascript-pt1-theory-and-semantics

http://blog.mediumequalsmessage.com/promise-deferred-objects-in-javascript-pt2-practical-use

  • حمیدرضا صدوقی
  • ۰
  • ۰

احتمالا با زبان جاوااسکریپت کا کرده باشید! این زبان ازنظر قواعد نحوی دارای یکسری پیچیدگی ها در مقایسه با دیگر زبان ها میباشد. مثلاً شما قابلیت ایجاد interface در این زبان را ندارید. یا مثلاً در هنگام تعریف متغیر امکان تعیین نوع متغیر را ندارید. لذا در این میان زبان هایی تولید شدند که یکی از آنها typescript نام دارد که توسط شرکت microsoft توسعه داده شده است. این زبان دسته از زبان ها طوری هستند که بعد از اینکه برنامه خود را نوشتید توسط یک دستور آنرا کامپایل کرده و برنامه به زبان بومی جاوااسکریپت را خواهید داشت.

البته در بین این دسته از زبان‌ها موارد دیگری نیز وجود دارد که هرکدام دارای ویژگی‌های مثبت و منفی خاص خود هستند.

ولی در بین این زبان‌ها به نظر میرسد که این زبان از اقبال بیشتری برخوردار بوده است. مثلاً توسعه دهندگان کتابخانه AngularJS و Ionic از این زبان استفاده میکنند.

برای یادگیری این زبان میتوانید از سایت رسمی آن کمک بگیرید که به نظر بنده از جاوااسکریپت راحت‌تر هست. مثلاً شما در این زبان براحتی میتوانید کلاس تعریف کنید. براحتی interface تعریف کنید و یا ارث‌بری کلاسها را داشته باشید.

این نکته هم لازم به ذکر هست که هر برنامه جاوااسکریپت در واقع خود یک typescript هست. و براحتی با کپی کردن محتوای یک فایل js و قرار دادن آن در یک فایل ts شما یک فایل typescript خواهید داشت.

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


  • حمیدرضا صدوقی
  • ۰
  • ۰

اگر جزو افرادی هستید که برای برنامه نویسی و توسعه از محصولات شرکت jetbrains استفاده می‌کنید حتماً با مشکلات گیر کردن و عدم پاسخ دهی محیط توسعه(IDE) هنگام کار در پروژه‌های بزرگ روبرو شده‌اید. این شرکت دارای محصولات متعددی میباشد که از آن جمله محصولی برای توسعه بر بستر جاوا بنام intelij idea و دیگر محصولات دیگر نیز هست. محصولی دیگر از این شرکت برای توسعه دهندگان وب در بستر php بنام phpstorm میباشد. در این مطلب قصد دارم راهکاری را ارائه دهم تا مشکل کندی و تاخیر در پاسخ‌دهی این محصولات برطرف شود.

 در سیستم عامل مک او اس:

فایل زیر(که البته با توجه به۳۲ یا ۶۴ بیتی بودن نسخه سیستم عامل وکه در صورت ۶۴ بیت بودن، فایل مناسب که شامل عدد ۶۴ هست) را

 /Applications/prod_location.app/Contents/bin/phpstorm.vmoptions

در محل زیر(در صورت ۶۴ بیتی بودن فایل مناسب را کپی کنید)

 ~/Library/Preferences/WebIde XX/phpstorm.vmoptions

 کپی کنید.

حالا فایل جدید را در محیط ویرایشگر بازکرده و در قسمت -XmX  که مقدار حافظه heapجاوا را تعیین میکند افزایش دهید. حالا محیط توسعه خود را باز کنید و نمایانگر حافظه را در قسمت status barفعال کرده باشیدخواهید دید که مقدار حداکثر حافظه افزایش یافته است.  و یک محیط توسعه روان خواهید داشت. البته در افزایش این مقدار دقت کنید چرا که ممکن است با مشکلاتی مواجه شوید.


در سیستم عامل لینوکس:

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

<PhpStorm installation folder>/bin/phpstorm$BITS.vmoptions

که $BITSمشخص کننده ۳۲ یا ۶۴ بیتی بودن برنامه است. کپی و در دایرکتوری خانه خود در آدرس:

$HOME/.WebIde XX/phpstorm$BITS.vmoptions

کپی کرده و تغییرات لازم را اعمال نمایید.

منبع:

https://www.jetbrains.com/phpstorm/help/tuning-phpstorm.html

  • حمیدرضا صدوقی
  • ۰
  • ۰
بعضی مواقع ممکن است بخواهید که پس از انجام یک عملیات خاص در یک کنترلر به صفحه فراخواننده که اصطلاحاً آنرا referrer page می‌نامند بازگشت کنید. برای این منظور میتوان از دستور زیر در کنترلر خود استفاده نمایید:
return $this->redirect($this->getRequest()->headers->get('referer'));

منبع:

http://www.ardianys.com/2013/01/symfony-redirect-to-referrer-url.html

  • حمیدرضا صدوقی
  • ۰
  • ۰

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

در میان این قالب‌ها بعنوان مثال قالب bootstrap 3, foundation , ... وجود دارد.

بعنوان مثال کاربر برای استفاده از قالب bootstrap 3 در فرم‌های خود بکمک تنظیم زیر در فایل config.yml اعمال نماید:

twig:
    form:
        resources: ['bootstrap_3_layout.html.twig']
منبع:
  • حمیدرضا صدوقی
  • ۰
  • ۰

برای شمارش تعداد خطوط کدهای PHP یک پروژه می‌توان از دستور زیر در ترمینال لینوکس استفاده نمود:

wc -l `find . -iname "*.php"`

البته افزونه‌ها و برنامه‌هایی نیز برای اینکار وجود دارد و معمولاً در محیط‌های برنامه نویسی IDE ابزارهایی برای این مساله وجود دارد.

درصورتی که ابزارهای مفیدی در این رابطه می‌شناسید در بخش نظرات مطرح نمایید.

  • حمیدرضا صدوقی
  • ۰
  • ۰

این مقاله قصد معرفی روش های مختلف document ready در برنامه نویسی وب و جاوااسکریپت را دارد. در میان روش‌های مطرح شده در ذیل تعدادی با javascript استاندارد و بدون کتابخانه است و برخی به کمک کتابخانه jquery هستند.

$(document).ready(function() {
    //do jQuery stuff when DOM is ready
});
$(function(){ 
    //jQuery code here 
});
jQuery(document).ready(function($) {
    //do jQuery stuff when DOM is ready
});
(function($) { 
    // code using $ as alias to jQuery
    $(function() {
        // more code using $ as alias to jQuery
    });
})(jQuery);
// other code using $ as an alias to the other library
$(window).load(function(){  
    //initialize after images are loaded  
});

منبع:


  • حمیدرضا صدوقی
  • ۱
  • ۰

معمولاً برای برنامه نویسی از یک سری استانداردهایی برای خوانایی و فهم بهتر کدها استفاده میشود. یکی از این روش ها استفاده از اصولی مشخص و جامع در نامگذاری متغیرها، کلاسها و دیگر اجزاء موجود در یک برنامه میباشد.

در این مقاله روش های مختلف نامگذاری عناصر مختلف یک برنامه کامپیوتری معرفی میشود.

camelCase:

در این روش اگر یک متغیر را که از تعدادی کلمه تشکیل شده است درنظر بگیریم کلیه حروف اول هر کلمه را به استثنای اولین کلمه حرف بزرگ در نظر میگیریم و فضاهای حالی بین کلمات را حذف و نیز از کاراکتر خط پایین "_" نیز در بین کلمات استفاده نمیکنیم. بعنوان نمونه:

suggested site name => suggestedSiteName
save action => saveAction
entity name => entityName
calculate average => calculateAverage

کاربرد:

کاربرد این روش در نامگذاری متغیرها، توابع و متدهای کلاسها میباشد.

snake_case:

در این روش در صورت استفاده از چند کلمه برای متغیر کلمات تشکیل دهنده را به کمک کاراکتر خط پایین"_" از هم جدا میکنیم و همه‌ی حروف کوچک میباشند. البته حرف اولین کلمه میتواند کوچک و یا بزرگ باشد. همچنین مطالعات نشان داده که این روش نسبت به camelCase سریعتر توسط انسان خوانده می‌شوند. بعنوان نمونه:

suggested site name => suggested_site_name OR Suggested_site_name
save action => save_action OR Save_action
entity name => entity_name OR Entity_name
calculate average => calculate_average
str cmp => str_cmp
str cut => str_cut

کاربرد:

کاربرد این روش در کدهای کامپیوتری برای نام توابع، متغیرها و حتی نام فایلها است. البته در گذشته معمولاً استفاده میشده است.

StudlyCaps or PascalCase:

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

suggested site name => SuggestedSiteName
entity name => EntityName
action interface => ActionInterface
output stream => OutputStream

کاربرد:

کاربرد این روش در نام کلاس‌ها و interface ها میباشد.


در صورتی که این مقاله دارای کم و کاستی میباشد در بخش نظرات مطرح نمایید.


برای مطالعه بیشتر به مقالات زیر میتوانید رجوع کنید:


  • حمیدرضا صدوقی