CodeHub
225 subscribers
141 photos
14 videos
2 files
162 links
آیا علاقه‌مند به خلق دنیایی بهتر هستی؟

برنامه نویسی کلید خلاقیت بی‌حد و حصر است🚀⚡️

🧑‍💻 @farzinhamzehi
Download Telegram
🚩 پایتون ۳.۱۳؛ فیچرهای جدید و دپریکیشن‌ها!


🔥 گیل (GIL) آپشنال: امکان بیلد گرفتن از CPython و غیرفعال کردن GIL. (در حالت عادی شما از GIL استفاده می‌کنید)

🔥 کامپایلر JIT: قراره در این پچ جدید، از یک کامپایلر just in time رونمایی شه که در یک سری از سناریوهای خاص، سرعت اجرای کدتون رو افزایش میده. این رو موقع بیلد گرفتن دستی از CPython میشه تنظیم‌ کرد و بصورت پیشفرض غيرفعال هست.

🔥 تایپ هینت IsType و ReadOnly: دوتا تایپ جدید به typing اضافه شده. در مقاله مثال زدم.

🔥 ساپورت از سیستم‌عامل iOS: یک رلیز قابل نصب روی iOS قراره در این پچ قرار داده بشه. هنوز خبری از رلیز اندروید نیست ولی گویا دارن روش کار می‌کنن. (چیزی که بعنوان پایتون روی دیوایس‌های اندرویدتون نصب دارید، رلیز لینوکس پایتون هست.)

🔥 بهبود Interaction: ارورها و تریس‌بک‌ها دقیق‌تر و هوشمندتر شدن. همچنین ارورها بصورت رنگی نمایش داده میشن.

🔥 بهبود REPL: کامندهای exit، help و quit تغییر کردن.

و کلی فیچر و امکانات جدید که در مقاله زیر توضیح داده شده به همراه مثال‌های ساده و قابل فهم:

🔗https://blog.imsadra.me/python-313-new-features-deprecations

🔴</CodeHub>
🔥2
#جاوااسکریپت

📸 با جاوااسکریپت دوربین خودتو روشن کن و عکس بگیر! توی این پست یاد می‌گیری چطور با چند خط کد ساده، دوربین گوشی یا لپ‌تاپ رو به خدمت بگیری و یه عکس فوری بگیری. آماده‌ای برای کدنویسی؟ 🤩


document.addEventListener("DOMContentLoaded", async () => {
const videoPlayer = document.getElementById("videoPlayer");
const canvasElement = document.getElementById("canvas");
const captureBtn = document.getElementById("captureBtn");

// نمایش عناصر مدیا پلیر
const showMediaPlayer = () => {
videoPlayer.style.display = "block";
captureBtn.style.display = "block";
};

// مخفی کردن مدیا پلیر
const noShowMediaPlayer = () => {
videoPlayer.style.display = "none";
captureBtn.style.display = "none";
};

// دسترسی به دوربین و پخش ویدیو
const getMedia = async () => {
// بررسی پشتیبانی مرورگر از MediaDevices API
if (!("mediaDevices" in navigator)) {
alert("Your browser does not support MediaDevices API");
return;
}

try {
// درخواست دسترسی به ویدیو
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
showMediaPlayer(); // نمایش ویدیو و دکمه
videoPlayer.srcObject = stream; // نمایش جریان ویدیو در videoPlayer
} catch (error) {
console.error('Error accessing camera:', error);
}
};

// گرفتن عکس از جریان ویدیو
captureBtn.addEventListener("click", (event) => {
event.preventDefault();
noShowMediaPlayer(); // مخفی کردن ویدیو و دکمه
canvasElement.style.display = "block";

// کشیدن تصویر ویدیو روی بوم
let context = canvasElement.getContext("2d");
context.drawImage(videoPlayer, 0, 0, canvasElement.width, canvasElement.height);

// متوقف کردن جریان ویدیو
videoPlayer.srcObject.getVideoTracks().forEach(track => track.stop());

// تبدیل بوم به Blob و ذخیره آن در window.picture
canvasElement.toBlob(blob => {
window.picture = blob;
});
});

// فراخوانی تابع برای دریافت و نمایش جریان ویدیو
await getMedia();
});


🔴<CodeHub/>
🔥4
👨‍💻#جاوااسکریپت

🌍 با چند خط کد، موقعیتتو پیدا کن! 🗺

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

📌 یه جاوااسکریپت توپ که خطاها رو هم مدیریت می‌کنه. امتحان کن و ببین چقدر کارش درسته!

function findLocation() {
let status = document.getElementById("status"); // عنصر وضعیت
let mapLink = document.getElementById("map-link"); // عنصر لینک نقشه

// تابعی که در صورت موفقیت مکان‌یابی اجرا می‌شود
const geoSuccess = (position) => {
const latitude = position.coords.latitude; // عرض جغرافیایی
const longitude = position.coords.longitude; // طول جغرافیایی

// پاک کردن پیام وضعیت و تنظیم لینک نقشه
status.textContent = "";
mapLink.href = `https://www.openstreetmap.org/#map=16/${latitude}/${longitude}`;
mapLink.textContent = `Latitude: ${latitude} , Longitude: ${longitude}`;
};

// تابعی که در صورت بروز خطا در مکان‌یابی اجرا می‌شود
const geoError = (error) => {
switch (error.code) {
case 0:
status.textContent = "Unknown error"; // خطای ناشناخته
break;
case 1:
status.textContent = "Permission denied"; // اجازه دسترسی رد شده
break;
case 2:
status.textContent = "Position unavailable"; // موقعیت ناموجود
break;
case 3:
status.textContent = "Timeout"; // زمان تمام شد
break;
default:
status.textContent = "Unable to retrieve your location"; // امکان بازیابی موقعیت نیست
}
};

// بررسی پشتیبانی از مکان‌یابی در مرورگر
if (!navigator.geolocation) {
status.textContent = "Geolocation is not supported by your browser"; // مکان‌یابی پشتیبانی نمی‌شود
} else {
status.textContent = "Locating…"; // در حال یافتن موقعیت

// درخواست موقعیت مکانی با تنظیمات سفارشی
navigator.geolocation.getCurrentPosition(
geoSuccess,


🔴<CodeHub/>
👍5🔥1
پیشنهاد میکنم که حتما این ویدیو رو ببینید مثل این که چت بات های ناشناس داخل تلگرام یک مشکل امنیتی بزرگ داره که میتونه خیلی خطرناک باشه.

طی نفوذی که به چند ربات ناشناس تلگرام اتفاق افتاده، متوجه شدند ۴۵۰ میلیون چت، ۱۱ میلیون عکس و ۳ میلیون ویدیو روی سرورهای این بات‌ها ذخیره شده.


🎬https://youtu.be/1sZprSWgEsw?si=_faXx4TdN_9RSAhi

🔴<CodeHub/>
🔥2👍1
🧑‍💻 تفاوت دو روش Import در ری‌اکت : Named Import vs Default Import

1️⃣ Named Import :

import { useState } from 'react'


🔸این روش زمانی استفاده می‌شود که یک ماژول چندین قابلیت (export) داشته باشد و شما فقط یکی از آن‌ها را نیاز دارید. مثل useState در ری‌اکت.(default)

2️⃣ Default Import :

import React from 'react'


🔸این روش زمانی به کار می‌رود که ماژول یک export پیش‌فرض دارد. مثلا React که به عنوان default export وارد می‌شود.

🔸بعضی وقتا همین نکته های به ظاهر کوچیک میتونه خیلی مشکل ساز بشه🤦‍♂️

#React

©️<CodeHub/>
👍1🔥1
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
به عنوان یک نفر که ۵ ۶ سالی هست برنامه نویسی میکنه و اخیرا از ایران رفته بهتون میگم:
فریمورک مهم نیست زبان بلد باش
سابقه کاری ایران طلا هم باشه اینجا هیچ حسابش میکنن
رزومه برنامه نویس گیت هابش هست
داکیومنت بلد باش نه اینکه صد تا اموزش دیده باشی
و در اخر توی تیم، اجتماعی باش
هیچوقت نسبت به کدی که نوشتی گارد نگیر همیشه راهی واسه بهتر کردنش هست
حتی اگه یه موقعیت شغلی خوب داری کنارش دنبال کار آیندت هم بگرد شاید یه پوزیشن بهتر پیدا شد
روی سافت اسکیل هات به شدت کارکن
و اینکه جای کد زدن معماری یاد بگیر

این ها حسرت های من هستن که از دست دادمشون

• maggie •

🔥🔥🔥🔥🔥🔥🔥🔥
دوستان من سعی میکنم هر شب ، یا یک شب در میون ، تجربه افراد موفق در حوزه برنامه نویس رو بزارم که ما حواسمون به این موضوعات باشه و سعی کنیم در کنار هم راه حلی براش پیدا کنیم تا ما در آینده به این مشکلات بر نخوریم. خیلی دوست دارم نظرات شما و پیشنهادات شما رو تو این موضوعات بدونم که چه راه حلی براش دارید ، تا ما هم استفاده کنیم.
من فردا شب نظر خودمو راجب این پست میگم و دوست دارم نظرات شما رو هم بدونم :
🌐https://t.me/CodeExplore/2554

#programming
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
grok-algor.pdf
24.5 MB
#Document

🔸یکی از مشکلاتی که خودم باهاش سر و کار داشتم و دارم اینه که همه داکیومنت های آموزش الگوریتم خیلی خشک و خسته کننده بودن.

🔸امروز این کتاب رو پیدا کردم که خوشبختانه ترجمه شده هم هست که بیشتر مباحت الگوریتم رو با زبون ساده و عکس آموزش میده که واقعا به درک بیشتر کمک میکنه , من خودم تازه خوندنشو شروع کردم پیشنهاد میکنم حتما یه نگاهی بهش بندازید.

📖درک الگوریتم راهنمای تصویری برای برنامهنویسها و افراد کنجکاو

✍️ نویسنده : آدیتیا بهارگاوا

مترجم : مهران افشارنادری 📝



🔴<CodeHub/>
👏41🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#react

معماری پروژه های ری اکتی که میتونه خیلی به پرفورمنس پروژه کمک کنه و دولوپ رو هم آسون تر کنه.

🔴<CodeHub/>
👍2
#Figma_Template

Figma Template: Real Estate

Difficulty : ⭐️⭐️

🔗Click for Get Link

🔴</CodeHub>
🔥1
#ترفند_جاوااسکریپتی

ترفند جاوااسکریپتی: جابه‌جایی مقادیر دو متغیر بدون متغیر سوم!

جاوااسکریپت این کار را با یک راه‌حل شگفت‌انگیز و ساده امکان‌پذیر می‌کند! 🌟

تصور کنید دو متغیر a و b دارید:
let a = 1;
let b = 9;


حالا می‌خواهید مقادیر این دو متغیر را با هم جابه‌جا کنید. به جای استفاده از یک متغیر موقت، کافیست از این ترفند استفاده کنید:
let [a, b] = [b, a];


🔑این ترفند از دستورات (Destructuring Assignment) جاوااسکریپت استفاده می‌کند که به شما اجازه می‌دهد به راحتی مقادیر متغیرها را جابه‌جا کنید، بدون نیاز به کد اضافی.

به همین سادگی و زیبایی! 😊

©️<CodeHub/>
#react

این کتابخونه‌های React به کارت میاد!
(پارت یک) 🚀

1 -🛠 فریم‌ورک‌های React


- اگه می‌خوای یه پروژه React با رندر سمت کاربر (client-rendered) درست کنی، بهترین انتخابت Vite هست که دیگه جاش رو به Create React App داده که قدیمی شده و دیگه استفاده نمی‌شه.

- اگه قصد داری یه پروژه React با رندر سمت سرور یا فول‌استک (full-stack) بسازی، Next.js بهترین و محبوب‌ترین فریم‌ورک فول‌استک برای React هست.

- اگه بعضی از ویژگی‌های Next.js برات سنگین و سخت به نظر میاد، یه جایگزین عالی برای ساخت سایت‌های داینامیک و استاتیک Remix هست.

- حالا اگه دنبال ساخت یه اپلیکیشن هستی که سریع لود بشه و بیشتر محتواش استاتیک باشه، Astro هم یه گزینه خیلی خوبه.

2 - 📦 مدیریت پکیج ها

برای نصب همه کتابخونه‌هایی که تو این راهنما گفته شده، نیاز به یه چیزی به اسم مدیر بسته (Package Manager) داری.‼️

- اگه Node.js رو نصب کرده باشی، که لازمه برای اینکه پروژه React رو روی کامپیوترت اجرا کنی، می‌تونی از NPM استفاده کنی که تو سال ۲۰۲۴ هم هنوز یه انتخاب عالیه. البته جایگزین‌های دیگه‌ای هم برای NPM اومده، مثل Yarn و PNPM.

- جدیدترین جایگزین که تو دنیای جاوا اسکریپت داره سریع محبوب می‌شه، Bun هست. Bun هم یه محیط اجرایی جاوااسکریپته مثل Node و هم یه مدیر بسته، و به عنوان یه جایگزین سریع‌تر برای Node و NPM معرفی شده.

©️<CodeHub/>
👍2
#CSS

شورتکات های استایل های css که میتونه به دردتون بخوره.

🔴<CodeHub/>
3
Forwarded from Yasha
همونطور که می‌دونید چند روز پیش ربات‌های ناشناس تلگرام هک شدن و همه متوجه ناامن بودنش شدیم. من و چند تا دیگه از بچه‌های کامیونیتی روی ربات پیام ناشناسی کار کردیم که می‌کنیم که اوپن‌سورسه، پیام‌ها رو با استفاده از الگوریتم‌های رمزنگاری End2End رمزشده جابجا می‌کنه و سرور قابلیت خوندن پیام‌ها رو نداره. تمام فرایند رمزنگاری رو سمت کلاینت انجام میده و سرور هیچ دخالتی توی مکانیزمش حتی نداره. این ربات الان توی مرحله تسته، ازتون می‌خوام که ربات رو تست کنید و نظرتون رو اعلام کنید.

🔗 @E2EChatbot
🔗 Source Code

برای حمایت از پروژه می‌تونید توی گیت‌هاب به ریپازیتوری استار بدید ⭐️ روی کدش مشارکت کنید، باگ‌ها رو گزارش کنید یا اینکه این پست رو به دیگران و افراد فنی صاحب نظر بفرستید تا دیده بشه و ما رو کمک‌مون کنن. 🤍

@Yasha
#Figma_Template

Figma Template: Restaurant

Difficulty : ⭐️⭐️

🔗Click for Get Link

🔴</CodeHub>
🔥1
🔸اگه یه زمانی خواستین برای پروژه های next داکیومنت بنویسین حتما یه نگاه به nextra بندازین میتونه واقعا خیلی عالی و تمیز کار رو واستون در بیاره.

🔴<CodeHub/>
#فکت

شاید فکر کنین برنامه نویسی کار راحتیه و حالا مثلا که چی!!! اما جالبه بدونین که در سال 1969 یك برنامه نویس با حذف یك خط فاصله در کد موشک مارینر موجب انفجار اون پس از بلند شدن از زمین شد و 630 میلیون دلار خسارت رو دست ناسا گذاشت و حدود 20 کارمند ناسا از دنیا رفتن😐

🔴 <CodeHub/>
👀4
🔸بیاید که یه بار برای همیشه این مشکل وسط گذاشتن دیو ها رو حل کنیم😂

تو این مقاله با جزییات هفت روش توضیح داده شده که در جاهای مختلف میتونه به کار بیاد.

🔗 https://www.joshwcomeau.com/css/center-a-div/

🔴 <CodeHub/>
#fun

همه چی با یه ریستارت حل میشه😂
🤣4
#Figma_Template

Figma Template: YourBank

Difficulty : ⭐️⭐️

🔗Click for Get Link

🔴</CodeHub>
🔥2
#fun

واقعا این چند روز بهم ثابت شده که کدی که کار میکنه کار میکنه دیگه مهم نیست چطوری 😂

🔴 <CodeHub/>
😁4
This media is not supported in your browser
VIEW IN TELEGRAM
#LoginForm

لاگین فرم از این جذاب تر میخواید ... ⁉️😍

سورسش رو زیر این پست تو چنل میزارم

💢 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
3