Dev Perfects
40 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  (Amir Hossein "Amiria" Maher)
+ چطوری فروش محصولمون رو بهتر کنیم؟
- کاری نداره. فقط بگو هوش مصنوعی توش داره!

#موقت
Forwarded from Gopher Academy
This media is not supported in your browser
VIEW IN TELEGRAM
امروز می‌خوام براتون درباره TCP صحبت کنم، یکی از پروتکل‌های کلیدی اینترنت که به‌طور روزمره باهاش سروکار داریم. TCP مثل یه پستچی مطمئن عمل می‌کنه و داده‌ها رو دقیق و به ترتیب به مقصد می‌رسونه.

پروتکل کنترل انتقال یا TCP چیه؟
پروتکل کنترل انتقال یا TCP یکی از مهم‌ترین پروتکل‌های ارتباطی هست که به داده‌ها اجازه می‌ده به‌صورت امن و مطمئن از یک سیستم به سیستم دیگه منتقل بشن. به خاطر اطمینان بالا، بیشتر اپلیکیشن‌ها مثل وب‌گردی، ایمیل و پیام‌رسان‌ها از TCP استفاده می‌کنن.

چطور ارتباط TCP برقرار می‌شه؟
برقراری ارتباط TCP یه فرآیند سه مرحله‌ای به اسم Three-Way Handshake داره:

مرحله اول SYN (Synchronize)
مثل این می‌مونه که یک طرف دستش رو برای دست دادن دراز کنه.
کلاینت بسته‌ای با فلگ SYN به سرور می‌فرسته که حاوی شماره ترتیب اولیه (ISN) هست. مثلاً ۱۰۰۰. این یعنی کلاینت می‌خواد ارتباط برقرار کنه.

مرحله دوم SYN-ACK (Synchronize Acknowledge)
سرور دست رو می‌گیره و فلگ‌های SYN و ACK رو تنظیم می‌کنه. شماره ترتیب کلاینت رو تایید می‌کنه (۱۰۰۱) و شماره ترتیب خودش رو (مثلاً ۵۰۰۰) می‌فرسته.

مرحله سوم ACK (Acknowledge)
کلاینت پاسخ می‌ده و فلگ ACK رو تنظیم می‌کنه. شماره ترتیب سرور رو به ۵۰۰۱ افزایش می‌ده. حالا ارتباط TCP برقرار شده و آماده تبادل داده‌ها هست.

سوالات متداول:

فلگ‌های SYN و ACK چی هستن؟
این فلگ‌ها به TCP کمک می‌کنن که ارتباط بین دو سیستم رو مدیریت کنه و مطمئن بشه که هر پیام به درستی دریافت شده.

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

آیا اینترنت به سمت جایگزینی TCP می‌ره؟
در HTTP/3 از پروتکل جدیدی به نام QUIC استفاده میشه که جای TCP رو می‌گیره، اما هنوز بیشتر وب‌سایت‌ها از TCP استفاده می‌کنن، پس فعلاً جایی نمی‌ره!

@DevTwitter | <Firoozeh Daeizadeh/>
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 آمریکا می‌خواهد صادرات تراشه‌های هوش مصنوعی انویدیا را به برخی کشورها محدود کند

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

سال گذشته، دولت بایدن اقداماتی را برای گسترش الزامات صدور مجوز برای صادرات تراشه‌های پیشرفته به بیش از ۴۰ کشور اعلام کرد؛ از جمله برخی کشورهای خاورمیانه که خطر صادرات به چین را دارند و مشمول تحریم‌های ایالات متحده می‌شوند.

#خبر

@TheRaymondDev
Forwarded from laravel-news
بعد از اینکه با یک کامند تونستیم PHP و Larave رو نصب کنیم، حالا نوبت به این رسیده بود که بریم سراغ قسمت Running 😃

و خب تو این قسمت هم تیلور جون ما رو تنها نزاشته و به فکر ماست.
(خدا به فکرش باشه جوون پاک و سالمیه 🤲).

دستور composer run dev از امروز مسئول آماده سازی local development شماست. 😎🤘

با زدن این دستور، 4 دستور:
م php artisan serve
م php artisan queue:listen
م php artisan pail
م npm run dev

زده میشه و همچی آماده ست تا بریم و به آتیش بکشیمش! 🔥
Forwarded from Philocode
هیچ‌وقت pipewire رو روی Ubuntu حذف نکنید.
منم الآن فهمیدم که بالا نمی‌اومد و مجبور شدم ubuntu-desktop رو توی recovery mode نصب کنم. 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
آره، دوباره پارچ بیلد کردم رو گوشیم 😂


@SohrabContents
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 امتیاز پرفورمنس قالب پاندا

https://github.com/Rayiumir/Panda

#وردپرس

@TheRaymondDev
True
Akira Yamaoka
Artist: Akira Yamaoka

Album: SILENT HILL 2
Forwarded from Agora (Alireza Azadi)
به مناسبت انتشار remake خیلی خوب بازی SILENT HILL 2

نظرم اینه که موسیقی یک بازی داستان‌محور، از اساسی‌ترین رکن‌های بازی و حتی خود داستانه. از این جهت که موسیقی درست، به‌جز فضا‌سازی، میتونه در تکمیل روایت نقش ایفا کنه. روایتی که حتی گویا‌ترین و واضح‌ترین تصاویر هم از بیان جانانه‌ا‌ش عاجزند، موسیقی روح داستان رو به ناخودآگاه مخاطب راه میده تا بتونه تمام روایت رو در ذهن مخاطب تمام و کمال و برای همیشه ثبت کنه... موسیقی رکن جادویی یک اثر هنریه.
Forwarded from Syntax | سینتکس (Daimon)
Docker in Docker (DinD)

به اجرای Docker در داخل یک کانتینر اشاره دارد.

یک مثال کاربردی اش پایپ‌لاین CI/CD است:

- در برخی مواقع ممکن است پروژه ما برای اجرا و تست نیاز به یک سری backing service ها مثل redis و ... داشته باشد. در این صورت ترفندی که می زنیم را می توان اینطور بیان کرد که داخل کانتینر، کانتینر های مورد نیاز پروژه مان را آپ می کنیم.

مثال:
ci.yml
name: CI

on:
pull_request:
types: [opened, edited, reopened, synchronize, ready_for_review]
branches: [main]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements/test.txt

- name: dockerUp
run: sudo make docker-test-up

- name: Test
run: make test

- name: dockerDown
run: sudo make docker-test-down


و داخل فایل Makefile:
.PHONY: test

ROOT=$(realpath $(dir $(lastword $(MAKEFILE_LIST))))

test:
python manage.py test

docker-test-up:
docker compose -f $(ROOT)/docker-compose-test.yml up -d

docker-test-down:
docker compose -f $(ROOT)/docker-compose-test.yml down


چالش DinD در موارد بیشتر

1. امنیت:
- اجرای Docker در Docker می‌تواند خطرات امنیتی به همراه داشته باشد، زیرا کانتینر داخلی به Docker Host دسترسی دارد.

2. پیچیدگی شبکه:
- کانفیگ شبکه می‌تواند پیچیده شود، به ویژه اگر نیاز به ارتباط بین کانتینرهای داخلی و خارجی باشد.

3. عملکرد:
- ممکن است عملکرد ضعیف‌تری نسبت به اجرای Docker به صورت مستقیم روی سرور داشته باشد.

نحوه استفاده

برای استفاده از Docker in Docker، می‌توانید از ایمیجی مانند docker:dind استفاده کنید. یک نمونه ساده از اجرای DinD به صورت زیر است:

docker run --privileged --name dind-container -d docker:dind


استفاده از فلگ --privileged ضروری است تا کانتینر به منابع سیستم دسترسی کامل داشته باشد.

جایگزین‌ها

در بسیاری از موارد، استفاده از روش‌های جایگزین مانند Docker خارج از کانتینر یا استفاده از ابزارهایی مانند Kubernetes می‌تواند مشکلات مربوط به DinD را حل کند و امنیت بیشتری فراهم کند.

#DinD

@Syntax_fa
Forwarded from Gopher Academy
🔵 عنوان مقاله
Developing a Go Bot That Embeds Ichiban Prolog

🟢 خلاصه مقاله:
اIchiban Prolog معرفی یک پیاده‌سازی جدید و موثر از زبان برنامه‌نویسی منطقی Prolog با استفاده از زبان برنامه‌نویسی Go است. این پیاده‌سازی به توسعه‌دهندگان اجازه می‌دهد تا قدرت زبان Prolog را به طور مستقیم درون برنامه‌های Go به کار ببرند. استفاده از Ichiban Prolog در برنامه‌های Go امکان بهره‌برداری از توابع پیچیده و منطقی را به شکلی سهل و ممکن فراهم می‌کند، بدون آنکه نیاز به جا‌به‌جایی بین زبان‌ها یا استفاده‌ از رابط‌های برنامه‌نویسی اضافی باشد. این امر باعث بهبود بهره‌وری در توسعه و کارایی برنامه‌ها می‌شود. Ichiban Prolog به خصوص برای موارد کاربردی که نیازمند مدل‌سازی منطقی و حل مسائل پیچیده هستند، مفید است و به توسعه‌دهندگان امکان می‌دهد با استفاده از تکنیک‌های Prolog، به راه‌حل‌های نوآورانه دست پیدا کنند.

🟣لینک مقاله:
https://golangweekly.com/link/160154/web


👑 @gopher_academy
Forwarded from Future Pulse Persian
🎯اگر علاقه مند به موضوعات👈🏻 بلاکچین/ارزهای دیجیتال/هوش مصنوعی/DeFi/NFTS هستید
👇 چنل زیر رو از دست ندید(با موضاعات متنوع و بروز)

📈 Bitcoin & Ethereum Trends
💰 Exciting Altcoins News
🔗 Cutting-Edge Blockchain Innovations
📊 Business Insights & Market Analysis
📜 Policy & Regulations Updates
🤖 AI: Artificial Intelligence Advancements
🎨 The World of NFTs
🌐 Decentralized Finance (DeFi) News



👑 @Blockchain_labdon
دانشمندان چینی با استفاده از یه رایانه کوانتومی تونستن الگوریتم های رمز نگاری AES و RSA رو بشکنن 😐

این الگوریتم ها توی تبادل اطلاعات نظامی و بانکی استفاده میشه 😄
کتاب Web Browser Engineering در مورد روش کار Browser ها و مفاهیم پایه
کمک خوبی است برای درک عمیق مفاهیم
browser.engineering/index.html

@DevTwitter | <MehrdadLinux/>
Forwarded from Python Hints
از صبح داشتم یک پروژه رو review می‌کردم که بنا به مشکلات از یک فریمورک به فریمورک دیگه جابجا شده؛ اما بعد از جابجایی یک سری بخش‌های پروژه باگ داره و من وارد شدم برای کد ریویو (امروز صبح روز اول کارم بود)

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

بنظرتون مشکل از کجاست ؟

مدیرفنی یا تیم‌لید بکند.

یک درس بزرگی که حتی قبل از ورود به دنیای بکند و بخاطر عادت به سورس کد خوندن گرفتم این بود که
Intégration test
اولویت بالاتری داره از
Unit test
واقعیت هم همین هست، unit test برای راحتی خودمون و دولوپر بعدی هست و intégration test برای راحتی و بدون باگ بودن استفاده‌های client

خیلی تیم‌ها (ایرانی و خارجی) که intégration test نمی‌نویسند متاسفانه ولی اون‌هایی هم که می‌نویسند مثل کدهای امروز من دقیقاً از آنچه که فریمورک ارائه میده استفاده می‌کنند.


این کاملاً خطا هست، برای مدیر فنی ٫ تیم‌ لید منظورم هست. الان سوالتون اینه که چرا ؟

توی این پروژه اگر intégration test ها میومد سرور رو روی یک thread جدا اجرا می‌کرد و بعد با استفاده از پکیج دیگری مثل requests درخواست می‌زد به api هاش بنظرتون بهتر نمی‌شد ؟

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

وقتی دارم از بیرون به سیستم نگاه می‌کنم برام چه فرقی داره که چه زبان برنامه‌نویسی یا چه فریمورکی استفاده شده؛ همونطور که برای یوزر من فرقی نداره.

خواستم بگم حواستون به این نکته باشه، intégration test باید جوری باشه که فارغ از فریمورک و زبان قابل اجرا باشه.

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

آیا از گنو/لینوکس می‌شود در لپ‌تاپ‌ها و کامپیوترهای شخصی استفاده کرد؟ من از صفحه سیاه با فونت‌های سفید و سبز خوشم نمی‌آید.

💡 قطعا بله. متاسفانه به دلیل عدم اطلاع‌رسانی مناسب، عموم افراد جامعه تصور می‌کنند لینوکس همان چیزیست که هکرها و برنامه‌نویس‌ها از آن استفاده می‌کنند و فقط مختص این افراد است در صورتی که چنین نیست. خوشبختانه امروزه افراد زیادی در حال مهاجرت و استفاده از گنو/لینوکس هستند. همانطور که در تصاویر می‌بینید لینوکس نه تنها از محیط گرافیکی پشتیبانی می‌کند، بلکه از لحاظ زیبایی و چشم‌نوازی از سیستم‌عامل‌های دیگر حتی بهتر هم هستند. ضمنا تفاوت دیگر این میزکارها در قدرت شخصی‌سازی و بهینگی آن‌ها است.
🔹🔹🔹🔹🔹
#qa
#سین_جیم #linux #لینوکس
🔹🔹🔹🔹🔹
✈️ تلگرام
™️ توییتر
📺 یوتیوب
🐘 ماستودون
🖥 وبسایت
Please open Telegram to view this post
VIEW IN TELEGRAM