Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
میدونید فرق بین Framework و Libarary چیه ؟
حدود ۶ سال پیش بخش آموزش وردپرس رو شروع کردیم و من عضو کوچیکی از این تیم شدم.
از اون روز تا الان خیلی چیزها عوض شده و البته خودم هم مدت زیادیه تمرکزم رفته روی محلی‌سازی و گسترش‌ وردپرس تو ایران، ولی دیدن نتیجه اون تلاش‌ها و مشارکت‌ها واقعا لذت‌بخشه.
learn.w.org

@DevTwitter | <Morteza Geransayeh/>
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 وب‌سایت AnandTech پس از نزدیک 3 دهه (۲۷ سال)، پوشش اخبار حوزه فناوری و مطالب تخصصی در زمینه سخت‌افزار به کار خود پایان داد. «رایان اسمیت» (Ryan Smith)، سردبیر این وب‌سایت، این خبر را در پست خداحافظی منتشر کرد. البته تمام محتواهای قبلی این وب‌سایت در دسترس کاربران خواهد بود.

#خبر

@TheRaymondDev
Forwarded from Code Module | کد ماژول (genix)
با Node-Schedule آشنا بشید 💀

‏Node-Schedule یک پکیج برنامه ریزی قدرتمند و انعطاف پذیر مثل cron برای Node.js هست که به دولوپر ها این امکان رو میده، تا وظایف برنامه ریزی شده رو به راحتی تنظیم و مدیریت کنن. این یک API ساده و در عین حال قوی ارائه میکنه که هم از زمان‌بندی به سبک cron و هم از اجرای یک‌بار کار پشتیبانی میکنه، و اون رو به گزینه‌ای برای مدیریت وظایف برنامه‌ریزی‌شده در برنامه‌های Node.js تبدیل میکنه.

از این پکیج چه استفاده ای میشه؟ 🤔

‏Node-Schedule به گونه ای طراحی شده که زمان بندی کار رو ساده کنه. این به دولوپر ها اجازه میده تا کارها رو بر اساس نحو آشنای cron، که زمان اجرای وظایف مشخص میکنه، برنامه ریزی کنن. به عنوان مثال، میتونید یک کار رو برای اجرا هر روز در یک زمان خاص، هر ساعت یا حتی الگوهای پیچیده تر مثل هر سه شنبه دوم ماه برنامه ریزی کنید. این کتابخانه همچنین از گزینه‌های زمان‌بندی ساده‌تر مثل تنظیم یک کار برای اجرا در یک تاریخ و زمان خاص پشتیبانی میکنه.

یکی از ویژگی های برجسته Node-Schedule توانایی اون در انجام وظایف تکراری و تکالیف با سهولت یکسان هست. همچنین میتونه تفاوت‌های منطقه زمانی رو مدیریت کنه و اطمینان حاصل کنه که وظایف شما بدون توجه به مکان سرور در زمان‌های صحیح اجرا میشه. علاوه بر این، Node-Schedule به شما این امکان رو میده که کارها رو به صورت پویا لغو یا زمان بندی مجدد کنید و به شما کنترل کامل بر زمان بندی وظایف برنامه خود رو میده.

‏Node-Schedule یک ابزار ضروری برای دولوپرهایی هست، که نیاز به مدیریت و اجرای وظایف برنامه ریزی شده در برنامه های خودشون رو دارن. Node-Schedule با API منعطف، پشتیبانی شبیه به cron و توانایی انجام وظایف تکراری و یکباره، فرآیند زمان‌بندی کار رو ساده میکنه. برای کسب اطلاعات بیشتر به ریپازیتوری این پکیج مراجعه کنید.

#node_schedule
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
regex crossword.pdf
21.2 KB
فایل pdf جدول کلمات متقاطع با عبارت باقاعد regular expression
کد تخفیف ووکارس برای خرید اول

اگر میخواید یک کد تخفیف برای خرید اول داشته باشید

کافیه این کد رو بزارید داخل فاکشن قالب و کد تخفیف رو بزارید داخلش


جای 5TUJ5KQF میتویند کد تخفیف خودتون رو بزارید

این کد خیلی بهتر از پلاگین های دیگه کار میکنه و عملکرد بهتری داره


function apply_first_order_discount($valid, $coupon) {
if ($coupon->get_code() === '5TUJ5KQF') {
$user_id = get_current_user_id();
$customer_orders = wc_get_orders(array(
'customer_id' => $user_id,
'status' => 'completed',
));
if (count($customer_orders) > 0) {
wc_add_notice('این کد تخفیف فقط برای اولین خرید شما قابل استفاده است.', 'error');
return false;
}
}
return $valid;
}
add_filter('woocommerce_coupon_is_valid', 'apply_first_order_discount', 10, 2);




@poinair پوینا
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
اگه از پستامون خوشتون میاد شیر و ری‌اکشن یادتون نره چون بهمون انرژی میده تا روز به روز پستای بیشتر و با کیفیت تری بزاریم 🚀❤️
Forwarded from Gopher Academy
🔵 عنوان مقاله
  Pointers for Performance?

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به بحث در مورد تاثیر بازگرداندن یک اشاره‌گر (pointer) به جای یک مقدار (value) از یک تابع در زبان برنامه‌نویسی Go پرداخته است. در زبان Go، اجرای عملکردها با بازگرداندن مقادیر عموماً توصیه می‌شود مگر آنکه دلایل مشخصی برای استفاده از اشاره‌گرها وجود داشته باشد. مقاله بیان می‌کند که بازگرداندن اشاره‌گرها می‌تواند در مواردی که با اندازه های بزرگ داده‌ساختاری سروکار داریم یا عملیات‌های پیچیده‌ای نیاز به انجام است، مفید باشد. این امر به دلیل کاهش تکرار کپی کردن داده‌ها در حافظه است. اما، استفاده نادرست از اشاره‌گرها می‌تواند به مشکلاتی مانند نشت حافظه و دسترسی‌های ناامن منجر شود. مقاله تأکید می‌کند که تصمیم گیری برای بازگرداندن اشاره‌گر یا مقدار باید با توجه به الزامات کارایی و امنیت مشخص شود و نباید به صورت کلی بدون در نظر گرفتن جزئیات پیاده‌سازی صورت گیرد.

🟣لینک مقاله:
https://www.youtube.com/watch?v=ISOjCvpNiYA


👑 @gopher_academy
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
میدونستید ایفون طول چیزش کوتاهه ؟ همین سیمکارت خورش

سیمکارت پشت و روش میخوره، ینی این جا واسه دوتا سیمکارته، یکی این ورش میخوره و با اون گیره پلاستیکیه نگرش میداره یکی هم اون ورش و میکنی توش

مسخرس، مگه نه ؟ 😂

@SEYED_BAX
Forwarded from PhiloLearn | فیلولرن (ArshA.l.R)
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
جالبه ایفون محصول امریکاییه بعد این گوشی چینیا حتی sd کارت هم میزنن روی همین خشاب سیمکارت

مگه برعکس نبود ؟ چینی باید کوچیکتر میزد
@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
اینم لابد محصول آفریقا

@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
البته پیشرفت علم ثابت کرده که به سایز نیست، به جربزه هستش

همین ی چسه ، 1024 گیگ میتونه توی خودش نگه داره

تنها چیز کوچیکی که میتونه بیشتر از این چیز تو خودش نگه داره:
قلب کوچیک پر غصه ی منه 🥺

@SEYED_BAX
قبلا در مورد regex صحبت کردم
اهل حل کردن جدول هستید ؟
جدول کلمات متقاطع با عبارت باقاعد regular expression regex
فکر میکنید میتونید این جدول را حل کنید ؟
سایت برای کمک
regexr.com

@DevTwitter | <MehrdadLinux/>
Forwarded from کداکسپلور | CodeExplore (Aqa Reza)
📌قراره باهم ببینیم که زبان پایتون که اینقدر میگن پر کاربرده، چه فریمورک هایی توی حوزه های مختلف داره؟ ( پارت اول )

◀️ توسعه وب (Web Development):
‏Django: فریمورک وب کامل و قوی با الگوی معماری MVT.
‏Flask: فریمورک سبک و ساده که برای پروژه‌های کوچک و سریع مناسب است.
‌‏FastAPI: فریمورکی سریع برای ساخت API‌های مدرن و قدرتمند با پشتیبانی از async.
‏Pyramid: فریمورکی انعطاف‌پذیر که برای پروژه‌های بزرگ و پیچیده مناسب است.

◀️ یادگیری ماشین (Machine Learning):
‏TensorFlow: کتابخانه‌ای برای یادگیری عمیق و یادگیری ماشینی.
‏PyTorch: فریمورکی قدرتمند و انعطاف‌پذیر برای یادگیری عمیق.
‏scikit-learn: مجموعه‌ای از الگوریتم‌های یادگیری ماشینی و ابزارهای مرتبط.
‏Keras: رابط کاربری سطح بالا برای ساخت و آموزش مدل‌های یادگیری عمیق.

◀️ علم داده (Data Science):
‏Pandas: ابزار قدرتمند برای تحلیل داده‌های ساختاریافته.
‏NumPy: ابزار برای محاسبات عددی با کارایی بالا.
‏Matplotlib: کتابخانه‌ای برای ترسیم نمودارها و گراف‌های دو‌بعدی.
‏Seaborn: کتابخانه‌ای برای تجسم داده‌ها که بر پایه Matplotlib ساخته شده است.
‏SciPy: مجموعه‌ای از الگوریتم‌ها و ابزارهای علمی.

◀️ تست نرم‌افزار (Software Testing):
‏pytest: ابزار ساده و قدرتمند برای نوشتن و اجرای تست‌های خودکار.
‏unittest: فریمورک استاندارد پایتون برای نوشتن تست‌های واحد.
‏nose2: فریمورکی که به unittest قابلیت‌های بیشتری اضافه می‌کند.
‏Hypothesis: فریمورکی برای تست‌های مبتنی بر نمونه‌های تصادفی (property-based testing).

◀️ توسعه رابط کاربری گرافیکی (GUI Development):
‏Tkinter: فریمورک استاندارد پایتون برای توسعه برنامه‌های دسکتاپ.
‏PyQt: مجموعه‌ای از ابزارها برای توسعه برنامه‌های دسکتاپ با رابط کاربری گرافیکی.
‏Kivy: فریمورکی برای توسعه برنامه‌های چندپلتفرمی (موبایل، دسکتاپ و غیره).
‏wxPython: ابزار برای ساخت رابط کاربری گرافیکی با استفاده از کتابخانه wxWidgets.

#python
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
این روش برای اکثر مدل‌های با پسوند .safetensor کار می‌کنه

وقتی یک مدلی به تازگی منتشر می‌شه یا روی مدل‌هایی که برای تسک خاص؛ زبان خاص هستند ممکن هست اون مدل رو روی Ollama نداشته باشید و بدون تعارف Ollama یکی از راحت‌ترین گزینه‌های برای تجربه و تست مدل‌ها هست.

برای همین توانایی تبدیل و سرو مدل‌های مختلف به فرمت Ollama بسیار گزینه مهمی هست؛ بعنوان مثال اگر در خاطرتون باشه موقع انتشار llama3 به دلیل اشتباه در نحوه تبدیل این مدل خروجی‌های اشتباهی هم از Ollama دریافت میشد و آپدیت این مورد حدودا ۳ روز زبان برد (روی توییتر بسیاری از اکانت‌ها به تیم ollama توییت زدند.)

من توی این پست سعی کردم به راحت‌ترین روش اشاره کنم و در نهایت مسیر سخت رو هم بهش اشاره خواهم کرد برای دوستانی که علاقه دارند خودشون پیگیری کنند.
وقتی یک مدل جدید منتشر میشه اول از همه شما باید به معماری اون تگاه کنید؛ توی فایل config.json یا توی توضیحات huggingface همیشه به این موضوع اشاره میشه که یک مدل بر پایه چه مدل یا مدل‌هایی توسعه داده شده؛ اگر پایه مدل llama, mistral, gemma, ... حتما توسط این تکنیک پشتیبانی میشه (از همون ساعت انتشار مدل) اما اگر معماری مدل بر پایه این مدل‌ها نباشه؛ اول باید توسط تیم llama.cpp پشتیبانی بشه و بعد تیم ollama پشتیبانی رو اضافه خواهد کرد؛ پس یک تکنیک پیشرفته تر برای تبدیل مدل‌ها استفاده از llama.cpp هست که توی این پست بهش نخواهم پرداخت.

برای مثال آموزشی من با یک مدل حجم کم شروع خواهم کرد که همه بتونند تست و تمرین کنند؛ مدل
HuggingFaceTB/SmolLM-135M-Instruct

توی اولین قدم شما باید؛ مدل بالا یا هرمدلی که دلتون میخواد (مطمئن بشید معماری بیس مدل پشتیبانی میشه) رو روی هارد خودتون ذخیره کنید (با استفاده از هر تکنیکی که علاقه دارید.)

بعد از اون مثل آموزش افزایش طول context برای llama3.1 روی ollama که قبلتر قرار گرفته؛ باید یک Modelfile ایجاد کنید. توی پوشه‌ای که مدل دانلود شده یک فایل جدید به اسم Modelfile ایجاد کنید و متن زیر رو داخلش بنویسید:
FROM .
PARAMETER stop <|im_start|>
PARAMETER stop <|im_end|>
PARAMETER temperature 0.1
PARAMETER top_p 0.95

TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ .Response }}<|im_end|>
"""

توی Modelfile شما ۲ تا تنظیم رو واجب هست که داشته باشید؛
FROM

که به ollama می‌گید مدل رو از کدوم مسیر روی سیستم‌عامل شما می‌تونه بخونه؛ توی مثال بالا از . استفاده شده که توی سیستم عامل Linux به معنای همین پوشه هست (ما modelfile رو داخل پوشه دانلود مدل hugging face قرار دادیم)
TEMPLATE

که به ollama می‌گه چطور باید پرامپت؛ سیستم پرامپت رو برای مدل ارسال کنه و البته چطور پاسخ مدل رو دریافت و تمیز کنه؛ jinja template فرمتی هست که استفاده میشه و همیشه توی ریپورت‌های انتشار مدل بطور دقیق به template format اشاره میشه پس باید داکیومنت مدلی که می‌خواید تبدیل کنید رو برای این بخش بخونید برای مثال تمپلیت گزارش شده این مدل بصورت خام و بدون Jinja بصورت زیر بود (که من برای ollama اون رو بهبود دادم) :
<|im_start|>system
YOUR SYSTEM PROMPT.<|im_end|>
<|im_start|>user
YOUR PROMPT.<|im_end|>
<|im_start|>assistant
RESPONSE.<|im_end|>

اگر مدلی به پرامپت تمپلیت اشاره نکرد؛ به احتمال ۹۰٪ از فرمت بالا استفاده می‌کنه.
همین ۲ تا بخش برای ساخت مدل کفایت می‌کنه؛ اما امکان داره بعضی وقت‌ها بخواید بصورت دیفالت یکسری از پارامتر‌ها رو ست کنید مثل temperature, top_p توی مثال بالا.
یا حتی بعضی وقتا بخشی از توکن‌های تمپلیت توی خروجی به شما نشون داده بشه که با PARAMETER stop می‌تونید به ollama بفهمونید که توکن قبل از اون آخرین توکن تولید شده توسط مدل بوده و stop رو نباید توی خروجی نمایش بده.

بعد از اینکه فایل ساخته شد؛ ترمینال رو توی همون پوشه باز کنید؛ اگر خواستید مدل رو بدون quantization داشته باشید دستور:
ollama create <NAME>:<TAG> -f Modelfile

رو میزنید و بجای <NAME>:<TAG> اسم و تگ مدل رو بهش میدید؛ اسم واجب هست و چیزی میشه که توی ollama list نمایش داده میشه؛ اما تگ واجب نیست و مقدار دیفالت اون latest خواهد بود.

برای quantize کردن مدل؛
ollama create <NAME>:q4_0 -f Modelfile --quantize q4_0

انواع quantization های موجود رو می‌تونید توی document های ollama بخونید ولی q4_0 یکی از معروف‌ترین موارد هست. (معروفترین؛ بهترین نیست لزوما).

در نهایت هم می‌تونید از دستور
ollama run <NAME>:<TAG>

برای اجرای مدل استفاده کنید و در صورت که علاقه داشتید مدل رو روی سایت ollama هم قرار بدید.
Forwarded from Dev Dastan (Hossein Mousavi)
🖼️ Rendering Strategies With Nuxt 3

✔️ With Nuxt 3, there are different rendering strategies for specific situations and purposes. Rendering refers to the interpretation of JavaScript code by both the browser and the server to convert Vue.js components into HTML elements.

1️⃣ Universal Rendering

Advantages: Enhances SEO, improves initial page load performance.
Disadvantages: More complex to implement due to dual rendering paths.
Usage: Best for applications that benefit from both SEO and rich client-side interactivity.

2️⃣ Hybrid Rendering

Advantages: Flexibility to use the best rendering method for each application part, optimizing performance.
Disadvantages: Increased complexity in configuration and potential overhead in maintaining different rendering paths.
Usage: Ideal for large applications with diverse content needs (dynamic, static, interactive).

3️⃣ Server-Side Rendering (SSR)

Advantages: Faster initial load time, better SEO, simplified debugging, and improved accessibility.
Disadvantages: Higher server resource requirements and potentially slower subsequent page loads.
Usage: Suitable for content-heavy sites where SEO and initial rendering speed are critical.

4️⃣ Client-Side Rendering (CSR)

Advantages: Lower server load, simpler deployment, and dynamic interfaces.
Disadvantages: Slower initial load, poorer SEO, and reduced accessibility for some users.
Usage: Best for interactive single-page applications where SEO is not a priority.

5️⃣ Static Site Generation (SSG)

Advantages: High performance, enhanced security, and reduced server load.
Disadvantages: Not suitable for sites requiring frequent updates.
Usage: Ideal for websites with static content, such as blogs and documentation.

6️⃣ Incremental Static Regeneration (ISR)

Advantages: Combines the benefits of static generation with flexibility for content updates, maintaining high performance.
Disadvantages: More complex to set up and manage compared to traditional SSG.
Usage: Perfect for sites that need regular content updates but also want the performance benefits of static rendering.



🖼️ NuxtJS Doc: [here]
📚 Article: [here]
🟥 YouTube: [here]

#nuxt #vue


🖥 Follow @devDastan for more content.
Please open Telegram to view this post
VIEW IN TELEGRAM
توی این آموزش چون مدل SmolLM برپایه معماری‌هایی که قبلا پشتیبانی میشده نیست شما به ollama 3.7 نیاز دارید.
اگر امکان آپدیت نداشتید؛ یا معماری مدل هنوز توسط ollama پشتیبانی نمی‌شد. (هفته قبل)
باید از llama.cpp برای تبدیل استفاده می‌کردید.

گوشی‌های android بخصوص نسل SnapDragon 8 Gen3 توانایی اجرای این مدل با تعداد توکن بسیار بالایی رو دارا هست.
اخباری از توسعه پارچ در این چندهفته اخیر.

ما مثل همیشه درحال بهبود پارچ و اضافه کردن ویژگی‌های جدید به اون هستیم. در این چندهفته اخیر ما بر روی موارد زیر کار کردیم.

۱- پشتیبانی اولیه از SecureBoot به صورت آزمایشی
۲- پشتیبانی اولیه از میزکار کازمیک و خوش‌آمدگوی آن
۳- بهبود پارچ پروفایلر
۴- پیاده‌سازی اولیه پارچ استور و پارچ بکاپ
۵- پیاده‌سازی اولیه آپادانا

لازم به ذکر است که برخی از این تغییرات در رلیز بعدی پارچ منتشر خواهند شد.


@ParchLinux