عزیزان کسی تجربه اسکریپ از لینکداین داشته؟ با پایتون باشه چه بهتر
اعلام حضور کنید در آینده نزدیک خدمتتون سوالاتی دارم
اعلام حضور کنید در آینده نزدیک خدمتتون سوالاتی دارم
https://www.linkedin.com/posts/amir-rahimi-nj_amazon-system-design-ugcPost-7370832875585363968-J67a?
Linkedin
Amazon System Design | Amir Rahimi Nejad
چند روز پیش معرفی و مختصری از کتاب System Design Interveiw رو به عنوان پست قرار دادم.
استقبال خوبی از این موضوع شد به طوریکه اصلا فکرش رو نمیکردم.
تصمیم گرفتم یک تمرین سیستم دیزاین رو برای این پست در نظر بگیرم.
همونطور که قبلا گفتم فقط با تمرین و تکرار میشه…
استقبال خوبی از این موضوع شد به طوریکه اصلا فکرش رو نمیکردم.
تصمیم گرفتم یک تمرین سیستم دیزاین رو برای این پست در نظر بگیرم.
همونطور که قبلا گفتم فقط با تمرین و تکرار میشه…
Forwarded from Dev Feed
امروز، سازمان امنیت سایبری Aikido Security اعلام کرده که حساب maintainer شناختهشدهای به نام qix- در اثر یک حمله فیشینگ به دست مهاجمان افتاده است. مهاجمان موفق شدند ۱۸ بستهی محبوب npm مانند chalk، debug و ansi-styles را دستکاری کنند. این بستهها در مجموع بیش از دو میلیارد بار دانلود هفتگی دارند
NPM) مخفف Node Package Manager هست.
این ابزار یکی از اصلیترین بخشهای اکوسیستم Node.js به حساب میاد.
(وقتی شک داریم سیستم یا پروژه ممکنه آلوده باشه)
تراکنش مالی/کریپتو نزنیم
چون بدافزار میتونه آدرس گیرنده رو عوض کنه.
سیستم آلوده رو روشن یا آنلاین نکنیم
روشن کردن = اجرای کد مخرب (post-install noscripts).
آنلاین شدن = اتصال به C2 server و لو رفتن دادهها.
بهروزرسانی خودکار بدون بررسی نزنیم
ممکنه آخرین نسخهی یک پکیج مخرب باشه.
از ریجستریهای غیررسمی یا پکیجهای ناشناخته نصب نکنیم
مخصوصاً بستههایی با اسم شبیه
ایمیل یا پیامهای مشکوک رو باز نکنیم
خیلی از این حملات با فیشینگ شروع میشن (مثل ایمیل جعلی npm).
پسوردهای قدیمی رو دوباره استفاده نکنیم چون اگه لو رفته باشه، مهاجم راحت وارد حساب میشه.
________________________________________________________________________
اپهای دسکتاپ (Slack, Discord, VS Code …) رو از سورس رسمی بگیر
نه از سایتهای ناشناس یا لینک تلگرام!
تراکنشهای کریپتو رو دوبار چک کن
قبل از تأیید، آدرس مقصد رو دستی مقایسه کن.
کیفپول سختافزاری (Hardware Wallet) استفاده کن
ولی تراکنش هارو با دقت بررسی کن
سیستم رو بهروز نگه دار ولی با تأخیر
بذار چند ساعت یا یک روز از انتشار آپدیت بگذره، تا اگه مخرب بود خبرش دربیاد.
موقع شک → سیستم رو روشن نکن یا کلا قطع اینترنت
تا بدافزار نتونه به C2 Server وصل بشهم Node.js به حساب میاد.
مدیریت اکانت
FA (Two-Factor Auth)۲ روی حساب npm و GitHub فعال کن (الزامی هم شده).
پسوردها رو با مدیر پسورد (مثل Bitwarden یا 1Password) نگه دار، نه مرورگر.
از کلید امنیتی سختافزاری برای ورود استفاده کن، مخصوصاً اگر maintainer هستی.
مدیریت Dependency
از package-lock.json یا yarn.lock استفاده کن → مطمئن میشه همیشه همون نسخه نصب میشه.
به جای ^1.2.3 بنویس 1.2.3 تا آپدیت ناخواسته نیاد.(خلاصه نسخه ی شناور نصب نکن)
محیط امن
npm install رو توی VM یا Docker تست کن قبل از اینکه بیاری توی سیستم اصلی.
اگر پکیج ناشناس هست → سورس کدشو بررسی کن مخصوصاً پوشهی noscripts یا postinstall.
Buildها رو روی CI/CD امن (مثلاً GitHub Actions با secrets محدود) انجام بده.
برای پروژههای حساس از سیستم جداگانه یا VM اختصاصی استفاده کن.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from نوشتههای ترمینالی
با توجه به این که فصل انتخاب رشتهس، لازم دیدم این چند تا مطلب رو بازنشر کنم
اگه تازه کنکور داده میشناسید اینا رو براشون بفرستین.
ترم اولی های آینده مهندسی کامپیوتر بخوانند
https://virgool.io/@rsharifnasab/%D8%AA%D8%B1%D9%85-%D8%A7%D9%88%D9%84%DB%8C-%D9%87%D8%A7%DB%8C-%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%D9%86%D8%AF-ix3wziy8gboq
چند خط در مورد رشته دانشگاهی مهندسی کامپیوتر
https://virgool.io/enline/%DA%86%D9%86%D8%AF-%D8%AE%D8%B7-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%B1%D8%B4%D8%AA%D9%87-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-yjcwxzxojpd3
چند توصیه برای دوستان برنامهنویس جوانترم!
https://virgool.io/@rsharifnasab/programming-advices-pucsgoqyywru
اگه تازه کنکور داده میشناسید اینا رو براشون بفرستین.
ترم اولی های آینده مهندسی کامپیوتر بخوانند
https://virgool.io/@rsharifnasab/%D8%AA%D8%B1%D9%85-%D8%A7%D9%88%D9%84%DB%8C-%D9%87%D8%A7%DB%8C-%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%D9%86%D8%AF-ix3wziy8gboq
چند خط در مورد رشته دانشگاهی مهندسی کامپیوتر
https://virgool.io/enline/%DA%86%D9%86%D8%AF-%D8%AE%D8%B7-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%B1%D8%B4%D8%AA%D9%87-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-yjcwxzxojpd3
چند توصیه برای دوستان برنامهنویس جوانترم!
https://virgool.io/@rsharifnasab/programming-advices-pucsgoqyywru
ویرگول
ترم اولی های آینده مهندسی کامپیوتر بخوانند
سلام، هدفم از این مطلب راهنمایی کساییه که مهندسی کامپیوتر و احتمالا تا درصد زیادی علوم کامپیوتر قبول شدن و میخوان خودشون رو برای دانشگاه…
Forwarded from localhost
تانلینگ در VPN :
در نظر داشته باشید که یک مسیر پر رفت و آمد داریم که شما هم مجبورید هر روز در اون مسیر رفت و آمد داشته باشید ؛ باید توجه کنیم که این مسیر ممکنه خیلی پر خطر باشه و ما آسیب ببینیم و هزینه های زیاد و سنگینی رو متحمل شیم.
اینجاست که ما به فکر یک مسیر امن برای رفت و آمد خودمون پیدا میکنیم که بتونیم امنیت رو تو مسیر خودمون برقرار کنیم.
حالا شما فکر کن تو دنیای اینترنت(با تموم این نا امنی های سایبری و محدودیت هایی که هر روز داره بیشتر میشه) بتونیم یک مسیر امن برقرار کنیم و ارتباط خودمون رو حفظ کنیم.
مشخصه امنیت اطلاعات ما برقرار میشه و یک مسیر اختصاصی که فقط برای خودشه رو داره.
این کار میشه یک مسیر امن(با میانبر اشتباه نگیرید)
در دنیای شبکه و مسیریابی بسته های ارسالی به این مسئله میگن Tunneling که با مسیر یابی درست و ایجاد یک محیط امن اطلاعات رو در مسیر خودش منتقل میکنه.
تانلینگ از پروتکل های امن برای رمزنگاری اطلاعات استفاده میکنه مثل L2TP/IP Sec ,PPTP و Open VPN که با استفاده از مکانیزم های احراز هویت ارتباط امن رو برقرار میکنند.
✉️ @localhost_kj
در نظر داشته باشید که یک مسیر پر رفت و آمد داریم که شما هم مجبورید هر روز در اون مسیر رفت و آمد داشته باشید ؛ باید توجه کنیم که این مسیر ممکنه خیلی پر خطر باشه و ما آسیب ببینیم و هزینه های زیاد و سنگینی رو متحمل شیم.
اینجاست که ما به فکر یک مسیر امن برای رفت و آمد خودمون پیدا میکنیم که بتونیم امنیت رو تو مسیر خودمون برقرار کنیم.
حالا شما فکر کن تو دنیای اینترنت(با تموم این نا امنی های سایبری و محدودیت هایی که هر روز داره بیشتر میشه) بتونیم یک مسیر امن برقرار کنیم و ارتباط خودمون رو حفظ کنیم.
مشخصه امنیت اطلاعات ما برقرار میشه و یک مسیر اختصاصی که فقط برای خودشه رو داره.
این کار میشه یک مسیر امن(با میانبر اشتباه نگیرید)
در دنیای شبکه و مسیریابی بسته های ارسالی به این مسئله میگن Tunneling که با مسیر یابی درست و ایجاد یک محیط امن اطلاعات رو در مسیر خودش منتقل میکنه.
تانلینگ از پروتکل های امن برای رمزنگاری اطلاعات استفاده میکنه مثل L2TP/IP Sec ,PPTP و Open VPN که با استفاده از مکانیزم های احراز هویت ارتباط امن رو برقرار میکنند.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
روز بدقولها، شب بیدارها، ساخته شده با قلب و قهوه، phpهای مرده، پایتونهای کند، باگهای لحظهی دمو، ددلاینهای رد شده، سورپرازهای جاوااسکریپت، اینو یه ساعته با ai نوشتم، استکاورفلوی تنها...
روز کیبوردهای خسته، wheelهای خراب موس، دورههای نیمهکاره مونده، کارفرما هنوز پولمو نداده، یه بازی 4K نوشتم یک بایت حجمشه، زبان هرمز و آقای هاشمی، Go کارهایی که دنیا رو قشنگ میکنن، دات نت کارای سن و سال دار، استرس لحظهی لانچ، هک با css تو صداسیما، اشتباهی پوش کردم، 403، کارآموز بدون حقوق، شان اجتماعی بالا و حقوق پایین، ده تا کار همزمان توی شرکت، تحریمه، فیلتره، کشه، از سروره، از بکه، از فرانته، چرخ رو دوباره ساختم، تا چهار صبح بیدار بودم تهش فهمیدم یه سمیکالن نذاشتم، کارکردنهای تو سفر و روز تعطیل، نارضایتی دائمی کارفرما و ...
این روز مخصوص ماست؛ ما که با خطاها زندگی میکنیم، با دیباگ رشد میکنیم و با یک "It works!" حال دنیامون خوب میشه.
روز برنامهنویس مبارک :))
@DevTwitter
روز کیبوردهای خسته، wheelهای خراب موس، دورههای نیمهکاره مونده، کارفرما هنوز پولمو نداده، یه بازی 4K نوشتم یک بایت حجمشه، زبان هرمز و آقای هاشمی، Go کارهایی که دنیا رو قشنگ میکنن، دات نت کارای سن و سال دار، استرس لحظهی لانچ، هک با css تو صداسیما، اشتباهی پوش کردم، 403، کارآموز بدون حقوق، شان اجتماعی بالا و حقوق پایین، ده تا کار همزمان توی شرکت، تحریمه، فیلتره، کشه، از سروره، از بکه، از فرانته، چرخ رو دوباره ساختم، تا چهار صبح بیدار بودم تهش فهمیدم یه سمیکالن نذاشتم، کارکردنهای تو سفر و روز تعطیل، نارضایتی دائمی کارفرما و ...
این روز مخصوص ماست؛ ما که با خطاها زندگی میکنیم، با دیباگ رشد میکنیم و با یک "It works!" حال دنیامون خوب میشه.
روز برنامهنویس مبارک :))
@DevTwitter
❤2
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
مکتب خونه به مناسبت روز برنامه نویس
تخفیف 100 درصدی برای دوره های زیر با کد تخفیف
HELLOWORLD
گذاشته
https://mktb.me/quqf/
تخفیف 100 درصدی برای دوره های زیر با کد تخفیف
HELLOWORLD
گذاشته
https://mktb.me/quqf/
👍2
Forwarded from جنگولرن
بی ربط به جنگو، ولی به درد بخور
حرفه ای ها نخونن 😁
از لینکدین Manoocher Eshrati
حتماً براتون پیش اومده که ویندوز هنگ کنه، صفحه سیاه بشه، یا پروژکتور/مانیتور دوم شناخته نشه... و همه دارن نگاهتون میکنن که "چیکار کنیم؟!" 😅
💡 کافیه این ترکیب کلید رو بزنید:
Win + Ctrl + Shift + B
این دستور، درایور گرافیک رو ریاستارت میکنه، بدون اینکه نیاز باشه سیستم رو ریبوت کنید یا لاگاوت بزنید.
یعنی در کمتر از ۲ ثانیه، صفحه برمیگرده و انگار هیچی نشده!
Ctrl + Shift + Esc
باز کردن سریع Task Manager
Win + Ctrl + ← / →
جابهجایی بین دسکتاپهای مجازی.
Win + ↑ / ↓ / ← / →
تغییر اندازه و اسنپ کردن پنجره به گوشهها.
Win + Pause/Break
باز کردن پنجره System (مشخصات سیستم).
Win + , (کاما)
Peek Desktop (نمایش سریع دسکتاپ تا وقتی کلید رو نگهداشتی).
بله، درسته ویندوز برای ما مبتدی هاس 🤓
ای ویندوزی ع آماتور، اینو save کن، به درد میخوره
حرفه ای ها نخونن 😁
از لینکدین Manoocher Eshrati
حتماً براتون پیش اومده که ویندوز هنگ کنه، صفحه سیاه بشه، یا پروژکتور/مانیتور دوم شناخته نشه... و همه دارن نگاهتون میکنن که "چیکار کنیم؟!" 😅
💡 کافیه این ترکیب کلید رو بزنید:
Win + Ctrl + Shift + B
این دستور، درایور گرافیک رو ریاستارت میکنه، بدون اینکه نیاز باشه سیستم رو ریبوت کنید یا لاگاوت بزنید.
یعنی در کمتر از ۲ ثانیه، صفحه برمیگرده و انگار هیچی نشده!
اینارو هم خودم اضافه کنم:
Ctrl + Shift + Esc
باز کردن سریع Task Manager
Win + Ctrl + ← / →
جابهجایی بین دسکتاپهای مجازی.
Win + ↑ / ↓ / ← / →
تغییر اندازه و اسنپ کردن پنجره به گوشهها.
Win + Pause/Break
باز کردن پنجره System (مشخصات سیستم).
Win + , (کاما)
Peek Desktop (نمایش سریع دسکتاپ تا وقتی کلید رو نگهداشتی).
بله، درسته ویندوز برای ما مبتدی هاس 🤓
ای ویندوزی ع آماتور، اینو save کن، به درد میخوره
Forwarded from جنگولرن
چرا در محیط پروداکشن نباید از سیستم cache پیشفرض جنگو استفاده کنیم؟
جواب:
چون برای پروداکشن مناسب نیست، برای development مناسبه.
چون آقای داکیومنت جنگو میگه:
Note that each process will have its own private cache instance, which means no cross-process caching is possible. This also means the local memory cache isn’t particularly memory-efficient, so it’s probably not a good choice for production environments. It’s nice for development.
راحت تر بگم:
به صورت پیشفرض، اگه backend برای cache تعریف نکنیم، خودش روی LocMemCache تنظیم شده.
و اگه مثلا اینجوری چیزی رو کش کنیم:
روی لوکال و با runserver اوکیه همه چی😎
اما اگه پروژه رو ببریم روی سرور و مثلا از nginx و gunicorn استفاده کنیم، چون معمولا چندین worker process ساخته میشه
و هر process کش خودش رو داره، پس ممکنه دستور ع:
به دنیا سلام نکنه 😢
پس چکار میکنن؟
از بکندهای دیگه برای کش استفاده میشه، اینا بکندهای دیگه هستن
FileBasedCache
DatabaseCache
PyMemcacheCache
RedisCache
توصیه: برای هر پروژه ای، لازم نیست حتما بری سراغ ردیس. دیتابیس کش هم برای پروژه هایی که بزرگ نیستن خوبه.
میدونستی؟ 🥱 بزار
این پست اسپانسر نداره، شما 🫵🏼 می تونید اسپانسرش بشید 😈
جواب:
چون برای پروداکشن مناسب نیست، برای development مناسبه.
چون آقای داکیومنت جنگو میگه:
Note that each process will have its own private cache instance, which means no cross-process caching is possible. This also means the local memory cache isn’t particularly memory-efficient, so it’s probably not a good choice for production environments. It’s nice for development.
راحت تر بگم:
به صورت پیشفرض، اگه backend برای cache تعریف نکنیم، خودش روی LocMemCache تنظیم شده.
و اگه مثلا اینجوری چیزی رو کش کنیم:
cache.set("my_key", "hello, world!", 30)روی لوکال و با runserver اوکیه همه چی😎
اما اگه پروژه رو ببریم روی سرور و مثلا از nginx و gunicorn استفاده کنیم، چون معمولا چندین worker process ساخته میشه
و هر process کش خودش رو داره، پس ممکنه دستور ع:
cache.get("my_key")به دنیا سلام نکنه 😢
پس چکار میکنن؟
از بکندهای دیگه برای کش استفاده میشه، اینا بکندهای دیگه هستن
FileBasedCache
DatabaseCache
PyMemcacheCache
RedisCache
توصیه: برای هر پروژه ای، لازم نیست حتما بری سراغ ردیس. دیتابیس کش هم برای پروژه هایی که بزرگ نیستن خوبه.
میدونستی؟ 🥱 بزار
این پست اسپانسر نداره، شما 🫵🏼 می تونید اسپانسرش بشید 😈
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
اخیرا یه سری آگهی در خصوص جذب نیرو اون هم به صورت «فقط سرباز امریه» گذاشتی، گفتم به عنوان کسی که همین الان امریه هست یه سری توضیحاتی رو بدم اگه صلاح دونستی با اعضا به اشتراک بذاری که مشکلی پیش نیاد.
نکته اول اینکه امریه به اون شکل مرسومش (امریه دانشبنیان) در حال حاضر شدنی نیست و با اینکه خبردرمانی شد و گفتن که مشکل حل شده، ولی من توی گروه سرباز دانشبنیان هستم و باید بگم که الان دو ماهه کسی قادر به ثبتنام نیست و معاونت هم به صورت خصوصی اگه سوال کنین میگه که فعلا ظرفیت تموم شده و مشغول مذاکره هستن.
در نتیجه اگر شرکتی ادعا میکنه میتونه سرباز امریه بگیره، یا دروغ هست و یا واقعا رابطهی قویای داره که همچنان به واسطه اون رابطه میتونه سرباز بگیره (که شدنی هم هست، یکی از دوستای من در فرآیندشه)
و اما در خصوص شرکتهایی که به صورت آزادانه و عمومی میگن «فقط» سرباز امریه میگیریم، چه در شرایط قبل که امریه راحتتر بود و چه الان که سخت شده: ترجیحا سمتشون نرن.
امریه شدن یه بحثی هست که کاملا ریسکی و شانسیه و وقتی شما به امید امریه شدن وارد یه شرکت میشین یعنی به اون شرکت اعتماد کردین که ظرفیتش و بُرشی که داره رو به شما اختصاص بده. پس باید بدونین که قراره یکی از این سه حالت پیش بیاد:
- یا اون شرکت واقعا برای شما احترام قائله و میخواد به شما کمک کنه که سربازی رو راحتتر طی کنین، و خب در این صورت احتمالا باید خیلی نیروی خفن و مهرهی کلیدی برای اون شرکت باشین
- اون شرکت داره شما رو گول میزنه و از اونجا که شما باید چند ماهی (حدود یک سال، حداقل) سابقه داشته باشین تا امریه بشین، تو این مدت شما رو به بیگاری میگیره (با حقوق و مزایای پایین) و در نهایت شما رو اخراج میکنه یا به هر بهونه امریه نمیکنه و مجبورتون میکنه تا خودتون از شرکت برید
- اون شرکت شما رو امریه خواهد کرد ولی با حقوق سرباز و مزایای پایین که بعضی وقتها این شرکتها آنچنان سطحشون پایین هست که میگی کاش میرفتم ۱۸ ماه بالای برجک ولی ۲۴ ماه نمیومدم سربازی برای این شرکت
~Ali Rashidi
نکته اول اینکه امریه به اون شکل مرسومش (امریه دانشبنیان) در حال حاضر شدنی نیست و با اینکه خبردرمانی شد و گفتن که مشکل حل شده، ولی من توی گروه سرباز دانشبنیان هستم و باید بگم که الان دو ماهه کسی قادر به ثبتنام نیست و معاونت هم به صورت خصوصی اگه سوال کنین میگه که فعلا ظرفیت تموم شده و مشغول مذاکره هستن.
در نتیجه اگر شرکتی ادعا میکنه میتونه سرباز امریه بگیره، یا دروغ هست و یا واقعا رابطهی قویای داره که همچنان به واسطه اون رابطه میتونه سرباز بگیره (که شدنی هم هست، یکی از دوستای من در فرآیندشه)
و اما در خصوص شرکتهایی که به صورت آزادانه و عمومی میگن «فقط» سرباز امریه میگیریم، چه در شرایط قبل که امریه راحتتر بود و چه الان که سخت شده: ترجیحا سمتشون نرن.
امریه شدن یه بحثی هست که کاملا ریسکی و شانسیه و وقتی شما به امید امریه شدن وارد یه شرکت میشین یعنی به اون شرکت اعتماد کردین که ظرفیتش و بُرشی که داره رو به شما اختصاص بده. پس باید بدونین که قراره یکی از این سه حالت پیش بیاد:
- یا اون شرکت واقعا برای شما احترام قائله و میخواد به شما کمک کنه که سربازی رو راحتتر طی کنین، و خب در این صورت احتمالا باید خیلی نیروی خفن و مهرهی کلیدی برای اون شرکت باشین
- اون شرکت داره شما رو گول میزنه و از اونجا که شما باید چند ماهی (حدود یک سال، حداقل) سابقه داشته باشین تا امریه بشین، تو این مدت شما رو به بیگاری میگیره (با حقوق و مزایای پایین) و در نهایت شما رو اخراج میکنه یا به هر بهونه امریه نمیکنه و مجبورتون میکنه تا خودتون از شرکت برید
- اون شرکت شما رو امریه خواهد کرد ولی با حقوق سرباز و مزایای پایین که بعضی وقتها این شرکتها آنچنان سطحشون پایین هست که میگی کاش میرفتم ۱۸ ماه بالای برجک ولی ۲۴ ماه نمیومدم سربازی برای این شرکت
~Ali Rashidi
👍2
Forwarded from Linuxor ?
برای کسایی که بیشتر از 8 ساعت پشت سیستم کد میزنن یه تجربه ای از اشک مصنوعی بگم؛
توی ایران چندین نوع اشک مصنوعی داریم چیز هایی که من توی بازار زیاد دیدم اشک های تک دوز آرتلاک و ارتیپیک و سینالونه، و یا ژل لیپوزیک و هیچ کدوم نسخه پزشک لازم ندارن.
از همشون استفاده کردم، آرتلاک مال شرکت بوش اند لمبه و خیلی خیلی معتبره، وقتی توی چشم ریخته میشه چشم راحتی بیشتری نسبت به آرتپیک و سینالون که ایرانیه داره ولی نتیجه زیاد تفاوتی نداره. هر ویالشون تا 24 ساعت قابل استفاده مجدده و هر 2 ساعت میتونید بریزید چشمتون.
اما لیپیوزیک که ژل هست ماندگاری بیشتری داره و حداکثر روزی 3 بار استفاده میشه و بیشتر برای خشکی شدید استفاده میشه اما اون تک ویال ها بیشتر برای خشکی خفیف تا متوسط استفاده میشه.
قیمت هاشون هم امروز چند تا گرفتم به این صورت بود :
آرتلاک دونه ای 7 تومن؛ آرتلاک ادونس دونه ای 30 تومن؛ آرتپیک 6 تومن؛ ژل لیپوزیک 330 تومن که برای 28 روز یا کمتر استفاده میشه. همچنین نسخه ادونس آرتلاک حتی میتونه خشکی های شدید هم جوابگو باشه و مواد نگهدارنده نداره و بی ضرر، اگه خشکی معمولی دارید بقیشون هم جوابه.
@Linuxor
توی ایران چندین نوع اشک مصنوعی داریم چیز هایی که من توی بازار زیاد دیدم اشک های تک دوز آرتلاک و ارتیپیک و سینالونه، و یا ژل لیپوزیک و هیچ کدوم نسخه پزشک لازم ندارن.
از همشون استفاده کردم، آرتلاک مال شرکت بوش اند لمبه و خیلی خیلی معتبره، وقتی توی چشم ریخته میشه چشم راحتی بیشتری نسبت به آرتپیک و سینالون که ایرانیه داره ولی نتیجه زیاد تفاوتی نداره. هر ویالشون تا 24 ساعت قابل استفاده مجدده و هر 2 ساعت میتونید بریزید چشمتون.
اما لیپیوزیک که ژل هست ماندگاری بیشتری داره و حداکثر روزی 3 بار استفاده میشه و بیشتر برای خشکی شدید استفاده میشه اما اون تک ویال ها بیشتر برای خشکی خفیف تا متوسط استفاده میشه.
قیمت هاشون هم امروز چند تا گرفتم به این صورت بود :
آرتلاک دونه ای 7 تومن؛ آرتلاک ادونس دونه ای 30 تومن؛ آرتپیک 6 تومن؛ ژل لیپوزیک 330 تومن که برای 28 روز یا کمتر استفاده میشه. همچنین نسخه ادونس آرتلاک حتی میتونه خشکی های شدید هم جوابگو باشه و مواد نگهدارنده نداره و بی ضرر، اگه خشکی معمولی دارید بقیشون هم جوابه.
@Linuxor
امروز توی دورهمی code & coffee حین کانکشن سازی صحبت خوبی شنیدم برای پیدا کردن پوزیشن های کارآموزی:
باتوجه به تخصص و علاقتون بگردید دنبال پوزیشن های شغلی، فارغ از سطحی که نیاز دارن@Rs_tutorial #arj
باهاشون ارتباط برقرار کنید(cold mail) و درخواست کارآموزی و یاد گیری در شرکت اونها رو (با دلایل معقول و قانع کننده مثل کسب تجربه و ارتقا دانش) داشته باشید
شانس موفقیت و پیدا کردن پوزیشن های بهتری دارید توی این موضوع
بجای اینکه درگیر شرکت هایی بشید که فارغ از هرگونه خروجی مناسب، صرفا وقتتون رو اتلاف میکنن و یا بیگاری میکشن صرفا به اسم پذیرش های کارآموزیی که میذارن
Forwarded from Armin codes (Armin Shaikhy)
این هفته یه چالش واقعی با تیم بکاند داشتیم: چطور API پایدار بسازیم بدون اینکه کار سرویسهای دیگه یا کاربران خراب بشه؟ 😅
چند نکته که وسط بحث پیش اومد:
Versioning (نسخهبندی)
بعضیها میخواستن تغییرات جدید رو همون نسخه موجود اعمال کنن، اما من اصرار داشتم: هر تغییر بزرگ = نسخه جدید (v1, v2).
دلیل؟ سرویسهای قدیمی باید بدون دردسر کار کنن و مشتریها کمکم به نسخه جدید مهاجرت کنن.
Backward Compatibility (سازگاری به عقب)
وقتی یه فیلد جدید اضافه میشد یا رفتار endpoint تغییر میکرد، باید نسخه قبلی هنوز کار میکرد. این یکی از بحثهای داغمون بود؛ چون تیم میخواست راحت تغییر بده، من میگفتم: «نه، نباید چیزی رو بشکنیم!»
Change Management (مدیریت تغییرات)
مستندسازی و changelog، تستهای اتوماتیک و قوانین سخت برای حذف فیلدها یا تغییر رفتارها. اول هشدار، بعد تغییر. این مرحله باعث شد همه تیمها روی یک خط باشن و کسی غافلگیر نشه.
چند نکته که وسط بحث پیش اومد:
Versioning (نسخهبندی)
بعضیها میخواستن تغییرات جدید رو همون نسخه موجود اعمال کنن، اما من اصرار داشتم: هر تغییر بزرگ = نسخه جدید (v1, v2).
دلیل؟ سرویسهای قدیمی باید بدون دردسر کار کنن و مشتریها کمکم به نسخه جدید مهاجرت کنن.
Backward Compatibility (سازگاری به عقب)
وقتی یه فیلد جدید اضافه میشد یا رفتار endpoint تغییر میکرد، باید نسخه قبلی هنوز کار میکرد. این یکی از بحثهای داغمون بود؛ چون تیم میخواست راحت تغییر بده، من میگفتم: «نه، نباید چیزی رو بشکنیم!»
Change Management (مدیریت تغییرات)
مستندسازی و changelog، تستهای اتوماتیک و قوانین سخت برای حذف فیلدها یا تغییر رفتارها. اول هشدار، بعد تغییر. این مرحله باعث شد همه تیمها روی یک خط باشن و کسی غافلگیر نشه.
Forwarded from جنگولرن
نکته هایی در مورد فایل های استاتیک جنگو – بخش سوم - آخر
توی دو بخش قبل گفتبم جنگو چطور فایل های استاتیک رو مدیریت میکنه.
حالا میخواهیم ببینیم توی development و production چه فرقی هست؟
وقتی debug=true باشه (یعنی حالت development) جنگو خودش فایل های استاتیک رو سرو میکنه.
این برای تست کافیه، ولی روی سرور واقعی (production) اصلاً توصیه نمیشه. چون هم کند ع هم امن نیست. (توضیح اینو توی کامنت همین پست میزارم)
توی production باید (بهتره) وب سرور (مثل nginx یا apache) فایل های استاتیک رو سرو کنن.
برای همین دستور collectstatic رو اجرا میکنیم تا همه فایل ها توی یه پوشه (همون STATIC_ROOT) جمع بشن و بعد اون مسیر رو برای وب سرور مشخص می کنیم.
فرض کن STATIC_ROOT ما اینه:
توی nginx معمولا اینجوری می نویسیم:
اینجا alias ینی:
هر وقت کاربر آدرس /static/... خواست، nginx برو سراغ پوشه staticfiles/ و ادامه مسیر رو اونجا پیدا کن.
مثلا:
تبدیل میشه به:
یه دستور دیگه هم هست به اسم root:
اینجا مسیر /static/ از URL حذف نمیشه و میچسبه به آخر root.
مثلا همون آدرس ع بالا:
میشه:
فرق شون چی شد؟
اون alias - بخش location (یعنی /static/) رو کنار می ذاره.
اون root - بخش location رو نگه میداره و به مسیر اضافه می کنه.
کلمه اون رو گذاشتم اولشون که راست چین بشن این دو تا خط بالایی 😁
برای همین ما معمولا برای static files از alias استفاده میکنیم.
اینارو می دونستی 🥱 بزار
وگرنه هر چی دوس داری بزار ❤️
توی دو بخش قبل گفتبم جنگو چطور فایل های استاتیک رو مدیریت میکنه.
حالا میخواهیم ببینیم توی development و production چه فرقی هست؟
وقتی debug=true باشه (یعنی حالت development) جنگو خودش فایل های استاتیک رو سرو میکنه.
این برای تست کافیه، ولی روی سرور واقعی (production) اصلاً توصیه نمیشه. چون هم کند ع هم امن نیست. (توضیح اینو توی کامنت همین پست میزارم)
توی production باید (بهتره) وب سرور (مثل nginx یا apache) فایل های استاتیک رو سرو کنن.
برای همین دستور collectstatic رو اجرا میکنیم تا همه فایل ها توی یه پوشه (همون STATIC_ROOT) جمع بشن و بعد اون مسیر رو برای وب سرور مشخص می کنیم.
فرض کن STATIC_ROOT ما اینه:
/home/youruser/myproject/staticfiles/
توی nginx معمولا اینجوری می نویسیم:
location /static/ {
alias /home/youruser/myproject/staticfiles/;
}اینجا alias ینی:
هر وقت کاربر آدرس /static/... خواست، nginx برو سراغ پوشه staticfiles/ و ادامه مسیر رو اونجا پیدا کن.
مثلا:
/static/css/style.css
تبدیل میشه به:
/home/youruser/myproject/staticfiles/css/style.css
یه دستور دیگه هم هست به اسم root:
location /static/ {
root /home/youruser/myproject/;
}اینجا مسیر /static/ از URL حذف نمیشه و میچسبه به آخر root.
مثلا همون آدرس ع بالا:
/static/css/style.css
میشه:
/home/youruser/myproject/static/css/style.css
فرق شون چی شد؟
اون alias - بخش location (یعنی /static/) رو کنار می ذاره.
اون root - بخش location رو نگه میداره و به مسیر اضافه می کنه.
برای همین ما معمولا برای static files از alias استفاده میکنیم.
اینارو می دونستی 🥱 بزار
وگرنه هر چی دوس داری بزار ❤️
❤1
کدنویسی روی iPad با کمک اندروید و Termux
#پارت یک
اگر از خانواده دستگاههای اپل استفاده کرده باشید، میدونید کار کردن روی iOS/iPadOS همیشه محدودیتهای خاص خودش رو داره. یکی از بزرگترین مشکلات من این بود که میخواستم آیپد رو جایگزین لپتاپ کنم برای بیرون و کدنویسی کنم، ولی هیچ ادیتور درستوحسابی برای جنگو و پایتون روی آیپد پیدا نکردم.
راهحل؟ استفاده از قدرت اندروید.
روی گوشی اندرویدی با Termux یک وبسرور VS Code (کامل داخل مرورگر) بالا آوردم و حالا روی آیپد میتونم مثل لپتاپ کد بزنم، بدون دغدغه محدودیتها.
مزیت اصلی؟
✓ بدون نیاز به اینترنت (همهچیز لوکال اجرا میشه)
✓ سرعت بالا و دیلی خیلی کم
✓ مستقل از سیستمعامل آیپد
—————————————————————
🛠 مراحل راهاندازی
1⃣ آمادهسازی Termux
2⃣ساخت پوشه پروژه
3⃣اجرای code-server با رمز دلخواه
درصورت نیاز به تغییرات در تنظیمات
و محتوا رو به این شکل تنظیم کنید:
5⃣بعد از انجم تغییرات باید code-server به این نحو ریاستارت بشه:
مارا دنبال کنید:
#arj✒️
🔰@Rs_tutorial
#پارت یک
اگر از خانواده دستگاههای اپل استفاده کرده باشید، میدونید کار کردن روی iOS/iPadOS همیشه محدودیتهای خاص خودش رو داره. یکی از بزرگترین مشکلات من این بود که میخواستم آیپد رو جایگزین لپتاپ کنم برای بیرون و کدنویسی کنم، ولی هیچ ادیتور درستوحسابی برای جنگو و پایتون روی آیپد پیدا نکردم.
راهحل؟ استفاده از قدرت اندروید.
روی گوشی اندرویدی با Termux یک وبسرور VS Code (کامل داخل مرورگر) بالا آوردم و حالا روی آیپد میتونم مثل لپتاپ کد بزنم، بدون دغدغه محدودیتها.
مزیت اصلی؟
✓ بدون نیاز به اینترنت (همهچیز لوکال اجرا میشه)
✓ سرعت بالا و دیلی خیلی کم
✓ مستقل از سیستمعامل آیپد
—————————————————————
🛠 مراحل راهاندازی
1⃣ آمادهسازی Termux
termux-setup-storage
pkg update -y && pkg upgrade -y
pkg install tur-repo -y
pkg install code-server python git tmux openssl-tool -y
2⃣ساخت پوشه پروژه
mkdir -p ~/projects/ && cd ~/projects/
python -m pip install --upgrade pip setuptools wheel
3⃣اجرای code-server با رمز دلخواه
export PASSWORD="12345678"
code-server --bind-addr 0.0.0.0:8080 &
درصورت نیاز به تغییرات در تنظیمات
nano ~/.config/code-server/config.yaml
و محتوا رو به این شکل تنظیم کنید:
bind-addr: 0.0.0.0:8080
auth: password
password: "12345678"
cert: false
5⃣بعد از انجم تغییرات باید code-server به این نحو ریاستارت بشه:
pkill -f code-server
code-server
مارا دنبال کنید:
#arj✒️
🔰@Rs_tutorial
❤2🆒1
Random shi- tutorials
کدنویسی روی iPad با کمک اندروید و Termux #پارت یک اگر از خانواده دستگاههای اپل استفاده کرده باشید، میدونید کار کردن روی iOS/iPadOS همیشه محدودیتهای خاص خودش رو داره. یکی از بزرگترین مشکلات من این بود که میخواستم آیپد رو جایگزین لپتاپ کنم برای بیرون…
کدنویسی روی iPad با کمک اندروید و Termux
#پارت دو:
استفاده از کد ادیتور داخل مرورگر آیپد.
1. هات اسپات دستگاهی که پیاده سازی رو روش انجام دادیم روشن
و آیپد رو وصل کن به همون شبکه.
3. آیپی گوشی رو از این مسیر داخل آیپد پیدا کن:
Setting>wifi>هاتاسپات گوشیتون>ipv4 ADDRESS
ایپی که جلوی router نوشته آیپی گوشی شماست
4. روی آیپد مرورگر باز کن :
ایپی گوشی رو روی پورت مدنظر باز کن( مثلا ایپی ما 192.168.43.1 هست:)
192.168.43.1:8080
5. پسورد تنظیم شده توی ستاپ اولیه رو بزن، و وارد VS Code شو ✨
نکته:
برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
اولی از مارکتپلیس خود code-server که Open-VSX extension gallery هست
و دومی فایل vsix افزونه مورد نظرتون رو دانلود کنید و با اون نصب کنید(از داخل آیپد هم قابل انجام هست)
مارا دنبال کنید:
#arj✒️
🔰@Rs_tutorial
#پارت دو:
استفاده از کد ادیتور داخل مرورگر آیپد.
1. هات اسپات دستگاهی که پیاده سازی رو روش انجام دادیم روشن
و آیپد رو وصل کن به همون شبکه.
3. آیپی گوشی رو از این مسیر داخل آیپد پیدا کن:
Setting>wifi>هاتاسپات گوشیتون>ipv4 ADDRESS
ایپی که جلوی router نوشته آیپی گوشی شماست
4. روی آیپد مرورگر باز کن :
ایپی گوشی رو روی پورت مدنظر باز کن( مثلا ایپی ما 192.168.43.1 هست:)
192.168.43.1:8080
5. پسورد تنظیم شده توی ستاپ اولیه رو بزن، و وارد VS Code شو ✨
نکته:
برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
# From the Coder extension
marketplace code-server --install-extension ms-python.python
# From a downloaded VSIX on the file system
code-server --install-extension downloaded-ms-python.python.vsix
اولی از مارکتپلیس خود code-server که Open-VSX extension gallery هست
و دومی فایل vsix افزونه مورد نظرتون رو دانلود کنید و با اون نصب کنید(از داخل آیپد هم قابل انجام هست)
مارا دنبال کنید:
#arj✒️
🔰@Rs_tutorial
❤1
Random shi- tutorials
نکته:
برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
برای نصب افزونه ها، باید توی ترماکس، از یکی از دو شیوه زیر استفاده کنید:
درحال حاضر تنها مشکل این کار نداشتن مارکتپلیس vsCode برای افزونه هاست و باید دستی نصب کرد
که اونم انشالله بزوری راهکاری براش پیدا میکنم💀
اگر از دوستان کسی حوصله تست و فیکسش رو داشت هم که عالی میشه
این منبع کمک کننده خواهد بود:
https://coder.com/docs/code-server/FAQ
که اونم انشالله بزوری راهکاری براش پیدا میکنم💀
اگر از دوستان کسی حوصله تست و فیکسش رو داشت هم که عالی میشه
این منبع کمک کننده خواهد بود:
https://coder.com/docs/code-server/FAQ
Coder
FAQ: code-server config, install extensions & more | code-server Docs
Answers to all your FAQs: Learn how to expose code-server, use it on a iPad, install extensions, debug issues and more.
❤1
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
اگر Vibe Coding می کنید، احتمالاً جزو یکی از این دو دسته هستین:
یا از ابزاری مثل Cursor استفاده میکنید که Agent مستقیماً با کدهای پروژهتون تعامل داره، یا از نسخه وب استفاده می کنید و کدهای پروژه رو دستی کپی میکنید و به AI میدید.
اگر جزو دسته دوم هستید، احتمالا این فرایند براتون توی پروژههای بزرگ با تعداد فایلهای زیاد، گاهی خستهکننده میشه. باید هر بار فایلها رو پیدا کنید، کدها رو کپی کنید و اگر Agentتون (مثل Claude) زود به محدودیت برسه، این کار حسابی پهنای باند اعصابتون رو درگیر می کنه.
توی پروژه هایی که Vibe Coding لازمه، من جزو دسته دوم هستم و به همین دلیل، یه اسکریپت پایتونی نوشتم که کارم رو راحت بکنه.
کارش اینکه میاد مسیر یک دایرکتوری رو از شما دریافت می کنه و فایل هایی که داخلش هستند رو توی یک فایل txt با مسیر هاشون Merge می کنه.
https://github.com/naseridev/vibemerge
@DevTwitter | <Nima Naseri/>
یا از ابزاری مثل Cursor استفاده میکنید که Agent مستقیماً با کدهای پروژهتون تعامل داره، یا از نسخه وب استفاده می کنید و کدهای پروژه رو دستی کپی میکنید و به AI میدید.
اگر جزو دسته دوم هستید، احتمالا این فرایند براتون توی پروژههای بزرگ با تعداد فایلهای زیاد، گاهی خستهکننده میشه. باید هر بار فایلها رو پیدا کنید، کدها رو کپی کنید و اگر Agentتون (مثل Claude) زود به محدودیت برسه، این کار حسابی پهنای باند اعصابتون رو درگیر می کنه.
توی پروژه هایی که Vibe Coding لازمه، من جزو دسته دوم هستم و به همین دلیل، یه اسکریپت پایتونی نوشتم که کارم رو راحت بکنه.
کارش اینکه میاد مسیر یک دایرکتوری رو از شما دریافت می کنه و فایل هایی که داخلش هستند رو توی یک فایل txt با مسیر هاشون Merge می کنه.
https://github.com/naseridev/vibemerge
@DevTwitter | <Nima Naseri/>
❤1