Forwarded from دستاوردهای یادگیری عمیق(InTec)
بالاخره
Grok نسخه اندروید هم منتشر شد.Forwarded from Woland's Linux Journal (Woland)
Concurrency و Parallelism دو مفهوم کلیدی در برنامهنویسی هستند که به نحوه اجرای همزمان وظایف اشاره دارند، اما تفاوتهای مهمی بین آنها وجود دارد.
▎Concurrency (همزمانی)
Concurrency به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم میتواند به صورت مؤثر بین آنها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط میشود تا به اجرای واقعی.
▎Parallelism (موازیسازی)
Parallelism به اجرای همزمان چندین کار در زمان واقعی اشاره دارد. این مفهوم معمولاً در سیستمهایی با چندین هسته پردازشی (multi-core) مورد استفاده قرار میگیرد، جایی که میتوان چندین کار را به طور واقعی و همزمان اجرا کرد.
▎مثالها
▎مثال با C
در C، میتوان از کتابخانه pthread برای پیادهسازی concurrency و parallelism استفاده کرد.
Concurrency با استفاده از pthread:
در این مثال، سه وظیفه به طور همزمان ایجاد میشوند و هر کدام برای یک ثانیه اجرا میشوند. این مثال نشاندهنده concurrency است، زیرا وظایف به صورت همزمان مدیریت میشوند.
Parallelism با استفاده از pthread:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، هر وظیفه میتواند بر روی هستهای جداگانه اجرا شود.
▎مثال با Go (Golang)
در Go، concurrency به سادگی با goroutines و channels پیادهسازی میشود.
Concurrency با استفاده از goroutines:
در این مثال، هر وظیفه به عنوان یک goroutine اجرا میشود. Go به طور خودکار مدیریت concurrency را انجام میدهد.
Parallelism با استفاده از goroutines:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، Go میتواند آنها را بر روی هستههای مختلف اجرا کند.
▎نتیجهگیری
به طور خلاصه، 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 به اجرای واقعی آنها در زمان واقعی مربوط میشود. هر دو مفهوم در طراحی برنامههای مدرن بسیار مهم هستند و زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای پیادهسازی آنها ارائه میدهند.
Forwarded from DevTwitter | توییت برنامه نویسی
برای این که تعداد زیادی فایل شخصی رو بصورت ایمن دستهبندی کنم، بعد از ۳-۴ سال pcrypt رو آپدیت کردم. (پایتون رو راسط کردم)
طبق تستهای کمی که داشتم بهترین انتخاب (از نظر سرعت و حجم و ایمنی و پشتیبانی) برای آرشیو کردن استفاده از
Zip + AES(256) + Zstd
هستم.
https://github.com/pouriya/pcrypt
@DevTwitter | <آقا پوریا/>
طبق تستهای کمی که داشتم بهترین انتخاب (از نظر سرعت و حجم و ایمنی و پشتیبانی) برای آرشیو کردن استفاده از
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
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راهحلن.
این مقاله همهشو ساده توضیح داده:
newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design
@Linuxor
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 بازار سهام آمریکا، ۲٫۱ تریلیون دلار دیگر از دست رفت
https://x.com/WatcherGuru/status/1909241816248889571
#خبر
@TheRaymondDev
https://x.com/WatcherGuru/status/1909241816248889571
#خبر
@TheRaymondDev
X (formerly Twitter)
Watcher.Guru (@WatcherGuru) on X
JUST IN: 🇺🇸 Over $2.1 trillion wiped out from US stock market at open.
Forwarded from محتوای آزاد سهراب
Forwarded from مهندسی نرمافزار - Software Inside
#مطلب
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
eugeneyan.com
What I Wish I Knew About Onboarding Effectively
Mindset, 100-day plan, and balancing learning and taking action to earn trust.
Forwarded from Note (Mr.05)
- فیلم های تدریس درس سیستم های کنترل خطی
از پروفسور حیدرعلی طالبی استاد تمام دپارتمان گرایش کنترل دانشکده مهندسی برق دانشگاه صنعتی امیرکبیر (پلیتکنیک تهران)
- مناسب المپیاد و کنکور ارشد و دکتری رشته های برق، مکانیک، هوافضا، مهندسی پزشکی، اتوماسیون و ابزار دقیق
t.iss.one/lux_GPS/612/696
از پروفسور حیدرعلی طالبی استاد تمام دپارتمان گرایش کنترل دانشکده مهندسی برق دانشگاه صنعتی امیرکبیر (پلیتکنیک تهران)
- مناسب المپیاد و کنکور ارشد و دکتری رشته های برق، مکانیک، هوافضا، مهندسی پزشکی، اتوماسیون و ابزار دقیق
t.iss.one/lux_GPS/612/696
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from PZone Admin
PassZone
@PassZone_IR
@PZoneSupport
#کلاد #جمنای #اکانت_قانونی #زمان_تکنولوژی #اسپاتیفای_پریمیوم #نتفلیکس #PassZone# chatgpt# Ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
گوگل لنز آپدیت شده و الان میتونید مثلا یه عکس از چند تا کتاب بگیرید و ازش بخواید کتابهای مشابه رو بهتون پیشنهاد بده. AI گوگل کتابها رو تشخیص میده و یه لیست از کتابهای مشابه با لینک خریدشون بهتون میده.
قبلا فقط برای مشترکین پولی سرویس گوگل وان بود، ولی الان رایگان در دسترس قرار گرفته و اگه میخواید تجربش کنید باید IP آمریکا داشته باشید، احتمالا طی هفتههای آینده برای کشورهای دیگه هم منتشر میشه.
🔗 androidauthority
🤓 @geekalerts
قبلا فقط برای مشترکین پولی سرویس گوگل وان بود، ولی الان رایگان در دسترس قرار گرفته و اگه میخواید تجربش کنید باید IP آمریکا داشته باشید، احتمالا طی هفتههای آینده برای کشورهای دیگه هم منتشر میشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
جمنای آپلود فایل و عکس رو پشتیبانی میکنه ولی نمیشه بهش ویدیو داد، الان مشخص شده قراره به زودی آپلود ویدیو هم بهش اضافه بشه.
ویدیوهایی با فرمتهای مختلف مثل ۳GP، AVI FLV، MOV، MP۴، MPEG، MPG و WebM رو پشتیبانی میکنه و احتمالا امکان آپلود همزمان چند ویدیو هم هست. بعد از اینکه بهش ویدیو دادید میتونید بر اساس اون ویدیوها ازش سوال کنید.
احتمال بالا این ویژگی تا سطحی رایگان باشه و به معرفیش نزدیک هستیم.
🔗 androidauthority
🤓 @geekalerts
ویدیوهایی با فرمتهای مختلف مثل ۳GP، AVI FLV، MOV، MP۴، MPEG، MPG و WebM رو پشتیبانی میکنه و احتمالا امکان آپلود همزمان چند ویدیو هم هست. بعد از اینکه بهش ویدیو دادید میتونید بر اساس اون ویدیوها ازش سوال کنید.
احتمال بالا این ویژگی تا سطحی رایگان باشه و به معرفیش نزدیک هستیم.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
هاستهای اشتراکی، اسکریپت phpmyadmin رو برای مدیریت دیتابیسها ارائه میدن اما برای لوکالهاست یا سرورهامون میتونیم از نرمافزار رایگان TablePlus استفاده کنیم.
نسخه نیتیو برای لینوکس، ویندوز و مک داره؛ انواع دیتابیسهای SQL رو پشتیبانی میکنه و کند نیست.
https://tableplus.com
@DevTwitter | <Yashar Shahi/>
نسخه نیتیو برای لینوکس، ویندوز و مک داره؛ انواع دیتابیسهای SQL رو پشتیبانی میکنه و کند نیست.
https://tableplus.com
@DevTwitter | <Yashar Shahi/>
Forwarded from SoniaCircuit (سونیا)
✨گروه تـاپیک برنامهنویســی ✨
💬 | t.iss.one/TopicsDev
⚡️ گـروه پـرسش و پاسـخ برنامهنویســی ⚡️
🫱🏽🫲🏼 | t.iss.one/ChatDevGp
💬 | t.iss.one/TopicsDev
⚡️ گـروه پـرسش و پاسـخ برنامهنویســی ⚡️
🫱🏽🫲🏼 | t.iss.one/ChatDevGp
Telegram
تاپیک برنامه نویسی
تاپیک تخصصی برنامهنویسی – جایی برای یادگیری و به اشتراک گذاشتن تجربهها، ابزارها و آموزشها با دیگران!
t.iss.one/TopicsDev/1/2630 :راهنما گروه
t.iss.one/TopicsDev/1/2630 :راهنما گروه
Forwarded from Linuxor ?
Forwarded from Woland's Linux Journal (Woland)
💠تفاوت Concurrency و Parallelism💠
این دو، مفاهیمی کلیدی در برنامهنویسی هستند که به نحوه اجرای همزمان وظایف اشاره دارند، اما تفاوتهای مهمی بین آنها وجود دارد.
Concurrency (همزمانی)
به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم میتواند به صورت مؤثر بین آنها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط میشود تا به اجرای واقعی.
Parallelism (موازیسازی)
به اجرای همزمان چندین کار در زمان واقعی اشاره دارد. این مفهوم معمولاً در سیستمهایی با چندین هسته پردازشی (multi-core) مورد استفاده قرار میگیرد، جایی که میتوان چندین کار را به طور واقعی و همزمان اجرا کرد.
مثالها
مثال با C
در C، میتوان از کتابخانه pthread برای پیادهسازی concurrency و parallelism استفاده کرد.
Concurrency با استفاده از pthread:
در این مثال، سه وظیفه به طور همزمان ایجاد میشوند و هر کدام برای یک ثانیه اجرا میشوند. این مثال نشاندهنده concurrency است، زیرا وظایف به صورت همزمان مدیریت میشوند.
Parallelism با استفاده از pthread:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، هر وظیفه میتواند بر روی هستهای جداگانه اجرا شود.
مثال با Go (Golang)
در Go، concurrency به سادگی با goroutines و channels پیادهسازی میشود.
Concurrency با استفاده از goroutines:
در این مثال، هر وظیفه به عنوان یک goroutine اجرا میشود. Go به طور خودکار مدیریت concurrency را انجام میدهد.
Parallelism با استفاده از goroutines:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، Go میتواند آنها را بر روی هستههای مختلف اجرا کند.
به طور خلاصه، concurrency به مدیریت همزمان وظایف اشاره دارد در حالی که parallelism به اجرای واقعی آنها در زمان واقعی مربوط میشود. هر دو مفهوم در طراحی برنامههای مدرن بسیار مهم هستند و زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای پیادهسازی آنها ارائه میدهند.
#آموزش
این دو، مفاهیمی کلیدی در برنامهنویسی هستند که به نحوه اجرای همزمان وظایف اشاره دارند، اما تفاوتهای مهمی بین آنها وجود دارد.
Concurrency (همزمانی)
به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم میتواند به صورت مؤثر بین آنها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط میشود تا به اجرای واقعی.
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 اجرا میشود. 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)
}
wg.Wait()
}
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، Go میتواند آنها را بر روی هستههای مختلف اجرا کند.
به طور خلاصه، concurrency به مدیریت همزمان وظایف اشاره دارد در حالی که parallelism به اجرای واقعی آنها در زمان واقعی مربوط میشود. هر دو مفهوم در طراحی برنامههای مدرن بسیار مهم هستند و زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای پیادهسازی آنها ارائه میدهند.
#آموزش
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
جایی که توی جابینجا نتیجه درخواست های همکاریت پشت سر هم داره میشه "تایید برای مصاحبه" و تلفن ثابت های مختلف هی پشت سر هم دارن باهات تماس میگیرن.
یعنی یه سری نکته ی ریز رو رعایت کردی!
از تجربه های خودم براتون میگم، شاید ناقص باشه ولی واقعیه:
۱. خودتون باشید!
از متن داخل about رزومه گرفته تا توضیحاتش و cover letter و SOP و هرچیزی که فکر کنید کاملا مشخصه اگر از هوش مصنوعی استفاده کنید.
آیا چیز بدیه؟
نه!
پس چرا میگی استفاده نکنیم؟ چون الان چیزی به اسم هوش مصنوعی توی اون فازیه که همه همچین ریکشنی نسبت بهش دارن:
"از هوش مصنوعی استفاده کردی؟ اینو که هرکسی بلده"
که در واقع اینطور هم نیست. ولی خب بخش زیادی از اعتماد رو در این بخش از تاریخ از بین میبره..
چجوری پس متن های اصولی و درست بنویسم؟
ازش قالب بگیرید
یعنی بهش بگید: چطور میتونم رزومه بهتری بنویسم
چطور متن about بهتری بنویسم
کمپانی ها توی متن about دنبال چه چیزی هستن
و...
در کل، سعی کنید خود واقعیتون باشید ولی قالب ارائه کردن اصولی رو هم حفظ کنید.
---------
۲. حتما رزومتون رو نسبت به توضیحات موقعیت شغلی tailor کنید.
قبلا میگفتیم برای شرکت های بزرگ رزومه های زیادی میره
ولی متاسفانه بخاطر اینکه الان شرایط بازار کار اصلا مناسب نیست، برای شرکت های کوچیک هم حتی رزومه های زیادی میره.
ولی توضیحات موقعیت شغلی دقیقا برای اینه که به شما بگن ما منتظریم چه رزومه ای ببینیم!
میخوان بگن اگه هزار تا رزومه اومد، کدومشه که احتمالا تایم بیشتری روش فکر میکنیم حتی اگه به علت "دلایل دیگر" ردش میکنیم.
نوشته توی پروژه فعلیمون نیاز به vanilla js داریم؟
خب شماهم توی رزومه روی vanilla مانوور بدید
نوشته نیاز داریم تجربه با websocket داشته باشید؟
تجربه websocket بدست بیارید
سریع یه پروژه کوچیک هم که شده لانچ کنید و توی رزومتون بیارید
یا از تجربه های قبلیتون نام ببرید
حتما هم آیتم اول باشه.
نوشته tailwindcss برامون مهمه؟
خب بنویسیدش
قطعا توی پروژه ها از ابزار های متنوعی استفاده میشه
ولی چیزی رو توی رزومه بنویسید که توی توضیحات از شما خواستن.
---------
۳. از اعداد واضح استفاده کنید.
هرچی توضیحات شما واضح تر و clear تر باشه
قطعا شانس شما برای تایید شدن بالا میره.
این دوتا جمله رو مقایسه کنید:
۱. از تکنیک های مختلفی مثل performance tuning و memoization استفاده کردم و پرفورمنس تا حد قابل توجهی افزایش پیدا کرد!
۲. با استفاده از تکنیک های performance tuning و memoization پرفورمنس رو تا ۳۰ درصد افزایش دادم.
تفاوت و شفافیت کاملا حس میشه.
ولی از شما توی مصاحبه میپرسن چطور به این ۳۰ درصد رسیدی
این ۳۰ درصد رو با چه ابزاری اندازه گیری کردی.
(این اتفاقا خبر خوبیه چون مشخصه کارت نتیجه داده)
میتونید بگید از lighthouse , page speed insight و ...
استفاده کردم
یا برای بهتر کردن re-render ها و اندازه گیریشون از devtools profiler استفاده کردم.
واضح باشه نتایج کارتون!
همه بلدن بگن فلان کاری که کردم عالی و درجه یک بود.
----------
۴. کاور لتر (cover letter) ننویسید. اگر قراره یه متن تکراری و مصنوعی از GPT بگیرید.
توضیحات موقعیت شغلی رو بخونید
اگر فکر میکنید واقعا گزینه مناسبی برای اون موقعیت هستید
توی کاور لتر ذکر کنید
بگید که چرا انتخاب میکنید با این تیم کار کنید
چه مزیتی دیدید؟
چرا اونا باید شمارو انتخاب کنند؟
خودتون باشید و واضح ولی دقیق حرفتون رو بزنید.
----------
و اما توی جلسه مصاحبه
۵. علت رد شدن شما تا ۸۰ درصد استرسی هست که دارید.
من تاحالا تجربه مصاحبه کردن داشتم
مصاحبه شدن هم داشتم
کاملا مشخص و واضح بود برای خودم که هم علت رد شدن خودم بعد از مصاحبه و هم علت رد کردن دوستانی که مصاحبه کردم باهاشون استرس و انرژی منفی بوده.
فراموش نکنید که:
با دورکاری میشه ساخت
مهارت رو میشه آموزش داد
نکته های فنی رو میشه گفت
ولی با انرژی منفی هیچکاری بجز ترک کردن نمیشه کرد!
حتی اگه ۱۰ سال هم سابقه کار داشته باشی
استرس جایی توی سازمانی که همه با امید و انگیزه کنار هم دارن برای یه هدف مشترک میجنگن نداره.
----------
۶. در نهایت هم
هیچوقت توی نمیدونم و نمیتونم نمونید
یه موضوعی رو بلد نیستید؟
خب برید بخونیدش!
توی این مصاحبه نتونستید درست جواب سوالات فنی رو بدید؟
خب چرا برای مصاحبه بعدی اینقدر قوی و محکم مطالعه نمیکنید که سری بعدی در بهترین و پرفکت ترین حالت ممکن جواب بدید؟
یعنی یه سری نکته ی ریز رو رعایت کردی!
از تجربه های خودم براتون میگم، شاید ناقص باشه ولی واقعیه:
۱. خودتون باشید!
از متن داخل about رزومه گرفته تا توضیحاتش و cover letter و SOP و هرچیزی که فکر کنید کاملا مشخصه اگر از هوش مصنوعی استفاده کنید.
آیا چیز بدیه؟
نه!
پس چرا میگی استفاده نکنیم؟ چون الان چیزی به اسم هوش مصنوعی توی اون فازیه که همه همچین ریکشنی نسبت بهش دارن:
"از هوش مصنوعی استفاده کردی؟ اینو که هرکسی بلده"
که در واقع اینطور هم نیست. ولی خب بخش زیادی از اعتماد رو در این بخش از تاریخ از بین میبره..
چجوری پس متن های اصولی و درست بنویسم؟
ازش قالب بگیرید
یعنی بهش بگید: چطور میتونم رزومه بهتری بنویسم
چطور متن about بهتری بنویسم
کمپانی ها توی متن about دنبال چه چیزی هستن
و...
در کل، سعی کنید خود واقعیتون باشید ولی قالب ارائه کردن اصولی رو هم حفظ کنید.
---------
۲. حتما رزومتون رو نسبت به توضیحات موقعیت شغلی tailor کنید.
قبلا میگفتیم برای شرکت های بزرگ رزومه های زیادی میره
ولی متاسفانه بخاطر اینکه الان شرایط بازار کار اصلا مناسب نیست، برای شرکت های کوچیک هم حتی رزومه های زیادی میره.
ولی توضیحات موقعیت شغلی دقیقا برای اینه که به شما بگن ما منتظریم چه رزومه ای ببینیم!
میخوان بگن اگه هزار تا رزومه اومد، کدومشه که احتمالا تایم بیشتری روش فکر میکنیم حتی اگه به علت "دلایل دیگر" ردش میکنیم.
نوشته توی پروژه فعلیمون نیاز به vanilla js داریم؟
خب شماهم توی رزومه روی vanilla مانوور بدید
نوشته نیاز داریم تجربه با websocket داشته باشید؟
تجربه websocket بدست بیارید
سریع یه پروژه کوچیک هم که شده لانچ کنید و توی رزومتون بیارید
یا از تجربه های قبلیتون نام ببرید
حتما هم آیتم اول باشه.
نوشته tailwindcss برامون مهمه؟
خب بنویسیدش
قطعا توی پروژه ها از ابزار های متنوعی استفاده میشه
ولی چیزی رو توی رزومه بنویسید که توی توضیحات از شما خواستن.
---------
۳. از اعداد واضح استفاده کنید.
هرچی توضیحات شما واضح تر و clear تر باشه
قطعا شانس شما برای تایید شدن بالا میره.
این دوتا جمله رو مقایسه کنید:
۱. از تکنیک های مختلفی مثل performance tuning و memoization استفاده کردم و پرفورمنس تا حد قابل توجهی افزایش پیدا کرد!
۲. با استفاده از تکنیک های performance tuning و memoization پرفورمنس رو تا ۳۰ درصد افزایش دادم.
تفاوت و شفافیت کاملا حس میشه.
ولی از شما توی مصاحبه میپرسن چطور به این ۳۰ درصد رسیدی
این ۳۰ درصد رو با چه ابزاری اندازه گیری کردی.
(این اتفاقا خبر خوبیه چون مشخصه کارت نتیجه داده)
میتونید بگید از lighthouse , page speed insight و ...
استفاده کردم
یا برای بهتر کردن re-render ها و اندازه گیریشون از devtools profiler استفاده کردم.
واضح باشه نتایج کارتون!
همه بلدن بگن فلان کاری که کردم عالی و درجه یک بود.
----------
۴. کاور لتر (cover letter) ننویسید. اگر قراره یه متن تکراری و مصنوعی از GPT بگیرید.
توضیحات موقعیت شغلی رو بخونید
اگر فکر میکنید واقعا گزینه مناسبی برای اون موقعیت هستید
توی کاور لتر ذکر کنید
بگید که چرا انتخاب میکنید با این تیم کار کنید
چه مزیتی دیدید؟
چرا اونا باید شمارو انتخاب کنند؟
خودتون باشید و واضح ولی دقیق حرفتون رو بزنید.
چون که تمام ماجرا راجع به جلب اعتماد هست!
----------
و اما توی جلسه مصاحبه
۵. علت رد شدن شما تا ۸۰ درصد استرسی هست که دارید.
من تاحالا تجربه مصاحبه کردن داشتم
مصاحبه شدن هم داشتم
کاملا مشخص و واضح بود برای خودم که هم علت رد شدن خودم بعد از مصاحبه و هم علت رد کردن دوستانی که مصاحبه کردم باهاشون استرس و انرژی منفی بوده.
فراموش نکنید که:
با دورکاری میشه ساخت
مهارت رو میشه آموزش داد
نکته های فنی رو میشه گفت
ولی با انرژی منفی هیچکاری بجز ترک کردن نمیشه کرد!
حتی اگه ۱۰ سال هم سابقه کار داشته باشی
استرس جایی توی سازمانی که همه با امید و انگیزه کنار هم دارن برای یه هدف مشترک میجنگن نداره.
----------
۶. در نهایت هم
هیچوقت توی نمیدونم و نمیتونم نمونید
یه موضوعی رو بلد نیستید؟
خب برید بخونیدش!
توی این مصاحبه نتونستید درست جواب سوالات فنی رو بدید؟
خب چرا برای مصاحبه بعدی اینقدر قوی و محکم مطالعه نمیکنید که سری بعدی در بهترین و پرفکت ترین حالت ممکن جواب بدید؟
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
و کلام آخر رو هم بهتون بگم
اونم اینه که صبر داشته باشید
میدونم شرایط سختیه
تعداد توسعه دهنده ها و مهندس ها روز به روز داره بیشتر میشه و موقعیت های شغلی روز به روز کمتر میشه.
ولی همیشه هم راه های زیادی برای متفاوت بودن هست.
اونم اینه که صبر داشته باشید
میدونم شرایط سختیه
تعداد توسعه دهنده ها و مهندس ها روز به روز داره بیشتر میشه و موقعیت های شغلی روز به روز کمتر میشه.
ولی همیشه هم راه های زیادی برای متفاوت بودن هست.
اگر هم فکر میکنید از مهارتی که دارید نمیتونید پول در بیارید
سریع برید یه مهارت دیگه یاد بگیرید و برید سر یه کار دیگه!
گربه باید موش بگیره. چه فرقی داره سفید یا سیاه؟