بلاگ

عمرمان کفاف نمیدهد!


عمرمان کفاف نمیدهد!

 

انگار همین دیروز بود که همه از خوبی های Bower می گفتند.امروز همه به NPM بازگشته اند. در حالی که سن Node.js به زحمت از تعداد انگشتان یک دست فراتر میرود شاهد رشد تعداد برنامه نویسان زبان Rust و Kotlin هستیم. دیروز همه از Grunt صحبت می کردند امروز می گویند اگر Web Pack بلد نباشی اصلا برنامه نویس وب حساب نمی شوی.

در شغل برنامه نویسی هیچوقت مطالعه کردن به اتمام نمی رسد. اگر مهندس مکانیک باشید با تکنولوژی هایی سروکار دارید که بیش از نیم قرن قدمت دارند و قرار هم نیست به این زودی ها تغییر کنند. اما نیم عمر دانش برنامه نویسی خیلی کوتاه است.

بعضی ها می گویند زبان برنامه نویسی که کهنه نمیشود.اما در عمل می بینیم که چنین نیست. قابلیتهایی که امروز در زبان سی شارپ وجود دارد با 5 سال پیش تفاوتهای زیادی کرده است. اگر هنوز هم بخواهید از روشها قدیمی استفاده کنید مانند این است که بخواهید بجای ماشین با اسب سر کار بروید. هر دو رفتن است. این کجا و آن کجا!

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

آیا برای اینکه با ماشین به سفر بروید باید همه چیز را درباره ی سازو کار موتور و برق آن بدانید!؟

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

قانون 80 به 20 میگوید شما با دانستن تنها 20 درصد از ASP.NET Core می توانید 80 درصد پروژه هایتان را پیاده کنید.

اگر کسی به شما بگوید با 20 ساعت درس خواندن می توانید از امتحان 16 بگیرید ولی برای 20 گرفتن باید 100 ساعت بخوانید چه می کنید!؟ بیشتر مواقع سوال بعدی ما این است که برای 10 گرفتن باید چند ساعت بخوانم!؟
چرا ما در هیچ زمینه ای مطلق گرا نیستیم اما وقتی پای برنامه نویسی پیش می آید می خواهیم برنامه ای بنوسیم که از هر لحاظ شی گرا ، الگو مدار و خالی از ایراد باشد. چرا تصور می کنیم که فقط آموزش های جامع هستند که به درد می خورند؟

اگر اینطور بود چرا کسی برای یادگرفتن زبان انگلیسی از دیکشنری استفاده نمی کند!؟

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

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

نتیجه گیری

عمر ما کوتاهتر از آن است که آن را صرف یادگیری کامل یک فریم ورک برنامه نویسی کنیم.

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

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

نظرها
  • {{comment.body}}

    {{comment.userName}}

  • جهت ثبت نظر ابتدا وارد شوید

مطالب قبلی
  • خیلی ها بر این باورند که بدست آوردن چیزهای رایگان خوب است.

    ASP.NET Core,MVC,Learning
  • فال حافظ
    چهارشنبه - 97/9/28

    تجربه ی پیاده سازی یک اپ PWA به مناسبت شب یلدا

    ASP.NET Core,PWA,Hafez,Yalda
  • چند روز پیش تصمیم به یادگرفت Progressive web app گرفتم. هدف این بود که یک سایت به صورت آفلاین در چهارچوب این تکنولوژی پیاده کنم. اما خیلی زود فهمیدم کار زیادی در پیش دارم!

    ASP.NET Core,Learning,Teaching,PWA
  • کنفرانس کانکت مایکروسافت دیروز شروع به کار کرد و بسیاری از محصولات جدید مایکروسافت معرفی شد.

    ASP.NET Core,MVC,Preview,Announcements
  • خودت باش
    دوشنبه - 97/9/12

    چگونه مایکروسافت به صدر بازگشت؟

    Microsoft,Apple,Stock,Rising
  • دیتابیس های NoSQL هیجان زیادی در بازار نرم افزار به وجود آورده اند. هر روز افراد بیشتری وسوسه می شوند به سراغ دیتابیسهایی مانند MongoDb بروند.

    NoSQL,MongoDb,SQL,Databases
  • در سال 2004 بخشی از سورس ویندوز NT و 2000 لو رفت. چیزی که برای بیشتر برنامه نویسها جالب بود خود کدها نبود

    Code,Microsoft,Perfect,Architecture,Notes
  • عمرمان کفاف نمیدهد!
    چهارشنبه - 97/8/30

    در شغل برنامه نویسی هیچوقت مطالعه کردن به اتمام نمی رسد. اگر مهندس مکانیک باشید با تکنولوژی هایی سروکار دارید که بیش از نیم قرن قدمت دارند و قرار هم نیست به این زودی ها تغییر کنند. اما نیم عمر دانش برنامه نویسی خیلی کوتاه است.

    Programming,Notes,Life,Living
  • در محیط ASP Core الگوی MVC کاملا از بدنه ی اصلی فریم ورک جدا شده است. برای استفاده از MVC باید آن را به صورت یک Middleware (میان افزار) به پروژه ی ASP.NET Core اضافه کنید.

    ASP.NET Core,Middleware,Filters
  • فرق بین Async و Sync
    چهارشنبه - 97/8/23

    استفاده از Async لزوما به معنی سریعتر شدن اجرای برنامه نیست. تضمینی وجود ندارد که متدهای Async در Thread مجزا اجرا شوند.

    Async,Await,Sync,Compare
  • هفته ی گذشته یکی از مدیران پروژه ی ASP.NET Core به معرفی قابلیتهای جدید نسخه ی سوم پرداخت و گزارشهایی درباره وضعیت تیم و چشم انداز پیش رو ارائه کرد. در این پست به بررسی این موارد می پردازیم.

    ASP.NET Core 3.0,Whats new,Updates
  • آشنایی با Async & Await
    دوشنبه - 97/8/14

    روش Async در عملیات های I/O Bound فوق العاده موثر عمل می کند. کار با دیتابیس و فایل در سرور از نوع I/O Bound است و همیشه می توانید از تکنیک Async برای بالا بردن بازدهی سرور استفاده کنید.

    Async,Await,I/O
  • تا چند هفته ی دیگر نسخه ی نهایی ASP NET Core 2.2 از راه میرسد و مایکروسافت از همین حالا در حال آماده سازی نسخه ی بعدی است. همانطور که انتظار میرفت تغییرات و آپدیتهای نسخه سوم زیاد خواهد بود. در این پست آخرین وضعیت نسخه 3.0 را بررسی می کنیم.

    ASP.NET Core 3.0,Microsoft,News,Updates
  • در ASP NET Core ویوها به صورت پیشفرض کامپایل میشوند و درون فایل DLL پروژه قرار میگیرند. با تغییر تنظیمات Razor SDK می توانید این حالت را عوض کنید.

    Razor,SDK,ASP.NET Core
  • نگاهی به Clean Architecture
    پنجشنبه - 97/8/3

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

    Clean Architecture,EF Core,Layers
  • در Entity framework Core قابلیتی وجود دارد به نام Global Query Filters که به شما امکان میدهد داده ها را به صوت عمومی قبل از اینکه وارد DataSet شوند فیلتر کنید.

    Entity framework,ASP.NET Core, Patterns,
  • یادگیری یک فریم ورک برنامه نویسی کار پر زحمتی است. باید وقت و انرژی زیادی صرف کنید تا درباره ی نحوه ی برنامه نویسی ، تست ، اجرا و انتشار برنامه روی سرور دانش لازم را بدست بیاورید. مشکل اینجاست که گزینه های زیادی در اختیار دارید و انتخاب یکی از آنها می تواند مسیر کاری شما را تا حد زیادی تحت تاثیر قرار دهد.

    ASP.NET Core,Microsoft,Web Development
  • در Identity دو روش کلی برای بررسی اینکه آیا کاربر Authenticate شده وجود دارد.

    Identity,ASP.NET,Core,Authentication
  • مایکروسافت با پیوستن به OIN اجازه میدهد اعضای این کنسرسیوم رایگان از تمامی 60 هزار حق اختراع ثبت شده اش استفاده کنند.

    Microsoft,Open source,OIN,pattent
  • الگوی Repository به همراه Unit Of Work سالهاست که توسط برنامه نویسان وب استفاده میشود اما آیا با معرفی ابزار جدید EF Core هچنان نیاز به پیاده سازی آنها داریم ؟

    Entity framework,ASP.NET Core, Patterns,
  • مایکروسافت مدت زیادی است که تلاش می کند مرورگر جدید خود یعنی "Edge" را بین کاربران جا بیاندازد اما تعداد کاربران این مرورگر در سال کمتر از نیم درصد رشد میکند و تعداد زیادی از کاربران قدیمی IE هم آن را رها کرده اند.

    Microsoft,ASP.NET Core,Edge,Browsers
  • روز گذشته گوگل در یک بلاگ پست اعلام کرد که قصد دارد سرویس گوگل پلاس را در طی 10 ماه آینده از خط خارج کند.

    Google,Google plus, news
  • نقش کوکی در Identity
    یکشنبه - 97/7/15

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

    ASP.NET Core, Identity,Cookie,ExpireTimeSpan
  • در دات نت متغیرهای رشته ای به صورت Immutable هستند و در زمان اجرا مقدار آنها در حافظه قابل تغییر نیست. در عمل دات نت یک نمونه ی جدید از رشته ایجاد می کند

    dotnet,strings,equals,Compare
  • به طور کلی در دات نت اصلاح Managed Execution Proccess برای معرفی فرآیند اجرای برنامه ها به کار برده میشود. کلمه ی کلیدی در این اصلاح عبارت Managed یا مدیریت شده است. به این معنی که در دات نت برنامه ها در یک فضای مدیریت شده اجرا میشوند.

    dotnet,CLR,MSIL,Managed Code,Compilers
  • در 23 مارچ 2016 وقتی در ایران روز چهارم فرودین بود و ما در حال دید و بازدید عید بودیم Azer Koçulu با حذف حساب کاربری خودر در NPM باعث شد Node و Babel و هزاران برنامه ی دیگر از کار بیوفتد.

    Node,NPM,Packages
  • اشیای تغییر ناپذیر با Immutable به اشیایی گفته میشود که بعد ایجاد شدن در حافظه قابل تغییر نیستند. این موضوع اثرات مهمی در پیاده سازی نرم افزار دارد.

    Immutable,Object,C#,Threading,Strings
  • نمودارد رشد بازار نشان میدهد برای ورود به هر تجارتی یک زمان ایده آل وجود دارد.

    Business,Startups
  • رکورد جهانی بازی Super Mario مدت 4 دقیقه و 56 ثانیه است. این رکورد در ماه می سال 2018 میلادی توسط شخصی به نام somewes ثبت شد.

    Testing,Easter Egg,Cheet
  • در ASP Core اطلاعات Session را می توان در Cookie ذخیره کرد هم در حافظه ی سرور نگه داشت.

    ASP.NET Core,Sessions, Cookie
  • در محیط ASP Core هم مانند ASP MVC سه روش برای انتقال اطلاعات از کنترلر به ویو وجود دارد.

    ASP.NET Core, ViewBag,ViewData,TempData
  • آشنایی با Redis
    جمعه - 97/5/26

    ابزار Redis محبوبترین دیتابیس جهت ذخیره سازی موقت اطلاعات در حافظه است و از آن برای کش کردن استفاده میشود.

    ASP.NET Core, Redis
  • ابزار Identity در ASP Core مسئولیت تشخیص هویت و کنترلر دسترسی را به عهده دارد. این ابزار در نسخه های قبل هم وجود داشت اما مانند سایر قسمتها باز نویسی شده است. در اینجا به سه روش اصلی کنترل دسترسی در Idenity Core می پردازیم.

    ASP.NET Core, Identity, UserId
  • همین چند ماه پیش بود که مایکروسافت اعلام کرد پروژه ی ویندوز فون در سراشیبی است و فعلا قرار نیست مدلهای جدیدی عرضه کند. میشود گفت ماجراجویی مایکروسافت در گوشی شکست خورده است. یکی از دلایل اصلی آن هم ناتوانی رقابت با تعداد زیاد اپ های اندروید و iOs است.

    PWA,Google,Microsoft,Apple
  • بلاکچین یک دفتر است که برای نگه داری یک حقیقت (و نه اطلاعات) استفاده میشود. یک نسخه از دفتر بین همه ی کامیپوترها (نود) نگه داری میشود و برای هر تغییری در دفتر همه ی نودها باید موافقت کنند.

    Blockchain,BitCoin,Node
  • نسخه ی جدید تویتر برای ویندوز فون به صورت Progressive Web App عرضه شد. بعد از مدتها تلاش بالاخره تیم توسعه ی تویتر تصمیم گرفت از قابلیت های Edge برای پیاده سازی اپ استفاده کند.

    PWA, Smartphone, Service Worker, App Store
  • پکیج Windows Compatibility
    سه شنبه - 97/4/5

    فریم ورک ASP Core 2.1 دارای بیش از 30 هزار API است اما هنوز بخشی از کتابخانه های قدیمی دات نت به آن اضافه نشده است. دلیل اصلی آن هم پشتیبانی از سایر سیستم عامل هاست.

    ASP.NET Core, Windows Compatibility
  • وقتی مایکروسافت دید که نمی تواند در زمینه ی گوشی های موبایل با اپل و در مورد موتورهای جستجو با گوگل رقابت کند تصمیم گرفت یک گام به عقب برگردد. حالا شعار Developer First Company برای مایکروسافت فقط یک شعار نیست تنها مسیر رو به جلو است. مایکروسافت با خرید GitHub گام بسیار بزرگی به سمت Developer First برداشت اما برنامه برای جذب برنامه اولی ها از چند سال پیش شروع شد.

    ASP.NET Core , Microsoft, VSCode
  • از روز اول که خبر خرید GitHub منتشر شد ارزش سهام مایکروسافت 1 درصد رشد کرد. برای شرکتی در ابعاد مایکروسافت 1 درصد معادل 7 میلیارد دلار است. این در حالی است که مایکروسافت قرار است گیتهاب را به قیمت 7.5 میلیارد دلار خریداری کند و انتقال هم هنوزانجام نشده !

    Microsoft, GitHub
  • وقتی 6 ماه پیش ASP.NET Core 2.0 منتشر شد هیچ کس تصور نمیکرد قابلیت RazorPage اینقدر مهم باشد. خیلی ها در نگاه اول گفتند RazorPage فقط مناسب پیاده کردن صفحات ساده مانند About و Contact است.

    ASP.NET Core 2.1 , RazorPage, MVC, Controller
  • منابع تایید نشده خبر میدهند که مایکروسافت سایت Github را خریداری کرده است.

    Microsoft, GitHub
  • نسخه ی ASP.NET Core 2.1 ابتدای ماه جاری میلادی منتشر شد و سایت کدهک هم جهت هماهنگی با آخرین آپدیتها به نسخه جدید بروز رسانی شد.

    ASP.NET Core 2.1 , Codehaks, Updates
  • تیم ASP Core تلاش زیادی می کند استفاده از Razor Pages را بجای MVC جا بندازد. الگوی MVC سالها از محبوبترین روشهای پیاده سازی سایت بوده است اما اشکالاتی هم دارد.

    ASP.NET Core, dotnet, Razor pages
  • نسخه 2.1 از فریم ورک ASP Core هفته ی دیگر رسما منتشر میشود. در این پست به معرفی قابلیت های جدید این فریم ورک می پردازیم.

    ASP Core , Latest, dotnet core, MVC
  • کتابخانه libuv پلتفرمی برای اجرای برنامه ها به صورت Async است و Kestrel از آن به عنوان موتور پایه استفاده میکند.

    Libuv, Kestrel, ASP Core, Hosting, Server, Nodejs
  • آشنایی با Kestrel
    پنجشنبه - 97/3/3

    کسترل یک وب سرور است که به صورت پیشفرض روی پروژه های ASP Core نصب میشود. این سرور برای کار با پلتفرمهای مختلف طراحی شده و از سیستم عامل های مختلف پشتیبانی میکند.

    ASP Core, Kestrel, Hosting, , Server
  • مایکروسافت به تازگی اعلام کرد در نسخه ی سوم دات نت کور از WinForm و WPF پشتیبانی میکند. پیش نمایش این نسخه تا چند ماه دیگر عرضه میشود اما نسخه ی نهایی سال 2019 در اختیار برنامه نویسان قرار می گیرد.

    ASP NET Core, Core 3.0 , Preview
  • اگر قبلا با سرویسهایی مثل بلاگفا کار کرده باشید می دانید قالب های این وبلاگ با کد نویسی قابل تغییر است. کدهایی مثل زمان درج پست یا محل نمایش عنوان پست وجود دارد که هرجای قالب قرار دهید بعدا توسط سرور بلاگفا پر میشود. کار موتورهای تولید سایت استاتیک هم به همین شیوه است.

    Hugo, Static Site Generator, Markdown
  • فریم ورک Blazor
    یکشنبه - 97/2/30

    وب اسمبلی استاندارد جدیدی است که امکان اجرای کد Nativeدر مرورگر را فراهم میکند یعنی می توانید بجای جاوااسکریپت با #C در مرورگر برنامه نویسی کنید.

    Web Assembly, Blazor, Native, Csharp
  • نسخه ی 2.1 از EF قابلیت های جدیدی نظیر سید داده دارد. همچنین "بارگذاری تاخیری" هم به آن اضافه شده است.

    ٍEntity framework, ASP Core, Database, ORM
  • در کنفرانس google I/O امسال که همزمان با Build برگزار شد گوگل اعلام کرد نسخه ی جدید Flutter صد در صد در VSCode پشتیبانی میشود و یک افزونه ی اختصاصی برای آن در نظر گرفته شده است.

    Flutter, SDK, VS Code, Google, Dart2
  • دات نت کور 3 تا آخر سال میلادی عرضه میشود و قابلیت برنامه نویسی WPF و WinForm به آن اضافه خواهد شد. در کنفرانس یک دمو از نحوه ی کار آن نمایش داده شد که سرعت اجرای آن دوبرابر دات نت 4.5 بود.

    dotnet, Core 3, UWP, WPF, WinForm
  • مروری بر بیلد 2018
    دوشنبه - 97/2/24

    کنفرانس بیلد 2018 با برگذاری 350 نشست تخصصی به پایان رسید و حالا می توانیم نگاهی بیاندازیم به آنچه در آن گذشت.

    Build2018, Review,Blazor,ASP Core, Azure
  • آشنایی با IntelliCode
    یکشنبه - 97/2/23

    قابلیت هوش مصنوعی Intellicode به ویژوال استودیو اضافه شد. این ابزار قرار است با استفاده از Machine Learning تجربه ی برنامه نویسی را بهبود بخشد.

    Visual Studio , Tooling, Coding,Intellicode
  • چهارگانه ی ACID
    جمعه - 97/2/21

    هر ترانکش دیتابیس باید از 4 اصل ACID پیروی کند تا داده های آن قابل اعتماد باشد. قوانین ACID تضمین میدهد اطلاعات ذخیره شده در دیتابیس معتبر است و اگر غیر از این باشد آن را ذخیره نمیکند.

    Database, ACID
  • موتور V8 مترجم و کامپایلر جاوا اسکریپت است که در Chrome و NodeJS استفاده میشود. این موتور کارش تبدیل استاندارد EcmaScript به کد و اجرای آن است. بخش اعظم این تکنولوژی در کشور آلمان پیاده سازی میشود.

    Javascript, V8 Engine, Compiler
  • بیلد 2018
    یکشنبه - 97/2/16

    ساتیا نادلا مدیر عامل مایکروسافت دیروز در کنفرانس بیلد حاضر شد . او ضمن اشاره به اهمیت حفظ حریم شخصی دو محصول Azure و Microsoft 365 را به عنوان اولویت اول توسعه در مایکروسافت معرفی کرد.

    Build 2018,Microsoft,Keynote
  • فرق POST و PUT
    جمعه - 97/1/31

    طبق استاندارد HTTP متد PUT باید به صورت Idempotent پیاده شود. به این معنی که اگر چند بار پشت سر هم اجرا شود همیشه نتیجه ی یکسان دهد.

    HTTP,POST,PUT,REST, Web API,Standard
  • داکر وابستگی نرم افزار به سیستم عامل را از بین می برد و ASP Core به طور کامل از آن پشتیبانی می کند. هر داکر شامل یک یا چند کانتینر است که کد پروژه و دیتابیس را درون یک فایل جای میدهد.

    Docker,Publish
  • دیتابیس RavenDB از نوع Document است و در زبان سی شارپ با دات نت Core برنامه نویسی شده است.

    RavenDb, DocumentDB,Database,SQL
  • آشنایی با Race Condition
    سه شنبه - 97/1/7

    در یک نرم افزار Race Condition زمانی روی میدهد که چند بخش به دنبال تغییر یک داده مشترک باشند. وقتی ترتیب اجرای متدها بهم بریزد برنامه کرش میکند.

    Race Condition, Software, Bugs
  • فایلهای استاتیک (مانند عکس و استایل) در ASP Core مستقیما میزبانی میشوند. در گذشته این وظیفه به عهده ی IIS بود.

    ASP Core, Static Files, Middlewares
  • روزلین کامپایلر سورس باز #C و VB است که به صورت پکیج به پروژه اضافه می شود و می توان از آن برای تحلیل و تولید کد استفاده کرد.

    Roslyn, C#, Compiler , Visual Studio

آموزش

آشنایی با جستجو،فیلترینگ

سطح دوره : مبتدی

تماشا


آشنایی با الگوی MVC

سطح دوره : مبتدی

تماشا


کار با لیست و کالکشن

سطح دوره : پیشرفته

تماشا