Beautiful Design and Code Workshop – Part II

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:
برای مطالعه‌ی بخش اول به اینجا مراجعه فرمایید.

شرایط شرکت‌کنندگان:
شرکت‌کنندگان این کارگاه باید حائز شرایط زیر باشند.
○ تخصیص هفته‌ای دست‌کم 15 ساعت وقت برای برنامه‌نویسی
○ تسلط بر HTML، CSS
○ آشنا با Java Script
○ آشنا با Object Oriented در CSharp
○ آشنا با ASP .NET MVC
○ آشنا با Entity Framework
علاقه‌مندان هنگام پیش‌ثبت‌نام باید رزومه‌ی کاری و آموزشی خود را ارسال نمایند تا مورد بررسی قرار گیرد. پس از احراز شرایط و در صورت نیاز برگزاری مصاحبه، ثبت نام خواهند گردید.

مخاطب دوره:
○ برنامه‌نویسان تازه‌کار
○ متقاضیان جویای کار در تیم‌های توسعه
○ دانش‌جویان و دانش‌آموختگان رشته‌های نرم‌افزار

سرفصل کارگاه:

Object Oriented Thinking: Game of Objects
○ Software Development Journey: from Users Requirements to Source Code
Decomposition Techniques: Layering, Packaging, Component, Projecting, etc
○ Where Is Your Code? Source Control Values, Team Foundation Server
○ How Are You Fast in Software Delivery? Continuous Build and Integration
○ Coding Lifecycle (Extreme Programming): Red, Green, Refactor
○ Rule of Thumb: being SOLID
○ Team Mindset: Backlog, Pair Programming, Standup Meeting, Task Board, Transparency
○ Filling Gap Between Objects World and Relational World: ORM and EF
○ Separate Concerns in User Interface: M-V-C
○ Understanding Data Access Design Challenges: UoW and Repo
○ CSS Framework, Bootstrap

پ.ن:

* این کارگاه توسط شرکت سماتک برگزار خواهد گردید.

گزیده:

I was lucky to be involved and get to contribute to something that was important, which is empowering people with software.

Bill Gates

داستانک گورخر و Classification!

  • یوسف مهرداد بی‌بالان

یکی از موضوعات مهم در دنیای نرم‌افزار، «انتزاع» (abstraction) است. یکی از معضلات انتزاع نیز موضوع «طبقه‌بندی» (classification) است.

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

shel_silverstein_zebra

 

 

مرجع: قانون‌بچه‌ها

گزیده:

Tell me I’m clever, Tell me I’m kind, Tell me I’m talented, Tell me I’m cute, Tell me I’m sensitive, Graceful and wise, Tell me I’m perfect – But tell me the truth. Shel Silverstein

 

Beautiful Design and Code Workshop – Part I

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:

مدت‌ها بود که دوست داشتم دوره‌ای درباره‌ی طراحی و برنامه‌نویسی برگزار کنم. مسئولیت‌های شغلی و خانوادگی مجالی برای آن نمی‌گذاشت.

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

بارها و بارها با پیشنهاد دوستان و دانشجویان قبلی‌ام در دوره‌های «تحلیل و طراحی شیءگرا» (Object Oriented Analysis and Design) و «الگوهای طراحی» (Design Patterns) برای برگزاری مجدد این دوره‌ها مواجه بودم ولی بی‌وقتی امان نمی‌داد.

در چند ماه گذشته اتفاقاتی روی داد که باعث شد عزم خودم را جزم کنم و حتی اگر شده برای یک بار، کارگاهی برگزار کنم تا مجموعه‌ای از تفکرات، روش‌ها، تکنیک‌ها و البته ابزارها را به شرکت‌کنندگان ارائه نمایم.

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

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

در پایان عنوان «Beautiful Design and Code» را برای کارگاه انتخاب کردیم. امیدوارم برگزاری این کارگاه برای همه‌ی شرکت‌کنندگان مفید باشد.

گفتار:

هدف کارگاه
برنامه‌نویسان تازه‌کار که بخش عمده‌ای از آنها دانش‌آموختگان یا دانش‌جویان دانشگاه‌ها و موسسات آموزشی هستند، پس از آشنایی با مجموعه‌ای از ابزارها و تکنولوژی، قادر نیستند به راحتی در تیم‌های توسعه‌ی نرم‌افزار جذب شوند و کارایی مناسبی داشته باشند. نوشتن برنامه‌های تمرینی و پروژه‌های درسی در طول تحصیل نیز کمکی به آنان نمی‌کند یا اثربخشی آن در حد مطلوب نیست.
شرکت در دوره‌های آموزشی نیز از آن جهت که بیشتر تکنولوژی‌محور است، در این زمینه به آنان کمکی نمی‌کند. شرکت‌کنندگان در این دوره‌ها به خوبی با تکنولوژی‌ها آشنا می‌شوند و مهارت انجام پروژه‌ها را در قالب آنها می‌آموزند. اما از آنجا که ابعاد توسعه‌ی نرم‌افزار متعدد است، در پایان مجموعه‌ای از دوره‌ها، برنامه‌نویس مهارت کافی برای اضافه‌شدن به تیم‌های برنامه‌نویسی را پیدا نمی‌کند.
از سوی دیگر، با ورود برنامه‌نویسان تازه‌کار به تیم‌ها، یادگیری و مهارت‌آموزی آنها از شیوه‌ی «استاد-شاگردی» و از «روی دست نگاه کردن» پیش می‌رود. چنین رویه‌ای زمان‌گیر و طولانی است و تیم‌ها چنین فرصتی ندارند. گاهی نیز به این دلیل که مدیر یا مربی تیم، فرصت کافی برای آموزش ندارد و آموزش منقطع و بخش‌بخش اتفاق می‌افتد منجر به «بدآموزی» می‌گردد.
این دوره به‌گونه‌ای طراحی شده است که امکان یادگیری دانش، ابزار و کسب مهارت‌های لازم را در مدت کوتاهی برای برنامه‌نویسان تازه‌کار فراهم نماید.
انتظار داریم برنامه‌نویسان پس از این کارگاه:
o بتوانند یک پروژه‌ی برنامه‌نویسی را از ابتدا ایجاد نمایند و تا انتها پیش ببرند
o کار تیمی بیاموزند
o یاد بگیرند «کد زیبا و دوست‌داشتنی» بنویسند
o «چرخه‌ی از نیازمندی‌ها تا تحویل» را ببیند و بفهمند
o با مجموعه‌ای از مهارت‌هایی که به خبرگی در برنامه‌نویسی منجر می‌شود آشنا شوند و آنها را به کارگیرند
o با مجموعه‌ای از ابزارهای کاربردی توسعه‌دهندگان حرفه‌ای آشنا شوند

مدت کارگاه
کارگاه در قالب جلسه‌های 4 ساعته برگزار خواهد گردید. مدت کل کارگاه 24 ساعت یا 6 جلسه است.

روش برگزاری
شرکت‌کنندگان به تیم‌های سه نفره دسته‌بندی خواهند گردید. این تیم‌ها مسئول انجام پروژه‌ها و تمرین‌ها هستند. بخش عمده‌ای از تمرین‌ها و پروژه‌ها خارج از زمان کارگاه انجام خواهد شد و از این رو ضروری است که شرکت‌کنندگان وقت کافی خارج از کارگاه برای گذراندن موفق کارگاه، در نظر گرفته باشند.
کارگاه شامل مطالب زیر خواهد بود:
○ مطالب نظری
○ تمرین‌های برنامه‌نویسی
○ تکه‌پروژه‌های برنامه‌نویسی
○ پروژه‌های برنامه‌نویسی

ادامه دارد …

پ.ن:

* این کارگاه توسط شرکت سماتک برگزار خواهد گردید.

* برای عضویت در گروه تلگرامی «متدهای چابک» اینجا را کلیک کنید.

گزیده:

“Talk is cheap. Show me the code.” Linus Torvalds

بدون شرح

  • یوسف مهرداد بی‌بالان

كار در جريان يک قاتل بی‌صداست.

 

 

 

پانوشت: ای کاش می‌شد در مورد این جمله‌ی گهربار یک سمینار گذاشت.

انسان خوشبخت، سازمان خوشبخت

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:

پنج‌شنبه‌ی هفته‌ی گذشته مهمان کارگزاری بودیم؛ گردهمایی پرسنل کارگزاری بود. استاد گران‌قدر، آقای دکتر هاشمی (دكتر سيد مهرداد هاشمی، سخنران و مشاور در حوزه منابع انسانی، عضو هيئت علمي سازمان مديريت صنعتي) هم یکی از سخنرانان این مراسم بود.

موضوع صحبت ایشان «انسان خوشبخت، سازمان خوشبخت» بود. آقای دکتر که به گفته‌ی خودشان حدود دو سال روی این موضوع تحقیق کرده بودند، نتیجه‌ی تحقیقاتشان را در قالب فایلی 80 صفحه‌ای آماده کرده بودند که به دلیل کمی وقت، درباره‌ی بخش کوتاهی از آن صحبت کردند.

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

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

خوشبختی چیست؟

آيا خوشبختي :

– پول زياد است؟

– تحصيلات عالي است؟

– يك ماشين آخرين مدل است؟

– يك خانه شيك و استثنائي است؟

– يك همسر زيبا و خوش تيپ، پولدار و مقام دار و خلاصه استثنایی است؟

تعریف خوشبختی از دیدگاه علمی:

”وضعيتي كه افراد آن چنان درگير فعاليت خاصي هستند كه هيچ چيز ديگري براي آنها در آن لحظه مهم نيست.“

احساس چنين تجربه اي چنان لذت بخش است كه افراد حاضرند براي آن بهاي زيادي بپردازند.

Martin Seligman مدلي معرفي مي كند كه نشان مي دهد، انسان وقتي ويژگي هاي زير را داشته باشد، بيشترين احساس خوشبختي را مي كند.

Happiness

خوشبخت ترين مردم روي كره زمين:

موسسه تحقيقاتي انگليسي New Economics Foundation تحقيقات گسترده اي را در خصوص خوشبختي در بين 178 كشور دنيا
انجام داده است. فكر مي كنيد خوشبخت ترين سرزمين هاي اين كره خاكي طي اين بررسي ها كدام كشورها مي باشند؟

سرزمين رويايي كه مردمش يكي از خوشبخت‌ترين مردم روي زمين هستند يك مجمع الجزاير دور افتاده

در جنوب اقيانوس آرام است با نام وانواتو.

اسرار خوشبختي مردم وانواتو:

* آنها با حداقل ها راضي مي شوند

* روابط دوستانه، مشاركت و همكاري ميان آنها حكمفرماست

* آنها به هم آسيبي نمي رسانند

* زيان و ضرر همنوعان خود را، ضرر خود مي دانند

* زندگي شيرين و لذت بخش را با امكانات آن نمي سنجند

* هيچكس مشكلي براي ديگري ايجاد نمي كند

* حرص و طمع كلماتي است كه مردم اين منطقه با آن بيگانه اند

پرسش مهم: افراد موفق و افراد خوشبخت

سؤالي كه در ذهن بسياري از افراد مطرح مي شود اين است كه آيا افراد موفق يعني افرادي كه به دستاوردهاي بسياري رسيده اند يا High Achievers، احساس خوشبختي مي كنند؟

خوب است بدانید که %92 افراد موفق احساس خوشبختي نمي كنند.

مدل زندگي افراد موفق و خوشبخت

  1. 1. داشتن رسالت
  2. 2. چشم انداز مثبت از آينده
  3. 3. انجام كار با معنا
  4. 4. ارتباطات انرژي زا
  5. 5. رفتار و باورهاي آرامش دهنده
  6. 6. مرور، بازسازي، تعهد مجدد با خود
  7. انضباط

 

آقای دکتر هاشمی، استاد گران‌قدر، سپاسگزارم.

گزیده:

“همه مردم از خوشبختي حرف مي زنند، اما كمتر كسي معناي آن را مي داند.” مادام اولان

واچک (بخش اول)

  • یوسف مهرداد بی‌بالان

پیش گفتار:

هنگام ترجمه‌ی جلد اول و دوم کتاب «اصول و روش کاربردی اسکرام»، یکی از مسایلی که با آن رو به رو بودیم، نبود مرجعی برای برگردان‌ فارسی اصطلاحات فنی بود. کم‌ترین نیاز ما این بود که مرجعی داشته باشیم تا نظر و برگردان‌های صاحب‌نظران و مترجمان دیگر را ببینیم و از بین آنها یکی را انتخاب کنیم.

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

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

این نوشته ادامه دارد ….

گزیده:

خوب ترجمه کردن آثار شکسپیر یا پوشکین به فارسی، یعنی نوشتن متنی که شکسپیر یا پوشکین اگر به جای امکانات زبان انگلیسی یا روسی امکانات زبان فارسی را در اختیار می­ داشتند، آن را می­ نوشتند. پس ترجمۀ خوب نه ترجمۀ لفظ به لفظ است و نه ترجمۀ ادیبانه (اما غیر ممکن)، بلکه عبارت است از ابداع متنی (اعم از واژگان و جمله­ بندی و سبک) که نویسنده اگر زبان مادریش همان زبان مترجم می­ بود، آن را می نوشت. چنین ترجمه­ ای مستلزم دانش و هوش و تخیل بسیار است و البته باید آن را کمال مطلوب ترجمه دانست. من ادعا نمی­ کنم که چنین ترجمه­ ای تحقق­ پذیر باشد، اما می­ گویم مترجم خوب کسی است که می­ کوشد تا هرچه بیشتر به آن نزدیک شود.

روژه کایوا – استاد ابوالحسن نجفی
مرجع

خاطرات ترجمه (بخش دوم)

  • یوسف مهرداد بی‌بالان

نویسنده: یاسر کازرونی

فصل‌ها را می‌خواندیم و از لحاظ نگارشی، مفهومی، مطابقت با متن اصلی، عکس‌ها و هر مسئله مهمی که به نظرمان می‌رسید، متن ترجمه شده را بررسی و موارد مهم را یادداشت می‌کردیم. کارمان این شده بود که هر هفته یک‌ جا قرار بگذاریم و بازنگری فصل‌های ترجمه شده را پیش ببریم. حتی قرارهایی داشتیم که در پارک‌ها روی نیمکت بود. اکثراً وقتی هوا خوب بود پارک لاله می‌رفتیم. یک سال و نیم کار بازنگری طول کشید. تابستان و زمستان، صبح و شب، چند روز پشت سرهم، طوری که خانواده‌‌های ما کار «بازنگری» را جزء کارهای مهم زندگی ما می‌دانستند و برای تعطیلات پایان هفته‌ها کمتر برنامه‌ریزی می‌کردند (بنده‌های خدا!).

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

شیرینی ملاحظات پی در پی مهندس اسماعیلی که به حق اغلب هم درست بود از یک سو، پرکاری و پیگیری‌های خانم مهندس معصومی و جدیت و توانمندی مهندس مهرداد یک تیم خیلی خوب را در کنار هم تشکیل داده بود که بعضاً برای اثبات نظرات خود زمان‌های زیادی را با هم بحث می‌کردند تا به نتیجه برسند! یادم می‌آید یکبار حدود نیم‌ساعت در مورد کلمات «هدف کسب و کار» که ترجمه «Business Goal» بود با مهندس اسماعیلی بحث می‌کردیم! یا یکبار برای معنی کلمات «و/یا» که در متن اصلی آمده بود مجبور شدیم یک ربع چانه بزنیم تا مهندس اسماعیلی قبول کنند که نیاز به پانوشت دارد. یا ماه‌ها گذشت تا نهایتاً یک کلمه معادل مناسب برای کلمه «Insight» یا «Prework» انتخاب کنیم. همه‌ی این‌ها نشان از این داشت که تیم به کیفت متن متعهد است و هیچ چیز را فدای کیفیت کتاب نمی‌کند.

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

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

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

برای خروج از جستجو کلید ESC را بفشارید