Easy Microservices
608 subscribers
82 photos
3 videos
1 file
33 links
گروه عمومی کانال:
@easymicroservice
Download Telegram
Channel created
سلام دوستان، به کامیونیتی میکروسرویس‌های آسان خوش اومدید.
هدف اصلی این کامیونیتی آموزش و فعالیت شما در سایت گیتهاب جهت پیشرفت و بالا بردن سطح کیفیت رزومه‌هاتون هست.
برای اینکه به این پلن برسیم ما یک سری پروژه این وسط تعریف میکنیم و هممون توش مشارکت میکنیم، باید همیشه فعال باشید و مشارکت کنیم، حداقل روزی یک مشارکت هم گیتهاب شمارو فعال نگه میداره.
برای شروع از پروفایل گیتهابتون شروع می‌کنیم و نکاتی که بهتره روی اکانت‌های گیتهابتون داشته باشید.
دقت کنید هیچ فعالیتی نباید توی خونه یا کامپیوترتون انجام بشه و خروجیش به سیستم تزریق بشه. باید لحظه لحظه فعالیتتون روی ریپازیتوری هاتون ثبت بشه تا روی پروفایل گیتهابتون فعال باشه.جلوتر بیشتر توضیح میدم که چطوری.
در ابتدا اگر اکانت گیتهاب ندارید یک اکانت بسازید و نام کاربری مناسبی برای اکانتتون انتخاب کنید، لطفا توش از اعداد استفاده نکنید، یک نام unique با اسم و فامیلتون انتخاب کنید. یک عکس پروفایل مناسب هم حتما برای اکانتتون بگیرید.

#قدم_اول

Https://github.com
👍83
خب سلام بچه ها این دوتا کادرها رو ببینید کادر بالایی مربوط به نام کاربری شماست و همونطور که گفتم سعی کنید یک نام کاربری با مسمی و unique انتخاب کنید چون قرار نیست دیگه تغییرش بدید.
کادر دوم که اون پایین هست میزان مشارکت و فعالیت شمارو در گیتهاب مشخص میکنه.
هرگونه فعالیتی که در گیتهاب داشته باشید برای شما یک contribution یا مشارکت ایجاد میکنه.
هرکدوم از اون باکس های سبز رنگ یک روز رو در سال نشون میده و ستون عمودی یک هفته هست.
روی کادرهای سبز که با ماوس برید یک عددی رو نشون میده.
هرچی عددش بیشتر و سبزش پر رنگ تر یعنی میزان مشارکت شما در گیتهاب در اون روز زیاد تر بوده و اگر سفید باشه یعنی شما توی اون روز مشارکت نداشتید.
هدفمون اینه در حال حاضر این نقطه‌ی سبز رنگ برای پروفایل همتون برای هر روز فعال و روشن باشه.
👍3
از این قسمت میتونید یک نام کاربری خوب و با مسما برای خودتون انتخاب کنید که توی کل github منحصر به فرد و مختص شماست.
دوستانی که کامیونیتی فعالی دارن و گیتابشون فعاله من پیشنهاد نمی کنم نام کاربری رو تغییر بدن چون سایت افکت هایی داره ولی دوستانی که تازه شروع کردن پیشنهاد میکنم یک نام کاربری خوب برای خودتون انتخاب کنید ترجیحا اعداد و کاراکترهای عجیب توی نام کاربریتون استفاده نشه.
👍1
#قدم_دوم
شروع فعالیت هست. یعنی یه فعالیتی انجام بدید تا پروفایل گیتهاب شما شروع کنه به ثبت و ضبط مشارکت های شما.
امروز در مورد یکی از سورس ها صحبت می‌کنیم.
قبل از شروع بگم چه جور فعالیت هایی برای پروفایل گیتهاب شما مشارکت ایجاد میکنه و بلافاصله می تونید اونو توی پروفایلتون ببینید:
1.گرفتن Fork
2.ایجاد Issue
3.ارسال پول رکوئست
4.به ازای هر کامیت که روی سورس بزنید یک مشارکت دریافت میکنید، این یعنی هرچی کامیت هاتون ریز و دقیق تر باشه مشارکت بیشتری دریافت می کنید.
5.کد رویو کردن.
و...

سورس Serialization، هدف از این پروژه اینه که انواع و اقسام مختلف پروژه های سریالایز و دیسریالایز کننده رو در این سورس جمع کنیم و یک Abstraction مشترک برای همشون بسازیم تا برنامه نویس ها براحتی بتونن توی سورسشون از این هسته استفاده و هر وقت دوست داشتن پکیج serialize و deserialize اشون رو تغییر بدن.
دوستان عزیزی که زبان برنامه نویسیشون سی شارپ نیست میتونن این فعالیت رو با زبان برنامه نویسی دیگه ای داشته باشن فقط معماری اون رو باید رعایت کنیم که کل ساختار برای همه ی زبان ها یکپارچه باشه (پس کد سی شارپ رو مطالعه کنید). توی ریپازیتوری توی پوشه ی Src در حال حاضر یک پوشه ی csharp هست که دوستان سی شارپ کار توش کار میکنن شما میتونید بسته به زبانی که کار میکنید مثلا java,php,go,python و ... پوشه اش رو بسازید.

نکته ی مهم اینکه قبل از اینکه کار رو شروع کنید باید پلن کنیم هرکسی داوطلبه بخشی از کار رو به عهده بگیره و شروع کنه به پیاده سازی کردن تا باهم به کانفیلیت نخوریم.
هرگونه ایده ای که اینجا بدید رو اگر بپذیریم بهتون میگیم که issue اش رو ایجاد کنید و به ازای ایجاد هر issue یک مشارکت دریافت میکنید دوستان دقت کنید قبل از ایجاد issue هم اینجا لطفا مشورت کنید که confilict نخوریم. و اینکه همه بتونن مشارکت داشته باشن.

چندتا نکته برای اینکه بتونید ایده بدید:
1.پکیج های سریالایز و دیسریالایزی که میشناسید رو معرفی کنید. به ازای هر زبان جداگانه.
2.کسانی که توی داکیومنت کردن و ساخت wiki میتونن کمک کنن و خیلی توی برنامه نویسی وارد نیستن میتونن توی داکیومنت کردن مشارکت کنن.
3.کسانی که توی تست نویسی و بررسی code coverage میتونن کمک کنن.
4.کسانی که توی devops هستن میتونن actionهای پروژه رو بررسی و فعال کنن.
5.کسانی که میخوان معماری پروژه رو بررسی کنن و یک قسمت برای توسعه دهنده ها بسازن میتونن از ابزار های ساخت داکیومنت ها و فلوچارت ها استفاده کنن تا در قسمت داکیومنت کمک کنن که بشه معماری رو شفاف به همه توضیح داد.

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

https://github.com/EasyMicroservices/Serialization
👍5
#قدم_دوم
ادامه...
پروژه‌ی Serialization اهدافش اینه که کار serialize و deserialize کردن رو برای توسعه دهنده ها آسون کنه.
فرمت های سریالایز مثل:
json
xml
binary
protobuf
و...
برای سریالایز کردن توی زبان سی شارپ دوتا پکیج معروف newtonsoft.json و system.text.json هست که برای این برنامه نویس ها قابل استفاده هست.
یه نگاه به تصویر بندازید بچه ها زحمت کشیدن و سه تا پکیج رو توش پیاده سازی کردن یه نگاه به سورس که بندازید میبینید که پیاده سازیش خیلی آسونه و اصلا کد زیادی نداره.
توی بخش EasyMicroservices.Serialization قسمت های abstraction رو داریم که خلاصه ی چیزهایی که باید توی پکیج های اصلی پیاده بشه توش هست.
و توی بخش
EasyMicroservices.Serialization.Tests تست کیس هارو میزنیم.
به ازای هر پکیج قابل استفاده هم یک پروژه با نام اون پکیج می سازیم مثلا:

EasyMicroservices.Serialization.NewtonSoft.Json
شامل پیاده سازی استفاده از سریالایز و دیسریالایز کردن newtonsoft میشه.
توسعه دهنده های استفاده کننده همیشه از سورس abstraction استفاده می کنن برای همین براحتی میتونن بدون تغییر کد و ریفکتور بین پکیج ها سوییچ کنن.
👍3
هر موضوعی که پلن کنیم تا توسعه دهنده ها روش کار کنن رو اینجا توی پروژه ی اصلی پلن می کنیم.
https://github.com/orgs/EasyMicroservices/projects/1/views/2
👍1
برای گرفتن فورک روی دکمه ای که دورش کادر قرمز کشیدم کلیک کنید.
بعد روی دکمه ی سبز رنگ Create fork کلیک می کنید.
اولین کانتریبیوشن رو روی پروفایلتون بعد از گرفتن فورک باید بتونید ببینید که سبز شده برای امروز.
وقتی فورک میگیرید شما دیگه سورس و پروژه رو توی پروفایل گیتهاباتون برای خودتون دارید.
حالا میتونید فورک خودتون رو clone کنهید و تغییرات رو روی سورس اعمال کنید. براحتی دسترسی پوش کردن روی فورک خودتون رو دارید.
بچه ها روز داره به سمت تمام شدن میره، در نظر داشته باشید که هدف ما فعالیت شما در گیتهاب هست، برای همین حتما یک فعالیتی امروز انجام بدید چون اگر امروز فعالیتی انجام ندید دیگه نمیتونید روزهایی که میگذره رو توی گیتهاب سبز کنید.
از ساده ترین کارهایی که میتونید انجام بدید اینه که یک issue بزنید، فورک بگیرید.
امروز Saba و Ali قسمتی از کار رو گرفتن و Saba یک issue زد و توی پروفایل گیتهابش یک مشارکت دریافت کرد.
بنابراین هیچ روزی رو از دست ندید تا گیتهاب شما همیشه فعال بمونه.
بچه هایی که جاوا و پایتون و زبان دیگه ای کار میکنید شروع کنید به فورک گرفتن با هم هماهنگ بشید و issue بزنید و یک قسمتی رو پیاده سازی کنید.
❤️❤️
👍7
اولین پول رکوئست رو مرج کردیم...
پلن نشده بود ولی خب کار درستی رو انجام داد. آفرین.
2
منظور از fork چیه؟
سعی میکنم طوری توضیح بدم که همه متوجه بشن.

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

یه پروژه به نام Serialization روی گیتهاب وجود داره. وقتی شما اونو فورک میگیرید یعنی اونو میخواید شخصی سازی کنید. به خاطر اینکه روی سورس اصلی دسترسی پوش کردن و ارسال تغییرات ندارید.
وقتی فورک گرفتید آدرسش برای شما فرق میکنه یعنی از یک پروژه صدها نفر میتونن فورک بگیرن و کار کنن روی فورک خودشون.
بعد وقتی کارشون روی فورک خودشون تموم شد میتونن درخواست پول بزنن به پروژه ی اصلی تا تغییراتشون روی پروژه ی اصلی مرج بشه که بهش میگن pull request.
بعد از اینکه پول رکوئست شما مرج شد شما میشید عضو contribution های اون پروژه و اسمتون توی لیست کسانی که توی اون مشارکت داشتن میاد.

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

به پروژه ای که فورک کردید اصطلاحا میگن origin و به پروژه ی اصلی میگن upstream.
فورک شما فقط با اجازه ی شما توانایی sync شدن با upstream رو داره.

#فورک
#fork
#pullrequest
👍16👌6