کدهالیک | codehalic
Kanalga Telegram’da o‘tish
دوره های آموزشیمون رو از داخل سایت ببینید https://codehalic.ir
Ko'proq ko'rsatish4 070
Obunachilar
+924 soatlar
+167 kunlar
+31630 kunlar
Postlar arxiv
4 071
ویکیتجربه بیشتر از چند هفته است که از دسترس خارج شده و هنوز مشخص نیست که این اختلال موقتی است یا باید آن را بهعنوان پایان کامل فعالیت این سرویس در نظر گرفت.
کاربران در این مدت با عدم دسترسی به محتوای آرشیو و تجربههای ثبتشده مواجه بودهاند و هیچ اطلاعیه رسمی و شفافی درباره زمان بازگشت یا علت دقیق این قطعی منتشر نشده است.
در حال حاضر، وضعیت این پلتفرم در هالهای از ابهام قرار دارد و باید دید در روزهای آینده آیا توضیحات یا بهروزرسانی جدیدی از سوی مسئولان آن ارائه خواهد شد یا خیر.
@codehalics | کدهالیک
4 071
امروز میخوام ادامه قوانین مهندسی نرمافزار رو ببرم سراغ یکی از خطرناکترین باگهای ذهنی که حتی از باگهای کد هم بدتره؛ اثر Confirmation Bias یا سوگیری تأییدی. مغز ما دنبال حقیقت نیست، دنبال تأیید چیزیه که از قبل بهش باور داریم. وقتی یه فرض تو ذهنمون شکل میگیره (مثلاً مشکل از یه سرویسه)، فقط چیزهایی رو میبینیم که همونو تأیید کنه و بقیه نشونهها رو نادیده میگیریم یا کماهمیت میکنیم. همین باعث میشه تو دیباگ، طراحی سیستم یا تصمیمهای معماری، مسیر اشتباه رو با اعتمادبهنفس بالا ادامه بدیم.
جالب اینجاست که هرچی مطمئنتر باشی “مشکل رو فهمیدی”، بیشتر تو این خطایی. چون ذهن دیگه دنبال رد فرضت نیست، فقط دنبال اثباتشه. برای همین آدمهای باتجربه برعکس عمل میکنن؛ به جای اینکه بپرسن «چرا درسته؟» میپرسن «چرا ممکنه اشتباه باشه؟» و دنبال دادهای میگردن که فرضشون رو نقض کنه، نه تأیید. چون تو مهندسی نرمافزار، واقعیت به باور ما وفادار نیست، به چیزی وفاداره که واقعاً تو سیستم اتفاق میافته.
#lawsofsoftwareengineering
@codehalics | کدهالیک
4 071
یه مقاله خفن امروز میخوندم که میگفت
غرب همون اشتباهی که تو صنعت کرد داره در برنامهنویسی هم تکرار میکنه. مثال زد که آمریکا برای تولید دوباره موشک استینگر مجبور شد مهندسهای بازنشسته رو برگردونه و حتی یه ماده هستهای (Fogbank) دیگه بلد نبودن بسازن چون دانشش فقط تو ذهن آدمها بوده و از بین رفته
حالا نویسنده میگه با اومدن ابزارهای AI همین اتفاق داره تو کدنویسی میفته. شرکتها کمتر جونیور استخدام میکنن و خیلیها فقط با AI کار رو جلو میبرن بدون اینکه عمیق بفهمن چی دارن مینویسن. نتیجهاش اینه که چند سال دیگه ممکنه مهندس باتجربه کم بیاد.
حرف اصلیش اینه که یاد گرفتن واقعی شورت کات نداره. اگه نسل جدید تجربه و اشتباه نکنه، اون دانشی که فقط با کار کردن به دست میاد کم کم از بین میره و وقتی لازم بشه دیگه کسی نیست که از اول سیستمها رو بفهمه و درستشون کنه.
به نظرش با ابزارهای AI هم داریم همین مسیر رو میریم، جونیورها کمتر استخدام میشن و خیلیها بدون درک عمیق فقط با AI کد میزنن.
حوصله داشتین مقاله جدید و جذابیه بخونین حتما :
https://techtrenches.dev/p/the-west-forgot-how-to-make-things
@codehalics | کدهالیک
4 071
#استخدام
اگه کسی شرایط زیر رو داره و با وضعیت کنونی دنبال کار میگرده میتونه به من پیام بده:
- حداقل دو سه سال تجربه کاری تو یکی از زمینه های زیر:
Python developer
AI/ML Engineer
Data Scientist
Go
C#/.NET (backend/ fullstack)
- زبان انگلیسی قوی
- اینترنت مناسب مصاحبه و کار
@codehalics | کدهالیم
4 071
در این شرایط، ما در ژاکت مسیر رشد رو متوقف نکردیم و دنبال آدمهای باانگیزه برای تیم محصولمون هستیم 🚀
اگر میخوای تأثیر واقعی بذاری و تو یه محیط پویا رشد کنی، این فرصتها برای توئه:
🔹 Product Manager (Mid-level)
هدایت مسیر محصول، تعریف roadmap، کار نزدیک با تیمها، تحلیل داده و بهبود مستمر تجربه کاربر
🔹 Associate Product Manager
مشارکت در بکلاگ، مستندسازی، جمعآوری فیدبک، تحلیل رقبا و همکاری در اجرای اسکرام
📍 فرصت رشد واقعی در یک تیم حرفهای
اگه خودتی یا کسی رو میشناسی، معرفی کن 👇
📧 ایمیل: zhakethr@gmail.com
🆔 آیدی بله و تلگرام: @zhakethr
@codehalics | کدهالیک
4 071
ما دنبال Backend یا Product Manager معمولی نیستیم؛ دنبال Builderایم. آدمهایی که منتظر تسک نمیمونن، مسئله رو میفهمن، Own میکنن و خودشون راهحل میسازن.
🔴 Backend (Product-Minded)
کسی که علاوه بر مهارت فنی، نگاه محصولی داره؛ با Python (FastAPI)، طراحی دیتابیس (PostgreSQL, Redis)، ساخت API و مشارکت در تصمیمهای محصول. تمرکز روی حل ساده و مؤثر مسئله و ساخت سریع MVP.
🔴 Product Builder
کسی با mindset سازنده؛ از ایده تا MVP و لانچ جلو میبره، roadmap میچینه، experiment اجرا میکنه و دنبال impact واقعیه نه صرفاً فیچر.
📍 قم | تماموقت
راه ارتباطی در بله afsharifard_hr_signal
شماره تماس 09102047044
یا لینکدین
@codehalics | کدهالیک
4 071
اگر فن قوانین مهندسی نرم افزار هستید تا الان راجب این موضوعات باهم دیگه صحبت کردیم :
1- قانون هایروم
2-قانون زاوینسکی
3- قانون KISS
4- اثر Dunning-Kruger
ضمنا با هشتک #lawsofsoftwareengineering میتونین موارد مرتبط باهاش رو بخونین مثل نظرات و تجربیات شخصی خودم نسبت به هر کدوم
سعی میکنم هر روز یا هر 2 روز یک بار یک قانون جدید رو باهم دیگ بررسی کنیم بنظرم دوستنشون خیلی خیلی بهمون دید کلی نسبت به محصول و برنامه نویسی و ... میده !
@codehalics | کدهالیک
4 071
خب امروز میخوام برم ادامه قوانین مهندسی نرمافزار رو بگم
راجب یه اصل خیلی مهم و جالب قراره صحبت کنیم که ااحتمالاً هم تجربهش کردید، هم دیدید تو بقیه
اثر Dunning-Kruger که توسط David Dunning و Justin Kruger معرفی شده، نکتش اینه :
هرچی کمتر بدونی، معمولاً اعتمادبهنفست بیشتره!
یعنی وقتی تازه وارد یه حوزه میشی ، چون هنوز عمق ماجرا رو نمیبینی، فکر میکنی همهچیز سادهست و خیلی راحت میتونی از پسش بربیای. ولی هرچی جلوتر میری و بیشتر یاد میگیری، تازه میفهمی چقدر چیز هست که بلد نیستی… و اینجاست که اعتمادبهنفست میاد پایین (همون چیزی که بهش میگن valley of despair).
جالب اینجاست که آدمهای باتجربه دقیقاً برعکس رفتار میکنن. به جای جوابهای قطعی، میگن «بستگی داره»، سناریوهای مختلف رو در نظر میگیرن و کمتر با قطعیت حرف میزنن. چون میدونن دنیا خیلی پیچیدهتر از چیزیه که با یه جواب ساده جمع بشه.
از اون طرف، یه پدیده دیگه هم هست به اسم impostor syndrome که توش آدمهای حرفهای فکر میکنن به اندازه کافی خوب نیستن، چون دقیقاً از پیچیدگیها خبر دارن.
#lawsofsoftwareengineering
@codehalics | کدهالیک
4 071
یه نفر فهمیده کارت صدای خودش به صورت پیشفرض SSH روشن داره
یعنی یه دستگاه ساده صوتی عملاً میتونه درِ ورود هکرها باشه. نمونه عالی از اینکه IoT چقدر میتونه خطرناک باشه.
https://hhh.hn/rodecaster-duo-fw/
@codehalics | کدهالیک
4 071
توی این عکسی که فرستادم، قشنگ مشخصه که چطور یک نفر تونسته بدون داشتن پسورد sudo دسترسی کامل سیستم رو بگیره. بیاید خیلی ساده ببینیم توی اون ترمینال چه اتفاقی افتاده:
۱. دور زدن قفل آدرسها (KASLR)
سیستمعامل برای امنیت، جای فایلهای اصلیش رو توی حافظه مدام تغییر میده که هکرها پیداشون نکنن. اما اینجا نفوذگر اول تونسته اون آدرس مخفی رو پیدا کنه (همون خط اول که نوشته Leaking kaslr).
۲. استفاده از فرصت طلایی (Race Condition)
اون بخش Start racing یعنی هکر از یک ناهماهنگی زمانی توی پردازشهای سیستم استفاده کرده. یعنی دقیقاً تو یک لحظه خیلی کوتاه که سیستم داشته مجوزها رو بررسی میکرده، هکر پریده وسط و کد خودش رو جا کرده.
۳. پر کردن حافظه (Heap Spraying)
نفوذگر اومده بخش Heap حافظه رو با کدهای خودش پر کرده تا شانس اجرای کد مخربش بره بالا. وقتی آدرس حافظه رو گرفت (اون آدرس طولانی که با 0xffff شروع میشه)، یعنی دیگه کنترل سیستم رو کاملاً در دست گرفته.
آخر سر که دستور id رو زده، میبینید که نوشته uid=0. این یعنی کاربر معمولی تبدیل شده به Root. حالا این آدم به تمام فایلها و تنظیمات حساس سیستم دسترسی کامل داره، اونم بدون اینکه پسوردی وارد کرده باشه!
این عکس نشون میده که حتی در سال ۲۰۲۶ و نسخههای جدید لینوکس، هنوز هم باگهای حافظه و پردازش یکی از خطرناکترین راهها برای هک شدن هستن. پس همیشه آپدیت کردن هسته (Kernel) رو جدی بگیرید.
@codehalics | کدهالیک
4 071
اوبونتو 26.04 روز منتشر شدنش هک شده و تونستن بدون sudo دسترسی روت بگیرن ازش :))))
Ruin 🐧
@codehalics | کدهالیک
4 071
فرصت همکاری
میدونیم این روزها برای خیلیها پر از ابهام و نگرانیه، اما ما همچنان به آینده امید داریم و دنبال همتیمیهای جدید هستیم.
در تیم فنی ونسی به دنبال برنامهنویس فرانتاند ماهر، دقیق و مسئولیتپذیر هستیم که به ساخت رابطهای کاربری مقیاسپذیر، نوشتن کد تمیز و قابل نگهداری، و همکاری نزدیک با تیمها علاقهمند باشه. اگه به توسعه، نگهداری و بهبود برنامههای فرانتاند با استفاده از Angular، پیادهسازی رابطهای کاربری بر اساس طراحیهای UI/UX و همکاری نزدیک با تیمهای بکاند و محصول مسلط هستی و ۳ تا ۶ سال سابقه کار مرتبط داری، جای شما در ونسی خالیه.
اگر کسی رو با این ویژگیها میشناسی، خوشحال میشیم این پست رو براش بفرستی یا با اطرافیانت به اشتراک بذاری تا سریعتر همتیمی جدیدمون رو پیدا کنیم.
نوع همکاری: تمام وقت
مشاهده جزئیات و ارسال رزومه از طریق جابینجا:
https://lnkd.in/efeVJ2FU
آدرس ایمیل جهت ارسال رزومه:
recruitment@vency.ir
#ونسی
#vency
#استخدام
#موقعیت_شغلی
#انگولار
@codehalics | کدهالیک
4 071
موقعیت شغلی جدید
این موقعیت شغلی ریلوکیشن یه ارمنستان خواهد بود
تسلط به زبان انگلیسی در سطح مکالمه پیش نیاز این پوزیشن است
Senior Product Designer
لطفا برای اپلای برای پوزیشن، از طریق لینک زیر در پلتفرم اپلای کنید و یا رزومه خود را به آدرس
yalda.s@winatalent.com
ایمیل فرمایید.
https://winatalent.com/projects/1864/Senior-Product-Designer
@codehalics | کدهالیک
4 071
We're Hiring - Backend Developer
ما در حال جذب یک نیروی PHP - Backend Developer برای پیوستن به تیم مون هستیم.
اگر خودت به دنبال یک فرصت جدید هستی یا کسی رو می شناسی که به دنبال چالش های جذاب و کار در یک تیم حرفه ای و رو به رشد هست خوشحال می شیم معرفیش کنی اگر علاقه مند هستی رزومه ات رو برای من ارسال کن
#استخدام #backendevelope #PHP
Lian Groups
پ.ن: از ایناست که باید پاشی بری لینکدینش پیام بدی :)))))
https://www.linkedin.com/posts/kav4h_aepaebaesaewaexaepaet-backendevelope-php-share-7453433049566015488-2QHe?utm_source=share&utm_medium=member_desktop&rcm=ACoAADII68wBZfoM6DgRehSdvp8ZiCJdZTLLh-c
@codehalics | کدهالیک
4 071
سلام 🌱
ما بهتازگی چند پوزیشن جدید باز کردیم و خوشحال میشم اگر بتونم حتی خیلی کوچیک در این شرایط به پیدا کردن فرصتهای بهتر کمک کنم.
🔹 موقعیتهای شغلی:
Senior QA Automation Specialist
Senior Front-end Developer (Angular)
Senior Product Designer
📌 همهی پوزیشنها در سطح سینیور هستند
📌 نیاز به سطح خیلی خوب زبان انگلیسی دارند
📌 امکان ریلوکیشن فراهم است
اگر خودتون دنبال فرصت جدید هستید یا کسی رو میشناسید که مناسب این موقعیتهاست، ممنون میشم
رزومه رو برای من ارسال کنید.
❗️ لطفاً قبل از ارسال، حتماً توضیحات هر موقعیت رو از
طریق لینکهای زیر کامل مطالعه کنید:
Senior Product Designer:
https://lnkd.in/dbqK4EGZ
Senior QA Automation Specialist:
https://lnkd.in/dT2bMrZT
Senior Front-end Developer (Angular):
https://lnkd.in/dHiFCrtP)
📩 ارسال رزومه:
yalda.s@winatalent.com
@codehalics | کدهالیک
4 071
مثل همیشه یه مثال واقعی از دنیای کار خودم بزنم درباره KISS.
قرار بود تو یه پروژه خیلی خفن جوین بشم، تیم هم واقعاً قوی بود و همهچیز عالی پیش میرفت تا اینکه یه مدیرفنی به تیم اضافه شد. از روز اول شروع کرد به اینکه این باندد کانتکستها باید جدا شن، اینو میکروسرویس میکنیم، اینجا RabbitMQ میذاریم، اونجا Kafka، مانیتورینگ با Zabbix، حتماً Kubernetes، بعدش هم Rancher بیارید بالا و خلاصه یه لیست بلندبالا از تکنولوژیها که انگار بدون اینا پروژه اصلاً معنی نداره.
مشکل اینجا بود که ما کلاً از اصل ماجرا دور شدیم. بهجای اینکه روی خود محصول تمرکز کنیم، افتادیم توی داستان بالا آوردن کلاستر، داکر، کوبرنتیز و هزار تا ابزار دیگه.
حالا شرایط چی بود؟
یکی اینکه time to market خیلی پایین بود، نهایتاً یه ماه وقت داشتیم محصول رو بدیم بالا. دوم اینکه بیزینس بودجه محدودی داشت و این همه زیرساخت پیچیده واقعاً هزینهبر بود.
از همون اول هم معلوم بود این پروژه به مشکل میخوره. در نهایت هم همین شد، پروژه فیل شد و اون مدیرفنی هم از تیم کنار گذاشته شد.
بعد از ما یه تیم دیگه اومد و کاری که ما نتونستیم بکنیم رو انجام داد: یه مونولیت ساده ساختن که هسته بیزینس درست کار میکرد، روی یه سرور ویندوزی با IIS. نه خبری از داکر بود، نه کوبرنتیز، نه Vault، نه مانیتورینگهای عجیب.
پروژه اونا هم در نهایت به دلایل بیزینسی موفق نشد، ولی فرقش این بود که اونا حداقل خودشونو درگیر پیچیدگیهای الکی نکرده بودن و تمرکزشون روی اصل کار بود.
جمعبندی: وقتی برای یه پروژه ۵۰ تا یوزر داری میری سمت Kubernetes و کلی ابزار سنگین، داری عملاً کار رو خراب میکنی. هر جا دیدی داری بیشازحد کمالگرایی میکنی، یه KISS به خودت بگو و یه چیز ساده، قابل فهم و قابل نگهداری بساز.
#lawsofsoftwareengineering
@codehalics | کدهالیک
4 071
اصل KISS (Keep It Simple, Stupid) تو مهندسی نرمافزار میگه تا جای ممکن راهحلهات رو ساده نگه دار و الکی پیچیدش نکن. یعنی اگر میشه یه مسئله رو با یه کد کوتاه و قابل فهم حل کرد، لازم نیست بری سمت معماریهای سنگین و عجیب فقط برای اینکه «باحال» به نظر بیاد. واقعیت اینه که هر خط کد اضافه، یه فرصت جدیده برای باگ و دردسر. کد ساده هم سریعتر خونده میشه، هم راحتتر دیباگ میشه، هم وقتی چند ماه بعد خودت برمیگردی سراغش کمتر فحش میدی به گذشتهات.
خلاصه اینکه اول کاری کن برنامهات درست کار کنه، بعد اگر واقعاً لازم شد تمیزترش کن یا بهینهاش کن. سادگی نهتنها نشونه تنبلی نیست، بلکه نشونه درک درست مسئلهست.
#lawsofsoftwareengineering
@codehalics | کدهالیک
4 071
خب امروز میخوام یکی دیگ از قوانین مهندسی نرم افزار رو که بیشتر هم قطعا به گوشتون خورده و شناختینش رو بازگو کنم ولی یکم متفاوت تر میخوام ازتون بخوام که تعامل کنید این بار با من
اصل KISS (Keep It Simple, Stupid) تو مهندسی نرمافزار میگه تا جای ممکن راهحلهات رو ساده نگه دار و الکی پیچیدش نکن. یعنی اگر میشه یه مسئله رو با یه کد کوتاه و قابل فهم حل کرد، لازم نیست بری سمت معماریهای سنگین و عجیب فقط برای اینکه «باحال» به نظر بیاد. واقعیت اینه که هر خط کد اضافه، یه فرصت جدیده برای باگ و دردسر. کد ساده هم سریعتر خونده میشه، هم راحتتر دیباگ میشه، هم وقتی چند ماه بعد خودت برمیگردی سراغش کمتر فحش میدی به گذشتهات.
مثلاً فرض کن توی یه پروژه لازم داری از دیتابیس گزارش بگیری. یه راه ساده اینه که با یه اسکریپت کوچیک داده رو بگیری و خروجی CSV بدی. ولی یه راه پیچیده اینه که بری یه سیستم پلاگینی طراحی کنی که «شاید» بعداً به درد بخوره. یا مثلاً برای خوندن یه فایل متنی، به جای اینکه خط به خط بخونی و پردازش کنی، بری یه فریمورک جنرال و سنگین برای پارس کردن بسازی که اصلاً لازم نیست. حتی تو پروژههای ایرانی هم زیاد میبینیم برای یه نیاز ساده مثل فرم ثبتنام، یه عالمه abstraction و لایه اضافه میکنن که آخرش فقط کار رو کندتر و نگهداری رو سختتر میکنه.
خلاصه اینکه اول کاری کن برنامهات درست کار کنه، بعد اگر واقعاً لازم شد تمیزترش کن یا بهینهاش کن. سادگی نهتنها نشونه تنبلی نیست، بلکه نشونه درک درست مسئلهست.
4 071
قسمت جدید از دوره پیشرفته رایگان فرانت رو ضبط کردم و به دوره اضافه کردم
پیکسل پرفکت کردن پروژه جلاتو به همراه تغییر رویکرد به موبایل فرست - قسمت اول
قراره توی چند جلسه پروژه رو پیکسل پرفکت کنیم و همزمان با رویکرد موبایل فرست دیزاین ببریم جلو
این قسمت خیلی طولانی شد چون نکات دیزاینی زیادی داشت ولی دیدنش برای شروع پروژه بعد از اینهمه مدت توصیه میشه !
لینک این قسمت :
https://codehalic.ir/courses/frontend-codecamp-advanced/videos/pixel-perfect-part-1
این قسمت کاملا رایگانه
@codehalics | کدهالیک
4 071
بهترین میروری بود که برای flutter, dart و gradle دیدم محدودیتی نداره سرعتشم خیلی خوبه
http://pub-azs.ir
Cna ✍️
@codehalics | کدهالیک
