Forwarded from کانال مهرداد لینوکس
🔥برگه راهنمای دستورات مهم شبکه، درلینوکس
سیو کنید داشته باشید به کارتون میاد
دستور ها سخته؟
قبلا در مورد
✅ صفحات TLDR و IntelliSense صحبت کردیم کار را خیلی راحت کرده اگر آشنایی ندارید
روی لینک ها کلیک کنید توضیح دادم
🔥از این آسون تر؟😎
❤️ ممنون از حمایت هاتون 💐🌺
#ابزار_کاربردی #لینوکس #Utility #linux
#cheat_sheet
سیو کنید داشته باشید به کارتون میاد
دستور ها سخته؟
قبلا در مورد
✅ صفحات TLDR و IntelliSense صحبت کردیم کار را خیلی راحت کرده اگر آشنایی ندارید
روی لینک ها کلیک کنید توضیح دادم
🔥از این آسون تر؟😎
❤️ ممنون از حمایت هاتون 💐🌺
#ابزار_کاربردی #لینوکس #Utility #linux
#cheat_sheet
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
گوگل لحظاتی پیش اشتراک پرمیوم Notebook LM رو هم به پکیج گوگل وان اضافه کرد.
با آپدیتهای اخیر گوگل برای سری 2.0 Gemini و این نوتبوک و همینطور ۲ ترابایت حافظه ابری و تمام سرویسهایی که از قبل برای مشترکان گوگلوان بود، میشه گفت این الان ارزشمندترین ۲۰ دلاریه که میتونید بدید.
@DevTwitter | <Amin Anvary/>
با آپدیتهای اخیر گوگل برای سری 2.0 Gemini و این نوتبوک و همینطور ۲ ترابایت حافظه ابری و تمام سرویسهایی که از قبل برای مشترکان گوگلوان بود، میشه گفت این الان ارزشمندترین ۲۰ دلاریه که میتونید بدید.
@DevTwitter | <Amin Anvary/>
Forwarded from متخصص وردپرس | پوینا
این روزا دارن به همه پیام میدن میگن سایتتون مشکل امنیتی داره بعد ازتون پول میگیرن
بعد سه چهار تا مشکل رایج وردپرس هم بهتون میگن
حتی سایت پوینا که ما مدت هاست هیچی توش نداریم بار ها اومدن گزارش امنیتی دادن بعد گفتیم سایت که چیزی نداره یه صفحه html هست روی کلود فلر
بعد گفتن عه ندیدیم ببخشید فقط میخوان پول بگیرن مراقب باشید
تا الان بالای صد تا پیام از اینا اومده برای ما و مشتریانمون
@poinair پوینا
بعد سه چهار تا مشکل رایج وردپرس هم بهتون میگن
حتی سایت پوینا که ما مدت هاست هیچی توش نداریم بار ها اومدن گزارش امنیتی دادن بعد گفتیم سایت که چیزی نداره یه صفحه html هست روی کلود فلر
بعد گفتن عه ندیدیم ببخشید فقط میخوان پول بگیرن مراقب باشید
تا الان بالای صد تا پیام از اینا اومده برای ما و مشتریانمون
@poinair پوینا
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
دوستانی که مقاله مینویسن یا هرچیز دیگه و نیاز دارن که معادله ریاضیو کپی از ChatGpt، میتونن از این کروم اگستنشن استفاده کنن و به فرمت LaTex و MathML برای ورد خروجی میده میتونید استفاده کنید
کدشو تو گیت هاب گذاشته اگر ایده ای دارید میتونید استفاده کنید
https://github.com/joeeliang/gptCopy
@DevTwitter | <The Boss/>
کدشو تو گیت هاب گذاشته اگر ایده ای دارید میتونید استفاده کنید
https://github.com/joeeliang/gptCopy
@DevTwitter | <The Boss/>
Forwarded from haashemi.dev
+ عه چه نکتهی جالبی، برم به اشتراک بذارم.
اتفاقی که بعد از اشتراکگذاری میوفته:
این جمع عالیه. 😂😂😂
اتفاقی که بعد از اشتراکگذاری میوفته:
این جمع عالیه. 😂😂😂
Forwarded from Go Casts 🚀
تو جلسات code review به چه چیزایی گیر بدیم؟
اینی که میگم صرفا تجربه شخصی من هست و لزوما همه نکاتش درست نیست و همه جا جواب نده!
من سعی میکنم فضای ذهنی تیم رو برای code review به گونه ای آماده کنم که به صورت incremental نحوه ریویو کد تغییر کنه.
مثلا تو جلسه اول یا جلسات اولیه خوبه که به جزیی ترین نکات کد گیر داده بشه و کلا merge requestها کوچیک باشن که بشه سختگیرانه تر ریویو کرد.
هر چقدر که جلسات کد ریویو جلوتر میره سعی میکنم بیشتر روی ساختار کد از نظر معماری و نکات طراحی و چالش های پیاده سازی خاص سخت گیری کنم و دیگه به جزییات کدهای تیپیکال کمتر توجه کنم. چرا؟ چون انتظار دارم بصورت تدریجی هر چقدر که جلو میریم افراد تیم با باید و نبایدهای ریویو بیشتر آشنا شده باشن و نکات معمولی رو رعایت کنن.
استفاده از ابزارهای lint در ci هم میتونه کمک کنه که یه سری سختگیری های ریویو توسط ci انجام بشه و تمرکز reviewer روی همون چالش های اصلی کد باقی بمونه.
همچنین داشتن unit test و end to end test هم میتونه کمک کنه که از نظر لاجیک بیزینسی و functionality صحت سنجی خودکاری در سطح ci رخ بده و در جلسه ریویو کمتر لازم باشه به این نکات توجه بشه.
البته این به این معنی نیست که هیچ وقت دیگه هیچ تیکه کد خاصی ریویو نمیشه بصورت دقیق، ولی سعی میشه صرفا کدهایی که چالش پیاده سازی خاصی دارن و از حالت روتین خارج هستند مورد توجه قرار بگیره.
داشتن جلسات solution design و ساختار کد یکپارچه هم کمک میکنه چالش های ریویو کد کمتر بشه چون یکنواختی کد خودش یعنی رعایت کردن اصول مد نظر تیم توسط برنامه نویس.
کلا ریویو کردن کد به عوامل خیلی متنوعی بستگی داره و از جنس بیزینس و کد گرفته تا معماری و ساختار تیم و خیلی چیزای دیگه میتونن تاثیر بذارن روی نحوه برگزاریش و نمیشه یه سری practice خاص رو روی همه پروژه ها اعمال کرد.
ولی خواستم بگم نکته مهم اینه که اگه تلاش بشه بصورت تدریجی کیفیت جلسات ریویو متفاوت و متنوع بشه احتمالا خروجی بهتری میده و از یه کار روتین و یکنواخت خارج میشه.
@gocasts
اینی که میگم صرفا تجربه شخصی من هست و لزوما همه نکاتش درست نیست و همه جا جواب نده!
من سعی میکنم فضای ذهنی تیم رو برای code review به گونه ای آماده کنم که به صورت incremental نحوه ریویو کد تغییر کنه.
مثلا تو جلسه اول یا جلسات اولیه خوبه که به جزیی ترین نکات کد گیر داده بشه و کلا merge requestها کوچیک باشن که بشه سختگیرانه تر ریویو کرد.
هر چقدر که جلسات کد ریویو جلوتر میره سعی میکنم بیشتر روی ساختار کد از نظر معماری و نکات طراحی و چالش های پیاده سازی خاص سخت گیری کنم و دیگه به جزییات کدهای تیپیکال کمتر توجه کنم. چرا؟ چون انتظار دارم بصورت تدریجی هر چقدر که جلو میریم افراد تیم با باید و نبایدهای ریویو بیشتر آشنا شده باشن و نکات معمولی رو رعایت کنن.
استفاده از ابزارهای lint در ci هم میتونه کمک کنه که یه سری سختگیری های ریویو توسط ci انجام بشه و تمرکز reviewer روی همون چالش های اصلی کد باقی بمونه.
همچنین داشتن unit test و end to end test هم میتونه کمک کنه که از نظر لاجیک بیزینسی و functionality صحت سنجی خودکاری در سطح ci رخ بده و در جلسه ریویو کمتر لازم باشه به این نکات توجه بشه.
البته این به این معنی نیست که هیچ وقت دیگه هیچ تیکه کد خاصی ریویو نمیشه بصورت دقیق، ولی سعی میشه صرفا کدهایی که چالش پیاده سازی خاصی دارن و از حالت روتین خارج هستند مورد توجه قرار بگیره.
داشتن جلسات solution design و ساختار کد یکپارچه هم کمک میکنه چالش های ریویو کد کمتر بشه چون یکنواختی کد خودش یعنی رعایت کردن اصول مد نظر تیم توسط برنامه نویس.
کلا ریویو کردن کد به عوامل خیلی متنوعی بستگی داره و از جنس بیزینس و کد گرفته تا معماری و ساختار تیم و خیلی چیزای دیگه میتونن تاثیر بذارن روی نحوه برگزاریش و نمیشه یه سری practice خاص رو روی همه پروژه ها اعمال کرد.
ولی خواستم بگم نکته مهم اینه که اگه تلاش بشه بصورت تدریجی کیفیت جلسات ریویو متفاوت و متنوع بشه احتمالا خروجی بهتری میده و از یه کار روتین و یکنواخت خارج میشه.
@gocasts
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
اگه حافظه در agentic ai لازم دارید langgraph جواب بهتری میده. کاش زودتر اینو دیده بودم
https://github.com/langchain-ai/langgraph
@DevTwitter | <Mohammad Javidan Darugar/>
https://github.com/langchain-ai/langgraph
@DevTwitter | <Mohammad Javidan Darugar/>
Forwarded from Geek Alerts
امروز، ۱۲م فوریه، سالروز تولد چارلز داروین است.
چارلز رابرت داروین، زیستشناس و زمینشناس انگلیسی که اکثر ما او را بخاطر یافتههای بزرگ او برای نظریه فرگشت(به اشتباه معروف به تکامل) میشناسیم، است. نظریه او میگوید همهٔ گونهها دارای نسب مشترک هستند. امروزه این نظریه در میان دانشمندان پذیرفته شده است و یکی از مفاهیم بنیادی زیستشناسی بهشمار میآید و البته تأثیر این نظریه هرگز به زیستشناسی محدود نشده و حوزههای مختلف دیگری از علم را نیز تحتتأثیر قرار داده است. در سال ۱۸۵۹، یک سال پس از انتشار مقالهای مشترک با والاس(زیستشناس بریتانیایی)، داروین کتاب خاستگاه گونهها را منتشر کرد و شواهد خود مبنی بر فرگشت را در آن شرح داد. تا دهه هفتاد قرن ۱۹ میلادی، فرگشت بهعنوان یک حقیقت علمی در میان قشر تحصیلکرده پذیرفته شد. با این وجود، پس از ارائه سنتز مدرن در اوایل قرن بیستم، اجماعی در میان دانشمندان پدید آمد و انتخاب طبیعی بهعنوان پایه و اساس سازوکار فرگشت پذیرفته شد. این کشف علمی داروین ضمن پیوند دادن همه علوم زیستی به یکدیگر، تنوع زیستی را نیز توضیح میدهد. این روز در تقویم روز جهانی داروین نامگذاری شده است.
https://en.wikipedia.org/wiki/Charles_Darwin
hadi @geekalerts
چارلز رابرت داروین، زیستشناس و زمینشناس انگلیسی که اکثر ما او را بخاطر یافتههای بزرگ او برای نظریه فرگشت(به اشتباه معروف به تکامل) میشناسیم، است. نظریه او میگوید همهٔ گونهها دارای نسب مشترک هستند. امروزه این نظریه در میان دانشمندان پذیرفته شده است و یکی از مفاهیم بنیادی زیستشناسی بهشمار میآید و البته تأثیر این نظریه هرگز به زیستشناسی محدود نشده و حوزههای مختلف دیگری از علم را نیز تحتتأثیر قرار داده است. در سال ۱۸۵۹، یک سال پس از انتشار مقالهای مشترک با والاس(زیستشناس بریتانیایی)، داروین کتاب خاستگاه گونهها را منتشر کرد و شواهد خود مبنی بر فرگشت را در آن شرح داد. تا دهه هفتاد قرن ۱۹ میلادی، فرگشت بهعنوان یک حقیقت علمی در میان قشر تحصیلکرده پذیرفته شد. با این وجود، پس از ارائه سنتز مدرن در اوایل قرن بیستم، اجماعی در میان دانشمندان پدید آمد و انتخاب طبیعی بهعنوان پایه و اساس سازوکار فرگشت پذیرفته شد. این کشف علمی داروین ضمن پیوند دادن همه علوم زیستی به یکدیگر، تنوع زیستی را نیز توضیح میدهد. این روز در تقویم روز جهانی داروین نامگذاری شده است.
https://en.wikipedia.org/wiki/Charles_Darwin
hadi @geekalerts
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
گذری بر تاریخ لینوکس:
گرفته شده از کتاب فلسفه لینوکس و یونیکس:
در اوایل دهه 1980، Onyx Systems شروع به فروش ایستگاههای کاری یونیکس مبتنی بر میکروکامپیوتر کرد که نمایانگر اولین تلاشها برای تجاریسازی یونیکس در مقیاس کوچکتر بود. در پی این، Sun Microsystems که در ابتدا بهعنوان یک پروژه دانشجویی در دانشگاه استنفورد تأسیس شده بود، در سال 1982 شروع به فروش ایستگاههای کاری رومیزی مبتنی بر یونیکس کرد. این ایستگاههای کاری، که اساساً برای استفاده در محیطهای تجاری طراحی شده بودند، نمونهای از تجاریسازی سیستمعامل یونیکس در زمینه سختافزار میکروکامپیوتر بودند. در حالی که این ایستگاهها از سختافزارهای اختصاصی استفاده میکردند، بهویژه از نرمافزارهای رایگان و متنباز مانند لینوکس که بعدها برای آن توسعه یافت، بهره نمیبردند.
با گسترش تجاریسازی یونیکس و قفل شدن آن بهعنوان یک محصول اختصاصی، پروژه گنو (GNU) که در سال 1983 توسط ریچارد استالمن آغاز شد، هدف خود را ایجاد یک "سیستم نرمافزاری کامل سازگار با یونیکس" با استفاده از نرمافزارهای آزاد قرار داد. این پروژه که در سال 1984 شروع شد، قصد داشت یک سیستم عامل کاملاً آزاد و قابل توزیع برای کاربران ایجاد کند. پس از آن، استالمن در سال 1985 بنیاد نرمافزار آزاد را راهاندازی کرد و مجوز عمومی عمومی گنو (GNU GPL) را در سال 1989 نوشت. هدف این مجوز این بود که نرمافزارهایی که تحت آن منتشر میشدند، همواره آزاد و قابل توزیع مجدد باقی بمانند. در اوایل دهه 1990، بسیاری از برنامههای ضروری برای یک سیستمعامل، از جمله کتابخانهها، کامپایلرها، ویرایشگرهای متن، پوسته خط فرمان و سیستمهای پنجرهسازی، تکمیل شدند. با این حال، بعضی از عناصر سطح پایین مانند درایورهای دستگاه، دیمونها و هسته به نام گنو هرد هنوز ناتمام و ناقص بودند.
در همین زمان، MINIX که توسط آندرو اس. تاننباوم، استاد علوم کامپیوتر، در سال 1987 ایجاد شد، بهعنوان یک سیستمعامل حداقلی شبیه به یونیکس برای آموزش اصول سیستمعاملها به دانشجویان و دیگر علاقهمندان منتشر شد. اگرچه کد منبع MINIX بهطور رایگان در دسترس بود، شرایط مجوز آن بهگونهای بود که استفاده از آن بهعنوان نرمافزار آزاد را محدود میکرد. در آوریل 2000، شرایط مجوز MINIX تغییر یافت و به آن اجازه داده شد تا بهعنوان نرمافزار آزاد منتشر شود.
در این بین، توسعه 386BSD، که منجر به ایجاد سیستمعاملهایی چون NetBSD، OpenBSD و FreeBSD شد، پیش از لینوکس آغاز شد. با وجود پیچیدگیهای قانونی که مانع از انتشار این پروژه در ابتدا شدند، 386BSD بهعنوان یک پروژه مهم در دنیای سیستمهای عامل آزاد شناخته میشود. این پروژه به توسعهدهندگان و علاقهمندان به سیستمهای عامل متنباز امکانات زیادی را ارائه داد.
لینوکس در سال 1991 توسط لینوس توروالدز توسعه یافت. توروالدز در موارد مختلف بیان کرده است که اگر هسته گنو یا 386BSD در آن زمان در دسترس بود، ممکن است او هیچگاه لینوکس را ایجاد نمیکرد. بهویژه، پروژه گنو با وجود پیشرفتهای قابل توجه، هنوز بخشهایی مانند هسته سیستمعامل را نداشت که به لینوکس فرصتی برای پیشرفت در این زمینه داد. این موضوع نشاندهنده اهمیت لحظههای تاریخی و شرایط خاص زمانی است که باعث میشود گاهی اوقات یک پروژه جدید به وجود آید که تأثیرات طولانیمدت و گستردهای در تاریخ فناوری داشته باشد.
🔸متن گرفته شده از :کتاب فلسفه لینوکس و یونیکس
🔸ترجمه حسین سیلانی
گرفته شده از کتاب فلسفه لینوکس و یونیکس:
در اوایل دهه 1980، Onyx Systems شروع به فروش ایستگاههای کاری یونیکس مبتنی بر میکروکامپیوتر کرد که نمایانگر اولین تلاشها برای تجاریسازی یونیکس در مقیاس کوچکتر بود. در پی این، Sun Microsystems که در ابتدا بهعنوان یک پروژه دانشجویی در دانشگاه استنفورد تأسیس شده بود، در سال 1982 شروع به فروش ایستگاههای کاری رومیزی مبتنی بر یونیکس کرد. این ایستگاههای کاری، که اساساً برای استفاده در محیطهای تجاری طراحی شده بودند، نمونهای از تجاریسازی سیستمعامل یونیکس در زمینه سختافزار میکروکامپیوتر بودند. در حالی که این ایستگاهها از سختافزارهای اختصاصی استفاده میکردند، بهویژه از نرمافزارهای رایگان و متنباز مانند لینوکس که بعدها برای آن توسعه یافت، بهره نمیبردند.
با گسترش تجاریسازی یونیکس و قفل شدن آن بهعنوان یک محصول اختصاصی، پروژه گنو (GNU) که در سال 1983 توسط ریچارد استالمن آغاز شد، هدف خود را ایجاد یک "سیستم نرمافزاری کامل سازگار با یونیکس" با استفاده از نرمافزارهای آزاد قرار داد. این پروژه که در سال 1984 شروع شد، قصد داشت یک سیستم عامل کاملاً آزاد و قابل توزیع برای کاربران ایجاد کند. پس از آن، استالمن در سال 1985 بنیاد نرمافزار آزاد را راهاندازی کرد و مجوز عمومی عمومی گنو (GNU GPL) را در سال 1989 نوشت. هدف این مجوز این بود که نرمافزارهایی که تحت آن منتشر میشدند، همواره آزاد و قابل توزیع مجدد باقی بمانند. در اوایل دهه 1990، بسیاری از برنامههای ضروری برای یک سیستمعامل، از جمله کتابخانهها، کامپایلرها، ویرایشگرهای متن، پوسته خط فرمان و سیستمهای پنجرهسازی، تکمیل شدند. با این حال، بعضی از عناصر سطح پایین مانند درایورهای دستگاه، دیمونها و هسته به نام گنو هرد هنوز ناتمام و ناقص بودند.
در همین زمان، MINIX که توسط آندرو اس. تاننباوم، استاد علوم کامپیوتر، در سال 1987 ایجاد شد، بهعنوان یک سیستمعامل حداقلی شبیه به یونیکس برای آموزش اصول سیستمعاملها به دانشجویان و دیگر علاقهمندان منتشر شد. اگرچه کد منبع MINIX بهطور رایگان در دسترس بود، شرایط مجوز آن بهگونهای بود که استفاده از آن بهعنوان نرمافزار آزاد را محدود میکرد. در آوریل 2000، شرایط مجوز MINIX تغییر یافت و به آن اجازه داده شد تا بهعنوان نرمافزار آزاد منتشر شود.
در این بین، توسعه 386BSD، که منجر به ایجاد سیستمعاملهایی چون NetBSD، OpenBSD و FreeBSD شد، پیش از لینوکس آغاز شد. با وجود پیچیدگیهای قانونی که مانع از انتشار این پروژه در ابتدا شدند، 386BSD بهعنوان یک پروژه مهم در دنیای سیستمهای عامل آزاد شناخته میشود. این پروژه به توسعهدهندگان و علاقهمندان به سیستمهای عامل متنباز امکانات زیادی را ارائه داد.
لینوکس در سال 1991 توسط لینوس توروالدز توسعه یافت. توروالدز در موارد مختلف بیان کرده است که اگر هسته گنو یا 386BSD در آن زمان در دسترس بود، ممکن است او هیچگاه لینوکس را ایجاد نمیکرد. بهویژه، پروژه گنو با وجود پیشرفتهای قابل توجه، هنوز بخشهایی مانند هسته سیستمعامل را نداشت که به لینوکس فرصتی برای پیشرفت در این زمینه داد. این موضوع نشاندهنده اهمیت لحظههای تاریخی و شرایط خاص زمانی است که باعث میشود گاهی اوقات یک پروژه جدید به وجود آید که تأثیرات طولانیمدت و گستردهای در تاریخ فناوری داشته باشد.
🔸متن گرفته شده از :کتاب فلسفه لینوکس و یونیکس
🔸ترجمه حسین سیلانی
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
هر دولوپری باید این چیتشیتها رو داشته باشه، وگرنه نصف عمرش بر فناست! توی این پست، یه لیست خفن از مهمترین چیتشیتهایی که کارتو سریعتر، حرفهایتر و راحتتر میکنه رو برات آوردم! از Git و Regex گرفته تا Docker و JavaScript – اینا همون تقلبهایی هستن که هر برنامهنویسی باید بلد باشه!
1. چیتشیت GIT :
https://education.github.com/git-cheat-sheet-education.pdf
2. چیتشیت SQL :
https://websitesetup.org/wp-content/uploads/2020/04/MySQL-Cheat-Sheet-websitesetup.org_.pdf
3. چیتشیت Regex :
https://adprice.fedorapeople.org/regular-expressions-cheat-sheet-v1.pdf
4. چیتشیت Docker :
https://dockerlabs.collabnix.com/docker/cheatsheet/
5. چیتشیت UI/UX :
https://lawsofux.com/
6. چیتشیت Grid css :
https://css-tricks.com/snippets/css/complete-guide-grid/
7. چیتشیت Flexbox css :
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
8. چیتشیت JS Methods :
https://maktabkhooneh.org/mag/javanoscript-methods/
9. چیتشیت Bootstrap :
https://websitesetup.org/wp-content/uploads/2020/03/Bootstrap-Cheat-Sheet-websitesetup.org_.pdf
10. چیتشیت VS code Keywords :
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
11. چیتشیت Emmet :
https://docs.emmet.io/cheat-sheet/
12. چیتشیت OOP in PHP :
https://www.w3schools.com/php/php_oop_what_is.asp
13. چیتشیت NPM :
https://docs.npmjs.com/
@DevTwitter | <Amirreza Riahi/>
1. چیتشیت GIT :
https://education.github.com/git-cheat-sheet-education.pdf
2. چیتشیت SQL :
https://websitesetup.org/wp-content/uploads/2020/04/MySQL-Cheat-Sheet-websitesetup.org_.pdf
3. چیتشیت Regex :
https://adprice.fedorapeople.org/regular-expressions-cheat-sheet-v1.pdf
4. چیتشیت Docker :
https://dockerlabs.collabnix.com/docker/cheatsheet/
5. چیتشیت UI/UX :
https://lawsofux.com/
6. چیتشیت Grid css :
https://css-tricks.com/snippets/css/complete-guide-grid/
7. چیتشیت Flexbox css :
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
8. چیتشیت JS Methods :
https://maktabkhooneh.org/mag/javanoscript-methods/
9. چیتشیت Bootstrap :
https://websitesetup.org/wp-content/uploads/2020/03/Bootstrap-Cheat-Sheet-websitesetup.org_.pdf
10. چیتشیت VS code Keywords :
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
11. چیتشیت Emmet :
https://docs.emmet.io/cheat-sheet/
12. چیتشیت OOP in PHP :
https://www.w3schools.com/php/php_oop_what_is.asp
13. چیتشیت NPM :
https://docs.npmjs.com/
@DevTwitter | <Amirreza Riahi/>
Forwarded from IRCF | اینترنت آزاد برای همه
Forwarded from Gopher Academy
🔵 عنوان مقاله
Feluda: A Tool to Analyze the Licences of Dependencies
🟢 خلاصه مقاله:
این مقاله به معرفی پروژهای میپردازد که با استفاده از زبان برنامهنویسی Rust انجام شده است، اما برای پردازش وابستگیهای پروژههای Go، Rust یا Node.js قابل استفاده است. این ابزار قادر به ارائه گزارشی در مورد محدودیتهای احتمالی مربوط به مجوزهای نرمافزاری یا نمایش یک رابط کاربری مبتنی بر متن موسوم به "TUI" است. گزارش یا رابط TUI به کاربران امکان میدهد تا درک بهتری از جنبههای حقوقی و مجوزهای مرتبط با کتابخانهها و ماژولهای مورد استفاده در پروژههای نرمافزاری خود به دست آورند. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا از پیچیدگیهای قانونی اجتناب کنند و تصمیمگیریهای آگاهانهتری در مورد انتخاب مجوزها و کتابخانهها داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/165347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Feluda: A Tool to Analyze the Licences of Dependencies
🟢 خلاصه مقاله:
این مقاله به معرفی پروژهای میپردازد که با استفاده از زبان برنامهنویسی Rust انجام شده است، اما برای پردازش وابستگیهای پروژههای Go، Rust یا Node.js قابل استفاده است. این ابزار قادر به ارائه گزارشی در مورد محدودیتهای احتمالی مربوط به مجوزهای نرمافزاری یا نمایش یک رابط کاربری مبتنی بر متن موسوم به "TUI" است. گزارش یا رابط TUI به کاربران امکان میدهد تا درک بهتری از جنبههای حقوقی و مجوزهای مرتبط با کتابخانهها و ماژولهای مورد استفاده در پروژههای نرمافزاری خود به دست آورند. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا از پیچیدگیهای قانونی اجتناب کنند و تصمیمگیریهای آگاهانهتری در مورد انتخاب مجوزها و کتابخانهها داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/165347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - anistark/feluda: Detect license usage restrictions in your project!
Detect license usage restrictions in your project! - anistark/feluda
Forwarded from Md Daily (Mahan)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Md Daily (Mahan)
+ دواپسمون همش داره ماینکرفت بازی میکنه
- اونایی که میدونن: 💀
داکر یه پروژه ی باحال داره به نام Dockercraft که میتونید مستقیم توی ماینکرفت کانتینر های داکرتون رو مدیریت کنید :)
اما چطوری کار میکنه؟
اومدن از Cuberite، یک سرور ماینکرفت متنباز و نوشتهشده با C++، برای پیادهسازی Dockercraft استفاده کردن. این سرور از پلاگینهای Lua پشتیبانی میکنه، بنابراین یک پلاگین اختصاصی برای تعامل با Docker توسعه دادن.
🔹 اجرای عملیات در سمت سرور
کلاینت ماینکرفت بدون تغییر باقی میمونه و تمام پردازشها سمت سرور انجام میشه. پلاگین Lua که در مسیر world/Plugins/Docker قرار داره، یک تب مدیریتی در WebAdmin سرور ایجاد میکنه:
Plugin:AddWebTab("Docker", HandleRequest_Docker)
این باعث میشه درخواستهای POST به مسیر http://127.0.0.1:8080/webadmin/Docker/Docker ارسال بشن.
🔹 اتصال به Docker Remote API
رویدادهای داکر از طریق سرویس Goproxy که با Golang نوشته شده پردازش شده و به پلاگین Lua منتقل میشن. این سرویس درخواستها را به سرور ارسال میکنه:
🔹 اجرای دستورات از طریق ماینکرفت
پلاگین Lua میتونه از طریق os.execute() با این سرویس ارتباط برقرار کنه. مثلاً موقع ورود یه بازیکن، اطلاعات کانتینرهای داکر بروزرسانی میشن:
این روش امکان مدیریت کانتینرهای Docker را مستقیماً از داخل ماینکرفت فراهم میکنه
گیت هاب پروژه:
🔗 https://github.com/docker/dockercraft
---
مثل همیشه کنجکاو بمونید :)
🆔 @MdDaily
- اونایی که میدونن: 💀
داکر یه پروژه ی باحال داره به نام Dockercraft که میتونید مستقیم توی ماینکرفت کانتینر های داکرتون رو مدیریت کنید :)
اما چطوری کار میکنه؟
اومدن از Cuberite، یک سرور ماینکرفت متنباز و نوشتهشده با C++، برای پیادهسازی Dockercraft استفاده کردن. این سرور از پلاگینهای Lua پشتیبانی میکنه، بنابراین یک پلاگین اختصاصی برای تعامل با Docker توسعه دادن.
🔹 اجرای عملیات در سمت سرور
کلاینت ماینکرفت بدون تغییر باقی میمونه و تمام پردازشها سمت سرور انجام میشه. پلاگین Lua که در مسیر world/Plugins/Docker قرار داره، یک تب مدیریتی در WebAdmin سرور ایجاد میکنه:
Plugin:AddWebTab("Docker", HandleRequest_Docker)
این باعث میشه درخواستهای POST به مسیر http://127.0.0.1:8080/webadmin/Docker/Docker ارسال بشن.
🔹 اتصال به Docker Remote API
رویدادهای داکر از طریق سرویس Goproxy که با Golang نوشته شده پردازش شده و به پلاگین Lua منتقل میشن. این سرویس درخواستها را به سرور ارسال میکنه:
func MCServerRequest(data url.Values, client *http.Client) {
req, _ := http.NewRequest("POST", "http://127.0.0.1:8080/webadmin/Docker/Docker", strings.NewReader(data.Encode()))
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.SetBasicAuth("admin", "admin")
client.Do(req)
}🔹 اجرای دستورات از طریق ماینکرفت
پلاگین Lua میتونه از طریق os.execute() با این سرویس ارتباط برقرار کنه. مثلاً موقع ورود یه بازیکن، اطلاعات کانتینرهای داکر بروزرسانی میشن:
function PlayerJoined(Player)
r = os.execute("goproxy containers")
end
این روش امکان مدیریت کانتینرهای Docker را مستقیماً از داخل ماینکرفت فراهم میکنه
گیت هاب پروژه:
🔗 https://github.com/docker/dockercraft
---
مثل همیشه کنجکاو بمونید :)
🆔 @MdDaily
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
تصور کن توی یه سیستم مالی، چند نفر همزمان بخوان همون مبلغ رو برداشت کنن! نتیجه؟ فاجعهای شبیه یه قرعهکشی نامنظم!
راهحل؟ استفاده از lockForUpdate در Laravel!
چرا؟ چون:
- جلوی برداشتهای تکراری رو میگیره.
- امنیت تراکنشهای مالی رو تضمین میکنه.
- عملکرد سیستم رو توی تراکنشهای همزمان بهبود میده.
اگه به امنیت و پایداری سیستم مالی اهمیت میدی، lockForUpdate رو فراموش نکن!
@DevTwitter | <Navid Vakili/>
راهحل؟ استفاده از lockForUpdate در Laravel!
چرا؟ چون:
- جلوی برداشتهای تکراری رو میگیره.
- امنیت تراکنشهای مالی رو تضمین میکنه.
- عملکرد سیستم رو توی تراکنشهای همزمان بهبود میده.
اگه به امنیت و پایداری سیستم مالی اهمیت میدی، lockForUpdate رو فراموش نکن!
@DevTwitter | <Navid Vakili/>
🍌1
Forwarded from 🎄 یک برنامه نویس تنبل ( MΞ)
🔸Rust(Axum) vs. Go(Gin) Performance Benchmark
https://www.youtube.com/watch?v=31R8Ef9A0iw
@TheRaymondDev
https://www.youtube.com/watch?v=31R8Ef9A0iw
@TheRaymondDev