Home
Categories
EXPLORE
True Crime
Comedy
Business
Society & Culture
Health & Fitness
Sports
Technology
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Podjoint Logo
US
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts114/v4/5e/eb/7e/5eeb7e8c-d5cf-c6c9-c2f3-a76cb905c23f/mza_14029643837342100742.jpg/600x600bb.jpg
باشگاه برنامه نویسی مهندس نعمتی
DevCircle
15 episodes
3 days ago
هدف این باشگاه اینه که از دل صنعت، برنامه نویس تربیت کنیم. برنامه نویس هایی که اول برنامه نویس معمولین، بعد برنامه نویس ارشد میشن، بعد مدیر، بعد کارآفرین. هدف این باشگاه ارتقای نرم افزار کشور با کمک مهندسای توانمندشه.
Show more...
Courses
Education
RSS
All content for باشگاه برنامه نویسی مهندس نعمتی is the property of DevCircle and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
هدف این باشگاه اینه که از دل صنعت، برنامه نویس تربیت کنیم. برنامه نویس هایی که اول برنامه نویس معمولین، بعد برنامه نویس ارشد میشن، بعد مدیر، بعد کارآفرین. هدف این باشگاه ارتقای نرم افزار کشور با کمک مهندسای توانمندشه.
Show more...
Courses
Education
Episodes (15/15)
باشگاه برنامه نویسی مهندس نعمتی
BASE

دیتابیس های بازی چند تا خصوصیت دارن. خصوصیت اولشون اینه که هر درخواستی رو جواب میدن. خصوصیت دومشون اینه که اگه عملیات رایت خارجی رو متوقف کنیم، کماکان تا مدتی دیتا درونشون تغییر میکنه. و خصوصیت نهاییشون اینه که در همون لحظه تضمین نمیکنن که تمامی قوانین دیتابیس و دیتا در یک هارمونی و یکنواختی قرار داشته باشن و این حالت بعد از گذشت زمان در نهایت ایجاد خواهد شد.

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

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

Show more...
5 years ago
15 minutes 15 seconds

باشگاه برنامه نویسی مهندس نعمتی
ACID

دیتابیس ها به دو دسته بزرگ اسیدی و بازی تقسیم میشن. دیتابیس های اسیدی یعنی دیتابیس هایی که چهار خصوصیت رو ساپورت میکنن. این خصوصیات رو توی این اپیزود با هم بررسی میکنیم.

Show more...
5 years ago
12 minutes 41 seconds

باشگاه برنامه نویسی مهندس نعمتی
Software testing

تست و تست نویسی یه مبحث بسیار داغه توی دنیای نرم افزار. اما وقتی میخواین واردش بشین، با یه جنگل از واژگان مواجه میشین. یه جنگل ترمینولوژیک. و از طرف دیگه به این دلیل که بسیار گرونه، افراد زیادی تجربه موفقی توی این زمینه ندارن. اما به هر حال ما مهندس نرم افزاریم، و قسمتی از کارمون اینه که اقلا در سطح تئوری، و تا حدی در عمل مفاهیم مربوط به تست نرم افزار رو بشناسیم.

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

و اینکه نمیدونم چرا به جای اکسپتنس تست میگم اکسپتنت تست. انگار مغزم زمان ضبط گیر کرده. درستش اکسپتنس تسته. 

Show more...
5 years ago
25 minutes 55 seconds

باشگاه برنامه نویسی مهندس نعمتی
Association

ما در طراحی شی گرا، با دو مفهوم کلی سر و کار داریم. خود اشیاء، و ارتباط اشیاء.

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

آیا شیء اول نوعی از شیء دومه؟

آیا شیء اول از شیء دوم تشکیل شده؟

آیا شیء اول از شیء دوم استفاده میکنه؟

آیا شیء اول در واقع یه تجسم از شیء دومه؟

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

Show more...
5 years ago
16 minutes 34 seconds

باشگاه برنامه نویسی مهندس نعمتی
Continuous integration

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

اینجا به مساله Continuous integration میرسیم و این مفهوم رو بعد از تعریف مورد بررسی قرار میدیم.

Show more...
5 years ago
21 minutes 19 seconds

باشگاه برنامه نویسی مهندس نعمتی
Taxonomy

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

توی این اپیزود، ماژول دسته بندی رو از تعریف و تحلیل، تا طراحی دنبال میکنیم.

Show more...
5 years ago
13 minutes 21 seconds

باشگاه برنامه نویسی مهندس نعمتی
Consistency

ثبات و یکنواختی در توسعه، یکی از رازهای موفقیت یه تیم نرم افزاریه. اینکه پروژه هامون هرچقدر بیشتر شبیه به هم نوشته بشه. اینکه ابزارهای یکسانی استفاده کنیم. اینکه قوانین درون تیمی خوبی داشته باشیم و پایبندی به اون قوانین رو به صورت سیستماتیک تضمین کنیم.

اپیزود امروز در مورد معنی Consistency، مزایای اون و راه های رسیدن به اونه.

Show more...
5 years ago
12 minutes 22 seconds

باشگاه برنامه نویسی مهندس نعمتی
List Anatomy

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

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

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

برای اینکه بتونیم لیست ها رو به خوبی تحلیل و طراحی کنیم، لازمه که بتونیم مفهوم لیست رو به صورت انتزاعی درک کنیم.

آناتومی لیست، تحلیل ماست از مفهوم لیست در لایه API و UI.

Show more...
5 years ago
11 minutes 38 seconds

باشگاه برنامه نویسی مهندس نعمتی
QC & QA

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

البته این اپیزود ادامه خواهد داشت. به این دلیل که کیفیت یه موضوع cross-cutting محسوب میشه و از دیتابیس تا UI قابل اعماله.

Show more...
5 years ago
17 minutes 44 seconds

باشگاه برنامه نویسی مهندس نعمتی
Check-in Policies

در نقطه ای که یه برنامه نویس که عضوی از یک تیمه، میخواد کدی که نوشته یا تغییر داده رو بفرسته روی مخزن کدها، یا همون VCS، بهتره مکانیسمی داشته باشیم برای بازنگری کد نوشته شده. در این صورت میتونیم خیلی از قوانین درون تیم رو به خوبی توسط ماشین کنترل کنیم. در دنیای TFVC در کنار Visual Studio، مفهومی داریم به اسم check-in policy که دقیقا به ما امکان این کار رو میده. اپیزود امروز در رابطه با همین موضوعه.

Show more...
5 years ago
13 minutes 44 seconds

باشگاه برنامه نویسی مهندس نعمتی
AAA - Authentication, Authorization, Accounting - احراز هویت، مدیریت سطوح دسترسی، پروفایل کاربری

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

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

یه ماژول معمولی AAA از سه قسمت تشکیل میشه. یه قسمت برای کاربری که هنوز لاگین نکرده، یه قسمت برای کاربری که لاگین کرده، و یه قسمت هم برای ادمین که بتونه کاربرا رو مدیریت کنه.

Show more...
5 years ago
16 minutes 2 seconds

باشگاه برنامه نویسی مهندس نعمتی
Technology Stack - پشته فناوری

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

درست مثل یه فروشگاه بزرگ، یه هایپرمارکت، و قفسه ماست. وقتی میری، ده ها برند میبینی، و توی هر برند، ده ها مدل و طعم مختلف. طوری که انتخاب برات تبدیل میشه به یه غول بی شاخ و دم. کدوم ماستو بخورم؟

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

پشته فناوری یکی از آیتم های مهم هر شخص برنامه نویس، هر شرکت نرم افزاری، و هر دست اندکار این حوزه اس.

Show more...
5 years ago
10 minutes 42 seconds

باشگاه برنامه نویسی مهندس نعمتی
Divergence & Convergence - دیورژانس و کنورژانس - واگرایی و همگرایی

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

Show more...
5 years ago
8 minutes 6 seconds

باشگاه برنامه نویسی مهندس نعمتی
VCS, Words & Anki

برای کار تیمی، به زیرساختی احتیاج داریم که بتونه از یک جای مرکزی کدهای ما رو مدیریت کنه. بفهمیم که چه چیزی رو چه کسی نوشته و فایلی که الان باز کردیم چه ورژن هایی در گذشته داشته و در چه زمانی توسط چه کسی چه تغییری کرده که الان این شده. و اگه همزمان روی یک فایل چند نفر کار کردن، بتونیم کار همه اونا رو با هم ادغام کنیم.

به این زیرساخت میگیم VCS که مخفف Version Control System هستش.

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

بعد از حفظ کردن حتما باید مرورشون کنیم تا یادمون نره. به همین دلیل باید از یه اپلیکیشن استفاده میکنیم به اسم Anki.


Show more...
5 years ago
13 minutes 45 seconds

باشگاه برنامه نویسی مهندس نعمتی
باشگاه برنامه نویسی مهندس نعمتی

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

Show more...
5 years ago
2 minutes 58 seconds

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