Forwarded from Gopher Academy
📝 نکات کاربردی درباره
1. چهار روش نوشتن مختلف
*
بسته به نوع دادهای که در اختیار دارید، میتوانید روش مناسب را استفاده کنید
2. نحوه ذخیرهسازی داخلی
این نوع از یک slice داخلی استفاده میکند که نوشتنها به صورت
3. استفادهی بهینه با
قبل از نوشتن با حجم بالا، بهتر است با
* اگر ظرفیت فعلی کافی باشد، گسترش اتفاق نمیافتد.
* اگر ظرفیت کافی نباشد، با فرمول
4. عملکرد
متد
### 5. هرگز یک Builder غیرصفر را کپی نکنید
کپی کردن یک `strings.Builder` که قبلاً نوشته شده باشد منجر به panic میشود:
فقط اشیاء صفر مقدار (بدون نوشتن) قابل کپی هستند
6. عدم پشتیبانی همزمانی (Concurrency)
7. پیادهسازی
رابط
---
⚡️ مثال استفاده
در این مثال:
* از
* با ترکیب
* قابلیت گرفتن طول و ظرفیت نیز وجود دارد.
|
strings.Builder1. چهار روش نوشتن مختلف
strings.Builder از چهار روش برای افزودن محتوا پشتیبانی میکند:*
Write([]byte), WriteByte(byte), WriteRune(rune), WriteString(string)بسته به نوع دادهای که در اختیار دارید، میتوانید روش مناسب را استفاده کنید
2. نحوه ذخیرهسازی داخلی
این نوع از یک slice داخلی استفاده میکند که نوشتنها به صورت
append در آن انجام میشوند. بنابراین عملکرد آن مشابه append روی slice است 3. استفادهی بهینه با
Grow(n)قبل از نوشتن با حجم بالا، بهتر است با
Grow(n) ظرفیت را از پیش افزایش دهید تا از realloc جلوگیری شود:* اگر ظرفیت فعلی کافی باشد، گسترش اتفاق نمیافتد.
* اگر ظرفیت کافی نباشد، با فرمول
current_capacity*2 + n افزایش پیدا میکند 4. عملکرد
String()متد
String() بدون تخصیص حافظه اضافی، یک رشته جدید از buffer داخلی ایجاد میکند—با استفاده از `unsafe`، فقط اشارهگر را باز میگرداند ### 5. هرگز یک Builder غیرصفر را کپی نکنید
کپی کردن یک `strings.Builder` که قبلاً نوشته شده باشد منجر به panic میشود:
var b1 strings.Builder
b1.WriteString("ABC")
b2 := b1
b2.WriteString("DEF") // panic!
فقط اشیاء صفر مقدار (بدون نوشتن) قابل کپی هستند
6. عدم پشتیبانی همزمانی (Concurrency)
strings.Builder ایمن برای استفاده همزمان از چند goroutine نیست؛ خواندن یا نوشتن همزمان میتواند منجر به نتایج غیرمنتظره شود 7. پیادهسازی
io.Writerرابط
Write(p []byte) (int, error) پیادهسازی شده است، بنابراین میتوانید از strings.Builder به عنوان یک io.Writer استفاده کنید—مثلاً logسازی، fmt.Fprintf و … ---
⚡️ مثال استفاده
package main
import (
"fmt"
"strings"
)
func main() {
var sb strings.Builder
sb.Grow(100)
sb.WriteString("Hello")
sb.WriteByte(' ')
sb.WriteRune('世')
sb.WriteString("界")
fmt.Println(sb.String()) // خروجی: "Hello 世界"
fmt.Printf("Len=%d, Cap=%d\n", sb.Len(), sb.Cap())
}
در این مثال:
* از
Grow(100) برای کاهش realloc استفاده کردیم.* با ترکیب
WriteString, WriteByte, و WriteRune یک رشته UTF‑8 ساختیم.* قابلیت گرفتن طول و ظرفیت نیز وجود دارد.
|
Forwarded from tiivik️
⭕️سیاست رقابت اتحادیه اروپا (Competition Policy EU) و
جستجو در پروندههای رقابتی اتحادیه اروپا
این منبع رسمی به شما اجازه میدهد تا تصمیمات منتشر شده مرتبط با پروندههای ضد انحصار، ادغام شرکتها و کمکهای دولتی در اتحادیه اروپا را بیابید.
امکان جستجو بر اساس موارد زیر وجود دارد:
حوزه سیاسی (مقررات ضد انحصار، کمکهای دولتی، ادغامها)؛
شماره پرونده؛
نام (از جمله نام شرکتها)؛
تاریخ صدور رأی؛
بخش اقتصادی (بر اساس طبقهبندی NACE:
[ طبقهبندی آماری فعالیتهای اقتصادی در اتحادیه اروپا)؛
کشور عضو و تاریخ انتشار.
🆔@tiivik
جستجو در پروندههای رقابتی اتحادیه اروپا
این منبع رسمی به شما اجازه میدهد تا تصمیمات منتشر شده مرتبط با پروندههای ضد انحصار، ادغام شرکتها و کمکهای دولتی در اتحادیه اروپا را بیابید.
امکان جستجو بر اساس موارد زیر وجود دارد:
حوزه سیاسی (مقررات ضد انحصار، کمکهای دولتی، ادغامها)؛
شماره پرونده؛
نام (از جمله نام شرکتها)؛
تاریخ صدور رأی؛
بخش اقتصادی (بر اساس طبقهبندی NACE:
[ طبقهبندی آماری فعالیتهای اقتصادی در اتحادیه اروپا)؛
کشور عضو و تاریخ انتشار.
🆔@tiivik
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔥 ابزار کاربردی nethogs برای مدیریت پهنای باند شبکه 🔥
———————————————————
اگر دوست داری بدونی کدام پردازش بیشترین پهنای باند شبکه رو مصرف میکنه، nethogs بهترین گزینه است! این ابزار ساده و قدرتمند، به راحتی مصرف اینترنت هر پردازش رو بهت نشون میده.
### نصب nethogs در توزیعهای مختلف لینوکس:
### نحوه اجرا:
یا میتونی با مشخص کردن اینترفیس شبکه دستور رو اجرا کنی:
### سوئیچهای کاربردی nethogs:
*
*
*
*
*
نویسنده: حسین سیلانی
📢 اخبار و آموزشهای بیشتر در کانال:
https://t.iss.one/linuxtnt
———————————————————
اگر دوست داری بدونی کدام پردازش بیشترین پهنای باند شبکه رو مصرف میکنه، nethogs بهترین گزینه است! این ابزار ساده و قدرتمند، به راحتی مصرف اینترنت هر پردازش رو بهت نشون میده.
### نصب nethogs در توزیعهای مختلف لینوکس:
sudo apt install nethogs # اوبونتو، دبیان
sudo yum install nethogs # سنتاواس، ردهت
sudo dnf install nethogs # فدورا
sudo pacman -S nethogs # آرچ لینوکس
sudo zypper install nethogs # اوپنسوزه
apk add nethogs # آلپاین لینوکس
### نحوه اجرا:
sudo nethogs
یا میتونی با مشخص کردن اینترفیس شبکه دستور رو اجرا کنی:
nethogs eth1
nethogs eth0 eth1 ppp0
sudo /usr/sbin/nethogs eth0
### سوئیچهای کاربردی nethogs:
*
-d : تنظیم تأخیر برای نرخ بهروزرسانی*
-h : نمایش راهنمای دستورات*
-p : حالت شنود پرومیسکویوس (Promiscuous Mode) – (توصیه نمیشود)*
-t : حالت Trace*
-V : نمایش نسخه برنامهنویسنده: حسین سیلانی
📢 اخبار و آموزشهای بیشتر در کانال:
https://t.iss.one/linuxtnt
Telegram
linuxtnt(linux tips and tricks)
https://t.iss.one/+AL7RKhKS6b4zNzY8
آموزش لینوکس- گروه مکمل برای پرسش و پاسخ
linux tips and tricks
ارتباط با من
@seilany
seilany.ir
آموزش لینوکس- گروه مکمل برای پرسش و پاسخ
linux tips and tricks
ارتباط با من
@seilany
seilany.ir
Forwarded from DevTwitter | توییت برنامه نویسی
یه مینی پروژه بازیسازی با Vanilla JS که برای یادگیری بیشتر خودم شروع به توسعهش کردم.
توش سعی کردم قواعد clean code رو رعایت کنم و خود کدها هم پیچیدگی خاصی ندارن و قابل درکن.
اگه هنوز اول راه JS هستید، پیشنهاد میکنم یه نگاهی بهش بندازید، شاید بهتون ایده بده یا کمکتون کنه.
https://github.com/whosfatima/Snake_Mini_Game
@DevTwitter | <whosfatima/>
توش سعی کردم قواعد clean code رو رعایت کنم و خود کدها هم پیچیدگی خاصی ندارن و قابل درکن.
اگه هنوز اول راه JS هستید، پیشنهاد میکنم یه نگاهی بهش بندازید، شاید بهتون ایده بده یا کمکتون کنه.
https://github.com/whosfatima/Snake_Mini_Game
@DevTwitter | <whosfatima/>
Forwarded from Laravel News
Laravel Boost, your AI coding starter kit https://laravel-news.com/laravel-boost-your-ai-coding-starter-kit
Laravel News
Laravel Boost, your AI coding starter kit - Laravel News
Introducing Laravel Boost, your AI coding starter kit.
Forwarded from SoniaCircuit (Soroush)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
بررسی نظرسنجی Stack Overflow 2025
نتایج نظرسنجی امسال سایت Stack Overflow منتشر شده. بیاید ببینیم صنعت و تکنولوژی های مختلف تو چه وضعیتی قرار دارن. تو این ویدیو یه بررسی خیلی سریع رو این نتایج انجام میدیم. در نهایت نتایج بهتون میگه که Rust رو بیشتر جدی بگیرید و دوستش داشته باشید، اگه از شغلتون خوشحال نیستید خیلی طبیعیه و تقریبا مثه بقیه هستید، آدما به هوش مصنوعی اعتماد ندارن و هنوز هم اونو یه تهدید جدی برای شغلشون نمیدونن :)
لینک یوتیوب
https://www.youtube.com/watch?v=8D8xQV9pgFw
@DevTwitter | <Rouzbeh/>
نتایج نظرسنجی امسال سایت Stack Overflow منتشر شده. بیاید ببینیم صنعت و تکنولوژی های مختلف تو چه وضعیتی قرار دارن. تو این ویدیو یه بررسی خیلی سریع رو این نتایج انجام میدیم. در نهایت نتایج بهتون میگه که Rust رو بیشتر جدی بگیرید و دوستش داشته باشید، اگه از شغلتون خوشحال نیستید خیلی طبیعیه و تقریبا مثه بقیه هستید، آدما به هوش مصنوعی اعتماد ندارن و هنوز هم اونو یه تهدید جدی برای شغلشون نمیدونن :)
لینک یوتیوب
https://www.youtube.com/watch?v=8D8xQV9pgFw
@DevTwitter | <Rouzbeh/>
Forwarded from SoniaCircuit (Soroush)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from جادی | Jadi
قسمت جدید لذت شطرنج: پایان بازی شطرنج
https://youtu.be/ZrZBip5BT1g
https://youtu.be/ZrZBip5BT1g
YouTube
لذت شطرنج، قسمت ۳: پایان بازی؛ کیش، مات و مساوی
حالا که حرکات ابتدایی رو یاد گرفتیم وقتشه ببینیم بازی چطوری میتونه تموم بشه. مثل اکثر بازیهای دیگه، نتیجه نهایی یا برد است یا باخت و گاه گداری هم در مورد ما مساوی. توی این قسمت میبینیم چطوری میشه کیش داد و خطراتش چیه، بعد میبینیم که اگر حریف نتونه از…
Forwarded from Bardiaism
توی لینوکس میخواید اپلیکیشنی که به کمک timezone موقعیت مکانی شمارو حدس میزنه و سرویسشو تحریم میکنه گول بزنید؟
یه environment variable هست به اسم TZ که اکثر فریمورکها ازش پیروی میکنن. اونو روی timezone مورد نظر تنظیم کنید و بعد برنامه رو اجرا کنید.
مثلا برای نیویورک:
یا برای برلین:
روی خیلی برنامهها جواب میده.
همچنین میتونید از اینجا لیست کاملی از مقادیر timezone رو ببینید:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
@Bardiaism
یه environment variable هست به اسم TZ که اکثر فریمورکها ازش پیروی میکنن. اونو روی timezone مورد نظر تنظیم کنید و بعد برنامه رو اجرا کنید.
مثلا برای نیویورک:
export TZ=America/New_York
یا برای برلین:
export TZ=Europe/Berlin
روی خیلی برنامهها جواب میده.
همچنین میتونید از اینجا لیست کاملی از مقادیر timezone رو ببینید:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
@Bardiaism
Forwarded from DevTwitter | توییت برنامه نویسی
توی این سایت و ریپو الگوریتم های مرتب سازی رو سعی شده با مصورسازی نحوه کار و عملکردشون مقایسه بشه.
https://ds-fall2025.github.io/sorting_algo/
https://github.com/hrnrxb/sorting_algo
از کلاس ساختمان داده دانشگاه آزاد شیراز هست که اگر خواستید میتونید از سایت زیر به محتوای درسی نابشون دسترسی پیدا کنید
https://ds-fall2025.github.io/ds-fall2025/
@DevTwitter | <hrnrxb/>
https://ds-fall2025.github.io/sorting_algo/
https://github.com/hrnrxb/sorting_algo
از کلاس ساختمان داده دانشگاه آزاد شیراز هست که اگر خواستید میتونید از سایت زیر به محتوای درسی نابشون دسترسی پیدا کنید
https://ds-fall2025.github.io/ds-fall2025/
@DevTwitter | <hrnrxb/>
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from DevTwitter | توییت برنامه نویسی
از چک کردن دهها سورس و پلتفرم برای پیگیری اخبار، پیپرها و ریپوهای داغ اخیر در دنیای AI خسته شدی؟
من یه پروژه AI News Aggregator Bot زدم که با استفاده از RSS Feed، جدیدترین و دست اولترین اخبار، مقالات علمی، پروژهها و ریپوهای داغ اخیر AI رو جمعآوری میکنه و مستقیم میفرسته به کانال تلگرام!
اینجوری دیگه همه چیزو یه جا داری و لازم نیست هزار تا سورس جدا رو چک کنی.
لینک ریپو:
https://github.com/hrnrxb/AI-News-Aggregator-Bot
دوستان عزیز میتونن فورکش کنن و با ایدههای خودشون بهترش کنن و قابلیتهای بیشتری بهش اضافه کنن.
در آینده نزدیک هم میخوام یه سیستم Sentiment Analysis قوی بندازم پشتش تا بر اساس میزان هایپ بودن، مقدار کلیک شدن و احساسات اون خبر، بازم بهترینها رو گلچین کنه و هوشمندتر عمل کنه!
@DevTwitter | <hrnrxb/>
من یه پروژه AI News Aggregator Bot زدم که با استفاده از RSS Feed، جدیدترین و دست اولترین اخبار، مقالات علمی، پروژهها و ریپوهای داغ اخیر AI رو جمعآوری میکنه و مستقیم میفرسته به کانال تلگرام!
اینجوری دیگه همه چیزو یه جا داری و لازم نیست هزار تا سورس جدا رو چک کنی.
لینک ریپو:
https://github.com/hrnrxb/AI-News-Aggregator-Bot
دوستان عزیز میتونن فورکش کنن و با ایدههای خودشون بهترش کنن و قابلیتهای بیشتری بهش اضافه کنن.
در آینده نزدیک هم میخوام یه سیستم Sentiment Analysis قوی بندازم پشتش تا بر اساس میزان هایپ بودن، مقدار کلیک شدن و احساسات اون خبر، بازم بهترینها رو گلچین کنه و هوشمندتر عمل کنه!
@DevTwitter | <hrnrxb/>
Forwarded from mnr tech
اگر طراح هستید و دنبال تصاویر وکتوری یا PNG های خوشگل برای طراحیهاتون 🎨 میگردید، یا اگر برنامهنویس هستید و میخواید برای سایتتون عکسهای جذاب انتخاب کنید 💻، میتونید از لیست سایتهای زیر استفاده کنید:
🖼 سایتهای تصاویر وکتوری و گرافیکی:
undraw.co
iradesign.io
storyset.com
humaaans.com
opendoodles.com
drawkit.com
manypixels.co
freepik.com
برخی از این سایتها قابلیت ویرایش رنگ و جزئیات تصاویر قبل از دانلود رو دارن. اما اگه با ابزارهای وکتور مثل Adobe Illustrator، CorelDRAW یا سایر نرمافزارهای طراحی مسلط باشید، میتونید فایلها رو بعد از دانلود هم به راحتی ویرایش کنید 🛠.
📦 برای آیکونها هم سایتهای زیر خیلی خوبن:
svgrepo.com
icons8.com
flaticon.com
و همچنین:
✨ iconify.design
این وبسایت برای استفاده از آیکون در پروژههای برنامهنویسی خیلی پیشنهاد میشه. میتونید آیکونها رو هم بهصورت کامپوننت در پروژههاتون استفاده کنید، هم بهصورت SVG دانلود کنید 🔧.
🖼 سایتهای تصاویر وکتوری و گرافیکی:
undraw.co
iradesign.io
storyset.com
humaaans.com
opendoodles.com
drawkit.com
manypixels.co
freepik.com
برخی از این سایتها قابلیت ویرایش رنگ و جزئیات تصاویر قبل از دانلود رو دارن. اما اگه با ابزارهای وکتور مثل Adobe Illustrator، CorelDRAW یا سایر نرمافزارهای طراحی مسلط باشید، میتونید فایلها رو بعد از دانلود هم به راحتی ویرایش کنید 🛠.
📦 برای آیکونها هم سایتهای زیر خیلی خوبن:
svgrepo.com
icons8.com
flaticon.com
و همچنین:
✨ iconify.design
این وبسایت برای استفاده از آیکون در پروژههای برنامهنویسی خیلی پیشنهاد میشه. میتونید آیکونها رو هم بهصورت کامپوننت در پروژههاتون استفاده کنید، هم بهصورت SVG دانلود کنید 🔧.
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 به نظرم این بهترین پروژه ای بود که نوشتم.
https://github.com/Rayiumir/TaskSquad
قابلیت تجاری سازی داره ولی ...
#لاراول
@TheRaymondDev
https://github.com/Rayiumir/TaskSquad
قابلیت تجاری سازی داره ولی ...
#لاراول
@TheRaymondDev
GitHub
GitHub - Rayiumir/TaskSquad: A Tasks Management Project Based on Laravel and Livewire
A Tasks Management Project Based on Laravel and Livewire - Rayiumir/TaskSquad
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 دیجی کالا در اگهی شغلی خود مهندس نرم افزار می خواد و من اگهی شون خوندم.
اولین مانعی که بهش برخوردم نیازمند مدرک لیسانس به بالاتر است.
درک نکردم چرا یه مهندس نرم افزار که زبان برنامه نویسی و الگورتیم بلد باشه باید چنین مدرک کلفتی داشته باشد که بتواند رزومه بفرستد.
منم می خواستم رزومه بفرستم ولی مدرک لیسانس می خواد.
https://careers.digikala.com/job-positions/2700/
@TheRaymondDev
اولین مانعی که بهش برخوردم نیازمند مدرک لیسانس به بالاتر است.
درک نکردم چرا یه مهندس نرم افزار که زبان برنامه نویسی و الگورتیم بلد باشه باید چنین مدرک کلفتی داشته باشد که بتواند رزومه بفرستد.
منم می خواستم رزومه بفرستم ولی مدرک لیسانس می خواد.
https://careers.digikala.com/job-positions/2700/
@TheRaymondDev
Digikala
Senior Software Engineer | Digikala Careers Website
Apply for the Senior Software Engineer position at Digikala.
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 زندگی استارتاپی در فضای مجازی خیلی جذاب و شیک به نظر میرسد،
اما واقعیت پشت پرده چیست؟
– خبری از حقوق نیست
– آخر هفتهای در کار نیست
– همیشه تحت فشار برای اینکه "باید این کارو به نتیجه برسونی"
چرا طوری جلوه میدهیم که انگار آزادی است، در حالی که بیشتر شبیه جنگ برای زنده ماندن است؟
@TheRaymondDev
اما واقعیت پشت پرده چیست؟
– خبری از حقوق نیست
– آخر هفتهای در کار نیست
– همیشه تحت فشار برای اینکه "باید این کارو به نتیجه برسونی"
چرا طوری جلوه میدهیم که انگار آزادی است، در حالی که بیشتر شبیه جنگ برای زنده ماندن است؟
@TheRaymondDev
Forwarded from متخصص وردپرس | پوینا
یکی از مشتریان ما هک شده
بعد کلی مطلب با ایدی نویسنده 0 توی سایتش منشتر کردن که توی نوشته ها قابل نمایش نیست و حتی سرچم کنید نشون داده نمیشه ( ایدی 0 باعث میشه که جز ادمین نباشه و جز مطالبم نشون نده )
هیچ انتی ویروسم تشخیص نمیده شما ویروس دارید
و اگر متوجه نشید کل سئوتون رو از دست میدید
ویروس ها و بکدور ها به شدت هوشمند شدن و دیگه مثل قبل به راحتی قابل تشخیص نیستن
@poinair پوینا
بعد کلی مطلب با ایدی نویسنده 0 توی سایتش منشتر کردن که توی نوشته ها قابل نمایش نیست و حتی سرچم کنید نشون داده نمیشه ( ایدی 0 باعث میشه که جز ادمین نباشه و جز مطالبم نشون نده )
هیچ انتی ویروسم تشخیص نمیده شما ویروس دارید
و اگر متوجه نشید کل سئوتون رو از دست میدید
ویروس ها و بکدور ها به شدت هوشمند شدن و دیگه مثل قبل به راحتی قابل تشخیص نیستن
@poinair پوینا