EverCode
252 subscribers
64 photos
3 videos
4 files
96 links
اینجا راجب کامپیوتر، نرم افزار، زبان‌ها و مطالب مرتبط با هم گپ میزنیم

سایت و بلاگ:
mazdakparnian.com

dev.to/purejoymind

هم توی سایت شخصیم و هم توی دِو بلاگ هام رو میزارم.
Download Telegram
Forwarded from جادی | Jadi
بیرجند لاگی ها توی روز برنامه نویس یه چلنج باحال دیگه داشتن: چلنج فشرده سازی! (:

توی این رپو یه فایل به شما داده شده که باید فشرده اش کنین و بر اساس اینکه برنامه شما چقدره و چقدر فشرده می کنه، یه امتیاز میگیرین. دقت کنین که هدف نهایی درک کردن فشرده سازی، ور رفتن باهاش و .. است. اگر یه چیزی بنویسین که یه الگوریتم فشرده سازی رو به کار ببره نسبتا بیمزه است و شاید حتی خارج از رده بندی.

اگر من بخوام بازی کنم اول آنتروپی و چند تا فاکتور دیگه رو تست می کنم. بخصوص با برنامه
enp
تا ببینم این فایل اصولا چقدر دیتا داره. یه فایل رندوم چندان قابل فشرده سازی نیست.

بعدش سعی می کنم ایده های خیلی بیسیک فشرده سازی رو پیاده کنم. مثل
RLE, huffman

برای یادگیری بگم که توی آر.ال.ای، اگر ۵ تا A پشت هم هست ممکنه بتونین بنویسین 5A. معلومه که چند تا مشکل ریز داریم که باید حلش کنین.

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

این ها مسائل جالبی هستن و چیزهای باحالی بهتون یاد می دن؛ پس اگر می خواین بازی کنین معما اینجاست:

https://github.com/birlug/256

البته معلومه که سطح چنین چیزی در رده متوسط است ولی اتفاقا مسائل رده متوسط خوبیشون اینه که اگر شما تازه کار هستین، بهتون ایده می ده چطوری شروع کنین و از اونطرف بررسی کنین بقیه چیکار کردن.

و مرسی از بچه های بیرجندلاگ که مدت ها است گاه گداری مسائلی واقعا جالب برامون مطرح کردن. منم چند ساعت دیگه اگر فرصت کنم تست می کنم و جواب های شما رو هم می بینم که لذت ببرم.
❤3
اگر تو انتخاب پلت رنگی برای پروژه‌تون مشکل دارین، میتونین از این ابزار استفاده کنید:
https://coolors.co/

@ever_code
🔥1
Forwarded from مسعود بیگی (مسعود بیگی)
مرسی از تک‌تک‌تون بچه ها ❤️
❤5
اگر وقت اضافی دارید، و یا میخواین یه جونیوری رو بدبخت کنید، بدید بره ببینه کجا سمیکولون (;) جا افتاده و پیداش کنه

https://semicolon.trm.sh

@ever_code
❤1👍1
لبخند روزانه
@ever_code
❤2
https://github.com/martinothamar/Mediator
این یه ریپوی خوب برای مطالعه و یادگیری Mediator هست.
چندوقته حس میکنم کمی تنبل شدم از بس که با ai کار کردم، خواستم خودم یه mediator بنویسم و یه سری ایده ها داشتم. سرچ کردم دیدم اینو خیلی وقت پیش که MediatR پولی شد استار کرده بودم. کدش خوانا و ساده ست تقریبا و عملا همون ایده هایی که خودم داشتم رو پیاده سازی کرده. بنظرم اگه دوست دارید تمرین کنید ریپوی خوبیه. از طرفی میشه کار کرد روش و contribute کرد.
برای یادگیری source generator هم خوبه.

@ever_code
❤3
خب کلودفلر هم سرویس DDNS راه اندازی کرده.
تا حالا شده روی Localhost یچی بالا بیارین، بعد بخواین روی اینترنت به بقیه نشون بدین؟
برای اینکار از سرویس‌های
Dynamic DNS
استفاده می‌کنیم. یکی از معروفاش Ngrok هست که خیلی راحت و سریع میتونیم راهش بندازیم. من استفاده کردم و تنها مشکلش این بود که یکم کند بود.
حالا کلودفلر هم بصورت رایگان این قابلیت رو آورده مثل اینکه و میتونین ازش استفاده کنین:
https://try.cloudflare.com

@ever_code
❤1
EverCode
خب کلودفلر هم سرویس DDNS راه اندازی کرده. تا حالا شده روی Localhost یچی بالا بیارین، بعد بخواین روی اینترنت به بقیه نشون بدین؟ برای اینکار از سرویس‌های Dynamic DNS استفاده می‌کنیم. یکی از معروفاش Ngrok هست که خیلی راحت و سریع میتونیم راهش بندازیم. من استفاده…
خب یه چندتا نکته راجب این پست هست که باید بگم.
یه سرچ زدم و این سرویس رو چندسالی هست که داره، و اینکه من از ادبیات اشتباهی استفاده کردم.
من گفتم ddns داره، ولی در اصل ddns برای وقتیه که ip متغیره و سرویس باید ip رو عوض کنه هنگام تغییر تا دامنه همچنان به سیستم شما برسه.
این یکی بیشتر شبیه reverse proxy tunnel هست که هربار که اجرا میکنین یک دامنه جدید بهتون میده و کوتاه مدته.
من قبلا ندیده بودم اینو و فکر کردم جدیده اما مدتی هست که دارتش.
ازونجایی که کاربری خودم با ngrok بیشتر در همین جهت بود، فکر کردم که یکی هستن، اما فکر کنم که ngrok یک ddns واقعیه. اون هم سرچ میکنم مطمئن شم.

@ever_code
❤1
بحث اینکه آینده‌ی کاری ما چطوری میشه و برنامه نویسی منسوخ شده در همه سطوح به اشکال مختلف دیده میشه.
یکی از تحلیل‌هایی که دوست داشتم این بود که تکامل شغلی مهندسی نرم افزار به سمت مهندسی محصول میره.
در نظر بگیرید قبل از هوش مصنوعی، چه چیزهایی باید یاد میگرفتیم تا برای کار qualified باشیم؟
چندسال قبل فقط دونستن api و database و یه سری نکات "کلی" برای ورود به بازار کار کافی بود. یکم جلوتر اومدیم و بحث میکروسرویس خیلی داغ شد. جدا از هایپی که بود، باید یکم دیدمون رو باز تر کنیم. اون مواقع زمانی بود که هزینه زیرساخت ارزون‌تر بود. چیزهایی مثل storage و processing power به راحتی قابل ارتقا شدن، docker تکامل پیدا کرد و k8s خیلی تو بازار داغ شد، و همین مسیر منجر به این شد که:
"ما که میتونیم چندتا سرور داشته باشیم، بیایم کد رو در لایه‌ی سرور بشکنیم!"
و این هایپ توی بازار افتاد. جونیورها حالا باید خیلی سریع وارد مباحث گسترده‌تر میشدن. اون خط حداقلی جابجا شد. باید جدا از یه api و database وارد مباحث معماری و مهندسی میشدن. در نظر داشته باشین که دارم میگم جونیور.
حالا که ai اومده هم همین مسیر ادامه پیدا کرده. دوست خوبمون uncle bob تو مصاحبه اخیرش میگفت که کد دیگه یه مبحث حل شدست. باید بزرگتر بهش نگاه کرد. پس همین خط رو بریم، میبینیم که برای اینکه یه جونیور توی بازار دوام بیاره، باید بتونه دیدش رو باز تر کنه.
باید فرای معماری و طراحی سیستم، به محصول هم فکر بکنه. احتمالا همینجاها مبحث product engineering مطرح میشه.
اما سوال اصلی اینجاست، اگه کد "حل" شده، آیا هنوز نیازه مباحث سطح پایین رو یاد بگیریم؟
بیاین نقل قولی از Sir Jackie Stewart که ۳ بار world champion مسابقات فرمول ۱ بوده رو ببینیم:
You don't have to be an engineer to be a racing driver, but you have to have mechanical sympathy.


نویسنده‌ی کتاب Writing an interpreter in Go اول کتاب میخواد به سوال اینکه "چرا با Go بیایم یه مفصر بنویسیم؟ چه نیازی به این دانش هست اصلا؟" به این نقل قول اشاره می‌کنه و براساس اون اصطلاح Machine Sympathy رو بیان میکنه. ما برای رانندگی فرمول یک نیاز نیست مکانیک باشیم، ولی باید با مکانیک اون ماشین بتونیم "همدردی" کنیم. تو کامپیوتر هم بنظر من همینه. شاید برای "کار راه انداختن" نیاز نباشه تو دوران هوش مصنوعی دانش سطح پایین داشته باشیم. ولی ۱۰۰ درصد برای مهندس خوبی بودن، به قول خارجیا برای "10x Engineer" بودن، نیاز داریم بتونیم با کامپیوتر همدردی کنیم. ما سیستم عامل، شبکه، کامپایلر، حتی اسمبلی یاد نمیگیریم که خودمون بتونیم بنویسیمشون یا مستقیم باهاشون کار کنیم. یاد میگیریم که بتونیم یه درک "احساسی" درستی از نحوه رفتار کامپیوتر داشته باشیم.
خلاصه که شاید امروزه همه Generalist بخوان، ولی اون Specialist ها هستن که به اون اهداف خاص میرسن.
بنظر من البته😁✋

@ever_code
❤3
این مدت که خیلی جدی درگیر download manager ام شدم، یکی از چالش های اصلیم بحث UI/UX بوده. این قسمت همیشه ضعف من بود. اما وقتی قراره یه اپ رو خودت کامل بنویسی و مسئولیتش رو بپذیری دیگه "من خیلی طراحی بلد نیستم اما کار میکنه" قشنگ نیست. برای خودم تصمیم گرفتم که حداقل، اگه حال فیگما یاد گرفتن نداشتم، دانش تئوری و کمی عملی رو بهتر کنم تا بتونم ai رو راحت تر و مفید تر هدایت کنم. در حد اینکه بفهمم چی به چیه و مسیر درستی بهش بدم.
ازین به بعد سعی میکنم منابع در این زمینه هم معرفی کنم.
یکی از بلاگ های جالبی که دارم الان میخونم اینه:
https://www.joelonsoftware.com/2001/10/24/user-interface-design-for-programmers
بنظر شروع خوبی برای ui میاد.
@ever_code
EverCode
کلود دیزاین هم ابزار جالبی شده، با دوتا اسکرین شات خودش کارو دراورد. @ever_code
به زودی از رابط جدید رونمایی میکنم، ولی واقعا وقتی آدم نمیدونه داره چیکار میکنه نتیجه خیلی متفاوته. چندوقته هم بیشتر راجب طراحی و اینا خوندم و هم از کاربلداش پرس و جو کردم، و نوع کارم با claude در زمینه‌ی دیزاین عوض شد. نتیجه‌ش هم آماده‌ست ولی طرحه، پیاده سازی نشده هنوز.

@ever_code
جدا از بحث خود هوش مصنوعی خیلی علاقه دارم بدونم claude و openai معماری و طراحی سیستماشون چیه که این حجم از درخواست ها رو مثل کره جواب میدن؟ البته که منایع هم زیاد سمتش پرتاب میکنن و همش معماری تمیز و بهینه نیست حس میکنم.
@ever_code
👍5
sneak peek at the new design 🙈😜
@ever_code
❤3👍1
از دیروز تحریم‌های claude شروع شده و متاسفانه فعلا بدون فیلترشکن یا تغییر dns نمیشه وصل شد.
@ever_code
🥰1
در مورد compression بگیم که یکی از موضوعات خیلی مهم در دنیای نرم افزاره. روش‌های زیادی براش وجود داره و ریاضیات جالبی پشتش هست. یه منبعی که برای شروع میتونه خوب باشه کتاب Understanding Compression از انتشارات O'Reilly هست.
شاید اول تو ذهنمون فقط Rar و Zip و این چیزا بیاد، اما این مبحث یکی از اون دسته مباحث کمتر دیده شده هست که یه بخش خیلی خیلی بزرگی از صنعت کامپیوتر دنیا و مخابرات و شبکه ازش استفاده میکنه.
بنظرم یکی از نیش های جذاب کامپیوتریه و جا داره توش عمیق شد. یجورایی مثل رمزنگاری.

@ever_code
تو دوران هوش مصنوعی، نه تنها سرعت تولید کد زیاد شده، بلکه ابعاد دیگه هم تغییرات بنیادی زیادی داشتن.
امروز، با صحبت کردن، در کمترین زمان از ایده تا طرح اولیه میرسیم. صنعت دیزاین هم از این موضوع در امان نمونده. خانم Katie Dill، مسئول دیزاین کمپانی Stripe، توی این ویدیو میاد از این موضوع حرف میزنه.
یکی از چیزهایی که بهش اشاره میکنه، Zombie UI هست. با حضور AI سایت هایی که در دو دقیقه زده میشن، یکی از مهم ترین عناصر طراحی رو در خودشون ندارن. هدف یا بقول خودش intentionality.
از تاریخ میگه که چرا بعد از جنگ جهانی دوم، خیلی از ساختمان ها شبیه هم شدن و هدف طراح توی اون دوران گم شد، و تشبیهش میکنه به الان که همه سایت خودشون رو میزنن اما توی رابط های کاربری، هدف از بین رفته. همچی یک شکل شده و اون طراحی دیگه معطوف به تجربه کاربری نیست.
یکی از نکته هایی که مطرح میکنه راجب اینه که هوش مصنوعی خیلی سریع به ما حس "تموم" شدن محصول رو میده.
بنظرم خیلی ویدیوی آموزنده و تامل برانگیزیه و جا داره چندین بار دیده بشه. وقتی همه دارن از نحوه بهتر کد زدن و سریعتر به محصول نهایی رسیدن صحبت میکنن، خوبه که یکم ترمز بگیریم و به کاربر بیشتر فکر کنیم بجای اینکه سریع محصول رو "تموم" کنیم.

https://youtu.be/GLvFTMtw4Jk?si=QLXreZR2XgtAHiPV

@ever_code
❤2
EverCode
تو دوران هوش مصنوعی، نه تنها سرعت تولید کد زیاد شده، بلکه ابعاد دیگه هم تغییرات بنیادی زیادی داشتن. امروز، با صحبت کردن، در کمترین زمان از ایده تا طرح اولیه میرسیم. صنعت دیزاین هم از این موضوع در امان نمونده. خانم Katie Dill، مسئول دیزاین کمپانی Stripe، توی…
- Avoid Zombie UI: Stop building generic, soulless interfaces.
- Refuse to confuse done with good: Speed and polish don't equal quality.
- Have a clear POV: Set human standards so AI doesn't default to generic outputs.
- Encode intent: Embed design standards directly into AI workflows.
- Embrace post-build editing: Human quality control shifts to rigorous editing at the end.
- Raise the ceiling: Use AI to invent new interfaces, not just make old ones faster.