🎄 DevTwitter | توییت برنامه نویسی – Telegram
🎄 DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.37K photos
358 videos
6 files
4.11K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
Macro instructions
در دنیای کامپیوتر و برنامه نویسی، macro یه سری از دستورات کوچیکه که می‌تونه یه کار بزرگتر رو انجام بده(درشت دستور). مثلا فرض کنید می‌خواین یه سری عملیات پیچیده رو روی یه فایل انجام بدید، به جای اینکه دستور به دستور اونارو تایپ کنید، می‌تونید یه macro بنویسید که همه اون دستورات رو یه جا اجرا می‌کنه.

- مزایاش چیه؟
۱. صرفه‌جویی در زمان:
به جای تایپ کردن دستورات مکرر، فقط کافیه macro رو فراخوانی کنید و همه کارا انجام میشه.
۲. کاهش خطاها:
چون دیگه نیازی به تایپ دستورات نیست، احتمال خطای انسانی کمتر می‌شه.
۳. سازماندهی بهتر:
می‌تونید macro‌هاتون رو طوری بنویسید که کدتون منظم‌تر و خوانا‌تر بشه.
- و...

البته باید دقت کنید که نباید از macro‌ها زیاد سوء استفاده کنید، چون ممکنه باعث بشه برنامهٔ شما کند و ناکارآمد بشه. (با درایت ازشون استفاده کنید)

@DevTwitter | <PinkOrca/>
👍26👎2
گوگل یه repo جدید منتشر کرده که یه سری راهنمایی و مثال داره که چطوری از Gemini API استفاده کنیم.

راهنمای prompt نویسی و فیچرهای مختلف APIش رو گذاشته..

آدرس Repo:
https://github.com/google/generative-ai-python

@DevTwitter | <Sam92/>
👍26🤣3👎2
مورد Redis و Sqlite زیاد صحبت کردیم
بریم سر Redka یک re-implemented از Redis با SQLite
ویژگی های قابل توجه:
نیازی نیست که داده ها در RAM قرار بگیرند.
امکان ACID transactions
امکان SQL views
امکان Go API و RESP
دستورات Redis-compatible و wire protocol
https://github.com/nalgeon/redka

@DevTwitter | <MehrdadLinux />
👍20👎1
دیوار آنتروپی؛‌ چگونه چند لامپ ساده جلوی هک‌شدن اینترنت را می‌گیرند؟
شرکت Cloudflare با دیواری از لامپ‌های گدازه‌ای لاوا که دیوار آنتروپی نامیده می‌شود، بخش بزرگی از اینترنت جهانی را از خطر هک‌شدن دور نگه می‌دارد.

https://www.zoomit.ir/security/419005-lava-lamp-help-encryption/

@DevTwitter | <Zoomit/>
👍44🔥12👎4🤣2
TELNET
می‌دونستید که این پروتکل از اواخر دهه 60 میلادی وجود داشته؟ یعنی قدیمی‌تر از چیزایی که امروزه استفاده می‌کنیم.

کارش این بوده که به کمکش بتونیم از راه دور به یک سیستم دیگه وصل بشیم و روش دستورات رو اجرا کنیم. مثلا تصور کنید می‌خواین به یه سرور از راه دور دسترسی پیدا کنید. با Telnet می‌تونستید این کار رو انجام بدید و دستورات رو مستقیما روی اون سیستم اجرا کنید.

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

جالبه که بدونید Telnet برای برقراری ارتباط از پروتکل TCP استفاده می‌کنه. پس می‌تونیم بگیم که یکی از اولین برنامه‌های کاربردیِ اینترنت بوده که روی TCP کار می‌کرده.

در کل یه ابزار قدیمی اما کاربردیه که هنوزم بعضی وقت‌ها می‌تونه به‌درد بخور باشه. البته امروزه بیشتر برای آموزش و تست استفاده می‌شه تا کاربردهای واقعی. اما خب، باز هم یه چیز جالبه برای اینکه بدونیم در موردش.

@DevTwitter | <PinkOrca/>
👍384👎1
من یک پکیج برای تولید خروجی PDF برای پروژه‌های جنگو نوشتم.
دقیقا شبیه viewهای جنگو ولی تمپلیت هم HTML و هم LaTeX می‌گیره و بعد در خروجی فایل PDFاش بر می‌گردونه.

pip install django-perisan-pdf

از هر بهبودی برای کد و تست‌هاش استقبال می‌کنم:
https://github.com/BinDruid/django-persian-pdf

@DevTwitter | <Druid/>
👍30🔥9👎1
اگر از ووکامرس استفاده میکنید و محصولات متغییر زیادی دارید با این مشکل روبه روشدید که وقتی می خواهید محصولاتی رو ناموجود کنید باید تک تک برید و موجودی اونها رو صفر کنید.
این bulk edit رو نصب کنید و فله‌ای اقدام به صفر کردن موجودی بکنید.

https://gist.github.com/devlifeX/fd66978ad234fffdc52ff41d95fc032f

@DevTwitter | <Dariush vesal/>
👍20👎1
#کوته_نیوز

دیسکورد فیلتر شد

@DevTwitter
🤣58👎32👍235
یا اینجا توضیح دادم که الگوریتم Mark-and-Sweep در Garbage Collector در JavaScript چطور عمل میکنه و بعد از اینکه یه قسمت از کد اجرا میشه و بخش تخصیص داده شده در حافظه غیر قابل دسترس میشه توسط اون حذف میشه و مشکلات کد های غیر اصولی و memory leak و چطور اتفاق می افته!

@DevTwitter | <Max Shahdoost/>
👍19🤣8👎1
یک پچ داخل wayland مرج شده که اکثر مشکلات wayland رو با انویدیا رفع می‌کنه.

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/90

بعد از اون هم پشتیبانی‌ ازش به kwin اضافه شده:

https://invent.kde.org/plasma/kwin/-/merge_requests/4693


گنوم هنوز مرج نکرده.


@DevTwitter | <SohrabContents/>
👍234👎1🤣1
اگه برنامه‌نویس پایتون باشین حتماً تا حالا اسم Pyinstaller رو شنیدین. این برنامه یه ابزار خیلی کاربردیه که به شما کمک می‌کنه برنامه‌های پایتونی رو به یه فایل اجرایی تبدیل کنین تا بشه اونا رو روی سیستم‌های دیگه بدون نیاز به نصب پایتون اجرا کرد.

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

یه نکته جالب اینه که Pyinstaller از فایل‌های باینری پایتون (bytecode) استفاده می‌کنه تا حجم فایل نهایی کمتر بشه. البته فایل‌های اجرایی ساخته شده توسط Pyinstaller معمولاً حجم زیادی دارن... ولی خب چاره‌ای نیست چون باید همه وابستگی‌ها رو شامل بشن.

می‌تونین Pyinstaller رو روی ویندوز، مک و لینوکس استفاده کنین و برنامه‌های پایتونی رو برای هر سه سیستم‌عامل کامپایل کنین. فقط حواستون باشه که برای هر سیستم‌عامل باید رو همون سیستم‌عامل کامپایل رو انجام بدین.

نصب پکیج:
pip install pyinstaller

روش استفاده:
pyinstaller --onefile my_noscript.py
(اینجا onefile باعث می‌شه که فقط یه فایل اجرایی ساخته بشه و تمام وابستگی‌ها داخلش باشن.)


@DevTwitter | <PinkOrca/>
👍46🤣12👎21
تفاوت Ctrl+F5 و F5 چیه؟

دکمه F5 همون رفرش ساده و استاندارده ، اما کنترل F5 یک رفرش اجباری (forced reload ) انجام میده و این مرورگر رو مجبور میکنه که صفحه رو از سرور دوباره دانلود کنه.

با زدن دکمه F5 به تنهایی فقط صفحه سایت رو با استفاده از کش مرورگر و فایل ها و عکس ها و... که قبلا تو مرورگر ذخیره کرده بود ، صفحه رو Reload میکنه ولی با نگه داشتن Ctrl و سپس زدن F5 ، کل محتوای سایت رو از سرور دانلود میکنه و کاری به کش مرورگر نداره.


@DevTwitter | <Computer_MCH/>
👍90🔥8🤣8👎1
ساخت رابط های کاربری مدرن در پایتون با استفاده از eel
این یک کتابخانه کوچک و بسیار جالبه که به شما کمک میکنه رابط کاربری برای نرم افزارهای دسکتاپی که با پایتون کد زده میشن با استفاده از html, css, javascrip بسازید

این میتونه به شما کمک کنه تا مثلا با کمک bootstrap بتونید رابط های کاربری مدرن در پایتون ایجاد کنید

@DevTwitter | <code_pedia/>
🔥35👍11🤣4👎3
در کرنل لینوکس NUMA چیست؟ به زبان ساده

فرض کنید کامپیوتر شما یه خونه آپارتمانیه. توی این خونه چندتا اتاق (گره) هست که هر کدوم تخت خواب (پردازنده) و کمد (حافظه) دارن.

تو معماری معمولی، همه تخت‌ها و کمدها توی یه اتاق بزرگ هستن. این می‌تونه برای کسایی که توی همون اتاق زندگی می‌کنن (برنامه‌هایی که به حافظه و پردازش زیادی نیاز دارن) خوب باشه، ولی می‌تونه برای کسایی که توی اتاق‌های دیگه زندگی می‌کنن (برنامه‌هایی که به حافظه و پردازش کمتری نیاز دارن) مشکل‌ساز باشه.

با توجه با این NUMA مثل اینه که یه سری از تخت‌ها و کمدها رو به اتاق‌های دیگه ببریم. این کار به کسایی که توی همون اتاق زندگی می‌کنن کمک می‌کنه که سریع‌تر به تخت‌ها و کمدهاشون دسترسی داشته باشن، بدون اینکه منتظر بمونن بقیه که توی اتاق‌های دیگه هستن ازشون استفاده کنن.

مثلا فرض کنید یه برنامه پایگاه داده دارین که به حافظه و پردازش زیادی نیاز داره. تو یه سیستم NUMA می‌تونین این برنامه رو طوری تنظیم کنین که توی یه گره اجرا بشه که حافظه و پردازنده‌های بیشتری داره. این کار به برنامه کمک می‌کنه که سریع‌تر به اطلاعات و قدرت پردازشی که نیاز داره دسترسی پیدا کنه، و می‌تونه عملکردش رو خیلی بهتر کنه.


در کل NUMA می‌تونه سرعت کار رو با کم کردن زمان دسترسی به حافظه، مخصوصاً برای برنامه‌هایی که به حافظه زیاد نیاز دارن، بهتر کنه.


@DevTwitter | <Linuxor/>
👍35👎3
برای استفاده‌ی رایگان از Llama 3 به لینک زیر برید و از بین مدل ها Llama 70b رو انتخاب کنید.

بعد از کار کردن باهاش خودتون قدرتش رو متوجه میشید و اما نکته‌ی مهم:
برخلاف Llama 2، فارسی رو هم متوجه میشه و دقیق تر بگم از فارسی GPT-4 و Claude خیلی بهتره و این نظر شخصی منه.
پس با این تغییرات، اولین مدل اپن سورس با پشتیبانی از زبان فارسی هم منتشر شد.
لینک استفاده:
labs.perplexity.ai

@DevTwitter | <Sabber/>
👍27🤣3👎1
اینجا توضیح دادم که چرا JS یک زبان هم Compiled هم Interpreted هست و JIT Compiler چطور عمل میکنه و چه اتفاقی می افته تا کدی که می نویسیم از High Level به دستورات Binary قابل اجرا توسط CPU تبدیل بشه

@DevTwitter | <Max Shahdoost/>
👍21🤣8🔥42
توی laravel یه سری توابع داریم که همه جا در دسترس هستن (مثل dd یا config و ...).

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

1- یک فایل میسازم که من اسمش رو میذارم helpers.php و داخل دایرکتوری app قرارش میدم.
2- توابعی که نیاز دارم رو توش مینویسم، من اومدم یه فانکشن به اسم jdd نوشتم که میاد ریسپانس json برمیگردونه.
3- فایل رو توی composer قسمت autoload اضافه میکنم.
4- حالا اگر کش کامپوزر رو پاک کنم میتونم از این توابعی که نوشتم استفاده کنم.

توی تصویر این مراحل رو نشون دادم بهتون.

پست لینکدین

@DevTwitter | <Ladoya/>
👍29🤣7🔥41
آیا از نداشتن SSL در زمان دولوپ پروژه های NextJS رنج می برید ؟

آیا نمی توانید از فیچر های user navigator همچون getGeoLocation و یا Camera و یا ... به راحتی استفاده کنید ؟

آیا باعث شده است که اعتماد بنفس خود را در توسعه وب اپلیکیشن های جذاب از دست دهید و از تونل هایی همچون ngrok خسته شده اید ؟

دیگر نگران نباشید

توی این ریپو من یه Server lunch نوشتم که باعث میشه شما بتونید Nextjs رو به شکل development mode و local به شکل SSL اجرا کنید

البته با اضافه کردن یه دومین به فایل hosts کامپیوترتون میتونید در انتها پروژه خودتون رو روی یک دامنه دارای SSL اجرا کنه که اگر با گوشی به Chrome Debug وصل شدید بتونید از همه قابلیت های user navigator استفاده کنید

https://github.com/fariborz0015/nextjs-ssl

@DevTwitter | <Fariborz Shalghooni/>
👍28🤣15👎21
اگر برای محیط توسعه localhost نیاز به HTTPS داشتیدو برای TLS certificateو امضای آن استفاده از mkcert یا local-ssl-proxy یا ... حتی خود openssl براتون سخته
استفاده از anchor lcl یک راه کار ساده است
https://github.com/anchordotdev/cli

@DevTwitter | <MehrdadLinux/>
👍23👎1
یک کامپیوتر کامل توی مرورگر شما
ختما نگاهی به این ریپو بندازید

https://github.com/HeyPuter/puter

@DevTwitter
👍33👎4🤣2
#بدرد

نظریه‌ی نامحبوب:

یوتیوب فقط جواب‌گوی یادگیری سطح مقدماتیه؛ از اینفلوئنسر و پکیج چیزی در نمیاد.
با گذروندن دوره‌های سطح بالاتر مثل Udemy، تهش پروژه‌ی واقعی هم نمیتونید انجام بدید.

چیزی که به شما نمیگن، یادگیری از طریق کسب تجربست.

@DevTwitter | <Sabber/>
👍346👎218🤣1