یک ابزار برای تبدیل CSS شما به CSS بهینه تر است و Module هایی برای راحت تر کردن کد نویسی CSS به ما میدهند. برای مثال: کد شما را فشرده میکند، پیشوند های مروگر را اضافه میکنند قابلیت هایی مثل متغیر ها و… را به شما میدهد قابلیت هایی که در آینده به CSS اضافه خواهند شد را اکنون در اختیار شما قرار میدهد و ده ها قابلیت دیگر که بررسی میکنیم.
http://goo.gl/dkeDFH
http://goo.gl/dkeDFH
baboon
آموزش PostCSS - معرفی و قابلیت ها
طراحی سایت و آموزش برنامه نویسی و توسعه وب سایت
«کامنت گذاری»
کامنت ها توضیحاتی هستند که از دید کامپایلرها، مفسرها و همچنین کاربران نرمافزار پنهان بوده و صرفاً در معرض دید توسعه دهنده ی نرمافزار قرار میگیرند تا با ماهیت بخشهای مختلف نرمافزار آشنا شده و بداند که هر بخش چه کاری انجام می دهد.
گفته میشود کد خوب کدی است که آنقدر تمیز نوشته شده باشد و همه چیز آن شفاف باشد که نیازی به کامنت نداشته باشد و خود کد گویای عملکردش باشد اما به هر حال امروزه کامنت گذاری در سورس کد به عنوان یک Best Practice در آمد و لاجرم ما هم می بایست از این قانون تبعیت کنیم.
گاهی اوقات برنامه نویسان مبتدی را میبینیم که دچار وسواس کامنت نویسی میشوند به طوری که تعداد کامنت های ایشان در سورس کد به مراتب بیشتر از کدهای اصلی برنامه است.
اگر کامنت هایی در سورس کد خود بنویسیم که به معنای واقعی کلمه ارزشمند نباشند، وقتی در آینده توسعه دهنده ی دیگری به سورس کد ما نگاه کند، با توجه به این که کامنت ها در برخی جاهای برنامه واقعا غیرضروری و اضافی هستند، این ایماژ برایش ایجاد می شود که گویی تمامی کامنت های نوشته شده به این شکل هستند و این احتمال نیز وجود دارد که دیگر به هیچ وجه به کامنت ها -حتی آن هایی که به خوبی و درستی نوشته شده اند- توجهی نکند!
کامنت ها توضیحاتی هستند که از دید کامپایلرها، مفسرها و همچنین کاربران نرمافزار پنهان بوده و صرفاً در معرض دید توسعه دهنده ی نرمافزار قرار میگیرند تا با ماهیت بخشهای مختلف نرمافزار آشنا شده و بداند که هر بخش چه کاری انجام می دهد.
گفته میشود کد خوب کدی است که آنقدر تمیز نوشته شده باشد و همه چیز آن شفاف باشد که نیازی به کامنت نداشته باشد و خود کد گویای عملکردش باشد اما به هر حال امروزه کامنت گذاری در سورس کد به عنوان یک Best Practice در آمد و لاجرم ما هم می بایست از این قانون تبعیت کنیم.
گاهی اوقات برنامه نویسان مبتدی را میبینیم که دچار وسواس کامنت نویسی میشوند به طوری که تعداد کامنت های ایشان در سورس کد به مراتب بیشتر از کدهای اصلی برنامه است.
اگر کامنت هایی در سورس کد خود بنویسیم که به معنای واقعی کلمه ارزشمند نباشند، وقتی در آینده توسعه دهنده ی دیگری به سورس کد ما نگاه کند، با توجه به این که کامنت ها در برخی جاهای برنامه واقعا غیرضروری و اضافی هستند، این ایماژ برایش ایجاد می شود که گویی تمامی کامنت های نوشته شده به این شکل هستند و این احتمال نیز وجود دارد که دیگر به هیچ وجه به کامنت ها -حتی آن هایی که به خوبی و درستی نوشته شده اند- توجهی نکند!
«کلاس های همه فن حریف»
این کلاسها آنقدر قابلیت و عملکرد برایشان در نظر گرفته شده که در جای جای سورس کد، رد و نشانی از آنها می یابیم که اتخاذ چنین سیاستی نیز اشتباه است. در واقع، هر کلاس در برنامه نویسی شیء گرایی قرار است یک کار خاص را انجام دهد. پس چنین کلاسهایی را می بایست به چندین کلاس تخصصی و مجزا از یکدیگر با یکسری متدهای کاربردی برای هر کدام بازنویسی کرده و هر کجا که نیاز بودم، از آنها استفاده نماییم.
این کلاسها آنقدر قابلیت و عملکرد برایشان در نظر گرفته شده که در جای جای سورس کد، رد و نشانی از آنها می یابیم که اتخاذ چنین سیاستی نیز اشتباه است. در واقع، هر کلاس در برنامه نویسی شیء گرایی قرار است یک کار خاص را انجام دهد. پس چنین کلاسهایی را می بایست به چندین کلاس تخصصی و مجزا از یکدیگر با یکسری متدهای کاربردی برای هر کدام بازنویسی کرده و هر کجا که نیاز بودم، از آنها استفاده نماییم.
«انتخاب یک زبان برنامه نویسی، فرقی نمیکند چه زبانی!»
بسیاری از علاقمندان به فراگیری برنامه نویسی واقعاً نمیدانند از کجا شروع کنند و حق هم دارند. از آنجا که مهم است افراد مبتدی در ابتدای راه با یک زبان برنامه نویسی دشوار رو به رو نشوند، توصیه میشود که برای ورود به دنیای برنامه نویسان شروع آموزش با زبانهای وب -مثل اچ تی ام ال سپس سی اس اس و در نهایت جاوا اسکرپیت- صورت گیرد. نیاز به توضیح نیست که زبانهای اچ تی ام ال و سی اس اس راحت ترین زبانهایی هستند که میتوان فرا گرفت. در ادامه هم برای آنکه بتوانید سایت خود را تعاملی تر سازید، میتوانید با استفاده از یکی از زبانهای پایتون، پی اچ پی یا روبی این قابلیت را به سایت خود اضافه نمایید.
نکته: توجه داشته باشیم که یادگیری برنامه نویسی شبیه به یادگیری رانندگی است. زمانی که شما شروع به فراگیری رانندگی کردید، خیلی برایتان فرقی نمیکرد تا با پراید آموزش ببینید یا جی ال ایکس! پس از آن که یاد گرفتید چگونه کنترل یک خودرو را در دست بگیرید، حال خواهید توانست پشت یک خودروی هامر هم بنشینید. یادگیری برنامه نویسی هم دقیقاً به همین صورت است. پس از آن که شما یک زبان برنامه نویسی را فرا گرفتید، از آن پس یادگیری سایر زبانهای برنامه نویسی برای شما آسانتر خواهد بود.
#مبتدی | منبع: https://goo.gl/gfpf6v
بسیاری از علاقمندان به فراگیری برنامه نویسی واقعاً نمیدانند از کجا شروع کنند و حق هم دارند. از آنجا که مهم است افراد مبتدی در ابتدای راه با یک زبان برنامه نویسی دشوار رو به رو نشوند، توصیه میشود که برای ورود به دنیای برنامه نویسان شروع آموزش با زبانهای وب -مثل اچ تی ام ال سپس سی اس اس و در نهایت جاوا اسکرپیت- صورت گیرد. نیاز به توضیح نیست که زبانهای اچ تی ام ال و سی اس اس راحت ترین زبانهایی هستند که میتوان فرا گرفت. در ادامه هم برای آنکه بتوانید سایت خود را تعاملی تر سازید، میتوانید با استفاده از یکی از زبانهای پایتون، پی اچ پی یا روبی این قابلیت را به سایت خود اضافه نمایید.
نکته: توجه داشته باشیم که یادگیری برنامه نویسی شبیه به یادگیری رانندگی است. زمانی که شما شروع به فراگیری رانندگی کردید، خیلی برایتان فرقی نمیکرد تا با پراید آموزش ببینید یا جی ال ایکس! پس از آن که یاد گرفتید چگونه کنترل یک خودرو را در دست بگیرید، حال خواهید توانست پشت یک خودروی هامر هم بنشینید. یادگیری برنامه نویسی هم دقیقاً به همین صورت است. پس از آن که شما یک زبان برنامه نویسی را فرا گرفتید، از آن پس یادگیری سایر زبانهای برنامه نویسی برای شما آسانتر خواهد بود.
#مبتدی | منبع: https://goo.gl/gfpf6v
Sokanacademy
چند توصیه به برنامه نویسان مبتدی
در این آموزش توصیه هایی را در اختیار برنامه نویسان مبتدی قرار خواهیم داد که با به کار بستن آن ها، خواهند توانست مسیر یادگیری اصول برنامه نویسی را برای خود اثربخش تر و لذت بخش تر سازند.
💬 مقاله جالب و مفیدی هست پیشنهاد میکنم مطالعه کنید و به دوستانتون هم معرفی کنید بخونن
http://blog.sariina.com/1240-martial-arts-lessons
http://blog.sariina.com/1240-martial-arts-lessons
وبلاگ سارینا
درسهایی از هنرهای رزمی برای برنامهنویسی
از بچگی هم به کامپیوتر علاقه داشتم و هم از دیدن فیلمهای بروسلی و جکی چان لذت میبردم. در هر دو، مهارت و تسلط و توانایی وجود داشت. دانشآموز راهنمایی که بودم با تایپ کردن از روی یک دفترچه راهنمای Commodore Plus/4 و تغییر مقادیر و شلنگ تخته انداختن سعی کردم…
Forwarded from رباتعلی
This media is not supported in your browser
VIEW IN TELEGRAM
اوضاع در ویندوز 😂
۱۰ نکته برای افرادی که به دنبال شغل برنامه نویسی هستند
در این مقاله با نکاتی که دانشجویان برنامه نویسی می بایست برای موفقیت در این حرفه بلد باشند آشنا خواهیم شد.
http://goo.gl/ihxLKg
در این مقاله با نکاتی که دانشجویان برنامه نویسی می بایست برای موفقیت در این حرفه بلد باشند آشنا خواهیم شد.
http://goo.gl/ihxLKg
This media is not supported in your browser
VIEW IN TELEGRAM
Fixing a bug in production 😉
مجموعه افسانه های تجربه کاربری
در یکسال گذشته ، مطالبی در سایت جامعه تجربه کاربری ایران درج شد با عنوان ” افسانه های تجربه کاربری “ ، یعنی باورهای غلطی که بعضی طراحان آنها را قبول دارند درحالیکه ، حتی میتوانند این تفکرات ضربه های بزرگی به پروژه بزند و مشکلات بسیاری بوجود آورند.
این مجموعه ، ترجمه ای مطالب از سایت uxmyths.com هست و هم اکنون که آنها تکمیل شده اند، میتوانید تمامی این مطالب را بصورت یک فایل pdf ، بطور منظم و منسجم داشته باشید.
http://uxpublish.ir/uxmyths.pdf
در یکسال گذشته ، مطالبی در سایت جامعه تجربه کاربری ایران درج شد با عنوان ” افسانه های تجربه کاربری “ ، یعنی باورهای غلطی که بعضی طراحان آنها را قبول دارند درحالیکه ، حتی میتوانند این تفکرات ضربه های بزرگی به پروژه بزند و مشکلات بسیاری بوجود آورند.
این مجموعه ، ترجمه ای مطالب از سایت uxmyths.com هست و هم اکنون که آنها تکمیل شده اند، میتوانید تمامی این مطالب را بصورت یک فایل pdf ، بطور منظم و منسجم داشته باشید.
http://uxpublish.ir/uxmyths.pdf
UX Myths
UX Myths collects the most frequent user experience misconceptions and explains why they don't hold true.
۹ عادت انسانهای ناموفق
موفقیت، نه یک لحظهی خاص که یک مسیرِ طولانی است که در آن تنها لحظاتی را برای جشن گرفتنِ تحقق هدفهایمان میایستیم و بعد دوباره برای رسیدن به هدفهای بعدی به راه میافتیم. در این مسیر طبیعتا نیازمند رهتوشهای هستیم که یکی از مهمترین اجزای آن، داشتن عادتهای درست است. عادت، یعنی کاری که بدون فکر و انگیزه در لحظه و بهصورت مستمر آن را انجام میدهیم. تکرار عادتهای درست، باعث میشوند تا حرکتِ ما بهسوی هدفهایمان تسریع و تسهیل شود؛ چرا که در واقع رسیدن به هدفها نیازمند به انجام کارهایی هستند که چیزی جز همین عادتهای درست نیستند! اما این سکه روی دیگری هم دارد. بسیاری از عادتهای نادرست هم وجود دارند که ما خواسته و ناخواسته گرفتار آنها هستیم و در مسیرمان بهسوی اهدافِ بزرگ زندگی، مانع ایجاد میکنند. بنابراین هر چقدر لازم است که عادتهای درست را بشناسیم و آنها را تقویت کنیم، بههمان اندازه لازم است که عادتهای بد را هم بشناسیم و برای حذف آنها از زندگیمان تلاش کنیم...
http://gozareha.com/1395/07/28/unsscfll-pppl-hbts/
موفقیت، نه یک لحظهی خاص که یک مسیرِ طولانی است که در آن تنها لحظاتی را برای جشن گرفتنِ تحقق هدفهایمان میایستیم و بعد دوباره برای رسیدن به هدفهای بعدی به راه میافتیم. در این مسیر طبیعتا نیازمند رهتوشهای هستیم که یکی از مهمترین اجزای آن، داشتن عادتهای درست است. عادت، یعنی کاری که بدون فکر و انگیزه در لحظه و بهصورت مستمر آن را انجام میدهیم. تکرار عادتهای درست، باعث میشوند تا حرکتِ ما بهسوی هدفهایمان تسریع و تسهیل شود؛ چرا که در واقع رسیدن به هدفها نیازمند به انجام کارهایی هستند که چیزی جز همین عادتهای درست نیستند! اما این سکه روی دیگری هم دارد. بسیاری از عادتهای نادرست هم وجود دارند که ما خواسته و ناخواسته گرفتار آنها هستیم و در مسیرمان بهسوی اهدافِ بزرگ زندگی، مانع ایجاد میکنند. بنابراین هر چقدر لازم است که عادتهای درست را بشناسیم و آنها را تقویت کنیم، بههمان اندازه لازم است که عادتهای بد را هم بشناسیم و برای حذف آنها از زندگیمان تلاش کنیم...
http://gozareha.com/1395/07/28/unsscfll-pppl-hbts/
گزارهها
۹ عادت انسانهای ناموفق
موفقیت، نه یک لحظهی خاص که یک مسیرِ طولانی است که در آن تنها لحظاتی را برای جشن گرفتنِ تحقق هدفهایمان میایستیم و بعد دوباره برای رسیدن به هدفهای بعدی به راه میافتیم. در این مسیر طبیعتا نیازمن…
یک ابزار آنلاین مناسب جهت رسم کردن انواع دیاگرام و فلوچارت و ...
💬 ابزارهای مختلفی رو تا به حال تست کردم که این از همه خوش دست تر و کاربردی تر بوده به نظرم بین بقیه. همچنین متن باز هست و میشه روی هاست های شخصی هم نصبش کرد.
https://www.draw.io/
💬 ابزارهای مختلفی رو تا به حال تست کردم که این از همه خوش دست تر و کاربردی تر بوده به نظرم بین بقیه. همچنین متن باز هست و میشه روی هاست های شخصی هم نصبش کرد.
https://www.draw.io/
app.diagrams.net
Flowchart Maker & Online Diagram Software
draw.io is a free online diagramming application and flowchart maker . You can use it to create UML, entity relationship,
org charts, BPMN and BPM, database schema and networks. Also possible are telecommunication network, workflow, flowcharts, maps overlays…
org charts, BPMN and BPM, database schema and networks. Also possible are telecommunication network, workflow, flowcharts, maps overlays…
💡 تفاوت بین برنامهنویس، هکر و توسعه دهنده
💬 البته به نظرم این تعاریف اغلب من در آوردی هست ولی از نگاه دیگه میتونه درست هم باشه
https://danielmiessler.com/study/programmer_hacker_developer
💬 البته به نظرم این تعاریف اغلب من در آوردی هست ولی از نگاه دیگه میتونه درست هم باشه
https://danielmiessler.com/study/programmer_hacker_developer
۱۰ مورد از اشتباهات رایج در برنامهنویسی که باید از آنها اجتناب کنید
«بهینه سازی زودرس»
به راحتی ممکن است دچار ضد الگوی بهینه سازی زودرس شویم، اگر به بهینه سازی ها و کارایی های کوچک در فرایند توسعه بیش از حد توجه کنیم و آن ها را زودتر از موعد بهینه کنیم قبل از این که بدانیم دقیقا قصد انجام چه کاری را داریم. طبق نقل قول معروف Donald Knuth "بهینه سازی زودرس ریشه همه بدی هاست". شاید کمی اغراق باشد ولی نشان می دهد ممکن است بعدها مشکلات بزرگتری را به وجود بیاورند.
برای جلوگیری از بهینه سازی زودرس، استفاده از قاعده برنامه نویسی YAGNI مخفف (You Aren’t Gonna Need It) مفید است به این معنی که «شما به آن نیازی نخواهید داشت» به طوری که این اصل حاکی از آن است که «همیشه چیزهایی را به کار ببرید که واقعا به آن ها نیاز دارید نه وقتی که پیش بینی می کنید به آن ها نیاز خواهید داشت.»
«برنامه نویسی بارپرستانه»
نام برنامه نویسی بار پرستانه از پدیده قومی خاصی به نام Cargo Cult به معنی «بارپرستی» گرفته شده است. بار پرستان که در جزایر اقیانوس آرام جنوبی زندگی می کردند، بعد از جنگ جهانی دوم، در مواجهه با تمدن های پیشرفته، کشتی هایی را دیده بودند که اجسام و بارهایی برای سفیدپوستان می آوردند از قبیل کوکاکولا، تلویزیون، یخچال و غیره که فکر کردند این بارها فرستاده نیروهای ماورائی است و اگر آن ها هم مناسک جادویی شبیه به کارهای غربی ها را به درستی انجام دهند، کشتی های باری دوباره خواهند آمد و به جای سفیدپوستان به آن ها هدیه خواهند داد.
وقتی مرتکب ضد الگوی برنامه نویسی بارپرستانه می شویم که در واقع داریم همین کار را انجام می دهیم. ما از فریمورک ها، لایبرری ها، راه حل ها، الگوهای طراحی و غیره استفاده می کنیم که برای کار دیگران به خوبی جواب داده اند، بدون این که بدانیم چرا باید از آن ها استفاده کنیم، یا این تکنولوژی ها دقیقا چگونه کار می کنند.
💬 مقاله ای که بخش هایی از اون رو مطالعه کردیم به نکات مفیدی اشاره میکنه که لازم هست برای نوشتن یک برنامه خوب به اونها توجه داشته باشیم. پیشنهاد میکنم متن کامل مقاله رو حتما در اینجا به طور کامل مطالعه بفرمائید.
«بهینه سازی زودرس»
به راحتی ممکن است دچار ضد الگوی بهینه سازی زودرس شویم، اگر به بهینه سازی ها و کارایی های کوچک در فرایند توسعه بیش از حد توجه کنیم و آن ها را زودتر از موعد بهینه کنیم قبل از این که بدانیم دقیقا قصد انجام چه کاری را داریم. طبق نقل قول معروف Donald Knuth "بهینه سازی زودرس ریشه همه بدی هاست". شاید کمی اغراق باشد ولی نشان می دهد ممکن است بعدها مشکلات بزرگتری را به وجود بیاورند.
برای جلوگیری از بهینه سازی زودرس، استفاده از قاعده برنامه نویسی YAGNI مخفف (You Aren’t Gonna Need It) مفید است به این معنی که «شما به آن نیازی نخواهید داشت» به طوری که این اصل حاکی از آن است که «همیشه چیزهایی را به کار ببرید که واقعا به آن ها نیاز دارید نه وقتی که پیش بینی می کنید به آن ها نیاز خواهید داشت.»
«برنامه نویسی بارپرستانه»
نام برنامه نویسی بار پرستانه از پدیده قومی خاصی به نام Cargo Cult به معنی «بارپرستی» گرفته شده است. بار پرستان که در جزایر اقیانوس آرام جنوبی زندگی می کردند، بعد از جنگ جهانی دوم، در مواجهه با تمدن های پیشرفته، کشتی هایی را دیده بودند که اجسام و بارهایی برای سفیدپوستان می آوردند از قبیل کوکاکولا، تلویزیون، یخچال و غیره که فکر کردند این بارها فرستاده نیروهای ماورائی است و اگر آن ها هم مناسک جادویی شبیه به کارهای غربی ها را به درستی انجام دهند، کشتی های باری دوباره خواهند آمد و به جای سفیدپوستان به آن ها هدیه خواهند داد.
وقتی مرتکب ضد الگوی برنامه نویسی بارپرستانه می شویم که در واقع داریم همین کار را انجام می دهیم. ما از فریمورک ها، لایبرری ها، راه حل ها، الگوهای طراحی و غیره استفاده می کنیم که برای کار دیگران به خوبی جواب داده اند، بدون این که بدانیم چرا باید از آن ها استفاده کنیم، یا این تکنولوژی ها دقیقا چگونه کار می کنند.
💬 مقاله ای که بخش هایی از اون رو مطالعه کردیم به نکات مفیدی اشاره میکنه که لازم هست برای نوشتن یک برنامه خوب به اونها توجه داشته باشیم. پیشنهاد میکنم متن کامل مقاله رو حتما در اینجا به طور کامل مطالعه بفرمائید.
«استارتآپ و ناگفته های بسیار»
💬 حرف هایی درباره مشکلات و موفقیت های «استارتآپ» که به نظر واقع بینانه تر از شلوغ کاری هایی میاد که در رسانه ها و تبلیغات شرکت ها اونها رو دیدیم. پیشنهاد میکنم اگر به این حوزه علاقهمند هستید این مقاله رو مطالعه کنید.
💬 حرف هایی درباره مشکلات و موفقیت های «استارتآپ» که به نظر واقع بینانه تر از شلوغ کاری هایی میاد که در رسانه ها و تبلیغات شرکت ها اونها رو دیدیم. پیشنهاد میکنم اگر به این حوزه علاقهمند هستید این مقاله رو مطالعه کنید.
استفاده از JOIN ها از نسخه ۳.۲ به بعد MongoDB
💬 یکی از ضعف هایی که به پایگاه داده MongoDB نسبت به دیتابیس های رابطهای وجود داشت، نداشتن امکان JOIN مناسب بین کالکشن ها بود که این ضعف از نسخه ۳.۲ به بعد MongoDB برطرف شده و به این دیتابیس قدرتمند NoSql اضافه شده.
🚩 برای کسب اطلاعات بیشتر میتونید این مقاله رو در این رابطه مطالعه کنید.
💬 یکی از ضعف هایی که به پایگاه داده MongoDB نسبت به دیتابیس های رابطهای وجود داشت، نداشتن امکان JOIN مناسب بین کالکشن ها بود که این ضعف از نسخه ۳.۲ به بعد MongoDB برطرف شده و به این دیتابیس قدرتمند NoSql اضافه شده.
🚩 برای کسب اطلاعات بیشتر میتونید این مقاله رو در این رابطه مطالعه کنید.