کدهالیک | codehalic
3.47K subscribers
319 photos
8 videos
66 files
359 links
دوره های آموزشیمون رو از داخل سایت ببینید

https://codehalic.ir
Download Telegram
یه قابلیت خیلی کم‌تر دیده‌شده توی Git هست به اسم rerere.

اسمش یعنی: Reuse Recorded Resolution
یعنی چی؟ یعنی اگه یه بار یه merge conflict رو حل کردی، Git می‌تونه یادش بمونه دفعه بعد اگه همون conflict تکرار شد، همون راه‌حل قبلی رو خودش دوباره اعمال کنه.
فقط کافیه یک بار فعالش کنی:
git config --global rerere.enabled true
از اون به بعد، مخصوصاً توی rebase، mergeهای تکراری، branchهای طولانی یا وقتی چند بار به یه conflict مشابه می‌خوری، Git کم‌کم می‌فهمه قبلاً چی کار کردی.

https://git-scm.com/book/en/v2/Git-Tools-Rerere

نمونه واقعی:
https://gist.github.com/skipcloud/f1033afb4fa5681d69fa63458cc95928

@codehalics | کدهالیک
9👎1
کدهالیک | codehalic
یه قابلیت خیلی کم‌تر دیده‌شده توی Git هست به اسم rerere. اسمش یعنی: Reuse Recorded Resolution یعنی چی؟ یعنی اگه یه بار یه merge conflict رو حل کردی، Git می‌تونه یادش بمونه دفعه بعد اگه همون conflict تکرار شد، همون راه‌حل قبلی رو خودش دوباره اعمال کنه. فقط…
مثلاً فرض کن یه branch قدیمی داری و هر بار که با main ری‌بیسش می‌کنی، سر یک فایل config یا یک import خاص conflict می‌خوری.
بار اول خودت conflict رو حل می‌کنی و به Git می‌گی کدوم نسخه درسته.
از دفعه بعد، اگر دوباره دقیقاً همان conflict پیش بیاد، Git می‌گه:
Resolved using previous resolution
یعنی: «داداش اینو قبلاً با هم حل کرده بودیم، من یادمه.»
همین‌جاست که rerere از یه قابلیت عجیب Git تبدیل می‌شه به یه نجات‌دهنده واقعی.

@codehalics | کدهالیک
5👎1
امروز یه چیزی دیدم که بعد مدت ها خستگیمو در کرد :))))
کدهالیک از مرز ۳۰۰۰ کاربر گذشت.

الان خانواده کدهالیک به ۳٬۰۱۶ نفر رسیده و تا امروز ۵٬۵۸۲ ثبت‌نام روی دوره‌ها داشتیم. بیشتر از ۱۷٬۷۴۴ بازدید محتوا ثبت شده، ۱۱٬۱۵۹ بازدید یکتا داشتیم و فقط در بخش ویدیوها، یادگیرنده‌ها بیش از ۸۳۳ ساعت و ۳۳ دقیقه آموزش دیده‌اند. ( این آمار مربوط به یک ماه گذشته است و کدهالیک نزدیک به 1 ساله که متولد شده و آماری از اون تایم تا یه ماه پیش ازش در دسترسمون نیست دی:)

چیزی که برای ما جذاب‌تر از خود عددهاست، عمق یادگیریه. تا امروز ۲٬۷۳۹ ویدیو کامل دیده شده، ۴٬۱۳۷ ویدیو توسط کاربران تماشا شده، ۱۹۹٬۳۵۵ رویداد یادگیری ثبت شده و ۴۰۷ یادگیرنده فعال داریم که واقعاً دارن مسیرشون رو جلو می‌برن.

این مسیر با همراهی شما معنی پیدا کرده. ممنونیم که کنار کدهالیک هستید و بهمون انگیزه می‌دید که جدی‌تر، بهتر و کاربردی‌تر ادامه بدیم.

https://codehalic.ir/

@codehalics | کدهالیک
16🔥5
کدهالیک | codehalic
امروز یه چیزی دیدم که بعد مدت ها خستگیمو در کرد :)))) کدهالیک از مرز ۳۰۰۰ کاربر گذشت. الان خانواده کدهالیک به ۳٬۰۱۶ نفر رسیده و تا امروز ۵٬۵۸۲ ثبت‌نام روی دوره‌ها داشتیم. بیشتر از ۱۷٬۷۴۴ بازدید محتوا ثبت شده، ۱۱٬۱۵۹ بازدید یکتا داشتیم و فقط در بخش ویدیوها،…
یه آمار خیلی جذاب دیگه از کدهالیک:

بین فعال‌ترین یادگیرنده‌های کدهالیک، کاربری داریم که تا امروز ۲۷ ساعت و ۱۶ دقیقه آموزش دیده. بعد از اون هم چندین کاربر دیگه داریم که بین ۱۲ تا ۲۵ ساعت از آموزش‌های سایت رو تماشا کردن.

یعنی فقط ۱۳ نفر از فعال‌ترین یادگیرنده‌ها، روی هم بیشتر از ۲۰۷ ساعت آموزش دیدن.

جذاب‌تر اینکه میانگین تکمیل آموزش بین این کاربران، در بیشتر موارد بالای ۹۰٪ بوده. یعنی صرفاً وارد دوره نشدن؛ واقعاً نشستن، دیدن، جلو رفتن و یاد گرفتن.

برای من این عددها فقط آمار نیستن. نشونه اینه که کدهالیک داره کم‌کم به بخشی از مسیر یادگیری آدم‌ها تبدیل میشه.

@codehalics | کدهالیک
🔥8👍3
کدهالیک | codehalic
یه آمار خیلی جذاب دیگه از کدهالیک: بین فعال‌ترین یادگیرنده‌های کدهالیک، کاربری داریم که تا امروز ۲۷ ساعت و ۱۶ دقیقه آموزش دیده. بعد از اون هم چندین کاربر دیگه داریم که بین ۱۲ تا ۲۵ ساعت از آموزش‌های سایت رو تماشا کردن. یعنی فقط ۱۳ نفر از فعال‌ترین یادگیرنده‌ها،…
یه آمار قشنگ دیگه هم از همراهی شما داریم.
در طول یک سال گذشته، ۳۶ نفر از مسیر «کافی بده» از کدهالیک حمایت کردن و مجموع حمایت‌ها به ۵٬۱۶۵٬۳۷۶ تومان رسیده.

شاید این عدد در ظاهر فقط یک مبلغ باشه، اما برای من معنی بزرگ‌تری داره. یعنی آدم‌هایی بودن که محتوای کدهالیک براشون مفید بوده، به مسیرش اعتماد کردن و خواستن سهمی در ادامه‌دار شدنش داشته باشن.
اگر آموزش‌های کدهالیک براتون مفید بوده و دوست داشتید از ادامه این مسیر حمایت کنید، می‌تونید از این لینک کنارمون باشید:

https://www.coffeebede.com/codeholic

ممنونیم که فقط مخاطب نیستید؛ همراه این مسیر هستید.

@codehalics | کدهالیک
👍156🔥1
یه چیز جدید توی css یاد گرفتم باهاتون میخوام شیر کنم !

پارالاکس یعنی وقتی کاربر صفحه رو اسکرول می‌کنه، لایه‌های مختلف با سرعت متفاوت حرکت کنن؛ مثلاً متن عادی بالا بیاد ولی عکس پس‌زمینه کمی کندتر جابه‌جا بشه و صفحه حس عمق بگیره. قبلاً برای این کار معمولاً سراغ JavaScript می‌رفتیم، ولی الان با CSS جدید می‌شه خود انیمیشن رو به اسکرول وصل کرد؛ یعنی انیمیشن به جای زمان، با حرکت اسکرول جلو می‌ره. مثلاً خیلی ساده می‌تونیم بگیم عکس داخل یک بخش، موقع اسکرول کمی بالا و پایین حرکت کنه:
.parallax {
overflow: hidden;
view-timeline-name: --parallax;
}

.parallax img {
animation: moveImage linear both;
animation-timeline: --parallax;
animation-range: cover;
}

@keyframes moveImage {
from {
transform: translateY(-20%);
}

to {
transform: translateY(20%);
}
}

خلاصه‌اش اینه: برای افکت‌هایی مثل پارالاکس، قبل از اینکه سریع بریم سراغ JS، بهتره اول ببینیم خود CSS راه‌حل سبک‌تر و تمیزتری نداره.

https://dan-webnotes.com/posts/2026-06-02-css-native-parallax-effect/

@codehalics | کدهالیک
16🔥2
کدهالیک | codehalic
یه چیز جدید توی css یاد گرفتم باهاتون میخوام شیر کنم ! پارالاکس یعنی وقتی کاربر صفحه رو اسکرول می‌کنه، لایه‌های مختلف با سرعت متفاوت حرکت کنن؛ مثلاً متن عادی بالا بیاد ولی عکس پس‌زمینه کمی کندتر جابه‌جا بشه و صفحه حس عمق بگیره. قبلاً برای این کار معمولاً…
از این داریم توی صفحه دوره کدهالیک استفاده میکنیم میتونین به طور نمونه یکی از دوره ها رو با دسکتاپ باز کنین سمت چپ که ثبت نام دوره است داره با همین انمیشن parallax کند تر از باقی قسمت ها بالا میره که روی هر دیوایس با هر Height ای تمرکزش روی ثبت نام در دوره باشه که دیده شه !
خود همینم از دل یه باگ برای یه کاربر میومد که Height دیوایسش انقد کم بود که دکمه ثبت نام رو نمیدید !

به طور مثال این صفحه رو توی دسکتاپ ببینید :
https://codehalic.ir/courses/frontend-codecamp-beginners

@codehalics | کدهالیک
🔥82
یه باگ عجیب توی VSCode و github.dev پیدا شده که داستانش خیلی ترسناکه:

فقط با کلیک روی یه لینک، ممکن بود مهاجم به GitHub Token شما برسه؛ یعنی همون چیزی که می‌تونه به ریپوهای خصوصی‌تون دسترسی داشته باشه و حتی روی بعضی ریپوها تغییر ایجاد کنه.

ماجرا از اینجا شروع می‌شه که github.dev در واقع یه VSCode داخل مرورگره. حالا پژوهشگر امنیتی نشون داده بود که با ترکیب یک Jupyter Notebook، Webview و چند میان‌بر کیبورد، می‌شه کاری کرد VSCode فکر کنه خود کاربر داره یه اکستنشن رو نصب می‌کنه؛ در حالی که پشت صحنه، یه کد مخرب داره توکن GitHub رو می‌دزده.

جزییات این باگ در این لینک :
https://blog.ammaraskar.com/github-token-stealing/


@codehalics | کدهالیک
😱1
مایکروسافت توی Build 2026 یه خبر مهم برای دنیای AI Agentها داد: OpenClaw داره رسمی‌تر وارد اکوسیستم ویندوز و Microsoft 365 می‌شه. OpenClaw همون ایده‌ی «دستیار هوش مصنوعی که فقط جواب نمی‌ده، کار انجام می‌ده» رو جلو می‌بره؛ یعنی می‌تونه چند مرحله کار رو پشت سر هم انجام بده، با فایل‌ها، ابزارها، ایمیل، تقویم یا سرویس‌های سازمانی درگیر بشه و نقش یه عامل اجرایی واقعی رو بازی کنه، نه فقط یه چت‌بات معمولی.

نکته‌ی مهم خبر اینه که مایکروسافت نمی‌خواد این مدل ایجنت‌ها همین‌طوری ول و بدون کنترل روی سیستم شرکت‌ها اجرا بشن. برای همین OpenClaw روی ویندوز با چیزی به اسم Microsoft Execution Containers یا MXC اجرا می‌شه؛ یعنی نود و گیت‌وی OpenClaw داخل محیط کنترل‌شده و ایزوله بالا می‌آیند تا IT و Security بتوانند مشخص کنند ایجنت به چه فایل، شبکه، داده یا منبعی دسترسی داشته باشد. از آن طرف Microsoft Scout هم معرفی شده؛ یک ایجنت همیشه‌فعال داخل Microsoft 365 که با Teams، Outlook، OneDrive و SharePoint کار می‌کند و طبق اعلام مایکروسافت، بر پایه تکنولوژی متن‌باز OpenClaw ساخته شده.

@codehalics | کدهالیک
1
استک اورفلو که سال‌ها پاتوق اصلی برنامه‌نویسا برای یادگیری و رفع باگ بود، حسابی افت کرده

تعداد سوالات ماهانه‌اش از حدود ۲۰۷ هزار تا در ۲۰۱۴ رسیده به کمتر از ۴ هزار تا در ۲۰۲۶!

حالا Stack Overflow کم‌کم داره از یه انجمن زنده، تبدیل می‌شه به موزه‌ای از دانش برنامه‌نویس‌ها؛ همون دانشی که حالا خود AIها ازش تغذیه می‌کنن.

@codehalics | کدهالیک
👍16😱2🤬1
میدونم که دلتون برای قوانین مهندسی نرم افزار تنگ شده بود (الکی)

یه تصور خطرناک توی تیم‌سازی هست که می‌گه: «کار عقب افتاده؟ آدم اضافه کن.»

ولی اثر رینگلمان دقیقاً همین‌جا می‌زنه زیر میز.

می‌گه هرچی تعداد آدم‌های یک گروه بیشتر می‌شه، الزاماً خروجی بیشتر نمی‌شه؛ حتی گاهی تلاشِ هر نفر کمتر هم می‌شه. نه چون آدم‌ها بدتر می‌شن، نه چون کسی قصد کم‌کاری داره. مسئله اینه که وقتی جمع بزرگ می‌شه، مسئولیت بین آدم‌ها پخش می‌شه، سهم هر نفر کمتر دیده می‌شه، هماهنگی سخت‌تر می‌شه و آدم‌ها ناخودآگاه عقب‌تر می‌ایستن.

یه جلسه سه‌نفره رو تصور کن. تقریباً همه حرف می‌زنن، نظر می‌دن، مسئولیت می‌گیرن. حالا همون موضوع رو ببر توی جلسه پونزده‌نفره. چند نفر حرف می‌زنن؟ چند نفر فقط گوش می‌دن؟ چند نفر ته ذهنشون می‌گن «یکی دیگه بالاخره می‌گه»؟

توی تیم فنی هم همین داستانه. همیشه اضافه کردن دولوپر یعنی سرعت بیشتر نیست. گاهی یعنی کانفلیکت بیشتر، مرج بیشتر، جلسه بیشتر، وابستگی بیشتر، منتظر موندن بیشتر. یعنی تیم به جای اینکه انرژی‌اش بره پای ساختن محصول، خرج هماهنگ کردن خودش می‌شه.

#lawsofsoftwareengineering

@codehalics | کدهالیک
👍63🔥1
کدهالیک | codehalic
میدونم که دلتون برای قوانین مهندسی نرم افزار تنگ شده بود (الکی) یه تصور خطرناک توی تیم‌سازی هست که می‌گه: «کار عقب افتاده؟ آدم اضافه کن.» ولی اثر رینگلمان دقیقاً همین‌جا می‌زنه زیر میز. می‌گه هرچی تعداد آدم‌های یک گروه بیشتر می‌شه، الزاماً خروجی بیشتر…
من همیشه برای توضیح این خطای مدیریتی یه مثال ساده می‌زنم: به دنیا اومدن یک بچه ۹ ماه زمان می‌بره؛ حالا اگر ۹ نفر رو کنار هم بذاریم، بچه یک‌ماهه به دنیا نمیاد.

خیلی وقت‌ها مدیرها با تیم و پروژه هم همین‌طوری برخورد می‌کنن. فکر می‌کنن هر کاری که زمان‌بر شده، با اضافه کردن آدم سریع‌تر می‌شه. در حالی که بعضی کارها ذاتاً زمان، بلوغ، هماهنگی و تمرکز می‌خوان. آدم اضافه کردن، اگر بدون طراحی درست نقش‌ها، مرز مسئولیت‌ها و مسیر تصمیم‌گیری باشه، نه‌تنها کار رو سریع‌تر نمی‌کنه، بلکه تیم رو کندتر هم می‌کنه.

چون از یه جایی به بعد، مسئله دیگه «کمبود آدم» نیست؛ مسئله اینه که آدم‌ها دارن وقتشون رو صرف هماهنگ شدن با هم می‌کنن، نه جلو بردن کار.

@codehalics | کدهالیک
👍5😁4
حمایت از دوره‌های رایگان و باکیفیت فارسی، همیشه جزو ارزش‌های کدهالیک بوده و هست.

دوست خوبمون مرجان عزیزاللهی، به‌تازگی یه دوره جذاب UX Research توی سایت سکان آکادمی منتشر کرده که کاملاً رایگانه و حاصل تجربیات عملی خودشه. دیدن این دوره رو به همه علاقه‌مندان این حوزه پیشنهاد می‌کنیم!

لینک دسترسی به دوره:
👇
https://sokanacademy.com/academy/courses/ux-research

پ.ن: بدون vpn باید وارد سایت بشید وگرنه خطای ۵۰۴ میگیرید !

@codehalics | کدهالیک
17👍1🔥1
چند آسیب‌پذیری مهم در 7Zip طی ماه‌های اخیر افشا شده که می‌توانند از طریق فایل‌های ZIP دستکاری‌شده، به مهاجم اجازه اجرای کد مخرب روی سیستم قربانی را بدهند.

مهم‌ترین این موارد مربوط به نحوه پردازش Symbolic Linkها در فایل‌های ZIP است. مهاجم می‌تواند آرشیوی بسازد که هنگام Extract شدن، فایل‌هایی را خارج از مسیر مورد انتظار بنویسد (Directory Traversal) و در برخی سناریوها این موضوع به Remote Code Execution منجر شود. CVE-2025-11001 و CVE-2025-11002 از شناخته‌شده‌ترین نمونه‌های این دسته هستند.

همچنین اخیراً یک آسیب‌پذیری Heap Overflow در Handler مربوط به NTFS Archiveها گزارش شده که حتی باز کردن یک آرشیو آلوده می‌تواند زمینه اجرای کد مخرب را فراهم کند. این مشکل در نسخه 26.00 وجود داشته و در 26.01 برطرف شده است.

نکته نگران‌کننده اینجاست که 7Zip مکانیزم Auto Update ندارد و هنوز تعداد زیادی از سیستم‌ها نسخه‌های قدیمی و آسیب‌پذیر را اجرا می‌کنند.

@codehalics | کدهالیک
نسخه جدید زبان برنامه‌نویسی الکسیر (نسخه ۱.۲۰) به تازگی منتشر شده است که مهم‌ترین تغییر آن، توانایی تشخیص خودکار خطاهای کدنویسی قبل از اجرای برنامه است. در این آپدیت، الکسیر بدون نیاز به درگیر کردن برنامه‌نویس با کدهای پیچیده، باگ‌ها را پیشاپیش پیدا می‌کند تا نرم‌افزار پایداری بسیار بیشتری داشته باشد. اگر با این زبان آشنایی ندارید، جالب است بدانید که الکسیر برای مدیریت سیستم‌های بسیار شلوغ طراحی شده و به همین دلیل در شبکه‌های مخابراتی کاربرد گسترده‌ای دارد؛ به عنوان یک مثال ملموس، بخش چت اپلیکیشن دیوار نیز با همین زبان نوشته شده تا بتواند همزمان حجم عظیمی از پیام‌های کاربران را در لحظه و بدون قطعی
پردازش کند.

https://elixir-lang.org/blog/2026/06/03/elixir-v1-20-0-released/

@codehalics | کدهالیک
کدهالیک | codehalic
امروز میریم ادامه قوانین مهندسی نرم افزار رو بررسی کنیم و یک کانسپت بسیار جذاب در سیستم های توزیع شده رو بررسی میکنیم قضیه‌ی CAP (Consistency – Availability – Partition Tolerance) میگه تو سیستم‌های توزیع شده نمی‌تونی هر سه تا ویژگی رو هم‌زمان به‌طور کامل…
در مقاله ای که میخونین راجب به CAP به عنوان یکی از نیازمندی ها و چالش های فنی پیش از پیاده سازی چت دیوار توجه ویژه ای شده بود که ما قبلا این قانون از مهندسی نرم افزار رو ویژه بررسیش کردیم که خوندن مجددش خالی از لطف نیست !

@codehalics | کدهالیک
دفعه بعد كه خواستيد پاورپوينت درست كنيد، به اين فكر کنید كه يه لايبررى JS هست كه اكه به Claude بديد، براتون يه پرزنتيشن interactive جالب با كلى transition متنوع
درست ميكنه!

revealjs.com

@codehalics | کدهالیک | Amir
9👍2
🦀 توی Rust خبری از inheritance به سبک جاوا و ++C نیست، ولی این به معنی نداشتن راه‌حل برای استفاده مجدد از کد نیست.
یه مقاله جالب ۹ تا تکنیک مختلف Rust رو معرفی می‌کنه که با Traitها، Composition، Macroها و Genericها خیلی از کاربردهای ارث‌بری رو پوشش میدن.
اگر تازه از دنیای OOP وارد Rust شدین و هنوز دنبال معادل extends می‌گردین، این مقاله دید خوبی میده که چرا Rust مسیر متفاوتی رو انتخاب کرده و چطور همون مشکلات رو حل می‌کنه.

ارزش خوندن داره:
https://medium.com/@carlmkadie/nine-ways-to-do-inheritance-in-rust-a-language-without-inheritance-14825bf1e215

@codehalics | کدهالیک
👍3
چت جی پی تی قابلیت جدیدی به اسم Lockdown Mode معرفی کرده که برای کاربرها و سازمان‌هایی طراحی شده که با داده‌های خیلی حساس سروکار دارن. با فعال شدن این حالت، قابلیت‌هایی مثل وب‌گردی زنده، Deep Research، Agent Mode و دانلود فایل‌ها محدود یا غیرفعال میشن تا خطر نشت اطلاعات و حملات Prompt Injection کمتر بشه. در واقع OpenAI بخشی از امکانات هوش مصنوعی رو فدای امنیت بیشتر کرده تا استفاده از ChatGPT در محیط‌های پرریسک مطمئن‌تر باشه. فعلاً این قابلیت برای مشتریان Enterprise، Edu، Healthcare و Teachers ارائه شده و احتمالاً در آینده در دسترس کاربران بیشتری قرار می‌گیره.

https://help.openai.com/en/articles/20001061-lockdown-mode

@codehalics | کدهالیک
4👍1