تازه ترین کتاب ها
تاریخ: ۱۰:۶:۱۶ ۱۳۹۵/۱۱/۵ سه شنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: CPP|

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

معمولا کتاب‌های برنامه نویسی به جای کاربرد واقعی آن زبان، بر روی گرامرش تمرکز می‌کنند. کتاب‌های معمول ++C نیز هر بخش اصلی از زبان را در هر فصل معرفی می‌کنند به این صورت که ابتدا گرامر آن را توضیح می‌دهند و سپس مثال هایی از آن ارائه می‌دهند.

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

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

این طور به نظر میرسد که هر چیزی که باید در مورد جاوا اسکریپت نوشته می‌شده، تا الان نوشته شده است. صادقانه بگم که به سختی می‌شود موضوعی در جاوا اسکرپت پیدا کرد که قبلا در موردش بحث نشده باشد. با این حال جاوا اسکریپت با سرعت زیادی در حال تغییر است. ECMAScript 6 پتانسیل این را دارد تا زبان و چگونگی کد زدن با آن را تغییر دهد. Node.js همین الان هم نحوه‌ی پیاده سازی سرور با جاوا اسکریپت را تغییر داده است. ایده‌های جدیدی به مانند React و Flux هدایتگر نسل بعدی زبان خواهند شد. در حالی که وقتمان را صرف یادگیری امکانات جدید می‌کنیم، انکار نمی‌شود کرد که در ایده‌های بنیادین جاوا اسکریپت نیز باید ماهر شد.  این ایده‌ها پایه ای هستند و احتیاچ به توجه دارند. اگر هم اکنون شما توسعه دهنده‌ی با تجربه جاوا اسکریپت هستید، در خواهید یافت که جاوا اسکریپت مدرن خیلی متفاوت‌تر از آن چه اکثر مردم می‌دانند شده است. جاوا اسکریپت مدرن نیاز به نظم و انضباط سفت و سخت دارد. ابزار‌ها قدرتمند‌تر شده اند و به آرامی دارند بخشی از جریان کار توسعه می‌شوند.

اگر چه به نظر می‌رسد که جاوا اسکرپت در حال تغییر است ولی بر اساس ایده‌های ثابت و استواری تغییر می‌کند. این کتاب تاکیدش بیشتر بر روی همین ایده‌های ثابت و پایه ای است.

وقتی که این کتاب در حال نگارش بود، چیز هایی در جاوا اسکریپت در حال تغییر بودند. خوشبختانه ما توانستیم همه‌ی به روز رسانی‌ها و تغییرات مهم را در این کتاب بگنجانیم. کتاب Mastering JavaScript مروری دقیق بر اصول جاوا اسکریپت و تعدادی از ابزار‌ها و کتاب خانه‌های مدرن به مانند  jQuery، Underscore.js و Jasmine است.

تعداد بازدید: ۱۰
دیدگاه ها: ۰
تاریخ: ۰:۲۰:۱۷ ۱۳۹۵/۱۱/۱ جمعه
توسط: 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 چگونه به چیز‌های مورد نظرشان دست یابند را تغییر می‌دهد و خواننده بر روی کامپوننت‌های نمونه مفید و سرگرم کننده کار خواهد کرد.

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

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