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 سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (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
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
قبلا در مورد regex صحبت کردم
⁉️حالا اهل حل کردن جدول هستید ؟ 😁

جدول کلمات متقاطع با عبارت باقاعد regular expression regex

فکر میکنید میتونید این جدول را حل کنید ؟
از این سایت برای درست بودن عبارت میتوانید استفاده کنید

توضیح برای دوستانی که شاید آشنا نیستند
عبارت باقاعده regex یک رشته معمولی مثل این
([@.A-Z])\w+

که با پردازشگر های regex پردازش میشند و برای جستجو و مطابقت یک یا چند الگوی خاص استفاده میشوند
در سایت چطور متوجه میشن ایمیل را اشتباه وارد کردید ؟
[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+

اینجوری😁 یاد بگیرید سخت نیست

در بخش کامنت ها میتوانیم با هم بحث کنیم و حلش کنیم و بیشتر عبارت باقاعده regex یا ( regular expression) یاد بگیریم 😎

سایت منبع مسئله
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
داوشمون فشاری شده

@SEYED_BAX
چیکار داره می‌کنه qwen2-vl بالاتر از همه رقبای open source, close source و با لایسنس Apache2 البته مدل ۷۲ میلیارد پارامتری فعلا فقط از طریق API در دسترس هست.

تمام تست‌های واقعی که یوتیوبر‌ها و ... ساختند رو سخت‌هاش رو من روش تست کردم همرو به درستی جواب داد.

مدل ۸ میلیارد و ۲ میلیارد هم اکنون در دسترس هست (می‌تونید دانلود کنید) ولی هنوز lama.cpp آماده نشده.

که باتوجه به توییت‌ها و ... به زودی (رفتن برای 2nd try) بعد از این روی ollama هم خواهد آمد (آموزش بالا)
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
خیلیا میپرسن چطوری برنامه نویسی یاد بگیریم، اونم فارسی

بهترین روش اینه از نظر من :

https://www.instagram.com/reel/C_VoZsrN1pV/?igsh=Njk2MWMzNmZydGds

@SEYED_BAX
Forwarded from Geniuses Group (Omid Hekayati)
#کمال_گرایی در ذات اگر همراه با شناخت و #پذیرش واقعیت ها باشد، بر عکس تصور عموم، یکی از اصول #توسعه بخصوص #توسعه_پایدار می باشد.
خیلی شنیدیم و خوندیم که کمال گرایی خیلی چیز بدی هست و باید ازش فرار کنیم! عموما این حرف و نوشته ها را در جاهایی میشنویم و میبینیم که اصول گفت و گو و گفتمان در اونجا حاکم نیست. مثال عینی همین اول بزنیم، اگر خیلی ساده بخوایم ماهیتی را در این دنیا خوب و بد تقسیم بندی کنیم و تا یک خصیصه بد داشت، بگیم بده، خوب تقریبا هر چیزی در این دنیا میره تو دسته بدها! یکم فکر کنید! اینطور نیست؟ مثلا اگر آتش و چاقو نباشه عملا حیات انسانی به شکل فعلیش امکان ناپذیر میشه چون این دو در ماهیت می توانند در دسته بدها هم باشند!
ولی بیایید بر عکس بقیه جاها اینجا اشاره کنیم کمال گرایی نه بد، بلکه با شناخت صحیح تنها خصیصه ای هست که پیشران توسعه هست! قبلا هم تلاش کردیم مفهوم توسعه را بهتر تبیین کنیم، اینجا برای توسعه تعریف "بالا بردن ظرفیت های اعضای یک سیستم (ما) برای مواجهه با پیچیدگی های آن سیستم (دنیای پیرامون ما)" را نقل می کنیم. همونطور که در تعریف کمال هم اشاره به "استانداردهایی برای بالاترین سطح عملکرد" میشه، می تونیم انطباق ظرفیت و استاندارد را در هر دو تعریف مورد کنکاش قرار دهیم.

ولی روی دیگر این نوشته، اهمیت به مفهوم کلمه پذیرش داره. این کلمه در علوم مختلف مورد بررسی و تبیین قرار گرفته ولی تقریبا شناخت یکسانی از آن در همه علوم وجود دارد. مثلا در علم مدیریت به ما توصیه می شود برای سازمان خود حتما بیانیه چشم‌انداز به عنوان یک سند رسمی سازمانی نگارش کنیم. این بیانیه شامل اهداف کمال گرایانه باید باشد در غیر اینصورت ماهیت وجودی سازمان زیر سوال میرود. مثلا بیانیه چشم انداز سازمان SpaceX میشه make humanity a multi-planetary species و با رعایت مفهوم پذیرش واقعیت ها، استراتژی ها و برنامه ریزی هایی برای رسیدن به اهداف خود نگارش می شود.
پس مثل همیشه #تلنگر_ذهنی برامون باشه که اگر کسی خواست آرزوها و امیدهای شما را با برچسب کمال گرایی نابود کنه، بهش این اجازه را ندید و بجاش بهش توضیح بدید که برای رسیدن به اون کمال ها، چه برنامه هایی دارید و واقعیت هایی که پیش رو دارید را ترسیم کنید که اونم بدونه کمال گرایی در ذات مشکل ساز نیست. یادمون باشه چیزی که به عنوان هوش می شناسیم بوسیله برچسب دهی با منطق فازی بدست میاد، پس با منطق بولی، به هم دیگه برچسب نزنیم که به جز تخریب، هدفی در آن وجود ندارد!

پ.ن1: نگارش این پست را خیلی وقت بود می خواستم انجام بدم در خصوص کمال گرایی و پذیرش واقعیت ها ولی با دیدن این ویدئو گفتم وقتشه نوشته بشه. امیدوارم حرف هایی که در فایل تصویری دیدیم و شنیدیم، آغازگر موضوعی باشه که سال هاست خیلی از دغدغه مندان جامعه ایران در موردش بحث و گفت و گو می کنند. امیدوارم تصمیم سازان قلمروی جغرافیای فعلی ایران با رویکردهای علمی و شناخته شده مسیر توسعه جامعه ایران را به مسیر واقعی برگردانند تا به نقطه غیر قابل بازگشت نرسیده ایم.
پ.ن2: اشاره به مفهوم واقعیت کردیم و حیف هست یک اشاره کوچولو به مشکل بزرگ ما، یعنی #فیلترینگ اینترنت نکنیم. یادمون باشه کلا فیلترینگ (در معنای عام) در هر جایی باعث پنهان کردن یا بدتر از آن کتمان واقعیت ها میشه. ولی با توجه به افزایش قابل توجه سطح علمی جامعه، این کتمان ها 100% موثر نیست و با ایجاد عدم شناخت در اعضای جامعه، قطعا باعث افزایش سطح خشونت در جامعه میشه و عملا #توسعه_پذیری را از جامعه هدف میگیره.
پروژه موآ که یک فراجستجوگر برپایه سرکس‌ان‌جی و یک پروژه آزاد ایرانی بود، متأسفانه توسعه‌اش متوقف شده.

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

هدف‌ما نگهداری و بهبود پروژه فعلی (موآ) و همینطور ادغام کردن برخی از تغییرات کاربردی این پروژه در پروژه بالادستی (سرکس‌ان‌جی) برای بهبود اون هستش.

لینک مخزن:
https://git.parchlinux.com/web/search-engine/parchsearch/

و لینک مشکلات فعلی برای علاقمندان به مشارکت:

https://git.parchlinux.com/web/search-engine/parchsearch/-/issues/1

برای مشارکت در این پروژه شما نیازمند داشتن دانشی نسبی از زبان پایتون هستید.

راهنمای مشارکت:

https://git.parchlinux.com/web/search-engine/parchsearch/-/blob/master/CONTRIBUTING.md


#موآ #نرم‌افزار‌آزاد
🐧 @ParchLinux
Please open Telegram to view this post
VIEW IN TELEGRAM