نوشتههای ترمینالی
دوست دارید فرق Developer و Tech lead و Engineering manager رو بدونید؟ این ریپوی گیتهاب، میاد و میگه هر نقش چطوری رو تکنولوژی، سیستم، افراد، پروسه ها تاثیر میذاره (یا تاثیر میپذیره). همچنین میتونه ایده خوبی بده چطوری میتونیم تو نردبان شغلی پیشرفت کنیم.…
پیام قبلی به خاطر مشکل تلگرام نظرات نداره، از این پیام برای نظراتش استفاده کنید.
در مورد این که چه مدلی خوبه که از برنچهای گیت استفاده کنیم، ایدههای مختلفی مطرح میشه.
یکی از بهترینهاش در این دوره زمونه، trunk based developmentئه. (مدلهای دیگه مثل git flow هم وجود داره)
در مورد trunk based اینجا میتونید اطلاعات خوبی کسب کنید.
https://trunkbaseddevelopment.com/
یکی از بهترینهاش در این دوره زمونه، trunk based developmentئه. (مدلهای دیگه مثل git flow هم وجود داره)
در مورد trunk based اینجا میتونید اطلاعات خوبی کسب کنید.
https://trunkbaseddevelopment.com/
Trunkbaseddevelopment
Trunk Based Development
A portal on this practice
اگه دوست دارید در مورد hyperloglog بدونید این مطلب مخصوص شماست. این مطلب به این میپردازه که توی فیسبوک چطوری با کمک این ساختمان داده احتمالاتی، یه کوئری رو بهینه سازی کردن.
ساختمان داده ها احتمالاتی، ساختمان داده هایی هستن مثل bloom filter که پاسخ نزدیکی به ما میدن ولی نه لزوما دقیق. با این که گارانتی دقت رو نمیدن، مزایای دیگهای دارن مثلا مصرف مموری کمتری دارن یا از نظر محاسباتی سبکتر هستن.
در این مورد هم hyperloglog تعداد المنت های یونیک یه لیست رو به شکل تقریبی میشماره، با مصرف پردازنده و مموری خیلی خیلی کم. توی مطلب پیوست اشاره میشه که تعداد بازدید کننده های غیرتکراری فیسبوک رو میخواستن پیدا کنن.
https://engineering.fb.com/2018/12/13/data-infrastructure/hyperloglog/
ساختمان داده ها احتمالاتی، ساختمان داده هایی هستن مثل bloom filter که پاسخ نزدیکی به ما میدن ولی نه لزوما دقیق. با این که گارانتی دقت رو نمیدن، مزایای دیگهای دارن مثلا مصرف مموری کمتری دارن یا از نظر محاسباتی سبکتر هستن.
در این مورد هم hyperloglog تعداد المنت های یونیک یه لیست رو به شکل تقریبی میشماره، با مصرف پردازنده و مموری خیلی خیلی کم. توی مطلب پیوست اشاره میشه که تعداد بازدید کننده های غیرتکراری فیسبوک رو میخواستن پیدا کنن.
https://engineering.fb.com/2018/12/13/data-infrastructure/hyperloglog/
Engineering at Meta
HyperLogLog in Presto: A significantly faster way to handle cardinality estimation
Computing the count of distinct elements in massive data sets is often necessary but computationally intensive. Say you need to determine the number of distinct people visiting Facebook in the past…
Forwarded from Software Philosophy
۱۰ برابر شدن سرعت TypeScript با پورت کامپایلر به GO
در این ویدئو Andres Hejlsberg (خالق تایپاسکریپت و سیشارپ) توضیح میدهد که چگونه با پورت کردن کدهای کامپایلر TypeScript به GO، سرعت کامپایل را 10x بهتر کردهاند!
او همچنین توضیح میدهد که چرا زیرساخت JavaScript برای این کار مناسب نیست. در حقیقت این زبان بیشتر برای کارهای UI طراحی شده بوده و زیرساختهای لازم برای کارهای performance-intensive مانند این کار را ندارد.
برای من خیلی جالب بود خالق سیشارپ، زبان GO را برای این کار انتخاب کرده، پس مستندات مربوط به این تصمیم را خواندم.
https://github.com/microsoft/typescript-go/discussions/411
اولین نکته جالب این بود که چقدر بدون تعصب و با ذهن باز زبانهای مختلف رو بررسی کردن.
با توجه به اینکه هر دو زبان C#, GO از لحاظ پرفورمنسی بسیار خوب هستند، یکی از مهمترین دلایل انتخاب GO تشابه بسیار بالای سینتکس آن با TypeScript بوده است.
کامپایلر قبلی تایپاسکریپت، با خود تایپاسکریپت نوشته شده و تیم نمیخواستند که کل آن را بازنویسی کنند.
در حقیقت هدف rewrite کردن نبوده، بلکه port کردن بوده.
آنها دنبال پورت کردن آن به یک زبان با پرفورمنس بالا بودند که تشابه سینتکسی بالایی داشته باشد تا عملیات پورت بتواند راحتتر انجام شود.
از بین زبانهای C#, GO و Rust، زبان گو تشابه سینتکسی بیشتری با تایپاسکریپت داشته و در نهایت انتخاب شده.
به نظرم نحوه انتخاب زبان برای این کار توسط خالق سیشارپ و تایپاسکریپ، درسهای تکنیکال و بیزسنی زیادی برای یاد گرفتن داره. نظر شما چیه؟
https://www.youtube.com/watch?v=pNlq-EVld70
#مهران_داودی (لینکدین - بلاگ)
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______
در این ویدئو Andres Hejlsberg (خالق تایپاسکریپت و سیشارپ) توضیح میدهد که چگونه با پورت کردن کدهای کامپایلر TypeScript به GO، سرعت کامپایل را 10x بهتر کردهاند!
او همچنین توضیح میدهد که چرا زیرساخت JavaScript برای این کار مناسب نیست. در حقیقت این زبان بیشتر برای کارهای UI طراحی شده بوده و زیرساختهای لازم برای کارهای performance-intensive مانند این کار را ندارد.
برای من خیلی جالب بود خالق سیشارپ، زبان GO را برای این کار انتخاب کرده، پس مستندات مربوط به این تصمیم را خواندم.
https://github.com/microsoft/typescript-go/discussions/411
اولین نکته جالب این بود که چقدر بدون تعصب و با ذهن باز زبانهای مختلف رو بررسی کردن.
با توجه به اینکه هر دو زبان C#, GO از لحاظ پرفورمنسی بسیار خوب هستند، یکی از مهمترین دلایل انتخاب GO تشابه بسیار بالای سینتکس آن با TypeScript بوده است.
کامپایلر قبلی تایپاسکریپت، با خود تایپاسکریپت نوشته شده و تیم نمیخواستند که کل آن را بازنویسی کنند.
در حقیقت هدف rewrite کردن نبوده، بلکه port کردن بوده.
آنها دنبال پورت کردن آن به یک زبان با پرفورمنس بالا بودند که تشابه سینتکسی بالایی داشته باشد تا عملیات پورت بتواند راحتتر انجام شود.
از بین زبانهای C#, GO و Rust، زبان گو تشابه سینتکسی بیشتری با تایپاسکریپت داشته و در نهایت انتخاب شده.
به نظرم نحوه انتخاب زبان برای این کار توسط خالق سیشارپ و تایپاسکریپ، درسهای تکنیکال و بیزسنی زیادی برای یاد گرفتن داره. نظر شما چیه؟
https://www.youtube.com/watch?v=pNlq-EVld70
#مهران_داودی (لینکدین - بلاگ)
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______
GitHub
Why Go? · microsoft typescript-go · Discussion #411
Language choice is always a hot topic! We extensively evaluated many language options, both recently and in prior investigations. We also considered hybrid approaches where certain components could...
Forwarded from Prisma | پریسما
🤔 تا حالا به این فکر کردی که تحصیلات طرفدارای پرسپولیس بیشتره یا استقلال؟
🤔 یا اینکه آدمایی که ازدواج کردن خودشونو خوشبختتر میدونن یا مجردا؟
🤔 یا تا حالا فکر کردی که بشه از همه کسایی که مهاجرت کردن نظرشونو در مورد مهاجرتشون پرسید؟
🫣 ما توی پریسما قراره جواب این سوالا رو بدیم. با نظرسنجی از شما، تحلیل نظرات رو در دستهبندی های مختلف انجام میدیم و نتایج این نظرسنجیها رو در چنلمون منتشر میکنیم.
برای اینکه همراهمون باشی از طریق این بات نظراتت رو ثبت کن:
🆔 @prisma_poll_bot
برای دیدن نتایج هم کافیه توی چنلمون عضو شی:
🆔 @prisma_thoughts
اگه خوشت اومد ما رو به دوستات هم معرفی کن که به تحلیل بهتر نظرات کمک کرده باشی 🤌
🤔 یا اینکه آدمایی که ازدواج کردن خودشونو خوشبختتر میدونن یا مجردا؟
🤔 یا تا حالا فکر کردی که بشه از همه کسایی که مهاجرت کردن نظرشونو در مورد مهاجرتشون پرسید؟
🫣 ما توی پریسما قراره جواب این سوالا رو بدیم. با نظرسنجی از شما، تحلیل نظرات رو در دستهبندی های مختلف انجام میدیم و نتایج این نظرسنجیها رو در چنلمون منتشر میکنیم.
برای اینکه همراهمون باشی از طریق این بات نظراتت رو ثبت کن:
🆔 @prisma_poll_bot
برای دیدن نتایج هم کافیه توی چنلمون عضو شی:
🆔 @prisma_thoughts
اگه خوشت اومد ما رو به دوستات هم معرفی کن که به تحلیل بهتر نظرات کمک کرده باشی 🤌
Forwarded from امین رشیدبیگی | مهندسی نرمافزار
ابزار مدیریت محصول Linear که یکی از استارتآپهای خیلی موفق چند سال گذشته است، به خاطر نگاه متفاوتی که به روند توسعهٔ محصولشون داشتن در کامیونیتیهای پروداکت و UX خیلی ازش صحبت میشه. اونا تونستن که محصول خیلی باکیفیتی ارائه بدن و خیلیها معتقدن از رقیبهای بزرگشون مثل Jira و Clickup تجربهٔ کاربری بهتری ارائه میدن.
یک محصول خوب با پشتیبانی یک تیم مهندسی خوب ساخته میشه. Sabin Roman که Engineer Manager و Hiring Manager این شرکته، اخیراً مصاحبهٔ خیلی خوبی با Gergley Orosz داشته. هر دوی این افراد در گذشته در Uber با هم همکار بودن و به همین دلیل مقایسههای جالبی بین شرکت بزرگی مثل Uber و استارتآپ نسبتاً جدیدی و کوچکی مثل Linear شکل میگیره.
نکاتی در مورد فرهنگ شرکت Linear که برام جالب بود:
- شرکتشون کاملاً ریموته و بر روی این اصل پافشاری میکنن. مصاحبهکننده بر این باوره که remote first بودن مزایای زیادی رو به شرکت اضافه میکنه، حتی با وجود این که سربار بیشتری برای مدیرهای شرکت داره.
- حل یک باگ همواره براشون اولویت بالاتری از توسعهٔ محصول داره و همهٔ اعضای تیم موظفن که در زودترین زمان ممکن باگ رو رفع کنن و برای این مسئله فرآیند مشخصی دارن.
- مهندسهاشون ارتباط مستقیم و بدون واسطهای با مشتریها دارن و حرفهاشون رو میشنون و مشکلات محصول رو میبینن.
ویدیو رو میتونید از این لینک ببینید.
@aminrbg
یک محصول خوب با پشتیبانی یک تیم مهندسی خوب ساخته میشه. Sabin Roman که Engineer Manager و Hiring Manager این شرکته، اخیراً مصاحبهٔ خیلی خوبی با Gergley Orosz داشته. هر دوی این افراد در گذشته در Uber با هم همکار بودن و به همین دلیل مقایسههای جالبی بین شرکت بزرگی مثل Uber و استارتآپ نسبتاً جدیدی و کوچکی مثل Linear شکل میگیره.
نکاتی در مورد فرهنگ شرکت Linear که برام جالب بود:
- شرکتشون کاملاً ریموته و بر روی این اصل پافشاری میکنن. مصاحبهکننده بر این باوره که remote first بودن مزایای زیادی رو به شرکت اضافه میکنه، حتی با وجود این که سربار بیشتری برای مدیرهای شرکت داره.
- حل یک باگ همواره براشون اولویت بالاتری از توسعهٔ محصول داره و همهٔ اعضای تیم موظفن که در زودترین زمان ممکن باگ رو رفع کنن و برای این مسئله فرآیند مشخصی دارن.
- مهندسهاشون ارتباط مستقیم و بدون واسطهای با مشتریها دارن و حرفهاشون رو میشنون و مشکلات محصول رو میبینن.
ویدیو رو میتونید از این لینک ببینید.
@aminrbg
YouTube
Linear: move fast with little process (with first Engineering Manager Sabin Roman)
Linear is a small startup with a big impact: 10,000+ companies use their project and issue-tracking system, including 66% of Forbes Top 50 AI companies. Founded in 2019, the company raised $52M in funding and is profitable, and full-remote. How did they…
https://iximiuz.com/en/posts/containers-distroless-images/
دوست دارید از بیس ایمج scratch استفاده کنید برای داکر فایل هاتون، ولی خیلی خالیه و امکانات مورد نظر رو نداره؟
از طرفی alpine هم زیادی امکانات و attack surface داره؟
یه ایمج استاتیک وجود داره که در حد پوشه بندی استاندارد و tzinfo رو فراهم میکنه ولی پکیجمنیجر نداره.
دوست دارید از بیس ایمج scratch استفاده کنید برای داکر فایل هاتون، ولی خیلی خالیه و امکانات مورد نظر رو نداره؟
از طرفی alpine هم زیادی امکانات و attack surface داره؟
یه ایمج استاتیک وجود داره که در حد پوشه بندی استاندارد و tzinfo رو فراهم میکنه ولی پکیجمنیجر نداره.
iximiuz Labs
What's Inside Distroless Container Images: Taking a Closer Look | iximiuz Labs
What are these distroless images, really? Why are they needed? What's the difference between a container image built from a distroless base and a container image built from scratch? Let's take a deeper look.
یه نکته که الان در مورد چنل متوجه شدم اینه که از دسامبر به بعد پیام زماندارهایی که برا ساعت ۲۰:۰۰ میذارم، با تاخیر خیلی زیاد میرسه. قبلا خود ۲۰:۰۰ یا ۲۰:۰۱ میرسید ولی تاخیره به ۳ تا ۵ دقیقه رسیده!
حتی در یه مورد یک دقیقه زودتر بوده!
راستی، فرض کنید میخوایم سیستم پیام زماندار تلگرام رو طراحی/پیادهسازی کنیم، به نظرتون چه چالشهایی داره و چطوری میشه حلشون کرد؟
ابزاری هم اگه میشناسید که کمک میکنه برای پیادهسازی بگید بهمون.
حتی در یه مورد یک دقیقه زودتر بوده!
راستی، فرض کنید میخوایم سیستم پیام زماندار تلگرام رو طراحی/پیادهسازی کنیم، به نظرتون چه چالشهایی داره و چطوری میشه حلشون کرد؟
ابزاری هم اگه میشناسید که کمک میکنه برای پیادهسازی بگید بهمون.
شاید از خودتون پرسیده باشید اگه الگوریتم ها صدا داشتن آیا میشد باهاشون ساز ساخت و موسیقی زد؟ جواب اینه که بله. (احتمالا شما هم این سوال رو نپرسیدید از خودتون ولی به هر حال میخواستم معرفی کنم)
لینک گیتهاب پروژه:
https://github.com/myanvoos/algoMIDI
لینک صفحه لایو پروژه:
https://algomidi.vercel.app/
دو تا قابلیت داره، یکی ساخت صدا از الگوریتم های پیمایش گراف که فقط تو کامپیوتر در دسترس هست.
یکی هم این که بهش یه زمین Conway's game of life میدید و به ازای هر پیمایش که میره جلو، صدای خونههای متناظر رو پخش میکنه.
لینک گیتهاب پروژه:
https://github.com/myanvoos/algoMIDI
لینک صفحه لایو پروژه:
https://algomidi.vercel.app/
دو تا قابلیت داره، یکی ساخت صدا از الگوریتم های پیمایش گراف که فقط تو کامپیوتر در دسترس هست.
یکی هم این که بهش یه زمین Conway's game of life میدید و به ازای هر پیمایش که میره جلو، صدای خونههای متناظر رو پخش میکنه.
GitHub
GitHub - myanvoos/algoMIDI: Algorithms as instruments.
Algorithms as instruments. Contribute to myanvoos/algoMIDI development by creating an account on GitHub.
اگه دوست دارید یه اپلیکیشن برای استفاده از youtube music داشته باشید که adblock داخلی خودشم داره این اپلیکیشن رو امتحان کنید.
پلاگینهای متنوعی داره توی خودش که میتونید شخصیسازی هم داشته باشید ولی بدون تغییر خاصی هم، تجربه کلیش به نظرم لذتبخشه.
https://github.com/th-ch/youtube-music
برای لینوکس و ویندوز و مک هم نسخه داره.
پلاگینهای متنوعی داره توی خودش که میتونید شخصیسازی هم داشته باشید ولی بدون تغییر خاصی هم، تجربه کلیش به نظرم لذتبخشه.
https://github.com/th-ch/youtube-music
برای لینوکس و ویندوز و مک هم نسخه داره.
GitHub
GitHub - th-ch/youtube-music: YouTube Music Desktop App bundled with custom plugins
YouTube Music Desktop App bundled with custom plugins - th-ch/youtube-music
نوشتههای ترمینالی
یه مطلب خیلی خوب در مورد تاثیر generative ai بر برنامهنویسی و تیمهای توسعه. در آخر هم نظراتش در مورد برنامهنویس جونیور و اینکه چرا برای اکثر تیمها وجودش لازمه رو میگه. https://stackoverflow.blog/2024/12/31/generative-ai-is-not-going-to-build-your-engineering…
در ادامه مطلبی که ریپلای زدم:
آیا میشه با استخدام یه نیروی سنیور، میانبر زد و زودتر به بازدهی رسید؟
این مطلب نظرش اینه که نه.
چرا؟
چون سنیوری که تجربهش جای دیگهست اتفاقا خیلی سخت تر میتونه اداپت بشه.
در عوض یه جونیوری که اشتیاق یادگیری داره و پرفورمنس خوبی داره میتونه خیلی سریعتر روالها رو یاد بگیره و به بازدهی برسه. در ادامه هم سنیور خوبی بشه که کاملا با سیستم آشنایی داره، چون همینجا سنیور شده.
https://skamille.medium.com/the-senior-shortcut-fadffe5503fd
از این مطلب هم در کنار مطلب قبلی، آگاهیبخشی از اینه که جونیورها هم مهمن.
۱- شاید یه شرکت، یه مدیر یا یه تیم فکر کنه که با استخدام سنیور همه مشکلاتش حل میشه ولی همه شرکتها در بلندمدت نمیتونن این کارو بکنن.
به دو تا دلیل، اول این که به خاطر مهاجرت نیروها، اصلا اونقدر نیروی سنیور خوب نداریم که همه بخوان استفاده کنن، دوم این که بازدهی سنیورها لزوما در کوتاه مدت بیشتر نیست، در بلندمدت هم که جونیور هم پیشرفت میکنه.
۲- شاید به نظر بیاد که کاری که جونیور میتونه انجام بده رو هوش مصنوعی هم میتونه انجام بده، ولی خب جونیوری که با هوش مصنوعی کار میکنه سرعتش بیشتره، میتونه زودتر یاد بگیره و ... ضمن این که وقتی که جونیوری در حال یادگیری نباشه، به زودی سنیوری هم در کار نیست.
ما قرار نیست چون ماشین حساب وجود داره جمع و ضرب رو یاد ندیم به دانشآموزها. هرچند شاید از توانایی جمع و ضربشون زیاد استفاده نکنن.
آیا میشه با استخدام یه نیروی سنیور، میانبر زد و زودتر به بازدهی رسید؟
این مطلب نظرش اینه که نه.
چرا؟
چون سنیوری که تجربهش جای دیگهست اتفاقا خیلی سخت تر میتونه اداپت بشه.
در عوض یه جونیوری که اشتیاق یادگیری داره و پرفورمنس خوبی داره میتونه خیلی سریعتر روالها رو یاد بگیره و به بازدهی برسه. در ادامه هم سنیور خوبی بشه که کاملا با سیستم آشنایی داره، چون همینجا سنیور شده.
https://skamille.medium.com/the-senior-shortcut-fadffe5503fd
از این مطلب هم در کنار مطلب قبلی، آگاهیبخشی از اینه که جونیورها هم مهمن.
۱- شاید یه شرکت، یه مدیر یا یه تیم فکر کنه که با استخدام سنیور همه مشکلاتش حل میشه ولی همه شرکتها در بلندمدت نمیتونن این کارو بکنن.
به دو تا دلیل، اول این که به خاطر مهاجرت نیروها، اصلا اونقدر نیروی سنیور خوب نداریم که همه بخوان استفاده کنن، دوم این که بازدهی سنیورها لزوما در کوتاه مدت بیشتر نیست، در بلندمدت هم که جونیور هم پیشرفت میکنه.
۲- شاید به نظر بیاد که کاری که جونیور میتونه انجام بده رو هوش مصنوعی هم میتونه انجام بده، ولی خب جونیوری که با هوش مصنوعی کار میکنه سرعتش بیشتره، میتونه زودتر یاد بگیره و ... ضمن این که وقتی که جونیوری در حال یادگیری نباشه، به زودی سنیوری هم در کار نیست.
ما قرار نیست چون ماشین حساب وجود داره جمع و ضرب رو یاد ندیم به دانشآموزها. هرچند شاید از توانایی جمع و ضربشون زیاد استفاده نکنن.
Medium
The Senior Shortcut
Many have predicted the death of the “junior engineer” thanks to AI; after all, if AI can do all of the simple tasks, we don’t need to hire…
Forwarded from Agora (Alireza Azadi)
The Cloudflare Blog
How Cloudflare analyzes 1M DNS queries per second
On Friday, we announced DNS analytics for all Cloudflare customers. Because of our scale –– by the time you’ve finished reading this, Cloudflare DNS will have handled millions of DNS queries –– we had to be creative in our implementation.
آیا این که پوشه vendor رو توی پروژه گولنگیمون کامیت و پوش کنیم کار خوبیه؟
این مطلب دلایلی میاره که کار خوبیه و باعث میشه الکی نیاز به دانلودشون نباشه و اگر هم پروژهای دیگه قابل دسترس نبود، همچنان پروژه قابل کامپایل شدن باشه.
https://penkovski.com/post/to-vendor-or-not-to-vendor
این مطلب دلایلی میاره که کار خوبیه و باعث میشه الکی نیاز به دانلودشون نباشه و اگر هم پروژهای دیگه قابل دسترس نبود، همچنان پروژه قابل کامپایل شدن باشه.
https://penkovski.com/post/to-vendor-or-not-to-vendor
Penkovski
To Vendor or Not to Vendor
Should we commit vendor in our Go projects?
Since the introduction of Go modules, the prevalent
opinion on the internet is that we should not commit
the vendor directory of our projects.
The argument against committing vendor is that it’s
unnecessary, because…
Since the introduction of Go modules, the prevalent
opinion on the internet is that we should not commit
the vendor directory of our projects.
The argument against committing vendor is that it’s
unnecessary, because…
Forwarded from مهندسی نرمافزار - Software Inside
#مطلب
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
eugeneyan.com
What I Wish I Knew About Onboarding Effectively
Mindset, 100-day plan, and balancing learning and taking action to earn trust.
Forwarded from Tech Den (Amirhossein)
این بلاگ پست راجع به این حرف میزنه که ai چقدر میتونه کمک کننده باشه
چقدر ممکنه بهمون آسیب بزنه
و واقعا کجاها خوبه که ازش برای بهینه کردن کارامون استفاده کنیم
بهترین قسمتش به نظرم این تیکه از جمع بندی آخرش بود
AI is a tool, it is not good or bad in itself, it’s what you do with it. I do think it can be a great tool, as long as you are not reliant on it for your workflow. Make sure you can still work effectively without it, make sure you don’t push code to production that you don’t fully understand and don’t think of AI as a replacement for your own thinking. Stay curious, keep learning.
https://lucianonooijen.com/blog/why-i-stopped-using-ai-code-editors/
خوندن این مقاله برای کسایی هم که تازه برنامه نویسی رو شروع کردن خیلی خوبه
توی این ویدیو هم میتونید مقاله رو با primeagen ببینید
https://www.youtube.com/watch?v=y3_TY4K8hVE&t=776s
چقدر ممکنه بهمون آسیب بزنه
و واقعا کجاها خوبه که ازش برای بهینه کردن کارامون استفاده کنیم
بهترین قسمتش به نظرم این تیکه از جمع بندی آخرش بود
AI is a tool, it is not good or bad in itself, it’s what you do with it. I do think it can be a great tool, as long as you are not reliant on it for your workflow. Make sure you can still work effectively without it, make sure you don’t push code to production that you don’t fully understand and don’t think of AI as a replacement for your own thinking. Stay curious, keep learning.
https://lucianonooijen.com/blog/why-i-stopped-using-ai-code-editors/
خوندن این مقاله برای کسایی هم که تازه برنامه نویسی رو شروع کردن خیلی خوبه
توی این ویدیو هم میتونید مقاله رو با primeagen ببینید
https://www.youtube.com/watch?v=y3_TY4K8hVE&t=776s
Lucianonooijen
Why I stopped using AI code editors ·
Luciano Nooijen
Luciano Nooijen
In the past I used AI code editors for all of my programming, but I stopped using it and recommend others to consider this as well
من بلاخره از منطقه امنم خارج شدم و کانفیگ zsh رو به سری تغییرات دادم.
یکی از بهترین چیزایی که کار کردم، atuin بود. این ابزار به جای نگهداری تاریخچه command history تون در قالب فایل متنی، از SQLite استفاده میکنه. در عین حال یه سری meta data و امکان fuzzy search هم میده (که البته با fzf هم خیلی از این کارا رو میشه کرد).
چیزی که برا من جالب بود این بود که بر خلاف fzf که خیلی عمومی بود، این مخصوص همین تاریخچه کامند های شل نوشته شده و متادیتای خوبی داره مثلا این که اون کامند با چه وضعیتی تموم شده.
به نظرم بهترین ویژگیش هم اینه که هیستوری رو میتونه بین دستگاه هاتون سینک کنه که قول داده encrypted هست. (من کدشو نخوندم)
https://github.com/atuinsh/atuin
یکی از بهترین چیزایی که کار کردم، atuin بود. این ابزار به جای نگهداری تاریخچه command history تون در قالب فایل متنی، از SQLite استفاده میکنه. در عین حال یه سری meta data و امکان fuzzy search هم میده (که البته با fzf هم خیلی از این کارا رو میشه کرد).
چیزی که برا من جالب بود این بود که بر خلاف fzf که خیلی عمومی بود، این مخصوص همین تاریخچه کامند های شل نوشته شده و متادیتای خوبی داره مثلا این که اون کامند با چه وضعیتی تموم شده.
به نظرم بهترین ویژگیش هم اینه که هیستوری رو میتونه بین دستگاه هاتون سینک کنه که قول داده encrypted هست. (من کدشو نخوندم)
https://github.com/atuinsh/atuin
GitHub
GitHub - atuinsh/atuin: ✨ Magical shell history
✨ Magical shell history. Contribute to atuinsh/atuin development by creating an account on GitHub.
بچه ها، یه سوال دارم ازتون :)))
امروز تو جشنواره لینوکس امیرکبیر یه نفر که تجربه کاری زیادی تو DevOps داشت گفت که هیچکس نمیتونه DevOps باشه و work life balance خوبی داشته باشه.
کلی تر از DevOps، فکر میکنم منظورش شغل هایی بود که انکالی دارن و هر ساعت از شبانه روز باید حواسشون به uptime سیستم باشه. به نظرم شامل SRE یا خود backend developer هم میتونه باشه.
شما میشه تجربیاتتون رو بگید؟
هم برای کسی که میخواد شروع کنه و وارد این فیلد بشه میتونه مفید باشه، هم برای منی که اوایل این مسیرم میتونه جالب باشه که در ادامه چه خبره.
امروز تو جشنواره لینوکس امیرکبیر یه نفر که تجربه کاری زیادی تو DevOps داشت گفت که هیچکس نمیتونه DevOps باشه و work life balance خوبی داشته باشه.
کلی تر از DevOps، فکر میکنم منظورش شغل هایی بود که انکالی دارن و هر ساعت از شبانه روز باید حواسشون به uptime سیستم باشه. به نظرم شامل SRE یا خود backend developer هم میتونه باشه.
شما میشه تجربیاتتون رو بگید؟
هم برای کسی که میخواد شروع کنه و وارد این فیلد بشه میتونه مفید باشه، هم برای منی که اوایل این مسیرم میتونه جالب باشه که در ادامه چه خبره.
یه ابزار zsh جدیدی که باهاش کار کردم، zinitئه که در واقع یه پلاگین منیجر برای zsh محسوب میشه.
من بعد از نصبش دیگه متوجه شدم نیاز نیست تک تک پلاگین هایی که نیاز دارم رو با مصیبت git clone کنم و خودش کارشو انجام میده. همچنین اگه چیز خاصی از پلاگین oh my zsh هست که میخواهید استفاده کنید، لازم نیست کل oh my zsh رو نگه دارید بلکه کافیه migration guide رو بخونید و ببینید چطوری میشه از پلاگین های اون استفاده کنید.
https://github.com/zdharma-continuum/zinit
قسمت migration
https://github.com/zdharma-continuum/zinit?tab=readme-ov-file#migration
این هم مثال خوبیه:
https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/
من بعد از نصبش دیگه متوجه شدم نیاز نیست تک تک پلاگین هایی که نیاز دارم رو با مصیبت git clone کنم و خودش کارشو انجام میده. همچنین اگه چیز خاصی از پلاگین oh my zsh هست که میخواهید استفاده کنید، لازم نیست کل oh my zsh رو نگه دارید بلکه کافیه migration guide رو بخونید و ببینید چطوری میشه از پلاگین های اون استفاده کنید.
https://github.com/zdharma-continuum/zinit
قسمت migration
https://github.com/zdharma-continuum/zinit?tab=readme-ov-file#migration
این هم مثال خوبیه:
https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/
GitHub
GitHub - zdharma-continuum/zinit: 🌻 Flexible and fast ZSH plugin manager
🌻 Flexible and fast ZSH plugin manager. Contribute to zdharma-continuum/zinit development by creating an account on GitHub.
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
- Edsger W. Dijkstra
- Edsger W. Dijkstra