Forwarded from a pessimistic researcher (Kc)
قدیما بیشتر با هم حرف میزدیم و در ارتباط بودیم. یه مدتیه خبری از هیچکدومتون ندارم. امیدوارم که رو به راه باشید
Forwarded from Gopher Academy
🔵 عنوان مقاله
vipsgen: Go Binding Generator for libvips
🟢 خلاصه مقاله:
libvps یک کتابخانه پرطرفدار و کارآمد در زمینه پردازش تصویر است. ابزار vipsgen امکان تولید اتصالات (bindings) برای زبان برنامهنویسی Go را فراهم میآورد که بر اساس نصب libvps انجام میپذیرد. این اتصالات نه تنها ایمن از نوع دادهای هستند و از قابلیت اطمینان بالایی برخوردارند، بلکه بهطور کامل نیز مستندسازی شدهاند تا توسعهدهندگان بتوانند بهراحتی از آنها در پروژههای برنامهنویسی Go استفاده نمایند.
🟣لینک مقاله:
https://golangweekly.com/link/169716/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
vipsgen: Go Binding Generator for libvips
🟢 خلاصه مقاله:
libvps یک کتابخانه پرطرفدار و کارآمد در زمینه پردازش تصویر است. ابزار vipsgen امکان تولید اتصالات (bindings) برای زبان برنامهنویسی Go را فراهم میآورد که بر اساس نصب libvps انجام میپذیرد. این اتصالات نه تنها ایمن از نوع دادهای هستند و از قابلیت اطمینان بالایی برخوردارند، بلکه بهطور کامل نیز مستندسازی شدهاند تا توسعهدهندگان بتوانند بهراحتی از آنها در پروژههای برنامهنویسی Go استفاده نمایند.
🟣لینک مقاله:
https://golangweekly.com/link/169716/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - cshum/vipsgen: Go binding generator for libvips image processing library
Go binding generator for libvips image processing library - cshum/vipsgen
Forwarded from Geek Alerts
اپلیکیشن جدید گوگل، مدلهای huggingface رو افلاین روی گوشی اجرا میکنه. اپ Google AI Edge Gallery فعلا برای اندروید در دسترسه.
با این اپ میشه مدلهای مربوط به تولید عکس، پاسخ به سوالات، کد زدن و موردهای دیگه رو پیدا و اونها رو روی سخت افزار گوشی ران کرد. همچنین از Prompt Lab اون هم میشه برای کارهای سادهتر مثل خلاصه کردن متن استفاده کرد.
میتونید از این دستور عمل برای نصبش استفاده کنید.
🔗 TechCrunch
🤓 abolfazl @geekalerts
با این اپ میشه مدلهای مربوط به تولید عکس، پاسخ به سوالات، کد زدن و موردهای دیگه رو پیدا و اونها رو روی سخت افزار گوشی ران کرد. همچنین از Prompt Lab اون هم میشه برای کارهای سادهتر مثل خلاصه کردن متن استفاده کرد.
میتونید از این دستور عمل برای نصبش استفاده کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
اخیراً پروژهای به نام Spring BookStore روی GitHub منتشر کردم که دوست دارم با شما به اشتراک بذارم.
در این پروژه یک سیستم فروشگاه کتاب با استفاده از Spring Boot طراحی کردم که کاربران میتونن مثل یک مشتری ثبتنام کنن، کتابها رو مرور کنن و خرید انجام بدن.
در کنار اون، یک پنل ادمین هم وجود داره که توضیحات کاملش رو توی فایل README قرار دادم.
یکی از اهداف اصلی من این بود که پروژه با هوش مصنوعی در ارتباط باشه.
برای این کار، یک چتبات اضافه کردم که با استفاده از Spring AI و Ollama پیادهسازی شده.
مدل LLM استفادهشده Gemma 3 (4B) هست که بهنظرم برای این کاربرد سبک و مؤثره. کاربران میتونن با چتبات دربارهی کتابها گفتگو کنن و تصمیم نهاییشون رو راحتتر بگیرن.
تکنولوژیها:
Spring Boot, Spring Data JPA, H2, PostgreSQL, Spring AI (Ollama), Spring Reactive, Spring Security, JWT Authentication, Lombok
https://github.com/amirziyacode/Spring-BookStore
@DevTwitter | <Amir ali ziya zadeh/>
در این پروژه یک سیستم فروشگاه کتاب با استفاده از Spring Boot طراحی کردم که کاربران میتونن مثل یک مشتری ثبتنام کنن، کتابها رو مرور کنن و خرید انجام بدن.
در کنار اون، یک پنل ادمین هم وجود داره که توضیحات کاملش رو توی فایل README قرار دادم.
یکی از اهداف اصلی من این بود که پروژه با هوش مصنوعی در ارتباط باشه.
برای این کار، یک چتبات اضافه کردم که با استفاده از Spring AI و Ollama پیادهسازی شده.
مدل LLM استفادهشده Gemma 3 (4B) هست که بهنظرم برای این کاربرد سبک و مؤثره. کاربران میتونن با چتبات دربارهی کتابها گفتگو کنن و تصمیم نهاییشون رو راحتتر بگیرن.
تکنولوژیها:
Spring Boot, Spring Data JPA, H2, PostgreSQL, Spring AI (Ollama), Spring Reactive, Spring Security, JWT Authentication, Lombok
https://github.com/amirziyacode/Spring-BookStore
@DevTwitter | <Amir ali ziya zadeh/>
Forwarded from DevTwitter | توییت برنامه نویسی
با یک ابزار جالب برای اتومیت کردن تست API ها آشنا شدم
حتما تست کنید و نظرتون رو بنویسین
https://github.com/akto-api-security/akto
@DevTwitter | <iM4n Emperor/>
حتما تست کنید و نظرتون رو بنویسین
https://github.com/akto-api-security/akto
@DevTwitter | <iM4n Emperor/>
Forwarded from Curious Geek ⚡️
Lenis
با این کتابخونه میشه smooth scroll ساخت و ایونت های مربوط به اسکرول رو مدیریت کرد.
🔗 lenis.darkroom.engineering
🆔 @Hiradsajde
با این کتابخونه میشه smooth scroll ساخت و ایونت های مربوط به اسکرول رو مدیریت کرد.
🔗 lenis.darkroom.engineering
🆔 @Hiradsajde
lenis.darkroom.engineering
Lenis – Get smooth or die trying
A smooth scroll library fresh out of the darkroom.engineering.
Forwarded from DevTwitter | توییت برنامه نویسی
برنامه Onlook برای طراحان وبسایت و اپلیکیشنهای React با کمک هوش مصنوعی
Cursor for Designers
https://github.com/onlook-dev/onlook
@DevTwitter | <Amirio/>
Cursor for Designers
https://github.com/onlook-dev/onlook
@DevTwitter | <Amirio/>
Forwarded from کدنویس یکروزه (𝕻𝖊𝖉𝖗𝖆𝖒 𝕽𝖆𝖍𝖎𝖒𝖎)
KSWEB-Pro-3.988.apk
230.7 MB
نرم افزار KSWEB Pro 💫
نسخهی کامل بدون محدودیت
شامل PHP 8 و MySQL به همراه phpMyAdmin و Apache و همچنین یک ادیتور قوی برای ویرایش کد در بخش Tools!
هر چند قبل از این نصب وردپرس در اندروید یا فریمورک لاراول رو به کمک Termux فیلمبرداری و توضیح داده بودم ولی به نظر میرسه این نرم افزار اندروید یک پکیج گرافیکی جدید و به روز رسانی شده برای کار با تمام امکانات لازم در قالب نصب پکیج منیجر Composer و خلاصه هر چیز لازم روی تبلت یا گوشی آندرویدی هست.
یه پوشه htdocs هم میسازه در ریشه که فایلهای سِرور اونجا قرار داده میشه و حتا وردپرس جدید رو میشه در اونجا ریخت و نصب کرد! با یک رابط کاربری ساده و سایت رسمی.
نسخهی کامل بدون محدودیت
شامل PHP 8 و MySQL به همراه phpMyAdmin و Apache و همچنین یک ادیتور قوی برای ویرایش کد در بخش Tools!
هر چند قبل از این نصب وردپرس در اندروید یا فریمورک لاراول رو به کمک Termux فیلمبرداری و توضیح داده بودم ولی به نظر میرسه این نرم افزار اندروید یک پکیج گرافیکی جدید و به روز رسانی شده برای کار با تمام امکانات لازم در قالب نصب پکیج منیجر Composer و خلاصه هر چیز لازم روی تبلت یا گوشی آندرویدی هست.
یه پوشه htdocs هم میسازه در ریشه که فایلهای سِرور اونجا قرار داده میشه و حتا وردپرس جدید رو میشه در اونجا ریخت و نصب کرد! با یک رابط کاربری ساده و سایت رسمی.
Forwarded from Ditty | دیتی
🔺سوال مصاحبه: چه زمانی از SSR استفاده کنیم؟ چه زمانی از SSG و چه زمانی از CSR؟
ـ SSR که مخفف Server-side Rendering هست برای زمانی مناسبه که سئو اهمیت داره. مثلاً برای بلاگها و صفحاتی که برای جذب کاربر طراحی شده (Marketing Pages). به این دلیل که موتورهای جستجو راحتتر میتونن محتویات صفحه رو بخونن
- اگه محتویات صفحات ما داینامیک نیستن و در گذر زمان خیلی تغییر نمیکنه و همچنین تعامل زیادی با کاربر نداره، اما همچنان سئو اهمیت داره، بهتره که از SSG یا Static Site Generation استفاده کنیم. چون صفحات ما یک بار تولید و کش میشن و تا زمانی که نیاز نباشه، از همون محتویات کش شده استفاده میشه
- اما اگه میخوایم یک دشبرد طراحی کنیم و یا مثلاً محتویات صفحه بعد از احراز هویت به کاربر نمایش داده میشه، از CSR یا همون Client-side Rendering استفاده کنیم. به این دلیل که برنامهٔ ما بعد از لود اولیه خیلی سریعتر میتونه عمل کنه
- بعضی وقتها هم لازمه بعضی از این روشها رو با هم ترکیب کنیم. که این روش با عنوان ISR یا Incremental Static Regeneration شناخته میشه. توی ISR صفحهها مثل SSG ساخته میشن، اما بعد از مدتی توی بازههای زمانی مشخص به طور خودکار محتویات اونها بروز میشه. توی این روش، صفحهها سرعتی به اندازه SSG ها دارن، اما مثل SSR همیشه بروز هستن
#ux
ـ SSR که مخفف Server-side Rendering هست برای زمانی مناسبه که سئو اهمیت داره. مثلاً برای بلاگها و صفحاتی که برای جذب کاربر طراحی شده (Marketing Pages). به این دلیل که موتورهای جستجو راحتتر میتونن محتویات صفحه رو بخونن
- اگه محتویات صفحات ما داینامیک نیستن و در گذر زمان خیلی تغییر نمیکنه و همچنین تعامل زیادی با کاربر نداره، اما همچنان سئو اهمیت داره، بهتره که از SSG یا Static Site Generation استفاده کنیم. چون صفحات ما یک بار تولید و کش میشن و تا زمانی که نیاز نباشه، از همون محتویات کش شده استفاده میشه
- اما اگه میخوایم یک دشبرد طراحی کنیم و یا مثلاً محتویات صفحه بعد از احراز هویت به کاربر نمایش داده میشه، از CSR یا همون Client-side Rendering استفاده کنیم. به این دلیل که برنامهٔ ما بعد از لود اولیه خیلی سریعتر میتونه عمل کنه
- بعضی وقتها هم لازمه بعضی از این روشها رو با هم ترکیب کنیم. که این روش با عنوان ISR یا Incremental Static Regeneration شناخته میشه. توی ISR صفحهها مثل SSG ساخته میشن، اما بعد از مدتی توی بازههای زمانی مشخص به طور خودکار محتویات اونها بروز میشه. توی این روش، صفحهها سرعتی به اندازه SSG ها دارن، اما مثل SSR همیشه بروز هستن
#ux
Forwarded from Bardiaism
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت بیستم - کامپوننت سازی در QML
در این قسمت کامپوننت سازی رو یاد میگیریم و برای تمرین دیالوگ انیمیشنی که تو قسمت قبل ساختیم رو تبدیل به یه کامپوننت عمومی میکنیم تا بتونیم جاهای مختلف اپلیکیشنمون استفاده کنیم.
لینک ویدیو در یوتیوب:
https://youtu.be/UXLHzGNX5A8
@Bardiaism
در این قسمت کامپوننت سازی رو یاد میگیریم و برای تمرین دیالوگ انیمیشنی که تو قسمت قبل ساختیم رو تبدیل به یه کامپوننت عمومی میکنیم تا بتونیم جاهای مختلف اپلیکیشنمون استفاده کنیم.
لینک ویدیو در یوتیوب:
https://youtu.be/UXLHzGNX5A8
@Bardiaism
Forwarded from Bardiaism
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت اول - نصب و ساختار کلی
در این ویدیو یه توضیح خیلی سریع میدیم درباره اینکه فریمورک Qt چی هست و از کجا اومده و بعد نصبش رو آموزش میدیم و در نهایت درباره ساختار کلی اپلیکیشنهاش توضیح میدیم و یک مثال کوچیک هم میزنیم ازش.
لینک ویدیو در یوتیوب:
https://youtu.be/_6-M5M94w3U
#آموزش #برنامهنویسی #کیوت #Qt
@Bardiaism
در این ویدیو یه توضیح خیلی سریع میدیم درباره اینکه فریمورک Qt چی هست و از کجا اومده و بعد نصبش رو آموزش میدیم و در نهایت درباره ساختار کلی اپلیکیشنهاش توضیح میدیم و یک مثال کوچیک هم میزنیم ازش.
لینک ویدیو در یوتیوب:
https://youtu.be/_6-M5M94w3U
#آموزش #برنامهنویسی #کیوت #Qt
@Bardiaism
Forwarded from Yasha
Forwarded from Go Casts 🚀
یه سری از مهندس ها هستن که از همون لحظه اول که باهاشون هم کلام میشی متوجه میشی که با کوله باری از تجربه و دانش مواجهی و اگه فرصت طلب باشی تا بتونی سعی میکنی از دریای دانش شون ذره ای بهره مند بشی.
بهراد جان از نظر من قطعا جز همین دسته از مهندسین هست، که نه تنها دانش عمیق و تجربه جدی و کافی داره، بلکه فن بیان خیلی خوبی هم داره که کار رو برای انتقال تجربه خیلی راحت تر میکنه.
این پست نه تبلیغه، نه مشارکت در فروش و نه هیچ چیز دیگه ای، صرفا حس میکنم آدمای درست باید شناخته بشن که افراد بیشتری از دانش و تجربه شون بهره مند بشن.
بهراد جان قراره بزودی با همکاری دانشگاه شریف دو دوره آموزشی جدید برگزار کنه که لینک دوره هارو اینجا قرار میدم، حتما بررسی کنید و اگه شرایط ش رو دارید استفاده کنید.
مخلص همگی ❤️
یا علی
لینک پروفایل لینکدین بهراد جان
https://www.linkedin.com/in/behradz
دوره سیستم دیزاین، طراحی سیستم های مقیاس پذیر
https://shop.alumsharif.org/insurance/product/c-ds/
دوره هنر کدنویسی، پیاده سازی با ذهنیت یک معمار
https://shop.alumsharif.org/insurance/product/c-sdwa/
@gocasts
بهراد جان از نظر من قطعا جز همین دسته از مهندسین هست، که نه تنها دانش عمیق و تجربه جدی و کافی داره، بلکه فن بیان خیلی خوبی هم داره که کار رو برای انتقال تجربه خیلی راحت تر میکنه.
این پست نه تبلیغه، نه مشارکت در فروش و نه هیچ چیز دیگه ای، صرفا حس میکنم آدمای درست باید شناخته بشن که افراد بیشتری از دانش و تجربه شون بهره مند بشن.
بهراد جان قراره بزودی با همکاری دانشگاه شریف دو دوره آموزشی جدید برگزار کنه که لینک دوره هارو اینجا قرار میدم، حتما بررسی کنید و اگه شرایط ش رو دارید استفاده کنید.
مخلص همگی ❤️
یا علی
لینک پروفایل لینکدین بهراد جان
https://www.linkedin.com/in/behradz
دوره سیستم دیزاین، طراحی سیستم های مقیاس پذیر
https://shop.alumsharif.org/insurance/product/c-ds/
دوره هنر کدنویسی، پیاده سازی با ذهنیت یک معمار
https://shop.alumsharif.org/insurance/product/c-sdwa/
@gocasts
Forwarded from Gopher Academy
🔵 عنوان مقاله
The Results of Go's Cryptography Security Audit
🟢 خلاصه مقاله:
تیم اصلی به منظور بررسی بستههای رمزنگاری برنامه Go، یک شرکت امنیتی خارجی را برای انجام حسابرسی دعوت کرد. در نتیجه این حسابرسی، تنها یک مشکل کماهمیت در یکی از بخشهای دیگر پشتیبانینشده کشف شد که در نسخه 1.24 Go برطرف شده است. علاوه بر آن، یافتههای دیگری نیز به دست آمد که تیم ادعا میکند در آیندهای نزدیک باعث بهبودهای امنیتی دیگری در Go خواهد شد.
🟣لینک مقاله:
https://golangweekly.com/link/169695/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Results of Go's Cryptography Security Audit
🟢 خلاصه مقاله:
تیم اصلی به منظور بررسی بستههای رمزنگاری برنامه Go، یک شرکت امنیتی خارجی را برای انجام حسابرسی دعوت کرد. در نتیجه این حسابرسی، تنها یک مشکل کماهمیت در یکی از بخشهای دیگر پشتیبانینشده کشف شد که در نسخه 1.24 Go برطرف شده است. علاوه بر آن، یافتههای دیگری نیز به دست آمد که تیم ادعا میکند در آیندهای نزدیک باعث بهبودهای امنیتی دیگری در Go خواهد شد.
🟣لینک مقاله:
https://golangweekly.com/link/169695/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Go Cryptography Security Audit - The Go Programming Language
Go's cryptography libraries underwent an audit by Trail of Bits.
Forwarded from کانال مهرداد لینوکس
ابزار Oniux توسط پروژه Tor معرفی شد
🔥 ابزار Oniux با بهرهگیری از قابلیتهای کرنل لینوکس، بهویژه network namespaces، هر برنامهای را در یک فضای شبکهای جداگانه اجرا میکنه.
😎 برنامه تنها به یک رابط شبکهای مجازی به نام onion0 دسترسی داره که تمام ترافیک آن از طریق Tor هدایت میشه.
💯 این روش تضمین میکنه که حتی اگر برنامهای بهصورت مستقیم از توابع شبکهای کرنل استفاده کند، ترافیک آن خارج از Tor نمیره
آموزش نصب Oniux:
آموزش استفاده به صورت مثالی :
@MehrdadLinuxchannel
🔥 ابزار Oniux با بهرهگیری از قابلیتهای کرنل لینوکس، بهویژه network namespaces، هر برنامهای را در یک فضای شبکهای جداگانه اجرا میکنه.
😎 برنامه تنها به یک رابط شبکهای مجازی به نام onion0 دسترسی داره که تمام ترافیک آن از طریق Tor هدایت میشه.
💯 این روش تضمین میکنه که حتی اگر برنامهای بهصورت مستقیم از توابع شبکهای کرنل استفاده کند، ترافیک آن خارج از Tor نمیره
آموزش نصب Oniux:
cargo install --git https://gitlab.torproject.org/tpo/core/oniux [email protected]
آموزش استفاده به صورت مثالی :
oniux curl https://icanhazip.com
یا
oniux bash
یا ....
@MehrdadLinuxchannel
Forwarded from DevTwitter | توییت برنامه نویسی
چرا تو پروژههام از Azure استفاده میکنم؟
وقتی داری یه پروژهی واقعی با PHP و Laravel میسازی میفهمی که فقط نوشتن کد مهم نیست
زیرساخت، تست، استقرار، امنیت، و حتی مدیریت پکیجها هم به اندازهی خود کدنویسی مهمه
من توی مسیر تجربههام کمکم رسیدم به یه نقطهای که Azure برام تبدیل شد به ابزار اصلی زیرساخت پروژههام. حالا چرا Azure؟ بذار برات توضیح بدم
همهچیز سر جای خودش
تو دنیای برنامه نویسی خیلی مهمه که بتونی backend و frontend رو باهم هماهنگ پیش ببری
سرویس Azure بهم این امکان رو میده که بدون دردسر پروژه رو روی App Service بالا بیارم دیتابیس SQL Server یا حتی MySQL تنظیم کنم و همهچیز از یه پنل مدیریت شه. انگار همهچی از قبل آمادهست فقط باید شروع کنی به توسعه
و Pipelineهایی که واقعا کار میکنن
شاید برات پیش اومده که یه feature رو push کردی و بعدش یادت رفته یه تست رو اجرا کنی یا یه فایل رو کامیت نکردی برای همین من عاشق Azure Pipelines شدم. یه بار برای همیشه تنظیمش میکنی و از اون به بعد هر push یه روند اتومات رو شروع میکنه
اجرای تستهای PHPUnit
اجرای Linter برای تمیز بودن کد
بیلد کردن فایلهای front
و اگر لازم باشه رفتن به production فقط با یه تأیید
و همهی این مراحل با یه فایل YAML ساده کنترل میشن جذابتر اینکه اگه یه مرحله خطا بده، نه تنها deploy نمیشه بلکه دقیقاً میفهمی مشکل از کجاست
مدیریت پکیجها با Nexus
از اونجایی که تو بعضی از پروژههام از پکیجهای PHP اختصاصی استفاده میکنم داشتن یه پکیج رجیستری خصوصی مثل Nexus برام خیلی مهمه
توی Azure بهراحتی میتونم Nexus رو راهاندازی کنیم و تمام پکیجهام رو اونجا نگه دارم هم امنتره هم سریعتر
مخصوصاً برای تیمهایی که چند پروژه دارن و نمیخوان کدهای داخلی توی Packagist یا جای عمومی باشه، این یه مزیت بزرگه
@DevTwitter | <arash narimani/>
وقتی داری یه پروژهی واقعی با PHP و Laravel میسازی میفهمی که فقط نوشتن کد مهم نیست
زیرساخت، تست، استقرار، امنیت، و حتی مدیریت پکیجها هم به اندازهی خود کدنویسی مهمه
من توی مسیر تجربههام کمکم رسیدم به یه نقطهای که Azure برام تبدیل شد به ابزار اصلی زیرساخت پروژههام. حالا چرا Azure؟ بذار برات توضیح بدم
همهچیز سر جای خودش
تو دنیای برنامه نویسی خیلی مهمه که بتونی backend و frontend رو باهم هماهنگ پیش ببری
سرویس Azure بهم این امکان رو میده که بدون دردسر پروژه رو روی App Service بالا بیارم دیتابیس SQL Server یا حتی MySQL تنظیم کنم و همهچیز از یه پنل مدیریت شه. انگار همهچی از قبل آمادهست فقط باید شروع کنی به توسعه
و Pipelineهایی که واقعا کار میکنن
شاید برات پیش اومده که یه feature رو push کردی و بعدش یادت رفته یه تست رو اجرا کنی یا یه فایل رو کامیت نکردی برای همین من عاشق Azure Pipelines شدم. یه بار برای همیشه تنظیمش میکنی و از اون به بعد هر push یه روند اتومات رو شروع میکنه
اجرای تستهای PHPUnit
اجرای Linter برای تمیز بودن کد
بیلد کردن فایلهای front
و اگر لازم باشه رفتن به production فقط با یه تأیید
و همهی این مراحل با یه فایل YAML ساده کنترل میشن جذابتر اینکه اگه یه مرحله خطا بده، نه تنها deploy نمیشه بلکه دقیقاً میفهمی مشکل از کجاست
مدیریت پکیجها با Nexus
از اونجایی که تو بعضی از پروژههام از پکیجهای PHP اختصاصی استفاده میکنم داشتن یه پکیج رجیستری خصوصی مثل Nexus برام خیلی مهمه
توی Azure بهراحتی میتونم Nexus رو راهاندازی کنیم و تمام پکیجهام رو اونجا نگه دارم هم امنتره هم سریعتر
مخصوصاً برای تیمهایی که چند پروژه دارن و نمیخوان کدهای داخلی توی Packagist یا جای عمومی باشه، این یه مزیت بزرگه
@DevTwitter | <arash narimani/>