بلاگ

امتیاز مایوس کننده iFixit به گلکسی نوت ۱۰ پلاس ۵G به خاطر تعمیر پذیری پایین

گلکسی نوت ۱۰ پلاس ۵G از فردا در فروشگاه های آنلاین و فیزیکی به مشتریان عرضه می شود اما تا آن موقع کارشناسان iFixit فرصت را مغتنم را شمرده اند و با کالبدشکافی این گوشی جزئیات تازه ای را از …

نوشته امتیاز مایوس کننده iFixit به گلکسی نوت ۱۰ پلاس ۵G به خاطر تعمیر پذیری پایین اولین بار در دیجیاتو پدیدار شد.

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

رونمایی ویوو از گوشی گیمینگ iQOO پرو با چیپست اسنپدراگون ۸۵۵ پلاس

ویوو از گوشی جدید خود به نام iQOO پرو رونمایی کرد. این اسمارت فون در دو مدل ۴G و ۵G به بازار عرضه خواهد شد. از مهم ترین ویژگی های این دو مدل می توان به برخورداری از چیپست قدرتمند …

نوشته رونمایی ویوو از گوشی گیمینگ iQOO پرو با چیپست اسنپدراگون ۸۵۵ پلاس اولین بار در دیجیاتو پدیدار شد.

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

نام رسمی اندروید Q انتخاب شد: اندروید ۱۰

گوگل در اقدامی بی سابقه رسماً ورژن بعدی سیستم عامل اندروید را که پاییز سال جاری میلادی منتشر می شود، اندروید ۱۰ نامگذاری کرد. این تصمیم گوگل نوعی سنت شکنی است؛ چون این کمپانی در طول یک دهه گذشته همواره …

نوشته نام رسمی اندروید Q انتخاب شد: اندروید ۱۰ اولین بار در دیجیاتو پدیدار شد.

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

نقشه راه فرانتند دولوپر‌ها

در ادامه پست قبلی، که «میخوام برنامه‌نویس بشم» بود، نقشه‌های راه را جدا کردم و در دو پست جداگانه مینویسم تا خواندن آن برای خواننده و ویرایش آن‌ها برای خودم راحت‌تر باشد.

در این پست مسیر فرانتندی‌ها را مرور میکنیم.

خب بریم سراغ فراتند. HTML رو که گفتیم پایه و اساسه و بکندی‌ها هم بلد باشن. برای شروع فرانتند حتما باید CSS رو بلد باشین و جاواسکریپت هم باید بدونین. جاواسکریپت در ادامه مسیر بسیار مهمه پس باید پایه‌ای یاد بگیرید. DOM و ایجاد تغییرات در اون رو باید یاد بگیرید و گرفتن API یا AJAX رو هم بدونید. ES6 برای ادامه مسیر مهم است و بهتره که همین اول یاد بگیرید.

استفاده از یک PackageManager مانند npm یا yarn را باید بدانید و یکی از پیش پردازنده‌های CSS یا همون CSS Pre-processors رو باید یادبگیرید، مانند SASS یا LESS. از بین فریم ورک‌های CSS هم یکی را یاد بگیرید مانند Bootstrap یا Semantic UI البته بوتسترپ پر طرفدارتر است

از ابزارها، کار کردن با یکی از task runner ها مانند gulp و یک Module Bundler مانند Webpack را یاد بگیرید، و همچنین از Linters and Formatters استفاده کنید.

بعد از این‌ها باید یکی از فریم‌ورک‌ها را انتخاب کنید. ReactJs, AngularJs, VueJs. در حال حاضر همه این‌ها پرطرفدار هستند و بهتره از تو سایت‌های کاریابی ببینید که کدوم بیشتر مورد استقبال شرکت‌ها هست. در ادامه برای اینکه حرفه‌ای باشید، باید بتونید برای کدتون تست بنویسید. Unit Test, Functional Test, Integration Test تست‌هایی است که باید یاد بگیرید بنویسید.

در این مرحله شما یک فرانتند دولوپر هستید. البته که میتونید تو حوزه‌های موبایل اپلیکیشن وارد بشید و مثلا react Native کار کنید یا server side rendering انجام بدید.

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

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

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

نوشته نقشه راه فرانتند دولوپر‌ها اولین بار در ویرگول پدیدار شد.

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

نقشه راه بکند دولوپر‌ها

در ادامه پست قبلی که «میخوام برنامه‌نویس بشم» بود، نقشه‌های راه را جدا کردم و در دو پست جداگانه مینویسم تا خواندن آن برای خواننده و ویرایش آن‌ها برای خودم راحت‌تر باشد.

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

اول یک زبان انتخاب کنید. چه زبانی انتخاب کنیم؟ میتونید یه زبان اسکریپتی انتخاب کنید مثل: PHP, Ruby, Python یا یک زبان فانکشنال مثل Scala یا انتخاب‌های دیگه‌ای مثل Go, Java, .Net, Rust. آیا برای همه این زبان‌ها کار هست؟ بله حتما هست. میتونید یه سرچ تو سایت جابینجا یا کارلیب بزنید و ببینید کدوما تو ایران بیشتر رو بورسن یا اگه قصد مهاجرت دارید تو سایت‌هایی مثل لینکدین یا indeed سرچ کنید. اگر رنج حقوق هم براتون مهمه برای شرکتای خارجی میتونید تو سایت glassdoor میانگین حقوق‌ها رو هم ببینید. البته پیشنهادی که میکنن بزرگان امر، این هست که اول از زبان‌های اسکریپتی شروع کنید و بعد سراغ بقیه زبان‌ها برید.

روی زبانی که انتخاب کردید وقت بزارید و سعی کنید تمرین کنید باهاش. در کنار یادگیری زبان باید یک packageManager هم بتونید استفاده کنید. مثلا برای PHP از Composer، برای روبی از Gem استفاده میشود. زمانی که تمرین میکنید سعی کنید استاندارد‌های اون زبان رو هم یادبگیرید، مانند PSRs برای PHP. اینجوری عادت به نوشتن کد‌های خوب میکنید. همچنین برای حل هر مشکلی و نوشتن هر کدی best practice اون رو سرچ کنید. شما یه خط کد رو به شکل‌هایی مختلف ممکنه بتونید بنویسید ولی باید ببینید که افراد حرفه‌ای اون رو چجوری مینویسن و در اصلاح best practice اون چیه.

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

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

بعد از اینکه یک اپلیکیشن ایجاد کردین و دیتابیس و زبان رو خوب یاد گرفتین وقت انتخاب یک فریم‌ورک برای کار کردنه. مثلا برای PHP فریم‌ورک‌هایی مثل laravel یا symfony بسیار پرطرفدار هستند. تا اینجا شما یک بکند کار هستین که بهتره یه چیز‌هایی مثل caching, REST APIs, Web Servers رو هم بشناسه.

البته به این موضوع دقت داشته باشید که مثال‌ها برای Package Manager یا فریم ورک، برای PHP مثال آورده‌شده، اما شما بسته به زبانی که انتخاب میکنید فریم‌ورک‌های متفاوتی وجود دارد که میتوانید انتخاب کنید و این‌ها صرفا مثال‌های برای آشنایی هستند.

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

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

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

میخوام برنامه نویس بشم

چقدر خوب آفرین! وقتی یکی به من میگه میخوام برنامه‌نویس بشم تنها جوابی که به ذهنم میاد همینه. اما معمولا سوال بعدی اینه که چه زبانی بخونم؟ و جواب من اینه هرچی دوست داری. یا سوال اینه که کدوم زبان همه بهتره و خفن‌تره که در اینصورت میگم نمیدونم همه شون خوبن دیگه.

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

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

سوال اول اینه من میخوام برنامه نویسی وب انجام بدم از کجا شروع کنم؟

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

سوال دوم کار برا برنامه نویسی هست؟

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

خب برگردیم به سوال اول، یک نفر میخواد برنامه نویس وب بشه و میخواد بدونه از کجا شروع کنه. اول از همه باید بدونین که تو سال ۲۰۱۹ وب دولوپرها تو سه شاخه فعالیت میکنن، frontend, backend, devOps. بکندی‌ها برنامه مینویسن با دیتابیس و سرور سر و کار دارند و در واقعا برنامه ای که اطلاعات رو میگیره و پردازش میکنه و به کاربر تحویل میده رو انجام میدن. فرانتندی‌ها رو ظاهر سایت می‌کنن در واقع چیزی که کاربر نهایی میبینه و باهاش کار میکنه. DevOps ها برنامه‌های تولید شده رو به دست مشتری تو کوتاهترین زمان میرسونن. البته دوآپس یک اصطلاح تقریبا جدید هست که از سال ۲۰۰۹ بوجود آمده.

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

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

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

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

نوشته میخوام برنامه نویس بشم اولین بار در ویرگول پدیدار شد.

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

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

ایلان ماسک پس از پیشنهاد منفجر کردن بمب اتم برای زمینی سازی مریخ راه حل دیگری برای قابل سکونت کردن این سیاره پیشنهاد داده است: استفاده از هزاران ماهواره آینه دار برای گرم کردن سیاره سرخ. روز سه شنبه ایلان …

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

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

تنبلی و تنبلی

موقع تنبلیم یاد کوالا میوفتم آخه (منبع عکس)

از اولین پستم دو روز میگذره، یکم تنبلیم گرفت و نتونستم دیروز پست رو بذارم…

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

دو روز پیش با خودم قرار گذاشتم که آموزش زبان جاوا رو از صفر شروع کنم و تا دو ماه هر روز ساعت ۱۸ تا ۲۱ فقط یادگیری زبان جاوا رو پیگیری کنم که برای تقویت برنامه نویسیم بهتر باشه! ولی متاسفانه پروژه ای که دیروز از سمت کارفرما تایید شد دستخوش تغییرات اساسی در کد نویسی شد و از اپلیکیشن اندروید به وب اپلیکیشن تغییر کرد! من هم تا یک ساعتی تو کما بودم…

من تا حالا کار وب انجام ندادم بیشتر سرم تو لاک خودم بود و با اندروید سر و کله میزدم، آخرش که از کما در اومدم تصمیمم رو گرفتم و گوشیمو برداشتم با استرس تمام با کارفرما تماس گرفتم و قضیه رو صادقانه گفتم که من اصلا سمت وب هیچ تجربه ای ندارم به جز چند خط کدی که با PHP زدم، گفتم که میخوام Angular و NOdeJs رو یاد بگیرم و کارشون رو انجام بدم و البته اینکه تنها نیستم و از یک دوست خوب در این زمینه کمک میگیرم و دوتایی باهم دیگه پروژه رو انجام میدیم و درخواست یک ماه وقت بیشتر کردم برای انجام پروژه .

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

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

البته ممکنه بتونیم متقاعدشون کنیم با .Net Core روی لینوکس کار کنیم و با raspberry board پروژه شون رو اجرا کنیم.

کلی استرس دارم و کلی تحقیق کردم در مورد ویژگی هر دو تاشون و باید تا جمعه که میشه فردا جواب قطعی رو بهشون بدم.

کسی میتونه تو این زمینه راهنماییم کنه؟ قراره زبانی انتخاب کنم که بتونه هم به سخت افزار raspberry board دسترسی داشته باشه مخصوصا پورت COM و اینکه با Angular بتونه کار کنه و یه وب سرویس عالی هم داشته باشه.

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

با سپاس از اینکه وقت گذاشتین و پست بنده رو خوندین.

نوشته تنبلی و تنبلی اولین بار در ویرگول پدیدار شد.

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

آیفون ۲۰۲۰ احتمالا با نمایشگر چینی به بازار عرضه خواهد شد

نمایشگرهای OLED ساخت سامسونگ که اپل از آنها در پرچمداران خود استفاده می کند، یکی از عوامل اصلی قیمت بالای آیفون ها هستند. ظاهراً کمپانی کوپرتینویی قصد دارد برای حل این مشکل آیفون ۲۰۲۰ را با نمایشگر چینی به بازار …

نوشته آیفون ۲۰۲۰ احتمالا با نمایشگر چینی به بازار عرضه خواهد شد اولین بار در دیجیاتو پدیدار شد.

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

رونمایی از نسخه ویژه ذن بوک ۱۳ به مناسبت ۳۰ سالگی ایسوس

شرکت تایوانی ایسوس به بهانه سی امین سالگرد فعالیت خود از لپ تاپ ذن بوک ۱۳ ادیشن ۳۰ رونمایی کرد که قرار است به تعداد محدود در اختیار مشتریان علاقمند قرار بگیرد. این لپ تاپ که درون یک کیف چرم …

نوشته رونمایی از نسخه ویژه ذن بوک ۱۳ به مناسبت ۳۰ سالگی ایسوس اولین بار در دیجیاتو پدیدار شد.

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