Forwarded from DevTwitter | توییت برنامه نویسی
ذات فرانتاند به طرز وحشتناکی پیچیدهست. اینو زمانی متوجه میشید که بخواید یه تیکه از کد یه باندلر مثل ESbuild یا Rollup رو بخونید. یا بخواید درباره الگوریتمهای Virtual DOM توی مثلا ریکت یا Vue بخونید. فکر میکنید سادهاس چون فقط یه تیکه از رنگ دادن به دکمه رو توی فرانت دیدید.
@DevTwitter | <Yasha/>
@DevTwitter | <Yasha/>
Forwarded from Gopher Academy
در کامپایل کردن برنامههای Go با استفاده از فلگ
### فلگهای پرکاربرد:
1. **
حذف جدول سمبلها (symbol table) از باینری نهایی، که باعث کاهش حجم فایل اجرایی میشود.
-w
حذف اطلاعات اشکالزدایی DWARF از باینری. این کار باعث میشود برنامه اجرایی سبکتر شود اما دیباگ کردن آن مشکلتر باشد.
3.
این فلگ به شما اجازه میدهد که مقادیر متغیرهای رشتهای را در زمان کامپایل تغییر دهید. به طور معمول از این گزینه برای تنظیم اطلاعات نسخه یا بیلد در باینری استفاده میشود.
- مثال:
4. **
این فلگ برای تعیین لینککننده خارجی (external linker) استفاده میشود. معمولاً در پروژههایی که با زبانهای دیگر لینک میشوند، مانند C، استفاده میشود.
- مثال:
5. **
این فلگ مشخص میکند که لینکدهی چگونه انجام شود. حالتهای مختلفی وجود دارد:
-
لینکدهی به صورت داخلی (پیشفرض Go).
-
لینکدهی به وسیله لینکک-buildid=<id>*
7. **
به طور پیشفرض Go اطلاعات DWARF را فشرده میکند. با این فلگ میتوانید فشردهسازی ر-Bعال کنید.
8. **
این فلگ با
### استفاده ترکیبی:
شما میتوانید چندین فلگ را با هم ترکیب کنید. برای مثال:
این دستورات کنترل دقیقی بر نحوه ساخت و لینکدهی برنامه ارائه میدهند و بهینهسازیهای مختلفی را ممکن میسازند، مانند کاهش حجم فایل یا تنظیم اطلاعات خاص در زمان ساخت.
برای حذف سمبلها (مثل اطلاعات اشکالزدایی یا سمبلهای بلااستفاده) در یک برنامه Golang، میتوانید از فلگهای خاصی هنگام کامپایل استفاده کنید. به عنوان مثال:
اینجا:
- فلگ
- فلگ
➖➖➖➖➖➖➖➖
👑 @gopher_academy
-ldflags، میتوان فلگهای مختلفی را برای کنترل نحوه لینکدهی (linking) استفاده کرد. فلگهایی که شما اشاره کردید (-s و -w) به طور خاص برای حذف اطلاعات اضافی مانند جدول سمبلها و دادههای اشکالزدایی هستند. در ادامه فلگهای دیگری که میتوان با -ldflags استفاده کرد را لیست میکنم:### فلگهای پرکاربرد:
1. **
-s**:حذف جدول سمبلها (symbol table) از باینری نهایی، که باعث کاهش حجم فایل اجرایی میشود.
-w
-w: حذف اطلاعات اشکالزدایی DWARF از باینری. این کار باعث میشود برنامه اجرایی سبکتر شود اما دیباگ کردن آن مشکلتر باشد.
3.
-X <path/name>=<value>**: این فلگ به شما اجازه میدهد که مقادیر متغیرهای رشتهای را در زمان کامپایل تغییر دهید. به طور معمول از این گزینه برای تنظیم اطلاعات نسخه یا بیلد در باینری استفاده میشود.
- مثال:
go build -ldflags="-X 'main.version=1.0.0'"4. **
-extld=<linker>**: این فلگ برای تعیین لینککننده خارجی (external linker) استفاده میشود. معمولاً در پروژههایی که با زبانهای دیگر لینک میشوند، مانند C، استفاده میشود.
- مثال:
go build -ldflags="-extld=gcc"5. **
-linkmode=<mode>**:این فلگ مشخص میکند که لینکدهی چگونه انجام شود. حالتهای مختلفی وجود دارد:
-
internal: لینکدهی به صورت داخلی (پیشفرض Go).
-
external: لینکدهی به وسیله لینکک-buildid=<id>*
-buildid=<id>**: برای تنظیم build ID که به صورت پیشفرض توسط Go ایجاد میشود، استفاده میشود.7. **
-compressdwarf=false**: به طور پیشفرض Go اطلاعات DWARF را فشرده میکند. با این فلگ میتوانید فشردهسازی ر-Bعال کنید.
8. **
-B**:این فلگ با
-B در هنگام لینک کردن استفاده میشود تا از بازسازی باین-o <output-file>**-o <output-file>**: برای تعیین نام فایل اجرایی خروجی استفاده میشود.### استفاده ترکیبی:
شما میتوانید چندین فلگ را با هم ترکیب کنید. برای مثال:
go build -ldflags="-s -w -X 'main.version=1.0.0' -extld=gcc"
این دستورات کنترل دقیقی بر نحوه ساخت و لینکدهی برنامه ارائه میدهند و بهینهسازیهای مختلفی را ممکن میسازند، مانند کاهش حجم فایل یا تنظیم اطلاعات خاص در زمان ساخت.
برای حذف سمبلها (مثل اطلاعات اشکالزدایی یا سمبلهای بلااستفاده) در یک برنامه Golang، میتوانید از فلگهای خاصی هنگام کامپایل استفاده کنید. به عنوان مثال:
go build -ldflags="-s -w"
اینجا:
- فلگ
-s جدول سمبلها را حذف میکند.- فلگ
-w اطلاعات اشکالزدایی DWARF را حذف میکند.➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Linuxor ?
توی رقابت عادلانه، فیلتر شکن سازا همیشه از فیلتر شکن خراب کن ها جلو ترن، این شبیه همون قضیه دزد و پلیسه که اگه روزی پلیس بتونه به حدی برسه که هیچ دزدی ازش جلو نزنه، در واقع ماشین تورینگ رو زیر سوال برده.
این یعنی تا زمانی که اینترنت ملی نشده، همیشه میشه یه فیلتر شکن ساخت که کار کنه !
🐧 @Linuxor
این یعنی تا زمانی که اینترنت ملی نشده، همیشه میشه یه فیلتر شکن ساخت که کار کنه !
🐧 @Linuxor
Forwarded from Sadra Codes
+ I'm a nerd. I use C++.
- Show me how.
+Ok.
- Show me how.
+Ok.
for (int c=0; c<10; c++){}Forwarded from DevTwitter | توییت برنامه نویسی
این مقاله جالب در مورد ده تا سوال راجع به promise ها توی جاوااسکریپت هست
https://medium.com/frontend-canteen/can-you-answer-this-senior-level-javascript-promise-interview-question-69f7b6ffc2e7
سطح سوالات بالاس و تقریبا سوالات مصاحبهس همشون
@DevTwitter | <ممد کاکل به سر/>
https://medium.com/frontend-canteen/can-you-answer-this-senior-level-javascript-promise-interview-question-69f7b6ffc2e7
سطح سوالات بالاس و تقریبا سوالات مصاحبهس همشون
@DevTwitter | <ممد کاکل به سر/>
Forwarded from ⚝
player.style
اگه دنبال یه چیز آماده برای پخش رسانه میگردید، اینجا رو یه نگاهی بندازید:
#web #frontend #tool #معرفی
@amiria703_channel
اگه دنبال یه چیز آماده برای پخش رسانه میگردید، اینجا رو یه نگاهی بندازید:
#web #frontend #tool #معرفی
@amiria703_channel
Forwarded from ⚝
Forwarded from ⚝
overpass-turbo.eu
بدون نیاز به دانلود کل پایگاه دادهٔ پروژهٔ OpenStreetMap، میتونید فقط با اجرای دستورات انسانی یا دقیقتر، زبانی شبهسی، بخشهای مورد نیازتون رو از این پروژهٔ عالی دریافت و به سادگی استفاده کنید.
همچنین اگه نیازمند حجم بزرگی از دادهها هستید، پیشنهاد من، استفاده از overpass-ultra.us هست.
#OSM #FLOSS #learn #tool #معرفی
@amiria703_channel
بدون نیاز به دانلود کل پایگاه دادهٔ پروژهٔ OpenStreetMap، میتونید فقط با اجرای دستورات انسانی یا دقیقتر، زبانی شبهسی، بخشهای مورد نیازتون رو از این پروژهٔ عالی دریافت و به سادگی استفاده کنید.
همچنین اگه نیازمند حجم بزرگی از دادهها هستید، پیشنهاد من، استفاده از overpass-ultra.us هست.
#OSM #FLOSS #learn #tool #معرفی
@amiria703_channel
Forwarded from Code Module | کد ماژول (𔓙)
پالت رنگی پروژت رو پیدا کن 🩸
سایتی که در این پست بهتون معرفی میکنم، یک ابزار آنلاین برای ایجاد، مشاهده و انتخاب پالتهای رنگی مناسب برای پروژه هاتون هست.
این سایت به طور خاص برای Tailwind طراحی شده. زمانی که پالت رنگیتون رو انتخاب کردید، این سایت نمونه کدهای مربوط به پیکربندی فایل tailwind.config.js رو برای شما تولید میکنه، تا به راحتی بتونید رنگهای سفارشیتون رو به فایل کانفیگ Tailwind اضافه کنید.
🔗 Link
#color #tailwind
@CodeModule
سایتی که در این پست بهتون معرفی میکنم، یک ابزار آنلاین برای ایجاد، مشاهده و انتخاب پالتهای رنگی مناسب برای پروژه هاتون هست.
این سایت به طور خاص برای Tailwind طراحی شده. زمانی که پالت رنگیتون رو انتخاب کردید، این سایت نمونه کدهای مربوط به پیکربندی فایل tailwind.config.js رو برای شما تولید میکنه، تا به راحتی بتونید رنگهای سفارشیتون رو به فایل کانفیگ Tailwind اضافه کنید.
🔗 Link
#color #tailwind
@CodeModule
Forwarded from ⚝
YouTube
CVEMITRECVSSNVDCNAOSS WTF with Daniel Stenberg
Bogus CVEs, know-better organizations, conflicting databases, AI hallucinations, inflated severity scoring, security scanners, Jia Tan. As the lead developer in the curl project, Daniel describes some of the challenges involved and what you need to do to…
YouTu.be/Uol_0kd6saA
Piped | Invidious
ارائهٔ دنیل استنبرگ عزیز (خالق cURL) به نام CVEMITRECVSSNVDCNAOSS WTF در رابطه با امنیّت در نرمافزار آزاد یا به طور کل، کدهای CVE:
پیشنهادی.
#FLOSS #security #presentation
@amiria703_channel
Piped | Invidious
ارائهٔ دنیل استنبرگ عزیز (خالق cURL) به نام CVEMITRECVSSNVDCNAOSS WTF در رابطه با امنیّت در نرمافزار آزاد یا به طور کل، کدهای CVE:
پیشنهادی.
#FLOSS #security #presentation
@amiria703_channel
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 هم اکنون می توانید روند طراحی قالب وبلاگ پارچ لینوکس از طریق گیت هاب پیگیری کنید.
https://github.com/Rayiumir/ThemeBlog
#وردپرس
@TheRaymondDev
https://github.com/Rayiumir/ThemeBlog
#وردپرس
@TheRaymondDev
GitHub
GitHub - Rayiumir/ThemeBlog: A Blog Project Based on Wordpress
A Blog Project Based on Wordpress. Contribute to Rayiumir/ThemeBlog development by creating an account on GitHub.
Forwarded from Gopher Academy
🔵 عنوان مقاله
Building LLM-Powered Applications in Go
🟢 خلاصه مقاله:
مقالهای که مدنظر قرار گرفته به بررسی روشهای مختلف ساخت یک سرور نسل یافتهشده با استفاده از ابزارهای متنوع مانند Gemini + Weaviate، LangChain و Genkit پرداخته است. این ابزارها جهت ایجاد یک محیط کاربرپذیر برای نسل محتوا با کمک فناوریهای یادگیری عمیق و مدلهای زبانی بزرگ (LLM) به کار میروند. در این مقاله به طور خاص نقش و تاثیر زبان برنامهنویسی Go در توسعه سیستمهای نسل یافتهشده (RAG) مورد توجه قرار گرفته، زیرا ویژگیهای طبیعی زبان Go، مانند سرعت بالا و مدیریت حافظه بهینه، آن را به یک انتخاب مناسب برای پردازش و تولید محتوا در محیطهای مبتنی بر LLM تبدیل کرده است. این روشها و ابزارها به توسعهدهندگان کمک میکنند تا سرورهایی با قابلیت عملکرد بالا و دقت بهینه در تولید متن هوشمند بسازند.
🟣لینک مقاله:
https://golangweekly.com/link/159848/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Building LLM-Powered Applications in Go
🟢 خلاصه مقاله:
مقالهای که مدنظر قرار گرفته به بررسی روشهای مختلف ساخت یک سرور نسل یافتهشده با استفاده از ابزارهای متنوع مانند Gemini + Weaviate، LangChain و Genkit پرداخته است. این ابزارها جهت ایجاد یک محیط کاربرپذیر برای نسل محتوا با کمک فناوریهای یادگیری عمیق و مدلهای زبانی بزرگ (LLM) به کار میروند. در این مقاله به طور خاص نقش و تاثیر زبان برنامهنویسی Go در توسعه سیستمهای نسل یافتهشده (RAG) مورد توجه قرار گرفته، زیرا ویژگیهای طبیعی زبان Go، مانند سرعت بالا و مدیریت حافظه بهینه، آن را به یک انتخاب مناسب برای پردازش و تولید محتوا در محیطهای مبتنی بر LLM تبدیل کرده است. این روشها و ابزارها به توسعهدهندگان کمک میکنند تا سرورهایی با قابلیت عملکرد بالا و دقت بهینه در تولید متن هوشمند بسازند.
🟣لینک مقاله:
https://golangweekly.com/link/159848/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Building LLM-powered applications in Go - The Go Programming Language
LLM-powered applications in Go using Gemini, langchaingo and Genkit
Forwarded from DevTwitter | توییت برنامه نویسی
اگر یک developer ساده مثل من هستید و هر از گاهی مجبورید پروژهای خودتون رو روی سرور دیپلوی کنید این چندتا کامند داکر به دردتون میخوره(دراصل برای خودم درست کردم که فراموش نکنم)
https://gist.github.com/mthri/fc0a594cb3d4ed06fc6b6c117e819a1c
@DevTwitter | <Amir Motahari/>
https://gist.github.com/mthri/fc0a594cb3d4ed06fc6b6c117e819a1c
@DevTwitter | <Amir Motahari/>
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
سرویس گوگل داکز (که مثل آفیس وورد هست) داره ویژگی Tab رو اضافه میکنه، این کمک میکنه وقتی موضوعی داریم که نیاز به چند تا سند و بخشهای مختلف هست جای اینکه چند تا سند درست کنیم بیایم همرو داخل یه سند قرار بدیم و با Tab اونهارو از هم تفکیک کنیم.
اینجوری هم دسترسی راحتتری بهشون داریم و بهتر میتونیم روی مجموعه اسنادی که میسازیم تمرکز کنیم.
یکی از ویژگیهای دیگش زیر تبها هستن که اجازه میده اسناد تو در تو داشته باشید.
اسم تبهارو هم میتونید با متن و اموجی انتخاب کنید که راحتتر پیدا بشن.
این ویژگی الان فعال شده ولی ممکنه چند هفته طول بکشه تا برای همه کاربرها در دسترس قرار بگیره.
https://docs.google.com/
theverge
@geekalerts
اینجوری هم دسترسی راحتتری بهشون داریم و بهتر میتونیم روی مجموعه اسنادی که میسازیم تمرکز کنیم.
یکی از ویژگیهای دیگش زیر تبها هستن که اجازه میده اسناد تو در تو داشته باشید.
اسم تبهارو هم میتونید با متن و اموجی انتخاب کنید که راحتتر پیدا بشن.
این ویژگی الان فعال شده ولی ممکنه چند هفته طول بکشه تا برای همه کاربرها در دسترس قرار بگیره.
https://docs.google.com/
theverge
@geekalerts
Forwarded from DevTwitter | توییت برنامه نویسی
سرعت پروژهتون رو با php opcode ببرید بالا
https://inspector.dev/php-opcode-improve-application-performance-without-changing-your-code/
@DevTwitter | <لادویا/>
https://inspector.dev/php-opcode-improve-application-performance-without-changing-your-code/
@DevTwitter | <لادویا/>