Dev Perfects – Telegram
Dev Perfects
41 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 کداکسپلور | CodeExplore (Koorosh)
اکستنشن Prettier در VSCode ⌨️

👀 میدونین که برنامه نویسی به شکل مرتب، یکسری اصول خاص داره، که شاید بعضی وقتا ناخواسته رعایتش نکنید. این اکستنشن براتون کدتون رو مرتب میکنه، میتونید هم بهش بگید چه زبانهایی رو براتون مرتب نکنه و ...

✔️از اینها هم پشتیبانی میکنه:
JavaScript · TypeScript · Flow · JSX · JSON · CSS · SCSS · Less · HTML · Vue · Angular HANDLEBARS · Ember · Glimmer · GraphQL · Markdown · YAML


🔗 لینک دانلود

#vscode #extension
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Code Module | کد ماژول (𔓙)
5 اکستنشن کاربردی که احتمالا از اونها بی خبری😄

1⃣Better Comments


به کمک این اکستنشن میتونید کامنت های رنگی بر اساس شرایط کدتون بنویسید.

2⃣CSS Peak


با استفاده از این اکستنشن میتونید کلاس های استایلی خودتون رو با یک سرچ ساده پیدا، و به محل نوشته شده اون استایل برید.

3⃣Import Cost


زمانی که پکیج یا هر چیز دیگه ای رو ایمپورت کنید، این اکستنشن حجم فایل ایمپورت شده رو به صورت بایت به شما نمایش میده.

4⃣Pretty TypeScript Error


با استفاده از این اکستنشن، خطاهای تایپ اسکریپت رو میتونید به صورت خوانا تری مشاهده و ببینید.

5⃣Persian Lorem


این اکستنشن به ما کمک می‌کنه لورم اپیسوم های فارسی بنویسیم. فقط کافیه عبارت plorem رو در ادیتور تایپ کنیم.

#extentions
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️توزیع predator-os نسخه 3.3 به همراه ویژگی های جدید منتشر شد:

توزیع Predator-OS نسخه اول در سال 2021 منتشر شد. هم اکنون نسخه ۳.۳ بر پایه دبیان 12.6 در زمینه تست نفوذ،هک اخلاقی توسعه داده شده که البته دارای ویژگیها و تنظیمات از قبل تعیین شده :
Hardened, anonymous, privacy,tune performance
را دارا می‌باشد.

توزیع Predator-OS با بیش از 1200 ابزار در 40 دسته و 9 مد امنیتی دسته بندی شده است.تا نیاز کامل حوزه امنیت را پوشش بدهد.
نسخه۳.۳ دارای میزکارهای ترکیبی در قالب فایل ایزو قرار داده شده است.

🔹Security Edition ISO:
Plasma + LXQT desktop
Mate + LXDE desktop
NoDesktop
-----------------------
🔹Home Edition ISO:
Plasma + LXQT desktop
Mate + LXDE desktop
NoDesktop
------------------------
🔹Black Edition: soon
Predator-OS + mammoth 🦣 panel
------------------------
🔹Alien Edition:soon
Plasma + LXQT
Mate+LXDE
لینک دسترسی
https://predator-os.ir/

🔹سورس فایلهای به همراه دو کتاب راهنمای کامل توزیع در سایت ارائه شده است.
توزیع مینت (اوبونتوی سبز :D ) امروز ۱۸ ساله شد.


@SohrabContents
کی‌دی‌ای کالیگرا هم نسخه جدید داد، با طراحی جدید.

کالیگرا بسته نرم‌افزار های اداری کی‌دی‌ای هستن که جایگزین مینیمالتری برای لیبره‌آفیس محسوب میشن.


البته فعلاً با متن دوسویه مشکل داره، که گفتن حلش می‌کنن.

@SohrabContents
Forwarded from Go Casts 🚀
مقاله جالبیه در مورد reproducibility، اینکه چیکار کنی که buildهات identical بشن که هم security بهتری داشته باشه هم نرم افزارت خروجی پیش بینی پذیرتری داشته باشه

اینم لینک مقاله 👇
What is Reproducibility and why does it matter?
https://blog.kubesimplify.com/what-is-reproducibility-and-why-does-it-matter



توضیحات «دوره + تیمسازی بکند Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/491


@gocasts


#devops #kubernetes
Forwarded from جادی | Jadi
این سوالی است که خیلی تو مصاحبه‌ها پرسیده می شه و منم باهاش دو تا کار بامزه کردم. اولی اینکه با زبونی حل می‌کنم که چندان بلد نیستم و دومی اینکه اول به شیوه خیلی بدی حلش می کنم تا بهانه ای بشه برای بحث «چطوری بهینه بودن یه الگوریتم رو محاسبه می کنیم»‌ یا همون ‌Big O خودمون (: البته معلومه که برای استخدام شدن احتمالی؛ بعدش با روش درست هم حلش می کنم (:

https://youtu.be/xZP2wKxU4bc

#ویدئو #الگوریتم #برنامه_نویسی
Forwarded from Syntax | سینتکس (Daimon)
چند نکته درباره وب سوکت و توضیح ساده برای درک بهتر

فرآیند ارتباط وب‌سوکت

1. شروع با HTTP/HTTPS:
- کلاینت ابتدا یک درخواست HTTP به سرور می‌فرستد. این درخواست شامل هدرهای خاصی است که نشان‌دهنده تمایل به ارتقاء ارتباط به وب‌سوکت است. این هدرها شامل موارد زیر هستند:
- Upgrade: websocket
- Connection: Upgrade

2. ارتقاء به وب‌سوکت:
- سرور درخواست را دریافت کرده و بررسی می‌کند. اگر شرایط درست باشد، با یک پاسخ خاص به کلاینت، ارتباط را به وب‌سوکت ارتقاء می‌دهد. این پاسخ شامل وضعیت 101 Switching Protocols است.

3. استفاده از ws:// و wss://:
- پس از ارتقاء، ارتباط به‌صورت دائمی و دوطرفه برقرار می‌شود.
- ws://
نشان‌دهنده استفاده از پروتکل وب‌سوکت بر روی HTTP است.
- wss://
نشان‌دهنده استفاده از پروتکل وب‌سوکت بر روی HTTPS است (که رمزنگاری شده است).

چرا ws:// استفاده می‌شود؟


- ws://localhost:8080
- این URL نشان می‌دهد که ارتباط نهایی به‌صورت وب‌سوکت انجام می‌شود.

نکته:
در HTTP/2، مکانیزم آپگرید به وب‌سوکت از طریق هدرهای HTTP/1.1 استفاده نمی‌شود. HTTP/2 به صورت ذاتی از این روش پشتیبانی نمی‌کند. برای ارتباط وب‌سوکت در HTTP/2، معمولاً از HTTP/1.1 برای ایجاد و ارتقاء ارتباط استفاده می‌شود یا از روش‌های دیگری برای مدیریت ارتباطات بلادرنگ بهره می‌گیرند.

روش‌های دیگه برای مدیریت ارتباطات بلادرنگ:
1. Server-Sent Events (SSE):
- یک ارتباط یک‌طرفه است که سرور می‌تواند به‌طور پیوسته داده‌ها را به کلاینت ارسال کند.
- مناسب برای برنامه‌هایی که نیاز به ارسال داده‌های بلادرنگ از سرور به کلاینت دارند.

2. Long Polling:
- کلاینت یک درخواست HTTP ارسال می‌کند و سرور تا زمانی که داده‌ای برای ارسال وجود ندارد، پاسخ را معلق نگه می‌دارد(یک تایم اوت مشخص هم دارد مثلا 20 ثانیه)
- پس از ارسال داده، کلاینت بلافاصله یک درخواست جدید ارسال می‌کند.

3. HTTP/2 Streams:
- استفاده از قابلیت چندپخشی و استریم‌های همزمان در HTTP/2 برای ارسال و دریافت داده‌های بلادرنگ.

4. gRPC:
- یک فریم‌ورک RPC بر پایه HTTP/2 که از ارتباطات بلادرنگ و استریمینگ پشتیبانی می‌کند.


چرا نیاز به درخواست HTTP اولیه است؟

وب‌سوکت‌ها به‌عنوان یک پروتکل ارتقاء بر روی HTTP طراحی شده‌اند تا با زیرساخت‌های موجود وب سازگار باشند. این امر به کلاینت‌ها و سرورها اجازه می‌دهد تا از همان پورت‌ها و مکانیزم‌های امنیتی استفاده کنند.

مثال در گولنگ:
package main

import (
"fmt"
"net/http"
"github.com/gorilla/websocket"
)

var upgrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
// checking conditions
return true
},
}

func handleConnections(w http.ResponseWriter, r *http.Request) {
// upgrade http request to websocket
ws, err := upgrader.Upgrade(w, r, nil)
if err != nil {
fmt.Println(err)
return
}
defer ws.Close()

// messages
for {
messageType, msg, err := ws.ReadMessage()
if err != nil {
fmt.Println(err)
break
}
fmt.Printf("Received: %s\n", msg)

err = ws.WriteMessage(messageType, msg)
if err != nil {
fmt.Println(err)
break
}
}
}

func main() {
http.HandleFunc("/", handleConnections)
fmt.Println("Server started on :8080")
err := http.ListenAndServe(":8080", nil)
if err != nil {
fmt.Println("Error starting server:", err)
}
}

#websocket

@Syntax_fa
👍1
خب خب خب؛

جذاب شد، از امروز روزی ۲-۳ ساعت روی بکند و Rust خواهم بود با Axum البته.

دلایل انتخاب Axum رو توی گروه گفتم، موردی که باید اضافه کنم؛
من خیلی از این سال‌ها روی Django, FastApi کد میزنم (با وجود اینکه با node, Express بکند رو یاد گرفتم)
برای همین Axum رو انتخاب کردم، چون شباهت زیادی به syntax پایتون داره تا Actix و شاید همین رو بتونم پیشنهاد بدم به بچه‌هایی که از سمت node دارن میان Actix برای اون‌ها ممکنه راحت تر و آشناتر باشه.
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
#javanoscript #js_trick

اطلاعات کامل باتری با جاوااسکریپت🔋

با استفاده از Battery Status Api میتونید سطح باتری، وضعیت شارژ شدن و دیگر اطلاعات مرتبط با باتری رو به دست بیارید و ازشون استفاده کنید.

نمونه کد 🚀

navigator.getBattery().then(battery => {
console.log(`Battery level: ${battery.level * 100}%`);
console.log(`Is charging: ${battery.charging ? 'Yes' : 'No'}`);
});


🌐 استفاده واقعی در وبسایت

🆔 Channel | Group | YouTube
#کوته_نیوز

تلگرام تو اپ‌استور فرانسه تو صدر جدول و توی آمریکا در رتبه‌ی دوم محبوب‌ترین اپلیکیشن‌ها قرار گرفت.

@DevTwitter
Forwarded from Sudoer (Morteza Bashsiz)
درود

من مشکلاتی که NipoVPN دارد رو به عنوان ایشو نوشتم توی بخش ایشو مربوط به ریپوزیتوری
ممنون میشم همراهی کنید تا بتونیم توسعش بدیم و به نتیجه برسه

سپاس از همراهی شما


https://github.com/MortezaBashsiz/nipovpn/issues
طومار درخواست آزادی دورف که از منابع رسمی همچون بلوم در حال انتشار است. تا این لحظه حدود ۴۰ هزار نفر این طومار را امضا کرده اند. (با یک کلیک ساده امضا کنید و انتشار دهید.)

https://news.1rj.ru/str/tgresistancebot/letter

#FreePavel
#Freedurov
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
Forwarded from کداکسپلور | CodeExplore (D@n!)
⬆️ سلام رفقا ، این متن رو قبلا توی چنل گذاشتیم ولی احساس کردم اونقدری که باید توضیح داده بشه توضیح داده نشده ،پس تصمیم گرفتم در این مورد یه گپی باهاتون بزنم 🔒

قبلش یه اعترافی بکنم 🙅‍♂️
منم اون اوایل فک میکردم برنامه نویسی یاد بگیرم ، فردا میشم میلیاردر و جای بیل گیتسو میگیرم (اون زمان پولدار ترین ادم بیل گیتس بودو یه مردکی به نام کارلوس اسلیم که حالا باهاش کاری ندارم🐱)
ولی چرا دروغ بگم ؟ تا 14 15 سالگی پولدار نشدم 🫠 هنوزم نشدم 🙅‍♂️ ولی خواهم شد😔😔

قرار نیست با نوشتن کد پولدار بشیم! کدو هوش مصنوعیم الان برامون میزنه، پس باید یه فرقی داشته باشیم

برنامه نویسی هم مثل خیلی چیزا ، یه مهارته! یاد میگیری ، تلاش میکنی ، به خاطر میسپری و همین لوپ تا بینهایت ادامه داره ⌨️
و برای همین پولی که به تنهایی ازش بدست میاد اونقدری نیست که اگه کار دیگه ایی داشته باشی بگی چقد این تفاوت فاحشه!

بیاید بریم تو واقعیت مثال بزنیم:

⚫️ اگه فقط روی برنامه‌نویسی تمرکز کنیم، احتمالاً آینده‌مون چی میشه؟ یه شغل خوب با حقوق نسبتاً خوب. اما آیا این همون چیزیه که ما واقعاً می‌خوایم؟ (من که از روتین زندگی کردن خوشم نمیاد)
شاید برای بعضی‌ها آره، ولی اگه رویای بزرگتری تو سرتونه، باید فراتر از این فکر کنید و فقط با 4 خط کد هیچی نمیشه :(

⚫️ اینجاست که بحث جالب میشه. درآمد واقعی و بزرگ از محصولی میاد که با برنامه‌نویسی ساخته میشه، نه خود برنامه‌نویسی. فکرش رو بکنید، اپلیکیشن‌های موفق، وب‌سایت‌های پربازدید، نرم‌افزارهای کاربردی - همه این محصولات شیطانی 😬 محصولاتی هستن که با برنامه‌نویسی ساخته شدن، اما موفقیتشون فقط به خاطر کد خوب نبوده و نیست (دلیلش بخاطر ایده پشتشون (شایدم ایده جلوشون) و بولد کردنشون تو دید عمومه)

⚫️حالا فرضا ما یه قرنه داریم برنامه نویسی میکنیم ، کارمونم جوریه که بیل گیتس باید بیاد تو صفحه دسکتاپمون رو پایی بزنه 😔
حالا چیکار کنیم؟ حالاست که وارد یه بخش دیگه میشید ...

1️⃣ اول باید بدونید قراره چی بفروشید ؟ محصولتون چیه؟ خدماته؟ اطلاعاته؟ رویاست؟ دروغه ؟ فکته؟ چیه؟ هرچیزی که بیشترین درصد ورود پول به سیستمون رو داره میگن محصول (مثلا محصول اینستاگرام چیه؟ عکس و فیلمه؟ حقیقتا نه! محصول اینستاگرام توجه و داده کاربرانه تا بتونه بهترین تبلیغات رو بهشون نشون بده و پول در بیاره!)
پس بعد از برنامه نویسی باید یه فکر قشنگ داشته باشید و بدونید محصولتون دقیقا چیه!

2️⃣در قدم دوم باید بازاریابی یاد بگیرید ، بازاریابی هم کلا یعنی چجوری یه محصول رو به مشتری بیشتری برسونیم! مثلا برای فروش بازی موبایل ، ما میتونیم بریم تو خیابون به این و اون بازیو نشون بدیم ، یا اینکه تو گوگل پلی بزاریم! جفتش بازاریابیه، اما بازاریابی بهتر چیزیه که تو دید باشه (البته به محصولتم ربط داره، بعضی از محصولات قرار نیست اشخاص زیادی رو درگیر کنه 🚬)

3️⃣ در قدم های بعدی وارد بخش های مهم تر میشید ، مثل خود تجارت و ارتباطات ، هرچقدر بتونید ارتباط خودتونو بیشتر کنید و شبکه بزرگتری ایجاد کنید ، میتونید مشتری بیشتر بیارید ، پس در نتیجه محصول بیشتر بفروشید و  در کل پول تو جیبتونو زیاد کنید

4️⃣هرچقدر که تو مسیر قدم بزارید ، شبکه بزرگ تر و محصول جهانی تری دارید ، پس کم کم باید مدیریت پروژه رو هم یاد بگیرید تا توی مسیر فروش شکست نخورید 😔

زیاد حرف زدم مث همیشه 🐈‍⬛️
ولی اگه فقط یه زندگی ساده و روتین میخواید ، برنامه نویسی یاد بگیرید و برید یه جا مشغول به کار شید (یه جایی مثل دیجیکالا کار کنید با حقوق سنیور 90 تومن و برای خرید یه خونه خوب بدون تورم 5 سال کار کنید ، تازه ماشینم باید بگیرید😂)

ولی اگه واقعا دنبال یه چیز بزرگ هستید ، یادتون نره: فقط یاد بگیرید!
نه فقط برنامه نویسی ، درباره اصول کسب و کار، استراتژی های بازاریابی، مهارت های ارتباطی و توی این مسیر یادگیری ارتباطات کلیدی بسازید (ارتباط و سرمایه شما رو همیشه جلو میندازه)

و از الان بگم هر تلاش و هدف بزرگی توش شکستم داره! افتادید ، پاشید و دوباره ادامه بدید ، هیچ اتفاق بزرگی یه شبه به وجود نمیاد (به جز شب ایجاد ادمای مهم 🙂😈) !

حرف آخر اینه: برنامه نویسی به مهارت عالی و سخته ، ولی فقط یه قطعه از پازلمونه! از مهارتونن استفاده کنید برای خلق یه ارزش جدید

یادت نره ، تو فقط یه برنامه نویس نیستی، یه خالقی، یه کارآفرین بالقوه ایی و کسی که میتونه با مهارتش دنیا رو تکون بده 👽
تازه دوست منم هستی 🫰
پس بیا بریم دنیا رو تکون بدیم 😔

#programming
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
یک توضیح تصویری در مورد میکروسرویس ها

@DevTwitter
Forwarded from Code Module | کد ماژول (genix)
علتش چیه؟ 😠

چند وقت پیش داشتم الگوریتم مرتب سازی insertion رو پیاده سازی میکردم و برام سوال شد، چجوری میتونم سرعت مرتب سازی رو بیشتر کنم (در حد کنجکاوی). در هنگام پیاده‌سازی الگوریتم مرتب‌سازی Insertion Sort در جاوااسکریپت، معمولاً این الگوریتم به صورت زیر نوشته میشه:

function insertionSort(arr) {
for (let i = 1; i < arr.length; i = i + 1) {
let cE = arr[i];
let j = i;
while (j > 0 && arr[j - 1] > cE) {
arr[j] = arr[j - 1];
j = j - 1;
}
arr[j] = cE;
}
return arr;
}
console.time();
const uArray = [20, 10, 4, 51, 0, 0xd3, 0x42, 0.4, 0.00002, 0x2];
const sArray = insertionSort(uArray);
console.log("Sorted array:", sArray);
console.timeEnd();


در اینجا، زمان اجرای الگوریتم با استفاده از console.time() و console.timeEnd() اندازه‌گیری میشه. معمولاً زمان اجرای این کد بین ۱۰ تا ۱۵ میلی‌ثانیه متغیر هست. به این صورت:
Sorted array: [ 0, 0.00002, 0.4, 2, 4, 10, 20, 51, 66, 211 ]
default: 10.793ms


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

return String(arr);

خروجی:
Sorted array: 0,0.00002,0.4,2,4,10,20,51,66,211
default: 8.899ms

با انجام این تغییر، زمان اجرای الگوریتم به صورت چشمگیری کاهش پیدا میکنه و بین ۸ تا ۱۰ میلی‌ثانیه متغیر میشه.

سوال اصلی اما اینجاست:

چرا تبدیل آرایه به رشته باعث کاهش زمان اجرای الگوریتم مرتب‌سازی Insertion میشه؟ آیا این تغییرات قابل توجه هستن و باید در برنامه‌ هایی که میسازیم نگران چنین تفاوت‌های جزئی ای باشیم؟

#nodejs #array
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
یه فرصت شغلی داریم برای view کارا

@DevTwitter
‏تو روز قیامت اونجا که کل زندگیمون مثل یک فیلم پخش میشه در محضر خداوند زندگی ما اندروید دولوپرها به این شکله که خدا هی میزنه جلو میبینه نشستیم زل زدیم به gradle تا بیلد شه هی میزنه جلو هی همینه اخر خسته میشه میندازتمون جهنم

@DevTwitter | <Bug Maker/>
Forwarded from Armon technical logs (armon Taheri)
این سایت رو حتما چک کنین خیلی دید خوبی نسبت به روابط بین انسانها میده
https://hamed.github.io/trust/