Syntax | سینتکس
2.98K subscribers
423 photos
111 videos
35 files
392 links
Download Telegram
GitHubUnwrapped

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

https://www.githubunwrapped.com/

#github

@Syntax_fa
👍92
یک سال دیگم داره میگذره و چند ساعت دیگه وارد 2024 میشیم.

شمارو نمیدونم ولی من برای 2024 کلی برنامه دارم💥
(اگه دوست دارید اهدافتونو توی کامنت ها بگید شاید جهت بقیه رو هم تغییر داد)

از اونجا که اکثر ما برنامه نویسا با موجودی به اسم گیت هاب زیاد کار میکنیم و میشه گفت برای سنجیدن سطح فعالیت و پیشرفتمون صفحه گیت هابمون یکی از گزینه ها هستش،‌ برید توی وب سایت
https://www.githubunwrapped.com/
فعالیت سال 2023 تون رو گزارش میده. توی کامنت ها ارسال کنید.

ببینیم کیا خیلی فعال بودن 😁

ممکنه جایزه ناقابلی هم دریافت کنه اونی که بیشتر فعالیت کرده

#Github

@Syntax_fa
🔥7🤣4🎉3👎1🥰1
اپلیکیشن گیت هاب برای موبایل

میتونید issues , pull requests و commit و کلی قابلیت دیگه رو مدریت کنید. برای مواقعی که سیستم همراهتون نیست خوبه.

لینک دانلود برای اندروید:
https://play.google.com/store/apps/details?id=com.github.android&pli=1

#Github

@Syntax_fa
👍12👎1
وب سایت gitignore.io

هر وقت که با پروژه‌های گیت کار می‌کنی، احتمالاً خیلی وقتا با فایل gitignore سر و کار داری. این فایل خیلی مهمه، چون تعیین می‌کنه که کدوم فایل‌ها و پوشه‌ها باید توسط گیت ردیابی نشن و نباشن. مثلاً فایل‌های کش و فایل‌های محلی که نباید در ریپازیتوری گیت قرار بگیرن.

حالا به جای اینکه خودت وقت بذاری و بخش‌های مختلف فایل gitignore رو بنویسی، وب سایت gitignore.io میتونه کمکت کنه.

فقط کافیه بری به gitignore.io و تایپ کنی که چه نوع پروژه داری. مثلاً، اگه با پایتون و Django کار می‌کنی، میتونی python و Django رو تایپ کنی. بعدش لیستی از فایل‌ها و پوشه‌هایی که باید در فایل gitignore بنویسی رو میاره.

با یه کپی ساده از اون لیست، می‌تونی فایل gitignore خودت رو کامل کنی و اونو به ریپازیتوری گیتت اضافه کنی.

اگر پایتون کار میکنید، این ریپازیتوری ممکنه براتون در همین مورد جالب باشه
https://github.com/Hr-ArshA/Philoignore

#Github

@Syntax_fa
👍15
آشنایی با GitHub Codespaces

تو دنیای مدرن توسعه نرم افزار امروزی، سهولت و سرعت تو راه‌اندازی محیط‌های توسعه اهمیت زیادی داره. GitHub Codespaces یکی از ابزارهای نوآورانه‌ای هستش که به برنامه‌نویسا اجازه میده تا بتونن همه جا به راحتی به پروژه هاشون دسترسی داشته باشن، اجراشون کنن و به راحتی تو یه محیط ابری کدهاشون رو تغییر بدن.
همچنین codespaces بطور کامل روی GitHub ادغام شده که همین یکی از مزیت های بزرگشه.

چند تا از ویژگی ها
ش:
۱. از ویرایشگرهای مختلف از جمله Visual Studio Code و فکر کنم Jetbarins پشتیبانی میکنه.
۲. مثل یک محیط توسعه که روی سیستم خودتون نصبه، میتونید سفارش سازی کنید
۳.  به تیم‌ها این امکانو میده که به راحتی با همدیگه همکاری کنن.
۴.از اونجا که codespaces یک محیط ابری در اختیار شما قرار میده، میتونید از هر نقطه بهش دسترسی داشته باشید.
فرض کنید به سیستمون دسترسی ندارید و حالا نیازه یه سری باگ هارو رفع کنید. کافیه وارد محیط codespaces بشید، تغییرات رو بدید بعد کدتون رو تو codespaces ران و تست کنید.

این قابلیت هاشو من خیلی دوست داشتم:

۱. بهتون پلن رایگان میده که برای استفاده شخصی فکر میکنم کافیه
2 بهتون چیزی شبیه به یه سرور مجازی میده که منابع کمی هم نداره تو پلن رایگانش میتونید تا 4 هسته و 16 گیگ رم استفاده کنید.
3. از داکر و یا چیز های مختلف دیگه ای که نیاز دارید هم میتونید استفاده کنید.
4. میتونید پروژتون رو روی یه پورتی اجرا کنید و دسترسی پرایوت یا پابلیک بدید تا از طریق اینترنت بهش دسترسی داشته باشید. برای ران کردن نمونه کارا خوبه.
و ...

هنوز زیاد ازش استفاده نکردم. نحوه اجرا کردنش خیلی سادس ولی اگه خواستید توضیح میدم

#github #codespaces

@Syntax_fa
👍8💋4🔥21
Syntax | سینتکس
آشنایی با GitHub Codespaces تو دنیای مدرن توسعه نرم افزار امروزی، سهولت و سرعت تو راه‌اندازی محیط‌های توسعه اهمیت زیادی داره. GitHub Codespaces یکی از ابزارهای نوآورانه‌ای هستش که به برنامه‌نویسا اجازه میده تا بتونن همه جا به راحتی به پروژه هاشون دسترسی داشته…
نحوه راه اندازی یه GitHub codespaces:

خب خیلی سادس:
۱. رو codespaces کلیک میکنید
۲. بعد روی new codespaces
۳. تو این بخش مشخص میکنید میخواید برای کدوم ریپوزیتوری codespace رو بسازید و ریجن سرورش چی باشه و منابع چقدر داشته باشه. یه نکته رو دقت کنید. بصورت ماهانه تو پلن رایگان فقط پونزده گیگ میتونید فایل و ... رو تو codespace هاتون استفاده کنید. همچنین 120 ساعت در ماه از cpu تو پلن رایگان میتونید استفاده کنید که این رو درست متوجه نشدم. فکر کنم منظورش اکتیو بودن codespace هستش.
۴. بعد اینکه روی create codespace کلیک کردید یکم طول میکشه ساخته شه. بهتره از شکنی چیزی استفاده کنید در غیر اینصورت ممکنه درست اجرا نشه.
۵. بعد اینکه وارد محیط codespace شدید میتونید به راحتی با داکر سرویس هاتونو بالا بیارید و پروژتون رو پشت یه پورتی اجرا کنید. Codespace به شما اجازه میده که یه tpc connection رو باز کنید و بهش از طریق اینترنت دسترسی داشته باشید.
همچنین اگه پروژه پرایوت هستش میتونید بصورت پرایوت دسترسی بدید تا هرکی به پروژه دسترسی دارن بتونن ببینن یا اینکه بصورت public اجازه بدید تا همه بتونن دسترسی داشته باشن.

#github #codespace

@Syntax_fa
7👍6🔥1
مقایسه GitHub و GitLab

1. مالکیت:
- GitHub: متعلق به شرکت مایکروسافت.
- GitLab: متعلق به شرکت GitLab Inc.

2. جامعه (Community & Publicity):
- GitHub: بیش از 100 میلیون کاربر و سطح تبلیغات و شناخت عمومی بالا.
- GitLab: حدود 30 میلیون کاربر (تخمین زده‌شده) و سطح شناخت عمومی کمتر از GitHub.

3. فضای ذخیره‌سازی مخازن عمومی:
-
GitHub: فضای ذخیره‌سازی نامحدود.
- GitLab: پنج گیگابایت (تخمینی).

4. فضای ذخیره‌سازی مخازن خصوصی:
-
GitHub: پانصد مگابایت
-GitLab: پنج گیگابایت

5. دقیقه‌های محاسباتی CI برای پروژه‌های عمومی:

- GitHub: نامحدود.
- GitLab: چهارصد دقیقه (اگرچه در مستندات رسمی 50,000 دقیقه ذکر شده است، اما معمولاً 400 دقیقه ارائه می‌شود)

6. دقیقه‌های محاسباتی CI برای پروژه‌های خصوصی در ماه:
-
GitHub: دوهزار دقیقه
- GitLab: چهارصد دقیقه

7. حداکثر تعداد همکاران برای مخازن عمومی:
-
GitHub: نامحدود.
- GitLab: نامحدود.

8. حداکثر تعداد همکاران برای مخازن خصوصی:
-
GitHub: نامحدود.
- GitLab: محدود به 5 نفر.

#github #gitlab

@Syntax_fa
👍18🔥2
تو این ریپازیتوری، میتونید لیستی از workflow های از قبل تنظیم شده رو ببینید، کدهاشو بخونید و ازش استفاده کنید.

https://github.com/actions/starter-workflows/

دوست دارید در خصوص گیتهاب اکشن پست های بیشتری بذاریم؟ تو پروژه هاتون از گیتهاب اکشن استفاده می کنید؟

#github #workflow

@Syntax_fa
👍32🔥2
Syntax | سینتکس
تو این ریپازیتوری، میتونید لیستی از workflow های از قبل تنظیم شده رو ببینید، کدهاشو بخونید و ازش استفاده کنید. https://github.com/actions/starter-workflows/ دوست دارید در خصوص گیتهاب اکشن پست های بیشتری بذاریم؟ تو پروژه هاتون از گیتهاب اکشن استفاده می کنید؟…
چه کسایی سمت گیتهاب اکشن نسخه رایگانش نرن؟

بنظرم خیلی از موارد گزینه مناسبیه ولی اگه:
ریپازیتوری پرایوت شما بیشتر از 2000 دقیقه در ماه قراره روش جاب های مختلف ورکفلو هاتون اجرا بشه.
ریپازیتوری پابلیک ->‌بیشتر از 16 گیگ رم و 14 گیگ فضا و 4 تا پردازنده نیاز دارید.
ریپازیتوری پرایوت -> بیشتر از 7 گیگ رم و 14 گیگ فضا و 2 پردازنده نیاز دارید.

در غیر اینصورت گزینه خیلی خوبیه مخصوصا برای استفاده شخصی

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

#github #workflow

@syntax_fa
👍14
به عنوان آخرین پست امسال این آموزش فان رو بهتون تقدیم می کنم

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

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

حالا چطور اینکارو انجام بدیم؟
گیتهاب اکشن یه قابلیتی داره که میتونیم تنظیم کنیم یه ورکفلو بصورت دوره تکرار همش اجرا بشه
خب پس قسمت اول مسئله حل شد بقیشم که کاری نداره یدونه smtp میخوایم اونم جیمیل در اختیارمون قرار میده و تا روزی 500 تا ایمیل هم رایگان میتونیم ارسال کنیم پس فقط نیازه یه سری ریکوئست و فیلتر ساده بزنیم تا پول ریکوئست های مدنظر رو در بیاریم و به آدرس ایمیل اشخاصی که ریویو میکنن ارسال کنیم.

در نهایت این ورکفلو رو پیادش کردم:
https://github.com/alireza-fa/github-actions/blob/main/.github/workflows/check_prs_and_send_email.yml

#github_action

@syntax_fa
13👍6🔥1🥰1
چند تا گیتهاب اکشن کاربردی که بدرد اکثر ریتوزیتوری ها میخوره:

1. اکشن لینت
با این اکشن، اکشن هارو لینت کن و بررسی کن ورژن ها، سینتکس و همه چی اوکیه یا نه. همچنین خودش تو پول ریکوئست ها کامنت هم میذاره و مشکلات رو میگه.

نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/action-lint.yml

2. داکر لینت:
فایل Dockerfile هارو لینت میکنه
از نظر امنیتی، استاندارد و اینکه الکی حجم ایمیج رو زیاد نکرده باشید و ... لینت میکنه.

نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/docker-lint.yml


3. کامیت لینت:
لینت کردن کامیت ها مسیج کامیت و ...

نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/commit-lint.yml

4. SQL Lint:
فایل های sql رو لینت میکنه.

نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/sql-lint.yml


5. دپلوی روی داکر هاب
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/admin-deploy.yml


#github #action

@Syntax_fa
👍8❤‍🔥2🔥21
ترفند Issue Trick یا Github Asset Hosting

میخواید پروژتون رو توی README با استفاده از گیف و ویدیو معرفی کنید ولی نمیدونید فایل هارو کجا قرار بدید؟
اگه فایلتون حجمش کمه مثلا زیر 3 مگ، میتونید تو دایرکتوری docs داخل خود سورس کد پروژه بذارید ولی بازم روش خوبی نیست بنظرم.

اما اگه فایلتون حجمش زیاده بنظرتون اینکار منطقیه؟
یکی بخواد clone کنه باید همراهش چند تا فایل بی ربط رو دانلودش کنه.

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

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

میریم قسمت ایشو
یک ایشو جدید باز میکنیم
بعد فایلمون رو تو قسمت description آپلود میکنیم.
بعدش صبر کنید تا آپلود فایل تموم بشه.
گیتهاب به شما یک لینک میده.
همونو کپی کنید تو README قرارش بدید!

نکته طلایی:
اصلا نیازی نیست دکمه submit new issue رو بزنید! حتی اگه ایشو کنسل بشه یا کامل ببندید و نسازیدش، اون فایل روی سرور های پرسرعت گیت‌هاب باقی میمونن!

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

نکته:
توی خود README هم میتونید همینکارو کنید.

#github

@Syntax_fa
🔥73👍2