تازه ترین کتاب ها
تاریخ: ۰:۲۰:۱۷ ۱۳۹۵/۱۱/۱ جمعه
توسط: MotoMan
امتیاز: ۰
برچسب ها: C Sharp| dotNET Framework|

تحولات اخیر #C و NET. استفاده‌های ضمنی از asynchrony و concurrency را در بر می‌گیرد، با این که شما از وجود آن‌ها آگاه نیستید. این می‌تواند به مشکلات بیشتری منجر شود، به این علت که جزئیات بسیار زیادی معمولا در زیرساخت زبان #C و API‌های کتابخانه کلاس پایه NET. پنهان شده اند. برای جلوگیری از مشکلات و قادر بودن به ایجاد برنامه‌های قوی، یک توسعه دهنده باید دقیقا بداند که در پشت صحنه‌ی آسنکرونی در NET. چه می‌گذرد.  علاوه بر این ، این مهم است که وقتی یک برنامه concurrent می‌نویسید، اهدافتان را بفهمید. اگر این برنامه بر روی client اجرا می‌شود، خوب است که از همه‌ی منابع محاسباتی در دسترس استفاده شود تا برنامه به سریع‌ترین حالت ممکن اجرا شود. این شامل استفاده موثر از هسته‌های CPU است و در نتیجه نیاز به مهارت‌های برنامه نویسی‌های موازی دارد.  با این حال اگر برنامه بر روی سرور می‌شود، مهم‌تر این است که سرور مورد نظر از حداکثر کلاینت ممکن پشتیبانی کند تا این که کارایی پردازش درخواست به یک کلاینت خاص را بالا ببرد. این‌ها احتیاج دارند که برنامه نویس بین آسنکرونی و مالتی تردینگ تمایز قائل بشود و درکی از مقیاس پذیری داشته باشد.

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

تحولات اخیر #C و NET. استفاده‌های ضمنی از asynchrony و concurrency را در بر می‌گیرد، با این که شما از وجود آن‌ها آگاه نیستید. این می‌تواند به مشکلات بیشتری منجر شود، به این علت که جزئیات بسیار زیادی معمولا در زیرساخت زبان #C و API‌های کتابخانه کلاس پایه NET. پنهان شده اند. برای جلوگیری از مشکلات و قادر بودن به ایجاد برنامه‌های قوی، یک توسعه دهنده باید دقیقا بداند که در پشت صحنه‌ی آسنکرونی در NET. چه می‌گذرد.  علاوه بر این ، این مهم است که وقتی یک برنامه concurrent می‌نویسید، اهدافتان را بفهمید. اگر این برنامه بر روی client اجرا می‌شود، خوب است که از همه‌ی منابع محاسباتی در دسترس استفاده شود تا برنامه به سریع‌ترین حالت ممکن اجرا شود. این شامل استفاده موثر از هسته‌های CPU است و در نتیجه نیاز به مهارت‌های برنامه نویسی‌های موازی دارد.  با این حال اگر برنامه بر روی سرور می‌شود، مهم‌تر این است که سرور مورد نظر از حداکثر کلاینت ممکن پشتیبانی کند تا این که کارایی پردازش درخواست به یک کلاینت خاص را بالا ببرد. این‌ها احتیاج دارند که برنامه نویس بین آسنکرونی و مالتی تردینگ تمایز قائل بشود و درکی از مقیاس پذیری داشته باشد.

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

تعداد بازدید: ۶۰
دیدگاه ها: ۰
تاریخ: ۱۷:۵۰:۳۳ ۱۳۹۵/۱۰/۲۳ پنج شنبه
توسط: MotoMan
امتیاز: ۰

این کتاب برای همه‌ی علاقه مندان به یادگیری جنبه‌ها و ابزارهای مهم Domain Driven Design است که می‌خواهند به سرعت آن را فرا بگیرند. اغلب خوانندگان این کتاب طراحان نرم افزار و توسعه دهندگان نرم افزار هستند که می‌خواهند DDD را در پروژه‌ها به صورت عملی پیاده سازی کنند. اغلب، توسعه دهندگان به زیبایی DDD به سرعت پی می‌برند و مشتاقانه جذب الگوی قدرتمندش می‌شوند. با این حال من مطالب را برای مدیران اجرایی، کارشناسان حوزه، مدیران، تحلیل گران کسب و کار، معماران اطلاعات و تست کنندگان، قابل فهم کرده ام. برای کسانی که در صنعت فناوری اطلاعات (IT) و محیط‌های تحقیق و توسعه هستند واقعا محدودیتی برای بهره بردن از خواندن این کتاب وجود ندارد.
اگر شما مشاور هستید و به مشتری خود توصیه کرده اید که از DDD استفاده کند، سریعا این کتاب را برای ذینفعان عمده، به عنوان راه حلی ارائه کنید. اگر شما توسعه دهندگانی دارید که شاید تازه کار، متوسط و یا حتی ارشد باشند و بر روی پروژه هایتان کار می‌کنند در حالی که با DDD آشنا نیستند ولی می‌خواند سریع آن را به کار بندند، مطمئن شوید که این کتاب را می‌خوانند. با خواندن این کتاب حداقل، همه‌ی ذینفعان و توسعه دهندگان پروژه، واژگان و ابزار‌های اصلی DDD که مورد استفاده قرار می‌گیرند را یاد  میگیرند. این کار آن‌ها را قادر می‌سازد تا چیز‌ها را در حین توسعه پروژه به صورت معنا داری با یکدیگر به اشتراک بگذارند.

 

تعداد بازدید: ۹۲
دیدگاه ها: ۰
تاریخ: ۲۳:۲۷:۳۴ ۱۳۹۵/۱۰/۲۲ چهارشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Design Patterns| Refactoring|

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

 

تعداد بازدید: ۶۸
دیدگاه ها: ۰
تاریخ: ۲۲:۴۸:۱۷ ۱۳۹۵/۱۰/۱۲ یکشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Design Patterns|

این کتاب درباره‌ی یکپارچه سازی سازمانی با استفاده از پیام رسانی(messaging)  است که هیچ تکنولوژی یا محصول خاصی در آن مستند نشده است، بلکه برای توسعه دهندگان و یکپارچه ساز‌ها طراحی شده است تا با استفاده از محصولات و تکنولوژی‌های متنوع پیام رسانی کار خود را انجام دهند.
یکپارچگی سازمانی فراتر از ساختن یک برنامه با معماری چند لایه توزیع شده است که آن برنامه قادر است در بین چندین کامپیوتر توزیع شود. در حالی که یک لایه در یک برنامه توزیع شده، به خودی خود نمی‌تواند اجرا شود، برنامه‌های یکپارچه، برنامه‌های مستقلی هستند که هر کدام به طور مستقل می‌توانند اجرا شوند و این در حالی است که هماهنگی با یکدیگر را به صورت آزاد از هم انجام می‌دهند. پیام رسانی، داده و دستورات را در شبکه قادر می‌سازد تا با استفاده از رویکرد "ارسال کن و فراموش کن" ارسال شوند در حالی که صدا زننده اطلاعات را ارسال می‌کند و وقتی که اطلاعات در حال منتقل شدن توسط سیستم پیام رسانی است، به سراغ شبکه ای دیگر برود. در صورت تمایل، صدا زننده می‌تواند بعدا از نتیجه، توسط یک callback با خبر شود. فراخوانی‌ها و callback‌های آسنکرون ،طراحی را نسبت به رویکرد سنکرون پیچیده‌تر می‌کنند، اما فراخوانی آسنکرون می‌تواند آن قدر تکرار شود تا با موفقیت روبرو شود و این باعث می‌شود که ارتباط، بیش از پیش قابل اعتماد باشد. پیام رسانی آسنکرون همچنین مزیت‌های دیگری از جمله گلوگاه درخواست‌ها و تعادل بار (load balancing) را در بر دارد.

 

تعداد بازدید: ۱۳۳
دیدگاه ها: ۰
تاریخ: ۲۲:۳۱:۴۶ ۱۳۹۵/۱۰/۱۱ شنبه
توسط: MotoMan
امتیاز: ۱

کار توسعه‌ی برنامه‌های سازمانی، سود زیادی از ظهور تکنولوژی‌های جدید برده است. پلتفرم‌های شی گرا چند لایه، مانند جاوا و .NET خیلی رایج و عادی شدند. این ابزار‌ها و تکنولوژی‌های جدید، توانایی ساخت برنامه‌های قدرتمند را دارند، ولی به راحتی قابل پیاده سازی نیستند. شکست‌های رایج در برنامه‌های سازمانی معمولا به این علت رخ می‌دهند که توسعه دهندگان آن ها، درس‌های معماری که توسعه دهندگان با تجربه در کار با اشیا یاد گرفته اند را نفهمیده اند.
کتاب Patterns of Enterprise Application Architecture نوشته شده تا پاسخی مستقیم به چالش‌های سختی باشد که توسعه دهندگان برنامه‌های سازمانی با آن روبرو می‌شوند. نویسنده این کتاب، آقای Martin Fowler  که طراحی شی گرا است، متوجه شد که با وجود تغییرات در تکنولوژی از Smalltalk تا CORBA تا Java تا NET.، همان ایده‌های طراحی پایه می‌توانند وفق پیدا کرده و اعمال شوند تا مشکلات رایج را حل کنند.
این کتاب در حقیقت دو کتاب در یک کتاب است. بخش اول  یک آموزش کوتاه در مورد توسعه برنامه‌های سازمانی است که شما می‌توانید از ابتدا تا انتها آن را بخوانید  تا محدوده‌ی درس‌های این کتاب را بفهمید. بخش بعدی که بخش عمده‌ی کتاب را تشکیل می‌دهد، یک مرجع دقیق برای خود الگو‌ها است. برای هر الگو اطلاعات کاربرد و پیاده سازی آن به همراه کد مثال‌ها به جاوا یا سیشارپ ارائه شده است. کل این کتاب نیز با دیاگرام‌های UML برای توضیحات بیشتر مفاهیم، نشان داده شده است.
با مسلط شدن به این کتاب، شما دانش لازم برای تصمیم گیری‌های مهم در ساخت یک برنامه‌ی سازمانی را را به دست خواهید آورد تا از الگوهای ثابت شده در موقع ساخت آن‌ها استفاده کنید.

 

تعداد بازدید: ۱۳۶
دیدگاه ها: ۰
تاریخ: ۲۱:۲۲:۵ ۱۳۹۵/۱۰/۱۰ جمعه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Java Script| AngularJS| SPA|

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

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

تعداد بازدید: ۱۲۰
دیدگاه ها: ۰
تاریخ: ۱۶:۳۲:۵۸ ۱۳۹۵/۱۰/۱۰ جمعه
توسط: MotoMan
امتیاز: ۱
برچسب ها: C Sharp| dotNET Framework|

#Microsoft Visual C زبانی قدرتمند ولی ساده است که در درجه‌ی اول هدفش توسعه دهندگانی است که برنامه هایشان را بر اساس Microsoft .NET Framework می‌سازند. ویژوال سیشارپ بهترین ویژگی‌های زبان‌های ++C و مایکروسافت ویژوال بیسیک را به ارث برده است  که منجر به ایجاد زبانی تمیز و منطقی‌تر شده است.

C# 1.0 شروع کارش را در سال 2001 عمومی کرد. با ظهور C# 2.0 به همراه Visual Studio 2005 چندین قابلیت مهم جدید به زبان اضافه شد از جمله: Generic ها، Iterator‌ها و anonymous methods. زبان C# 3  که به همراه Visual Studio 2008 منتشر شد شامل قابلیت هایی همچون متد‌های الحاقی، عبارات لامبدا و معروف‌ترین آن ها، Language Integrated Query) LINQ) بود.  C# 4 در سال 2010  منتشر شد که پیشرفت‌های بیشتری را شامل می‌شد که قابلیت همکاری با تکنولوژی‌ها و زبان‌های دیگر را بهتر کرده بود. این قابلیت‌ها شامل پشتیبانی از آرگومان‌های اختیاری و نامگذاری شده و نوع پویا بود. نوع پویا نشان دهنده‌ی این است که Language Runtime برای آن شی، باید انقیاد به تاخیر افتاده را پیاده سازی کند. یکی از مهم‌ترین قابلیت هایی که به دات نت فریمورک افزوده شد و همزمان با سیشارپ 4 منتشر شد؛ کلاس‌ها و نوع‌های Task Parallel Library) TPL) بود. با استفاده از TPL، می‌توانید برنامه هایی بسیار مقیاس پذیر بنویسید که استفاده‌ی کاملی از پردازنده‌های چند هسته ای می‌کنند. C# 5 پشتیبانی بومی از پردازش‌های غیر همزمان مبتنی بر Task از طریق عملگر await و modifier متود async به عمل آورد. C# 6 یک ارتقای تدریجی به همراه قابلیت هایی بود که کار را برای توسعه دهندگان ساده‌تر می‌نمود. این قابلیت‌ها شامل string interpolation، پیشرفت هایی در پیاده سازی property ها، متدهای expression bodied و ... بود.

این کتاب فرض کرده است که شما توسعه دهنده ای هستید که می‌خواهید اساس برنامه نویسی با زبان #C را با استفاده از ویژوال استادیو 2015 و دات نت فریمورک نسخه 4.6 فرا بگیرید. زمانی که شما این کتاب را به انتها رساندید؛ درک کاملی از #C خواهید داشت و از آن در ساخت برنامه‌های پاسخگو و مقیاس پذیر که قابل اجرا بر روی سیستم عامل Windows 10  هستند، استفاده خواهید کرد.

تعداد بازدید: ۱۷۳
دیدگاه ها: ۲
تاریخ: ۲۲:۲:۰ ۱۳۹۵/۱۰/۹ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Java Script| AngularJS| SPA|

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

انگولار 2 با توجه به استاندارد‌های مدرن وب طراحی شده است و هنگامی که می‌خواهید زبان مورد نظرتان را انتخاب کنید، با پشتیبانی کاملی از ES6،TypeScript  و به 5ES کنونی،Dart و CoffeScript، انعطاف پذیری کامل خود را نشان می‌دهد. ویژگی هایی مانند تزریق وابستگی توکار انگولار، به کاربر اجازه‌ی ساخت برنامه‌های بسیار مقیاس پذیر و ماژولار را با کدی رسا، پرمعنی و بی نیاز از توضیح می‌دهد و وظایف نگهداری را به دست باد می‌سپارد در حالی که توسعه‌ی آزمون محور را به ساده‌ترین شکل ممکن در آورده است. با این حال جایی که Angular 2 خودنمایی می‌کند موقعی است که سطح بی نظیر سرعت و عملکرد خود را به نمایش می‌گذارد که باید از سیستم تشخیص تغییرات جدیدش که تا 5 بار سریع‌تر از نسخه‌ی قبلیش است تشکر کرد. View‌های تمیز و گرامر بی نظیر مطابق با استاندارد قالب، با فهرستی از امکانات قدرتمند برای ساخت نسل بعدی از برنامه‌های موبایل تحت وب و برنامه‌های دسکتاپ ترکیب شده است.

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

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

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

تعداد بازدید: ۱۲۶
دیدگاه ها: ۰
بیشتر
loading...

لطفا منتظر بمانید...