Syntax | سینتکس – Telegram
🔥 امشب میت داریم اونم چه میتی 🔥

امشب ساعت 9:30 توی گوگل میت قراره درباره این موارد حرف بزنیم:

Performance Optimizations & Tuning (DB, Code, UI)

RPS ( Requests per second)

Tradeoffs

Benchmarks meaning

JWT & Security

موضوع متینگ پرفورمنس و تریدآف

همچنین در خصوص معماری حرف میزنیم ،رویکردهای بهتر در کدنویسی.

طبق موضوعی که در گروه گفته شد درمورد JWT و امنیت توکن صحبت می کنیم.

و به احتمال زیاد یکی از دوستان درباره مقاله‌ی خودش که ثبت جهانی شده برامون میگه که در خصوص هوش مصنوعی و nlp هستش

حتما این میت رو شرکت کنید و از دستش ندید چون قراره کلی مطالب مفید یاد بگیریم

کانال اصلی برگزاری میت (حتما جوین شید):
https://news.1rj.ru/str/Code_Crafters

لینک میت ساعت نه و نیم توی این کانال قرار میگیره و منم میذارمش.

#میت

@citax_tel 👈 سیتاکس
🔥8👍4
دوست دارید تو میت هفته بعدی درباره چه موضوعی صحبت شه؟
تو کامنت بنویسید
👀6
Syntax | سینتکس
روشی که خودم برای حل این مشکل استفاده میکنم به این شکل است که اون آبجکت دیتابیس رو لاک میکنم تا تغییرات رو انجام بدم و بقیه ترد ها در اون لحظه دسترسی نداشته باشن. توی جنگجو به این صورت پیاده می شه. سوال: چرا من instance = cls.objects.select_for_update()…
جواب سوالی که تو این پست پرسیدم رو یکی از دوستان توی کامنت گفتن.

اما چرا orm چنین کاری رو انجام میده؟

دلیل اصلی این رفتار در بیشتر ORM‌ها، بهینه‌سازی عملکرد و کاهش تعداد کوئری‌های ارسالی به دیتابیس است.

زمانی که شما یک کوئری را در ORM می‌سازید، ORM آن را به صورت یک نمونه از یک کلاس مدل (Model) در نظر می‌گیرد. این کلاس مدل شامل اطلاعاتی است که برای انجام کوئری مورد نیاز است، مانند شرایط جستجو، مقادیر بروزرسانی و غیره. اما کوئری به صورت واقعی به دیتابیس ارسال نمی‌شود تا زمانی که شما درخواستی برای دستیابی به نتیجه کوئری داشته باشید.

به طور کلی، این رویکرد در ORM‌ها بهبود عملکرد، قابلیت تغییرپذیری و امنیت را بهبود می‌بخشد. با این حال، ممکن است در برخی موارد نیاز داشته باشید کوئری را فوراً به دیتابیس ارسال کنید، برخی ORM‌ها امکاناتی برای این منظور فراهم می‌کنند. به عنوان مثال، ممکن است بتوانید از متدی مانند .execute() در ORM استفاده کنید تا کوئری را بدون تأخیر ارسال کنید. همچنین، برخی ORM‌ها ممکن است حالت‌هایی برای اجرای فوری کوئری‌ها، مانند حالت تراکنش (Transaction)، ارائه دهند.

#orm

@citax_tel 👈 سیتاکس
👍6
Syntax | سینتکس
وضعیت شغلی شما
با توجه به اینکه خیلیا گفتن دنبال کاریم. میخوام که درباره ساخت رزومه تا گرفتن مصاحبه براتون ویدیو ظبط کنم و یه سری نکاتی که بلدم رو توضیح بدم.

تو بخش اول، رزومه رو درستش میکنیم و تو موقعیت های شغلی ای که در وب سایت های جابینجا و جاب ویژن هست، ارسال می کنیم.

تو بخش دوم ویدیو که یک الی دو هفته بعد ظبط میشه. با هم دیگه بازخوردی که دریافت کردیم رو بررسی میکنیم.

رزومه ای که درست میکنیم برای یک شخص جونیور (Python back end developer / Django) هست که میخواد تازه وارد بازار کار بشه پس نمونه کار و تجربه کاریه زیادی نداره

اگه نظری دارید خوشحال میشم درمیون بذارید تا قبل از ظبط بهش توجه کنم

@citax_tel 👈 سیتاکس
🔥13👍6
Forwarded from ELYAS
اگه کسی هستش که دنبال کار میگرده و سابقه حداقل ۱ ساله داره ما به یه نیرو توی شرکت برای بک اند نیاز داریم خوشحال میشم رزومه بفرسته تا با هم بیشتر در موردش صحبت کنیم
Forwarded from ELYAS
آگهی استخدام و فرصت های شغلی جدید در سراسر ایران | جاب‌ویژن
https://jobvision.ir/jobs/job-detail/526593?ReferrerJobPosition=8&row=53&pageSize=30&keyword=python&searchId=383013559661990286
Syntax | سینتکس
آگهی استخدام و فرصت های شغلی جدید در سراسر ایران | جاب‌ویژن https://jobvision.ir/jobs/job-detail/526593?ReferrerJobPosition=8&row=53&pageSize=30&keyword=python&searchId=383013559661990286
بچه ها این موقعیت شغلی رو یکی توی کامنت کانالمون گذاشته که بنظرم شرایطشون خوبه.
اگه به django تسلط دارید موقعیت خوبیه
🔥5
MQ

ام کیو در برنامه‌نویسی مخفف Message Queue است. Message Queue یک سیستم نرم‌افزاری است که برای ارسال و دریافت پیام‌ها بین مؤلفه‌های یک سیستم بکار می‌رود. این سیستم به مؤلفه‌ها اجازه می‌دهد تا با یکدیگر از طریق صف‌های پیام ارتباط برقرار کنند.

RabbitMQ:
یکی از نرم‌افزارهای محبوب Message Queue است که به عنوان یک سرویس بروکر پیام (Message Broker) عمل می‌کند. در RabbitMQ، برنامه‌ها می‌توانند پیام‌ها را به صف‌های پیام (Message Queue) ارسال کنند و برنامه‌های دیگر می‌توانند این پیام‌ها را از صف‌ها دریافت کنند و بر اساس آن‌ها عملیات خاصی را انجام دهند. این نوع سیستم‌ها برای مدیریت دسترسی به پیام‌ها، توزیع بار، قابلیت اطمینان و ارتباط بین برنامه‌های مختلف بسیار مفید است.

با استفاده از RabbitMQ و دیگر سیستم‌های MQ، برنامه‌ها می‌توانند به صورت ناهمزمان و مستقل از همدیگر کار کنند. برنامه‌ای که پیام را ارسال می‌کند، نیازی به انتظار برای پاسخ ندارد و می‌تواند ادامه کار خود را انجام دهد. برنامه‌های دریافت‌کننده نیز می‌توانند پیام‌ها را به ترتیب دریافت کنند و بر اساس نیاز خود عملیات مورد نظر را انجام دهند (برای مثال در ارسال ایمیل)

استفاده از سیستم‌های MQ می‌تواند در بسیاری از سناریوها مفید باشد، از جمله پردازش ناهمزمان، توازن بار، مدیریت خطا و ... ‌.

#MQ #rabbitmq

@citax_tel 👈 سیتاکس
👍9
برنامه (Citax Weekly) 🔥

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

جدا از این موارد دوست دارم روی یک سری مسائل دیگه مثل نحوه فعالیت در لینکدین، راه اندازی استارت اپ، مهاجرت و ... هم گفتگو کنیم.

برنامه بصورت پادکست، میت و وبینار برگزار میشه

اگه نظر و انتقادی دارید خوشحال میشم درمیون بذارید

#citax_weekly

@citax_tel 👈 سیتاکس
🔥10👍21
IMS

سیستم مدیریت هویت (Identity Management System) یا به اختصار IMS، یک نوع سیستم مدیریت است که برای مدیریت و کنترل هویت و دسترسی کاربران استفاده می‌شود.

به طور کلی، سیستم مدیریت هویت شامل موارد زیر است:

1. احراز هویت (Authentication): شناسایی و تأیید هویت کاربران با استفاده از اطلاعاتی مانند نام کاربری و رمز عبور، کارت هوشمند، اثر انگشت و یا سایر روش‌های تشخیص هویت.

2. مجوزدهی و کنترل دسترسی (Authorization and Access Control): تعیین سطح دسترسی کاربران به منابع و سیستم‌های مختلف بر اساس نقش و مسئولیت کاربر

3. مدیریت هویت (Identity Management): مدیریت و ثبت هویت کاربران، شامل ایجاد و حذف حساب کاربری، تغییرات مربوط به هویت کاربران و همچنین همگام‌سازی اطلاعات هویت در سیستم‌های مختلف.

4. سیاست و قوانین امنیتی (Security Policies and Compliance): تعیین سیاست‌ها و قوانین امنیتی برای حفاظت از اطلاعات حساس و اطمینان از رعایت استانداردها و قوانین مربوط به حفظ حریم خصوصی و امنیت اطلاعات

#IMS

@citax_tel 👈 سیتاکس
❤‍🔥7🔥2👍1
اقا من یچیزی میگم، تجربه شخصی منه. ممکنه اصلأ درست نباشه، ولی دارم ازش نتیجه میگیرم. شاید برای شماهم بدرد بخوره.

من دوره جنگو خیلی دیدم، کلی هم تمرینی پروژه زدم و گذاشتم رو گیتهاب.

به مدت ۱ سال و نیم هرروز داشتم جنگو مینوشتم و دوره جنگویی میدیدم.

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

مثلاً static file ها تو هرررر دوره ای که بگی داره توضیح داده میشه و ۲۰ دقیقه وقتت رو میگیرن. (حداقل).
ولی هیچکدوم عمیق کاور نمیکنن. نمیگن استتیک لودر چیه؟ چیکارا میکنه؟

الان برای یادگیری هر ابزاری، یه چنین کاری رو میکنم. خیلی بنظرم بهتر دارم یاد میگیرم:

قدم اول: یه کورس ویدیویی میبینم. کوتاه و مختصر درحدی که ببینم این فریمورک ساختارش چیه و چیکارا میکنه.

قدم دوم: توتوریالِ اون فریمورک رو از سایت رسمیش میخونم

قدم سوم: میرم داکشو میخونم 🤷‍♂.
اگر مثل fastapi‌ باشه، میرم همشو میخونم. اگر مثل جنگو زیاد باشه، صرفا سرفصل هاشو میبینم که یه مایندستی داشته باشم. بدونم جنگو اینکارارو هم میکنه.

بعدش پروژه تمرینی میزنم و هی اصلاحش میکنم.

شما ۲۰ تا کورس جنگو رو پشت سرهم ببینی، شاید یچیزایی یاد بگیری. مثلاً کاربرد تمپلیت تگ چیه، ولی هنوز ذهنیتش رو نداری که یه پروژه خوب بزنی.

حالا اگر بیای برای خودت سناریو تعریف کنی، و همون رو بخوای با جنگو بزنی، اینجاست که چالشی میشه!

مثلاً میخوای یه بخش otp بسازی و باهاش یوزر رو وریفای کنی.

میای ببینی خب من میتونم یکی ازین دو کار رو بکنم:

۱- یا یوزر رو بزارم تو کش، بعد وریفای شدن اینسرت کنم به دیتابیس اصلی

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

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

مثلاً کش کردن تو جنگو، استفاده از سلری تو جنگو و چیزای دیگه.
کلیی چیزم وسطش یاد میگیری.

حالا بعد یمدت میای ازین سناریو ایراد میگیری.
مثلاً میگی چرا نباید یوزر رو میریختم تو کش؟ ایا کار بهتریم بود؟

این سوالا تورو خیلی جلو میندازه. باعث میشه بری سرچ کنی، باز میری چیزای جدید یاد میگیری.

درکنار اینا کتاب و مقاله هم بخون.
مقاله ها خیلی کمک میکنن.
هم عمیق تر مسائل رو کاور میکنن،‌ هم مایندست بهت میده برای پیاده‌سازی سناریو های مختلف.

[Mohammad]

@khat_academy
👍19🌚1
Web

قراره درباره وب صحبت کنیم که زندگی بدون اون قابل تصور نیست.

اول از همه وب (Web) به چه معنیه ؟

وب (Web) به معنای جهانی شدن شبکه‌ای از اسناد مرتبط است که از طریق اینترنت قابل دسترسی هستش. این اسناد شامل صفحات وب، تصاویر، ویدئوها، فایل‌ها و منابع دیگری هستند که با استفاده از پروتکل‌های اینترنتی قابل مشاهده و دسترسی هستند. وب به عنوان یک سیستم اطلاعاتی و ارتباطی گسترده، به کاربران این امکان رو می‌ده تا اطلاعات رو به دست آورده، محتوا رو مشاهده و به اشتراک بذارن و با همدیگه در ارتباط باشن.

تو ادامه پست های امروز قراره بریم تو دل وب ...

#وب #web

@khat_academy
🔥6👍3
تاریخچه وب:

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

پیدایش وب:
در سال ۱۹۶۹، طرحی با نام ARPANET توسط وزارت دفاع آمریکا به منظور ارتباط بین شبکه‌های کامپیوتری توسعه یافت. این پروژه بزرگ، به عنوان پدربزرگ وب شناخته می‌شود. در سال ۱۹۷۱، ایمیل به عنوان یکی از اولین خدمات ارتباطی در ARPANET معرفی شد.

ظهور ایده وب:
تیمی به رهبری برنرز لی، در سوئیس، در دهه ۱۹۸۰ به فکر ایجاد یک سیستم اسناد مرتبط در قالب یک شبکه جهانی افتادند. این تیم در سال ۱۹۸۹ نسخه اولیه سیستم مدیریت اسناد وب را تحت عنوان "Enquire" ارائه دادند. این سیستم تلاشی برای ایجاد ارتباطات میان متن‌ها و پیوندهای آنها بود.

تولد وب:
تاریخ ۱۲ مارس ۱۹۸۹ به عنوان تاریخ تولد وب شناخته می‌شود. در این تاریخ، تیم برنرز لی برای اولین بار نسخه اولیه سیستم مدیریت اسناد وب را در دستگاه NeXT Computer خود اجرا کردند. این تجربه نخستین گام در راه تبدیل وب به یک پلتفرم جهانی بود.

تحول وب:
در دهه ۱۹۹۰، تحولات مهمی در وب رخ داد. در سال ۱۹۹۰، تیم برنرز لی به همراه رابرت کایلیا و تیمی از CERN، اولین مرورگر وب به نام WorldWideWeb را ارائه دادند. در سال ۱۹۹۳، مرورگر Mosaic به عنوان اولین مرورگر وب گرافیکی عمومی منتشر شد و باعث گسترش وب در بین کاربران غیرفنی شد.

شبکه جهانی و توسعه وب:
در سال ۱۹۹۴، تیم برنرز لی و World Wide Web Consortium (W3C) تاسیس شد که به منظور توسعه استانداردها و پروتکل‌های وب مشترک فعالیت می‌کند. ایجاد زبان HTML و پروتکل انتقال سند HTTP از جمله دستاوردهای این تیم است که به استاندارد‌سازی وب کمک کرد.

در سال‌های بعدی، با ظهور و استفاده گسترده از مرورگرهای وب مانند Internet Explorer و Netscape Navigator، استقبال عمومی از وب افزایش یافت. سپس با ظهور تکنولوژی‌های دینامیکی مانند JavaScript و فرمت‌های چندرسانه‌ای مانند Flash، وب تبدیل به یک بستر تعاملی و گویایی شد.

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

وب ۳.۰ و آینده وب:
از دهه ۲۰۱۰ به بعد، مفهوم وب ۳.۰ و اینترنت اشیاء (IoT) مطرح شد که به کاربردهای گسترده‌تری از تکنولوژی وب و ارتباط بین اشیاء اشاره دارد. با توسعه هوش مصنوعی، واقعیت مجازی و افزایش سرعت ارتباطات، وب به سمت یک شبکه بزرگتر، هوشمندتر و متصل‌تر در حال تحول هست.

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

#وب #web

@khat_academy
👍7
Web 1.0

عصر وب 1.0 یک فاز اولیه از توسعه وب است که در دهه 1990 میلادی شکل گرفت. در این دوره، وبسایت‌ها از طریق اتصال‌های اینترنتی ارتباط برقرار می‌کردند و اطلاعات به صورت اصولاً ثابت به کاربران ارائه می‌شد. در این سیستم، کاربران توانایی تعامل مستقیم با محتوا را نداشتند و صرفاً محتوای تعبیه شده در وبسایت‌ها را مشاهده می‌کردند.

وب 1.0 بیشتر بر اساس مدل مطالعه کننده-بازتاب‌دهنده عمل می‌کرد. کاربران توسط مرورگرها به وبسایت‌ها متصل می‌شدند و صفحات وب به صورت استاتیک برای آنها نمایش داده می‌شدند. این صفحات معمولاً شامل متن‌ها، تصاویر و لینک‌ها بودند و تعامل با آنها به حداقل می‌رسید. تغییرات کمی در محتوا صورت می‌گرفت و به صورت دستی توسط توسعه‌دهندگان انجام می‌شد(😱😱).

بیشتر وبسایت‌های دهه 1990 به صورت اطلاعاتی بودند و برای انتشار اخبار، اطلاعات تماس، محصولات و خدمات استفاده می‌شدند. برخی از وبسایت‌ها قادر به ارائه محتوای تعاملی نیز بودند، اما این تعاملات محدود به فرم‌ها و موارد ساده‌ای مانند ارسال فرم‌ها و ایمیل بود.

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

به طور کلی، عصر وب 1.0 فازی است که بر پایه ارائه اطلاعات ثابت برای کاربران ساخته شد. در این دوره، تعامل کمتری با کاربران بود و وبسایت‌ها اصولاً برای ارائه محتوا و اطلاعات به صورت یک‌طرفه استفاده می‌شدند. با ظهور فناوری‌های جدید و توسعه وب، عصر وب 1.0 به مرور به عصر وب 2.0 تکامل یافت و تعاملات بیشتری با کاربران فراهم آمد.

در عصر وب 1.0، وبسایت‌ها اصولاً از زبان HTML (اچ‌تی‌ام‌ال) برای توصیف و نمایش صفحات استفاده می‌کردند. همچنین، تکنولوژی‌هایی مانند CSS (برگهٔ استایل متصل) برای طراحی صفحات و جاوا اسکریپت برای اضافه کردن برخی از عناصر تعاملی مورد استفاده قرار می‌گرفتند، اما امکانات آنها محدود بود.

به طور خلاصه، عصر وب 1.0 مرحلهٔ ابتدایی توسعه وب بود که بر اساس ارائه اطلاعات ثابت برای کاربران تمرکز داشت. این دوره با وجود محدودیت‌ها، پایه‌های مهمی را برای توسعه وب بعدی فراهم کرده است و نشان از تکامل پیوستهٔ تکنولوژی وب دارد.

#وب #web

@khat_academy
👍6
چند تا مثال از ریخت وب تو زمون جنگ (Web 1.0)

نظرتون چیه ؟ بنظر من قدیما مردم خیلی بدبختی می‌کشیدن 😁

#وب #web

@khat_academy
😁7
Web 2.0

عصر وب 2.0، یک فاز پیشرفته از توسعه وب است که پس از عصر وب 1.0 شکل گرفت. در این دوره، وبسایت‌ها به شکلی تعاملی‌تر و کاربرگرایانه‌تر طراحی شدند و کاربران توانایی بیشتری در انتشار محتوا، تعامل با دیگر کاربران و شرکت در فعالیت‌های آنلاین را داشتند.

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

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

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

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

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

#وب #web

@khat_academy
👍7