❗ برنامه PDANet، انتقال فیلترشکن گوشیت به سیستمت!
این برنامه رو چند روز پیش چنل Code Explore معرفی کرده بود، خیلی به کارم اومد گفتم منم راجبش پست بزارم.
⚡ این برنامه به شما این امکان رو میده که فیلترشکن گوشیتون رو به سیستمتون شیر کنید؛ چجوری؟ با استفاده از proxyایی که خودش برا خودش میسازه.
🎖️ این برنامه برای Android و iOS و Windows درست شده، اما میشه با یکم زحمت داخل linux و macos هم ازش استفاده کرد
◀️ لینک دانلود
❔ روش استفاده در Linux:
قراره یکم براتون عجیب باشه، ولی خب. برنامه رو داخل گوشیتون نصب کنید. WiFi گوشی خودتون رو روشن کنید ( بله WiFi، هات اسپات نه ). دکمه WiFi Direct Hotspot رو بزنید، یه حالتی هات اسپات شکل میگیره و بهتون یه ip و port میده. حالا داخل سیستم بهش وصل شید، و داخل هربرنامه ای که استفاده میکنید، به اون ip و port به عنوان پروکسی http متصل بشید و تمام.
پ.ن: فقط لینوکس دارم بقیه رو بلد نیستم
این برنامه رو چند روز پیش چنل Code Explore معرفی کرده بود، خیلی به کارم اومد گفتم منم راجبش پست بزارم.
⚡ این برنامه به شما این امکان رو میده که فیلترشکن گوشیتون رو به سیستمتون شیر کنید؛ چجوری؟ با استفاده از proxyایی که خودش برا خودش میسازه.
🎖️ این برنامه برای Android و iOS و Windows درست شده، اما میشه با یکم زحمت داخل linux و macos هم ازش استفاده کرد
◀️ لینک دانلود
❔ روش استفاده در Linux:
قراره یکم براتون عجیب باشه، ولی خب. برنامه رو داخل گوشیتون نصب کنید. WiFi گوشی خودتون رو روشن کنید ( بله WiFi، هات اسپات نه ). دکمه WiFi Direct Hotspot رو بزنید، یه حالتی هات اسپات شکل میگیره و بهتون یه ip و port میده. حالا داخل سیستم بهش وصل شید، و داخل هربرنامه ای که استفاده میکنید، به اون ip و port به عنوان پروکسی http متصل بشید و تمام.
پ.ن: فقط لینوکس دارم بقیه رو بلد نیستم
👍5❤3
هرگز با itertools.cycle شوخی نکنید.
امروز حواسم نبود زدم کل سرور رو باهاش ترکوندم
برای اینکه عمق انفجار رو درک کنید:
امروز حواسم نبود زدم کل سرور رو باهاش ترکوندم
برای اینکه عمق انفجار رو درک کنید:
files = [
f"a.{i}" for i in itertools.cycle(["zip", "txt"])
]
😁1
Coding Lovers
هرگز با itertools.cycle شوخی نکنید. امروز حواسم نبود زدم کل سرور رو باهاش ترکوندم برای اینکه عمق انفجار رو درک کنید: files = [ f"a.{i}" for i in itertools.cycle(["zip", "txt"]) ]
خُب، itertools.cycle یه جور چرخشِ بیپایان توی یه لیست یا هر چیز قابل شمارش (iterable) دیگه ایجاد میکنه.
فرض کن یه لیست از میوهها داری: ['سیب', 'موز', 'گلابی'].
وقتی این لیست رو به itertools.cycle میدی، یه iterator میگیری که میتونی باهاش بارها و بارها از این میوهها استفاده کنی:
1. اول: 'سیب'
2. دوم: 'موز'
3. سوم: 'گلابی'
4. چهارم: 'سیب' (از اول شروع میشه)
5. پنجم: 'موز' (و به همین ترتیب)
یعنی این چرخش هیچ وقت تموم نمیشه و به طور مداوم میوهها رو بهت میده.
پ.ن:
گفتم شاید جالب باشه برای اونایی که نمیدونن، بدونن این فانکشن چه کاری میکنه.
پس خودم یه توضیحی راجبش نوشتم، ولی حس کردم یکم پیچیده است به Gpt گفتم ساده اش کنه اینو داد
فرض کن یه لیست از میوهها داری: ['سیب', 'موز', 'گلابی'].
وقتی این لیست رو به itertools.cycle میدی، یه iterator میگیری که میتونی باهاش بارها و بارها از این میوهها استفاده کنی:
1. اول: 'سیب'
2. دوم: 'موز'
3. سوم: 'گلابی'
4. چهارم: 'سیب' (از اول شروع میشه)
5. پنجم: 'موز' (و به همین ترتیب)
یعنی این چرخش هیچ وقت تموم نمیشه و به طور مداوم میوهها رو بهت میده.
پ.ن:
گفتم شاید جالب باشه برای اونایی که نمیدونن، بدونن این فانکشن چه کاری میکنه.
پس خودم یه توضیحی راجبش نوشتم، ولی حس کردم یکم پیچیده است به Gpt گفتم ساده اش کنه اینو داد
👍6❤3
تو این ویدیو ۵ تا از مهمترین تکنیکهایی که برنامهنویسهای خوب پایتون استفاده میکنن رو یاد میگیریم.
اگه میخوای کدهات تمیزتر و حرفهایتر بشه، این ویدیو رو از دست نده!
حتی اگه تازه شروع کردی، این نکتهها بهت کمک میکنه خیلی سریعتر پیشرفت کنی.
از اینجا ببینید:
https://youtube.com/@CodingLovers
اگه میخوای کدهات تمیزتر و حرفهایتر بشه، این ویدیو رو از دست نده!
حتی اگه تازه شروع کردی، این نکتهها بهت کمک میکنه خیلی سریعتر پیشرفت کنی.
از اینجا ببینید:
https://youtube.com/@CodingLovers
❤11
میدونین نرم افزار ها از چه قوانینی برای ورژنشون استفاده میکنن؟
امروز یه پروژه ای رو دیدم که هیچ قانونی رو دنبال نمیکرد ( و از قضا ایرانی هم بود 😐💔 )، به سرم زد درباره ورژن بندی توضیح بدم.
▎1. Semantic Versioning (SemVer)
از پراستفاده ترین 🔥 روش های ورژن بندی، که تشکیل شده از این فرمت
MAJOR.MINOR.PATCH
که تغییر دادنه هرکدوم قوانین خودش رو داره
فرمت کامل تر:
MAJOR.MINOR.PATCH[-beta][+number]
مثال:
1.0.4-beta+132483
▎2. CalVer (Calendar Versioning)
تاریخ انتشار 📅 رو میزارن به عنوان ورژن برنامه ( اینستاگرام این کار رو میکنه فکر کنم )
فرمت:
YYYY.MM.DD
مثال:
2024.8.12
▎3. Incremental Versioning
1️⃣ هیچ قانونی نداره فقط یه عدد میزاری برای هر ورژن. مثلا داخل api ها کاربرد داره. برای مثال مسیر یه api میتونه اینجوری باشه:
/api/v2
/api/v3
▎4. Revision Control Versioning
اینجا بحث عدد نیست. برای هر ورژن یک hash در نظر میگیریم ( مثلا a6wyehb48 ) و قانون خاصی نداره. از این روش git برای ورژن بندی کردن و کنترل پروژه استفاده میکنه
باز هم روش هایی هست ولی پراستفاده ترین و معقول ترین هاش همینان ...
راجب Semver پست خواهم گذاشت ...
امروز یه پروژه ای رو دیدم که هیچ قانونی رو دنبال نمیکرد ( و از قضا ایرانی هم بود 😐💔 )، به سرم زد درباره ورژن بندی توضیح بدم.
▎1. Semantic Versioning (SemVer)
از پراستفاده ترین 🔥 روش های ورژن بندی، که تشکیل شده از این فرمت
MAJOR.MINOR.PATCH
که تغییر دادنه هرکدوم قوانین خودش رو داره
فرمت کامل تر:
MAJOR.MINOR.PATCH[-beta][+number]
مثال:
1.0.4-beta+132483
▎2. CalVer (Calendar Versioning)
تاریخ انتشار 📅 رو میزارن به عنوان ورژن برنامه ( اینستاگرام این کار رو میکنه فکر کنم )
فرمت:
YYYY.MM.DD
مثال:
2024.8.12
▎3. Incremental Versioning
1️⃣ هیچ قانونی نداره فقط یه عدد میزاری برای هر ورژن. مثلا داخل api ها کاربرد داره. برای مثال مسیر یه api میتونه اینجوری باشه:
/api/v2
/api/v3
▎4. Revision Control Versioning
اینجا بحث عدد نیست. برای هر ورژن یک hash در نظر میگیریم ( مثلا a6wyehb48 ) و قانون خاصی نداره. از این روش git برای ورژن بندی کردن و کنترل پروژه استفاده میکنه
باز هم روش هایی هست ولی پراستفاده ترین و معقول ترین هاش همینان ...
راجب Semver پست خواهم گذاشت ...
1👍6❤4
قوانین Semantic Versioning
روش ها رو معرفی کردیم، حالا وقتشه مهم ترینشون رو یاد بدیم.
تمامی پروژه های معروف جز چند تا، از این روش استفاده میکنن.
ما داخل این روش سه عدد اصلی داریم که با نقطه از هم جدا میشن:
MAJOR.MINOR.PATCH
1️⃣ قانون یک:
عدد Major: این عدد تنها زمانی اجازه تغییر دارد که تغییری که در نرم افزار ایجاد شده است با نسخه های قبلی ناسازگار است. برای مثال سینتکس پایتون 2 داخل پایتون 3 اجرا نمیشه و برعکس.
2️⃣ عدد Minor: این عدد تنها زمانی اجازه تغییر دارد که فیچری اضافه شده، یا تغییر مهمی صورت گرفته که با نسخه های قبلی سازگار است. برای مثال داخل پایتون 3.10 ویژگی match اومد، ولی سورس های ورژن 3.9 قابل اجرا هستن داخل 3.10
3️⃣ عدد Patch: این عدد تنها زمانی اجازه تغییر دارد که باگی یا مشکلی یا هر تغییر جزئی داخل نرم افزار صورت گرفته است.
قانون دو:
وقتی عددی رو ارتقا میدید، عدد های بعدیش باید صفر بشن.
برای مثال اگه minor رو تغییر میدید، باید patch صفر بشه.
3.18.4 -> 3.19.0
شروع ورژن گذاری
نسخه های ازمایشی:
دیدید بعضی برنامه ها ورژن های ازمایشی میدن بیرون ( مثلا تلگرام )
ورژن های ازمایشی رو اینجا این شکلی نشون میدیم:
Major.Minor.Patch-rc0
◀️ جای rc میتونه اسم های beta، alpha یا nightly قرار بگیره، در بعضی جاها فقط اولین کلمه رو میزارن: a یا b یا n
و عدد بعد از rc میتونه سر هر تغییری در نسخه ازمایشی، تغییر کنه ( یا کلا میتونین عددی نزارین اینجا )
برای مثال:
7.2.9-alpha8 -> 7.2.9-alpha9
نرم افزار دارای فایل های metadata:
اول اینکه فایل های metadata چی هستن؟ هر فایل چرت و پرتی که مربوط به برناممون نیست ولی ازشون استفاده میکنیم.
مثلا نرم افزار های iana که برای تشخیص مکان آیپی استفاده میشن، از دیتابیس های از پیش اماده استفاده میکنن که این دیتابیس هارو میتونیم به عنوان metadata در نظر بگیریم.
ما در این روش، این فایل هارو اینشکلی ورژن بندی میکنیم:
Major.Minor.Patch+number
برای مثال:
4.1.4+1234
و هروقت اگه اون فایل های metadata رو فقط اپدیت کنیم، میتونیم این اعداد رو بیشتر کنیم:
4.1.4+1269
⚡ امیدوارم لذت برده باشید ...
یه مثال کُلی از همه ی موارد:
1.81.2-b1+728466
روش ها رو معرفی کردیم، حالا وقتشه مهم ترینشون رو یاد بدیم.
تمامی پروژه های معروف جز چند تا، از این روش استفاده میکنن.
ما داخل این روش سه عدد اصلی داریم که با نقطه از هم جدا میشن:
MAJOR.MINOR.PATCH
1️⃣ قانون یک:
عدد Major: این عدد تنها زمانی اجازه تغییر دارد که تغییری که در نرم افزار ایجاد شده است با نسخه های قبلی ناسازگار است. برای مثال سینتکس پایتون 2 داخل پایتون 3 اجرا نمیشه و برعکس.
2️⃣ عدد Minor: این عدد تنها زمانی اجازه تغییر دارد که فیچری اضافه شده، یا تغییر مهمی صورت گرفته که با نسخه های قبلی سازگار است. برای مثال داخل پایتون 3.10 ویژگی match اومد، ولی سورس های ورژن 3.9 قابل اجرا هستن داخل 3.10
3️⃣ عدد Patch: این عدد تنها زمانی اجازه تغییر دارد که باگی یا مشکلی یا هر تغییر جزئی داخل نرم افزار صورت گرفته است.
قانون دو:
وقتی عددی رو ارتقا میدید، عدد های بعدیش باید صفر بشن.
برای مثال اگه minor رو تغییر میدید، باید patch صفر بشه.
3.18.4 -> 3.19.0
شروع ورژن گذاری
نسخه های ازمایشی:
دیدید بعضی برنامه ها ورژن های ازمایشی میدن بیرون ( مثلا تلگرام )
ورژن های ازمایشی رو اینجا این شکلی نشون میدیم:
Major.Minor.Patch-rc0
◀️ جای rc میتونه اسم های beta، alpha یا nightly قرار بگیره، در بعضی جاها فقط اولین کلمه رو میزارن: a یا b یا n
و عدد بعد از rc میتونه سر هر تغییری در نسخه ازمایشی، تغییر کنه ( یا کلا میتونین عددی نزارین اینجا )
برای مثال:
7.2.9-alpha8 -> 7.2.9-alpha9
نرم افزار دارای فایل های metadata:
اول اینکه فایل های metadata چی هستن؟ هر فایل چرت و پرتی که مربوط به برناممون نیست ولی ازشون استفاده میکنیم.
مثلا نرم افزار های iana که برای تشخیص مکان آیپی استفاده میشن، از دیتابیس های از پیش اماده استفاده میکنن که این دیتابیس هارو میتونیم به عنوان metadata در نظر بگیریم.
ما در این روش، این فایل هارو اینشکلی ورژن بندی میکنیم:
Major.Minor.Patch+number
برای مثال:
4.1.4+1234
و هروقت اگه اون فایل های metadata رو فقط اپدیت کنیم، میتونیم این اعداد رو بیشتر کنیم:
4.1.4+1269
⚡ امیدوارم لذت برده باشید ...
یه مثال کُلی از همه ی موارد:
1.81.2-b1+728466
❤6👍4🔥1
امروز روز برنامه نویس هاست، روز ۲۵۶م از سال ۲۰۲۴
روزتون مبارک ❤️
حالا میدونستین ۴۲ روز دیگه باز هم روز برنامه نویسه؟ میدونین چرا؟
روزتون مبارک ❤️
حالا میدونستین ۴۲ روز دیگه باز هم روز برنامه نویسه؟ میدونین چرا؟
❤18👎4
بهترین لحظه ای که میتونی کسی رو به قتل برسونی
اون لحظهس که به طرف قیمت میدی، میاد بهت اسکرین شات از هوش مصنوعی میده میگه بفرما
ما داریم اینجا زحمت میکشیم :/
اون لحظهس که به طرف قیمت میدی، میاد بهت اسکرین شات از هوش مصنوعی میده میگه بفرما
ما داریم اینجا زحمت میکشیم :/
🤣8😁4🔥3👍1
سبک زندگی برنامه نویس چگونه باید باشد؟
امروز یه مطلب خوندم خیلی باهاش حال کردم که عنوانش همین بود
درواقع ۱۵ مشکل و نکته رو میگه که حتما باید حواسمون بهشون باشه
خودم سه چهار تاش رو رعایت نمیکنم
خواستم باهاتون به اشتراک بزارم ❤️
https://nabeghesaz.com/the-lifestyle-of-a-programmer/
امروز یه مطلب خوندم خیلی باهاش حال کردم که عنوانش همین بود
درواقع ۱۵ مشکل و نکته رو میگه که حتما باید حواسمون بهشون باشه
خودم سه چهار تاش رو رعایت نمیکنم
خواستم باهاتون به اشتراک بزارم ❤️
https://nabeghesaz.com/the-lifestyle-of-a-programmer/
👍11❤2
🐉 یه حرکت بشدت جالب از Kali Linux
خبر قدیمیه، ولی من تازه فهمیدمش
۹۰ درصدتون میدونید کالی لینوکس یه سیستم عامل هست که با هدف امنیت و هک و پینترست طراحی شده که الان نزدیک ۸ گیگ ابزار هکینگ رو توسعه داده و در خودش داره
🟣 امسال یه سیستم عامل جدید داده بیرون!
اسمش Purple Kali هستش و دقیقا ضد Kali Linux عمل میکنه
این سیستم عامل با هدف حفظ امنیت و پشتیبانی و ریکاوری اطلاعات طراحی شده و دقیقا حریف Kali Linux قرار میگیره ...
کلی ابزار ریکاوری و حفظ امنیت داخل خودش داره که میشه باهاش امنیت یک مکان رو حفظ کرد
اینجاست که باید گفت: کالی لینوکس ۱۱ ساله هستش، و هنوزم تنها رقیبش خودشه ...
پ.ن: جوگیر شدم امشب کالی میریزم 😂
خبر قدیمیه، ولی من تازه فهمیدمش
۹۰ درصدتون میدونید کالی لینوکس یه سیستم عامل هست که با هدف امنیت و هک و پینترست طراحی شده که الان نزدیک ۸ گیگ ابزار هکینگ رو توسعه داده و در خودش داره
🟣 امسال یه سیستم عامل جدید داده بیرون!
اسمش Purple Kali هستش و دقیقا ضد Kali Linux عمل میکنه
این سیستم عامل با هدف حفظ امنیت و پشتیبانی و ریکاوری اطلاعات طراحی شده و دقیقا حریف Kali Linux قرار میگیره ...
کلی ابزار ریکاوری و حفظ امنیت داخل خودش داره که میشه باهاش امنیت یک مکان رو حفظ کرد
اینجاست که باید گفت: کالی لینوکس ۱۱ ساله هستش، و هنوزم تنها رقیبش خودشه ...
پ.ن: جوگیر شدم امشب کالی میریزم 😂
👍16😁2👎1
دوتا فانکشن بیلت این پرکاربر پایتون
وقتی میخواید یه Iterable رو چک کنید که همه آیتم ها Truthy هستند یا نه، یا وقتی میخواید ببینید یکی از ایتم ها Truthy هست یا ن، از اینا استفاده میشه
https://youtube.com/shorts/UEt87e0CeLU?si=bLpR27L712PsPVI6
وقتی میخواید یه Iterable رو چک کنید که همه آیتم ها Truthy هستند یا نه، یا وقتی میخواید ببینید یکی از ایتم ها Truthy هست یا ن، از اینا استفاده میشه
https://youtube.com/shorts/UEt87e0CeLU?si=bLpR27L712PsPVI6
❤4
کار رو سرم ریخته بدجور
خیلی تو برنامه ریزی خوب نیستم و تنبل بودن هم باعث میشه کارام همیشه عقب بیفته و همشون یجا یهو باید انجام بدم
واسه همینه که خیلی فعال نیستم، اوکیش میکنم و میام
شما وضعتون چطوره؟ پروژه میاد قطار قطار؟
خیلی پروژه زیاد شده اخیرا یا من توهم زدم؟
خیلی تو برنامه ریزی خوب نیستم و تنبل بودن هم باعث میشه کارام همیشه عقب بیفته و همشون یجا یهو باید انجام بدم
واسه همینه که خیلی فعال نیستم، اوکیش میکنم و میام
شما وضعتون چطوره؟ پروژه میاد قطار قطار؟
خیلی پروژه زیاد شده اخیرا یا من توهم زدم؟
🔥11❤2👍1
حسودیم میشه به مدرسه ای ها
عادی نیست 🚬
دوران مدرسه خوبی داشتم
چند نفر تون میرید مدرسه؟
عادی نیست 🚬
دوران مدرسه خوبی داشتم
چند نفر تون میرید مدرسه؟
❤8👍2
❔ فرق متود
هردوی این متود ها، مجیک متود هایی هستن که مشخص میکنن وقتی یک classیی قراره پرینت بشه، به چه صورتی باید پرینت بشه.
برای مثال:
✨ خب فرقشون کجاست؟
اگه از مجیک متود str استفاده کنین، فقط در صورتی کلاستون چیزی که میخواید نوشته میشه که مستقیم به str(x) داده بشه، یا مستقیم به print داده بشه.
این کد رو ببینید:
اخر کد رو دقت کردید؟ چرا چیزی که خواستیم پرینت نشد؟ یعنی [ "A: ILY" ]
چون مستقیم به print داده نشدن، اما وقتی از مجیک متود repr استفاده کنید، هرجای دنیا که کلاستون رو پرینت کنین، یا بزنین repr(x) یا بزنین str(x)، به چیزی که میخواید تبدیل میشه:
__str__ و __repr__ میدونین چیه؟هردوی این متود ها، مجیک متود هایی هستن که مشخص میکنن وقتی یک classیی قراره پرینت بشه، به چه صورتی باید پرینت بشه.
برای مثال:
class A:
def __repr__(self):
return "A: I love you"
a = A()
print(a)
# A: I love you
✨ خب فرقشون کجاست؟
اگه از مجیک متود str استفاده کنین، فقط در صورتی کلاستون چیزی که میخواید نوشته میشه که مستقیم به str(x) داده بشه، یا مستقیم به print داده بشه.
این کد رو ببینید:
class A:
def __str__(self):
return "A: ILY"
a = A()
print(a)
# A: ILY
text = str(a)
print(text)
# A: ILY
print( [ a ] )
# [<A at 0xisi83ijsiow837>]
اخر کد رو دقت کردید؟ چرا چیزی که خواستیم پرینت نشد؟ یعنی [ "A: ILY" ]
چون مستقیم به print داده نشدن، اما وقتی از مجیک متود repr استفاده کنید، هرجای دنیا که کلاستون رو پرینت کنین، یا بزنین repr(x) یا بزنین str(x)، به چیزی که میخواید تبدیل میشه:
class A:
def __repr__(self):
return "A: ILY"
a = A()
print(a)
# A: ILY
text = repr(a)
print(text)
# A: ILY
print( [ a ] )
# ["A: ILY"]
🔥9❤1
تبدیل یک سرگرمی، به پروژه ای بزرگ ...
سال ۱۹۹۱، Linus Torvalds، همزمان که دانشجوی علوم کامپیوتر بود، شروع میکنه توی اوقات فراغت خودش و برای سرگرمی خودش، پروژه ای به اسم Linux رو پیش میبره
تنها هدفشم اینه که با پردازنده ی جدید Intel، که اولین پردازنده x86 هست سازگاری داشته باشه تا بتونه با کامپیوتر جدیدش کار کنه
همونطور ک داخل کتابش نوشته: «این پروژه قرار نیست پروژه بزرگی باشه و فقط یک پروژه شخصیه، مثل gnu نخواهد شد.»
اول که سیستم رو میزنه و استفاده هاشو میکنه، به سرش میزنه از ساختار system-callsعه سیستمه Unix، الهام بگیره و روی Linux هم پیاده سازیش کنه
روی سیستم فقط bash و gcc رو میسازه، و به صورت اوپن سورس پخشش میکنه ...
حالا این Linux، بزرگترین و پراستفاده ترین سیستم در دنیاست ...
گوشیه توی دستتون، سیستم ضبط ماشین، ساعت مچی هوشمند، هزاران توزیععه مختلف ازش، سیستمه مدیریت ماشین های خفن، ابرکامپیوتر ها ...
همه و همه از هسته ی Linux استفاده میکنن ...
بنظرتون فکرش رو میکرد که سرگرمیش، همچین چیزی بشه؟🤔
اون فقط یک عادت کوچیک برای خودش خلق کرده بود «کد زدن روی پروژه های خودش در زمان فراغت» جای گشتن توی اکسپلور اینستا ( اونموقع ک اینستا نبود ولی خب، به در زدم دیوار بشنوه )
تازه اینم هست:
https://t.iss.one/CodingLovers_GP/98747
سال ۱۹۹۱، Linus Torvalds، همزمان که دانشجوی علوم کامپیوتر بود، شروع میکنه توی اوقات فراغت خودش و برای سرگرمی خودش، پروژه ای به اسم Linux رو پیش میبره
تنها هدفشم اینه که با پردازنده ی جدید Intel، که اولین پردازنده x86 هست سازگاری داشته باشه تا بتونه با کامپیوتر جدیدش کار کنه
همونطور ک داخل کتابش نوشته: «این پروژه قرار نیست پروژه بزرگی باشه و فقط یک پروژه شخصیه، مثل gnu نخواهد شد.»
اول که سیستم رو میزنه و استفاده هاشو میکنه، به سرش میزنه از ساختار system-callsعه سیستمه Unix، الهام بگیره و روی Linux هم پیاده سازیش کنه
روی سیستم فقط bash و gcc رو میسازه، و به صورت اوپن سورس پخشش میکنه ...
حالا این Linux، بزرگترین و پراستفاده ترین سیستم در دنیاست ...
گوشیه توی دستتون، سیستم ضبط ماشین، ساعت مچی هوشمند، هزاران توزیععه مختلف ازش، سیستمه مدیریت ماشین های خفن، ابرکامپیوتر ها ...
همه و همه از هسته ی Linux استفاده میکنن ...
بنظرتون فکرش رو میکرد که سرگرمیش، همچین چیزی بشه؟🤔
اون فقط یک عادت کوچیک برای خودش خلق کرده بود «کد زدن روی پروژه های خودش در زمان فراغت» جای گشتن توی اکسپلور اینستا ( اونموقع ک اینستا نبود ولی خب، به در زدم دیوار بشنوه )
تازه اینم هست:
https://t.iss.one/CodingLovers_GP/98747
❤8👍2
وقتشه از MySQL بریم سراغ PostgreSQL 🐘
دیتابیس PostgreSQL امروز نسخه ۱۷ خودش رو منتشر کرد، و پرفورمنس خودش رو حدودن ۳۰ درصد بهتر کرد، و کلی ابزار جدید با خودش اورد.
میتونم پیشنهاد کنم کوچ کنین به PostgreSQL ...
سایت رسمی
مقایسه نسخه ۱۶ و ۱۷
دیتابیس PostgreSQL امروز نسخه ۱۷ خودش رو منتشر کرد، و پرفورمنس خودش رو حدودن ۳۰ درصد بهتر کرد، و کلی ابزار جدید با خودش اورد.
میتونم پیشنهاد کنم کوچ کنین به PostgreSQL ...
سایت رسمی
مقایسه نسخه ۱۶ و ۱۷
❤6👍2
از کجا ایموجی انتخاب میکنی ❓
انتخاب کردن ایموجی مناسب واسه متن ها داخل پروژه ( مخصوصا ربات تلگرام )، واقعا کار سختیه، من از emojidb.org استفاده میکنم ...
داخل کامنت ها بگین شما از چی استفاده میکنین؟
انتخاب کردن ایموجی مناسب واسه متن ها داخل پروژه ( مخصوصا ربات تلگرام )، واقعا کار سختیه، من از emojidb.org استفاده میکنم ...
داخل کامنت ها بگین شما از چی استفاده میکنین؟
❤8