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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Geek Alerts
میدونستید گوگل لنز متن روی عکس رو هم براتون استخراج میکنه؟ کافیه توی مرورگر کروم روی یه عکس کلیک راست کنید و گزینه search with google lense رو بزنید.

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

🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 هدف سیستم عامل مخفی گوگل Fuchsia OS چیست ؟

سیستم‌عامل متن‌باز (open source) شرکت گوگل که برخلاف Android و Chrome OS، بر پایه‌ی لینوکس نیست.
از سال ۲۰۱۶ به طور مخفیانه توسعه‌ داده شده

🗓 از کرنل اختصاصی به نام "Zircon" استفاده می‌کنه. این کرنل بر خلاف لینوکس که یک monolithic kernel هست، به عنوان یک microkernel مدرن طراحی شده.
اگر میخواهید مقایسهٔ هسته‌های یکپارچه (monolithic) و ریزهسته‌ها (microkernel) بدانید قبلا در موردش نوشتم

✳️ سیستم عامل Fuchsia طوری طراحی شده که بتونه روی انواع معماری‌ها و دستگاه‌ها اجرا بشه، از موبایل گرفته تا IoT و حتی دسکتاپ.

💠 برای اجرا و تست از شبیه‌سازی به نام FEMU (Fuchsia Emulator) یا QEMU میتوانید استفاده کنید یا روی Raspberry Pi 4 نصب کنید

نسخه‌ی گرافیکی Fuchsia (Workstation) (با Flutter ساخته شده). به نظرم جالب توجه بود

جالبه که سیستم عامل dahliaOS بر اساس این سیستم عامل نوشته شده
و ساده ترین راه برای تست این سیستم عامل هم سایت خودشان است اینجا دمو بببیند

⁉️هدف گوگل چیه؟ نمیدونیم نظر شما ؟!

سایت منبع
@MehrdadLinuxchannel
امروز از سر بیکاری یه ریپازتوری جدید زدم و توش دارم به صورت دوره ای دارم دارکر فایل + کامپوز های سرویس های مهم رو با کانفیگ (best practice) درست میزارم

+ دوست داشتید یه سری بهش بزنید و اگر خواستید میتونید بهش سرویس های بیشتری اضافه کنید ;)

https://github.com/alisharify7/preconfigured-docker-compose

لیست سرویس های فعلی که داکر فایل هاشون موجود هست:

- teleport
- mysql
- redis + redisUI
- postgres + pgadmin
- mosquito MQTT
- sqlserver
- nginx proxy manager
- jira atlasian
- kong-gateway

@DevTwitter | <Ali-Sharify/>
شرکت Apple در macOS Sequoia ابزار openrsync را جایگزین rsync کرد

میخواهید بدونید چرا ؟ نوآوری ؟ خلاقیت ؟ راحتی کاربر؟ 😏
⚠️میخواهد مجوز GPLv3 دور بزنه😈

قبلا اینجا گفتم ابزار rsync ابزاری برای انتقال و همگام‌سازی فایل‌ها در سیستم‌های مبتنی بر یونیکسه

🗓 نسخه 2.6.9 که از سال 2006 در macOS هست که با مجوز GPLv2 منتشر شده اما نسخه‌های جدیدتر rsync تحت مجوز GPLv3 😎

اپل با مجوز GPLv3 مشکل داره چون :
🗓 از نظر قانونی باید اجازه بده کاربر نسخه تغییر داده‌شده‌ی rsync رو هم روی macOS اجرا کنه.
🗓 ملزم به انتشار سورس‌کد کامل و ابزارهای ساخت (Build Scripts) Rsync میشه
🗓 چون GPLv3 با DRM (Digital Rights Management) های زیاد اپ‌استور اپل مشکل داره.

یادتونه باشه تصمیم اپل بیشتر از اینکه فنی باشه، یه تصمیم حقوقی برای حفظ کنترل کامل روی اکوسیستمشه
با کنار گذاشتن GPLv3، اپل مجبور نیست چیزی رو "باز" کنه که نمی‌خواد 👻

@MehrdadLinuxchannel
Forwarded from Geek Alerts
جایزه Breakthrough به «اسکار علم» معروف هست، شش تا جایزه داره در رشته‌های علوم زیستی، فیزیک بنیادی و ریاضیات که هر کدوم ۳ میلیون دلار ارزش دارن.

جایزه ریاضی به نام مریم میرزاخانی هست، اسم جایزش میشه Maryam Mirzakhani New Frontiers Prize یا جایزه مرزهای نو مریم میرزاخانی. هم ادای احترام به این ریاضی‌دان بزرگ ایرانی هست و هم اینکه جایزه به زنان ریاضی‌دان داده میشه.

این جایزه امسال به دنیس گایتسگوری برای نقش محوری خودش در اثبات حدس هندسی لنگلندز (geometric Langlands conjecture) رسید، گایتسگوری بخش زیادی از ۳۰ سال گذشته رو به حدس هندسی لنگلندز اختصاص داده، بلاخره سال ۲۰۲۴ به کمک همکارانش اثبات کامل رو که شامل بیش از ۸۰۰ صفحه در ۵ مقاله بود، منتشر کردن.

🔗 breakthroughprize
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 در نسخه ۱.۰.۴ ویژگی ترجمه فینگلیش و عربگلیش به خاطر نامفهوم بودن آن حذف شد و خود زبانی که نوشته می شود در slug بدون کم و کاستی ثبت می شوند. این ویژگی باعث می شوند که slug های آن SEO-friendly شوند.

https://github.com/Rayiumir/laravel-slugable

#لاراول

@TheRaymondDev
سلام به همه امروز میخوایم باهم پکیج Multer رو بیشتر بشناسیم که یکی بهترین از راه ها برای آپلود فایل توی Node.js هست، حالا فرقی نداره که بخوای تصویر، ویدیو یا هر نوع فایل دیگه‌ای رو بفرستی، Multer کارتو راحت می‌کنه.

خیلی از ما یه جایی نیاز داشتیم که مثلا کاربر تصویر پروفایل آپلود کنه یا بخوایم تو یه فرم، یه سری فایل رو از کاربر بگیریم. Multer این کارو بدون دردسر برامون انجام میده.

مزایای Multer چیه :
۱-پشتیبانی از آپلود چند فایل همزمان
۲-امکان ذخیره فایل در حافظه یا روی دیسک
۳-مدیریت نوع فایل و محدودیت حجم
۴-قابل ترکیب با Cloud Storage

چه نوع فایل هایی رو میتونیم با Multer ارسال کنیم :
۱-عکس‌ها (PNG, JPG, GIF)
۲-ویدیوها (MP4, AVI, MOV)
۳-فایل‌های PDF و اسناد و حتی فایل های ZIP

پکیج Multer فقط مخصوص عکس نیست! اگه یه پروژه‌ای داری که توش کاربر باید ویدیو آپلود کنه، بدون دردسر ویدیو رو دریافت و پردازش می‌کنه. ولی چون ویدیوها حجم بیشتری دارن یادت باشه که محدودیت سایز براش بزاری و برای ذخیره سازی از فضای ابری استفاده کنی.

@DevTwitter | <Soheil Seyyedi/>
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۴۸۷

شد کودکی و رفت جوانی ز جوان
روز پیری رسید بر پر ز جهان
هر مهمانرا سه روز باشد پیمان
ای خواجه سه روز شد تو بر خیز و بران

#مولانا | گنجور
📍@iipoem
بالاخره Grok نسخه اندروید هم منتشر شد.
Forwarded from Woland's Linux Journal (Woland)
Concurrency و Parallelism دو مفهوم کلیدی در برنامه‌نویسی هستند که به نحوه اجرای همزمان وظایف اشاره دارند، اما تفاوت‌های مهمی بین آن‌ها وجود دارد.

Concurrency (همزمانی)

Concurrency به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم می‌تواند به صورت مؤثر بین آن‌ها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط می‌شود تا به اجرای واقعی.

Parallelism (موازی‌سازی)

Parallelism به اجرای همزمان چندین کار در زمان واقعی اشاره دارد. این مفهوم معمولاً در سیستم‌هایی با چندین هسته پردازشی (multi-core) مورد استفاده قرار می‌گیرد، جایی که می‌توان چندین کار را به طور واقعی و همزمان اجرا کرد.

مثال‌ها

مثال با C

در C، می‌توان از کتابخانه pthread برای پیاده‌سازی concurrency و parallelism استفاده کرد.

Concurrency با استفاده از pthread:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

void* task(void* arg) {
    printf("Task %d is running\n", *(int*)arg);
    sleep(1); // شبیه‌سازی کار
    printf("Task %d is done\n", *(int*)arg);
    return NULL;
}

int main() {
    pthread_t threads[3];
    int task_ids[3] = {1, 2, 3};

    for (int i = 0; i < 3; i++) {
        pthread_create(&threads[i], NULL, task, &task_ids[i]);
    }

    for (int i = 0; i < 3; i++) {
        pthread_join(threads[i], NULL);
    }

    return 0;
}


در این مثال، سه وظیفه به طور همزمان ایجاد می‌شوند و هر کدام برای یک ثانیه اجرا می‌شوند. این مثال نشان‌دهنده concurrency است، زیرا وظایف به صورت همزمان مدیریت می‌شوند.

Parallelism با استفاده از pthread:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

void* task(void* arg) {
    printf("Task %d is running\n", *(int*)arg);
    sleep(1); // شبیه‌سازی کار
    printf("Task %d is done\n", *(int*)arg);
    return NULL;
}

int main() {
    pthread_t threads[3];
    int task_ids[3] = {1, 2, 3};

    for (int i = 0; i < 3; i++) {
        pthread_create(&threads[i], NULL, task, &task_ids[i]);
    }

    for (int i = 0; i < 3; i++) {
        pthread_join(threads[i], NULL);
    }

    return 0;
}


در این مثال نیز، وظایف به صورت موازی اجرا می‌شوند و اگر سیستم دارای چندین هسته باشد، هر وظیفه می‌تواند بر روی هسته‌ای جداگانه اجرا شود.

مثال با Go (Golang)

در Go، concurrency به سادگی با goroutines و channels پیاده‌سازی می‌شود.

Concurrency با استفاده از goroutines:
package main

import (
"fmt"
"time"
)

func task(id int) {
fmt.Printf("Task %d is running\n", id)
time.Sleep(1 * time.Second) // شبیه‌سازی کار
fmt.Printf("Task %d is done\n", id)
}

func main() {
for i := 1; i <= 3; i++ {
  go task(i) // ایجاد goroutine
}

time.Sleep(3 * time.Second) // صبر کردن برای اتمام همه goroutine ها
}


در این مثال، هر وظیفه به عنوان یک goroutine اجرا می‌شود. Go به طور خودکار مدیریت concurrency را انجام می‌دهد.

Parallelism با استفاده از goroutines:
package main

import (
"fmt"
"sync"
"time"
)

func task(id int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Printf("Task %d is running\n", id)
time.Sleep(1 * time.Second) // شبیه‌سازی کار
fmt.Printf("Task %d is done\n", id)
}

func main() {
var wg sync.WaitGroup

for i := 1; i <= 3; i++ {
  wg.Add(1)
  go task(i, &wg) // ایجاد goroutine
}

wg.Wait() // صبر کردن برای اتمام همه goroutine ها
}


در این مثال نیز، وظایف به صورت موازی اجرا می‌شوند و اگر سیستم دارای چندین هسته باشد، Go می‌تواند آن‌ها را بر روی هسته‌های مختلف اجرا کند.

نتیجه‌گیری

به طور خلاصه، concurrency به مدیریت همزمان وظایف اشاره دارد در حالی که parallelism به اجرای واقعی آن‌ها در زمان واقعی مربوط می‌شود. هر دو مفهوم در طراحی برنامه‌های مدرن بسیار مهم هستند و زبان‌های برنامه‌نویسی مختلف ابزارهای متفاوتی برای پیاده‌سازی آن‌ها ارائه می‌دهند.
برای این که تعداد زیادی فایل شخصی رو بصورت ایمن دسته‌بندی کنم، بعد از ۳-۴ سال pcrypt رو آپدیت کردم. (پایتون رو راسط کردم)
طبق تست‌های کمی که داشتم بهترین انتخاب (از نظر سرعت و حجم و ایمنی و پشتیبانی) برای آرشیو کردن استفاده از
Zip + AES(256) + Zstd
هستم.

https://github.com/pouriya/pcrypt

@DevTwitter | <آقا پوریا/>
Forwarded from Linuxor ?
سیستم‌های توزیع‌شده برای مقیاس‌پذیری، تحمل خطا و دسترسی بالا حیاتی‌ان، ولی چالش‌هایی مثل مدیریت وضعیت، خرابی و ارتباط دارن.
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راه‌حلن.

این مقاله همه‌شو ساده توضیح داده:

newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design


@Linuxor
ما هم توی ایران #ردهت داریم :))


@SohrabContents
#مطلب

What I Wish I Knew About Onboarding Effectively

https://eugeneyan.com/writing/onboarding/

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


✴️ @software_inside - مهندسی‌نرم‌افزار
Forwarded from Note (Mr.05)
- فیلم های تدریس درس سیستم های کنترل خطی

از پروفسور حیدرعلی طالبی استاد تمام دپارتمان گرایش کنترل دانشکده مهندسی‌ برق دانشگاه صنعتی امیرکبیر (پلی‌تکنیک تهران)


- مناسب المپیاد و کنکور ارشد و دکتری رشته های برق، مکانیک، هوافضا، مهندسی پزشکی، اتوماسیون و ابزار دقیق

t.iss.one/lux_GPS/612/696
Forwarded from Linuxor ?
گاهی اوقات خداحافظی موقت 302 تنها چاره‌ست و گاهی اوقات خداحافظی دائمی 301 تنها چاره‌ست


@Linuxor
Forwarded from Linuxor ?
بعضی باگا نصفه شبی فقط می‌آن که مجبورت کنن بگیری بخوابی، صبح دو دقیقه ای فیکس میشن


@Linuxor