برای اولین بار در لینکدین یکی اخراج شده و بدلایل:
- شروع فصل جدیدی از زندگیه حرفه ای
- کسب تجربیات جدید
- روبرو شدن با چالش های نو
- تصمیم به جدا شدن از شرکت قبلی
و ... دنبال کار نمیگرده.
#fun
@Syntax_fa
- شروع فصل جدیدی از زندگیه حرفه ای
- کسب تجربیات جدید
- روبرو شدن با چالش های نو
- تصمیم به جدا شدن از شرکت قبلی
و ... دنبال کار نمیگرده.
#fun
@Syntax_fa
😁5🤣3👍1
Syntax | سینتکس
برای اولین بار در لینکدین یکی اخراج شده و بدلایل: - شروع فصل جدیدی از زندگیه حرفه ای - کسب تجربیات جدید - روبرو شدن با چالش های نو - تصمیم به جدا شدن از شرکت قبلی و ... دنبال کار نمیگرده. #fun @Syntax_fa
چجوری تو لینکدین پستامون ویو خوبی بگیره؟
بعضیا میگن پستای لینکدینم اصلا ویو نمیگیره. حتی هیچکس منو تو لینکدین به انگشتشم نمیگیره یه لحظه رو ری اکشن بزنه.
خب تو این پست چند تا نکته رو با هم بررسی میکنیم تا تو لینکدین پیشرفت کنید:
عنوان شغلی:
نگو کارمند فروش😐 بگو استراتژیست تحول فروش جهانی😍
نگو برنامه نویس 😐 بگو مهندس معماری دیجیتال 😎
نگو گرافیست بگو نقاش رویا های شما
داستان های الهام بخش
یادت نره درباره چیزهایی که الهام بخش هستن بنویسی
مثلا:
روزی که یه خودکار رو پیدا کردم و زندگیم متحول شد!!
این موضوع چرتو هر کی ببینه میگه ببینم چی میگه
گزارش پیشرفت ها و مسیری که رفتید:
این مورد خیلی خوب ویو میخوره
مثلا:
از Hello worl تا روزی که در شرکت دارغوزآباد استخدام شدم
عکس حرفه ای و پرانرژی
نیشتو قشنگ باز کن بعد با یدونه دوربین حرفه ای عکس بگیر بذار پروفایل
تشکر از دیگران
تا جایی که میتونی برای بقیه بم.. یعنی ازشون تشکر کن
حتی یکی بهت فحش داد بگو تشکر میکنم بابت اظهار نظرتون
نقل قول های الهام بخش
برو تو گوگل سرچ کن«سخن بزرگان» بعد تو لینکدین پست کن.
ایراد گرفتن از بقیه
تا میتونی پست بذار بگو لینکدین اینستا نیست و لینکدین خیلی برنامه خاصیه فقط آدمای خاص میتونن توش فعالیت کنن
نکته خیلی مهم:
اگه پسرید تمامی این نکاتو بیخیال شید چون جواب نمیده
#fun
@Syntax_fa
بعضیا میگن پستای لینکدینم اصلا ویو نمیگیره. حتی هیچکس منو تو لینکدین به انگشتشم نمیگیره یه لحظه رو ری اکشن بزنه.
خب تو این پست چند تا نکته رو با هم بررسی میکنیم تا تو لینکدین پیشرفت کنید:
عنوان شغلی:
نگو کارمند فروش😐 بگو استراتژیست تحول فروش جهانی😍
نگو برنامه نویس 😐 بگو مهندس معماری دیجیتال 😎
نگو گرافیست بگو نقاش رویا های شما
داستان های الهام بخش
یادت نره درباره چیزهایی که الهام بخش هستن بنویسی
مثلا:
روزی که یه خودکار رو پیدا کردم و زندگیم متحول شد!!
این موضوع چرتو هر کی ببینه میگه ببینم چی میگه
گزارش پیشرفت ها و مسیری که رفتید:
این مورد خیلی خوب ویو میخوره
مثلا:
از Hello worl تا روزی که در شرکت دارغوزآباد استخدام شدم
عکس حرفه ای و پرانرژی
نیشتو قشنگ باز کن بعد با یدونه دوربین حرفه ای عکس بگیر بذار پروفایل
تشکر از دیگران
تا جایی که میتونی برای بقیه بم.. یعنی ازشون تشکر کن
حتی یکی بهت فحش داد بگو تشکر میکنم بابت اظهار نظرتون
نقل قول های الهام بخش
برو تو گوگل سرچ کن«سخن بزرگان» بعد تو لینکدین پست کن.
ایراد گرفتن از بقیه
تا میتونی پست بذار بگو لینکدین اینستا نیست و لینکدین خیلی برنامه خاصیه فقط آدمای خاص میتونن توش فعالیت کنن
نکته خیلی مهم:
اگه پسرید تمامی این نکاتو بیخیال شید چون جواب نمیده
#fun
@Syntax_fa
😁18👍2👎1👏1
🤣13👍1
سی شارپ کار ها وقتی برنامه نویس دیگه زبونارو میبینن
(نکنه زیرمجموعه گیریه مایکروسافت بهشون چیزی میده ما خبر نداریم!)
#fun
@Syntax_fa
(نکنه زیرمجموعه گیریه مایکروسافت بهشون چیزی میده ما خبر نداریم!)
#fun
@Syntax_fa
🤣29😁1
پستای این کانال با هشتگ
#domain_driven_design
رو دنبال کنید اگه دنبال آموزش ddd هستید «آقای بهزاد آزادی» در موردش کلی پست گذاشته
@code_crafters
#domain_driven_design
رو دنبال کنید اگه دنبال آموزش ddd هستید «آقای بهزاد آزادی» در موردش کلی پست گذاشته
@code_crafters
🔥11
Foreign Function Interface (FFI)
یک مکانیسم است که به ما اجازه می دهد تا از توابع و رویههای نوشته شده در زبانهای دیگه، تو زبان برنامه نویسی دیگه ای استفاده کنیم. این مکانیزم به برنامهنویسا این امکانو میده تا از قابلیتها و کارایی زبانهای دیگه در برنامههای خودمون استفاده کنیم.
استفاده از قدرت زبان راست در پایتون😏
راست یک زبان برنامهنویسی مدرن است که به دلیل کارایی بالا و ایمنی حافظه محبوبیت زیادی پیدا کرده است. ترکیب پایتون و راست به شما این امکان را میدهد که از مزایای هر دو زبان بهرهمند شوید: سادگی و قدرت کتابخانههای پایتون و کارایی بالای راست.
Pydantic
یک کتابخانه پایتونی برای مدیریت و اعتبارسنجی دادهها است که به دلیل استفاده از تایپها و انوتیشنهای (annotations) تایپینگ پایتون، کارایی و کاربرپسندی بالایی دارد. این کتابخانه با استفاده از راست (Rust) برای بهبود کارایی استفاده میکند.
Pydantic
پایدانتیک به شما اجازه میدهد تا مدلهای داده با تایپهای قوی بسازید و اعتبارسنجی دادهها را به صورت خودکار انجام دهید. این کتابخانه با استفاده از کتابخانه
استفاده از راست در پایدانتیک
پایدانتیک با استفاده از کتابخانههای راست مانند
rust-typed
برای اعتبارسنجی سریع دادهها استفاده میکند. این امر به Pydantic اجازه میدهد که با سرعت و کارایی بالا اعتبارسنجی دادهها را انجام دهد. استفاده از راست در Pydantic باعث شده که این کتابخانه بتواند حجم بالایی از دادهها را به سرعت پردازش کند.
پکیجهای دیگر که از راست استفاده میکنند
علاوه بر Pydantic، کتابخانههای دیگری نیز هستند که از راست برای بهبود کارایی استفاده میکنند. برخی از این کتابخانهها عبارتند از:
1. Polars:
یک کتابخانه سریع برای تحلیل دادهها که با استفاده از راست ساخته شده است.
2. PyO3:
یک کتابخانه برای نوشتن افزونههای پایتون با راست.
3. RustPython:
یک مفسر پایتون که به زبان راست نوشته شده است و به منظور اجرای کدهای پایتون با کارایی بالاتر طراحی شده است.
استفاده از راست در پایتون به شما امکان میدهد که از مزایای کارایی و ایمنی حافظه راست در کنار سادگی و قدرت پایتون بهرهبرداری کنید. Pydantic نمونهای عالی از این ترکیب موفق است که به شما اجازه میدهد مدلهای دادهای کارآمد و قابل اعتماد بسازید.
#FFI
@Syntax_fa
یک مکانیسم است که به ما اجازه می دهد تا از توابع و رویههای نوشته شده در زبانهای دیگه، تو زبان برنامه نویسی دیگه ای استفاده کنیم. این مکانیزم به برنامهنویسا این امکانو میده تا از قابلیتها و کارایی زبانهای دیگه در برنامههای خودمون استفاده کنیم.
استفاده از قدرت زبان راست در پایتون
راست یک زبان برنامهنویسی مدرن است که به دلیل کارایی بالا و ایمنی حافظه محبوبیت زیادی پیدا کرده است. ترکیب پایتون و راست به شما این امکان را میدهد که از مزایای هر دو زبان بهرهمند شوید: سادگی و قدرت کتابخانههای پایتون و کارایی بالای راست.
Pydantic
یک کتابخانه پایتونی برای مدیریت و اعتبارسنجی دادهها است که به دلیل استفاده از تایپها و انوتیشنهای (annotations) تایپینگ پایتون، کارایی و کاربرپسندی بالایی دارد. این کتابخانه با استفاده از راست (Rust) برای بهبود کارایی استفاده میکند.
Pydantic
پایدانتیک به شما اجازه میدهد تا مدلهای داده با تایپهای قوی بسازید و اعتبارسنجی دادهها را به صورت خودکار انجام دهید. این کتابخانه با استفاده از کتابخانه
rust-typed که یک موتور اعتبارسنجی سریع به زبان راست است، کارایی بالایی دارد.استفاده از راست در پایدانتیک
پایدانتیک با استفاده از کتابخانههای راست مانند
rust-typed
برای اعتبارسنجی سریع دادهها استفاده میکند. این امر به Pydantic اجازه میدهد که با سرعت و کارایی بالا اعتبارسنجی دادهها را انجام دهد. استفاده از راست در Pydantic باعث شده که این کتابخانه بتواند حجم بالایی از دادهها را به سرعت پردازش کند.
پکیجهای دیگر که از راست استفاده میکنند
علاوه بر Pydantic، کتابخانههای دیگری نیز هستند که از راست برای بهبود کارایی استفاده میکنند. برخی از این کتابخانهها عبارتند از:
1. Polars:
یک کتابخانه سریع برای تحلیل دادهها که با استفاده از راست ساخته شده است.
2. PyO3:
یک کتابخانه برای نوشتن افزونههای پایتون با راست.
3. RustPython:
یک مفسر پایتون که به زبان راست نوشته شده است و به منظور اجرای کدهای پایتون با کارایی بالاتر طراحی شده است.
استفاده از راست در پایتون به شما امکان میدهد که از مزایای کارایی و ایمنی حافظه راست در کنار سادگی و قدرت پایتون بهرهبرداری کنید. Pydantic نمونهای عالی از این ترکیب موفق است که به شما اجازه میدهد مدلهای دادهای کارآمد و قابل اعتماد بسازید.
#FFI
@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
یکی از سوال هایی که تو اکثر مصاحبه ها ازتون پرسیده میشه ☹️
(البته با خوندن این پست قرار نیست سوالات مصاحبه رو بخوبی جواب بدید😒
ولی میتونه بهتون دید بده تا بیشتر در خصوصش بخونید و یاد بگیرید)
درباره SQL و NoSQL بگو
SQL (Structured Query Language)
و
NoSQL (Not Only SQL)
دو نوع اصلی از سیستمهای مدیریت پایگاه داده (DBMS) هستند که هر یک دارای مزایا و معایب خود میباشند. تفاوتهای اصلی بین این دو شامل موارد زیر میشود:
تفاوتهای اصلی SQL و NoSQL
1. ساختار دادهها:
- SQL
: از جداول با ساختار ثابت استفاده میکند که در آنها دادهها به صورت سطرها و ستونها سازماندهی میشوند. این ساختار معمولاً نیازمند طراحی دقیق و پیشفرضی است.
- NoSQL:
انعطافپذیرتر است و میتواند از انواع مختلفی از مدلهای داده شامل سندی، ستونی، گرافی و مبتنی بر کلید-مقدار استفاده کند. این امر به راحتی در برخورد با دادههای غیرساختاریافته و تغییرپذیر کمک میکند.
2. زبان پرس و جو:
- SQL:
از یک زبان پرس و جوی ساختاریافته (SQL) استفاده میکند که استاندارد و ثابت است.
- NoSQL:
زبان پرس و جوی خاصی ندارد و هر سیستم NoSQL ممکن است از روشهای متفاوتی برای دسترسی و مدیریت دادهها استفاده کند.
3. نرمالسازی دادهها:
- SQL:
دادهها به صورت نرمال با روابط تعریفشده بین جداول ذخیره میشوند.
- NoSQL:
نرمالسازی کمتری دارد و دادهها به صورت غیرنرمال و بدون نیاز به روابط پیچیده ذخیره میشوند.
شرایط استفاده از SQL
1. پیچیدگی و انسجام دادهها:
- زمانی که دادهها دارای روابط پیچیده و متعددی هستند و نیاز به حفظ انسجام دادهها داریم، SQL انتخاب مناسبی است.
2. استانداردهای صنعتی:
- SQL
به دلیل سابقه طولانی و استاندارد بودن در بسیاری از صنایع و برنامهها مورد استفاده قرار میگیرد.
3. پشتیبانی تراکنشهای ACID:
- اگر برنامه نیاز به پشتیبانی از تراکنشهای اتمی، یکپارچه، ایزوله و پایدار (ACID) دارد، SQL بهترین انتخاب است.
شرایط استفاده از NoSQL
1. حجم بزرگ دادهها:
- در شرایطی که با حجم بزرگی از دادههای غیرساختاریافته یا نیمهساختاریافته روبهرو هستیم، NoSQL عملکرد بهتری دارد.
2. مقیاسپذیری بالا:
- اگر نیاز به مقیاسپذیری افقی و انعطافپذیری بیشتری داریم، NoSQL مناسبتر است.
3. سرعت بالا و تأخیر کم:
- برای برنامههایی که نیاز به سرعت بالا و تأخیر کم در خواندن و نوشتن دادهها دارند، NoSQL گزینه بهتری است.
دلایل استفاده از SQL
1. پایداری و قابلیت اعتماد:
- سیستمهای SQL به دلیل پایبندی به استانداردهای ACID و ساختار منظم، قابلیت اعتماد بالایی دارند.
2. ابزارهای تحلیلی و گزارشگیری قوی:
- وجود ابزارهای متنوع برای تحلیل و گزارشگیری دادهها SQL را به گزینهای مناسب برای تحلیلگران و مدیران داده تبدیل کرده است.
3. پشتیبانی گسترده و جامعه کاربری:
- به دلیل استفاده وسیع و سابقه طولانی، پشتیبانی و منابع زیادی برای حل مشکلات و یادگیری SQL وجود دارد.
دلایل استفاده از NoSQL
1. انعطافپذیری در مدل دادهها:
- NoSQL
اجازه میدهد دادهها به روشهای مختلفی ذخیره و مدیریت شوند که این امر برای برنامههای مختلف انعطافپذیری زیادی فراهم میکند.
2. سرعت و کارایی بالا:
- به دلیل ساختار غیرنرمال و مقیاسپذیری افقی، NoSQL میتواند عملیات را با سرعت بیشتری انجام دهد.
3. مدیریت دادههای متنوع:
- NoSQL
مناسب برای مدیریت دادههای متنوع و تغییرپذیر است که به سرعت در حال رشد و تغییر هستند.
به طور خلاصه، انتخاب بین SQL و NoSQL بستگی به نیازها و شرایط خاص هر پروژه دارد. SQL برای مواردی که نیاز به انسجام و یکپارچگی دادهها، تراکنشهای ACID و استانداردهای صنعتی است، مناسبتر است. در مقابل، NoSQL برای برنامههایی که نیاز به مقیاسپذیری بالا، انعطافپذیری در مدل دادهها و سرعت بالا دارند، گزینه بهتری محسوب میشود.
Written by chatgpt🍸
#sql #nosql
@Syntax_fa
(البته با خوندن این پست قرار نیست سوالات مصاحبه رو بخوبی جواب بدید
ولی میتونه بهتون دید بده تا بیشتر در خصوصش بخونید و یاد بگیرید)
درباره SQL و NoSQL بگو
SQL (Structured Query Language)
و
NoSQL (Not Only SQL)
دو نوع اصلی از سیستمهای مدیریت پایگاه داده (DBMS) هستند که هر یک دارای مزایا و معایب خود میباشند. تفاوتهای اصلی بین این دو شامل موارد زیر میشود:
تفاوتهای اصلی SQL و NoSQL
1. ساختار دادهها:
- SQL
: از جداول با ساختار ثابت استفاده میکند که در آنها دادهها به صورت سطرها و ستونها سازماندهی میشوند. این ساختار معمولاً نیازمند طراحی دقیق و پیشفرضی است.
- NoSQL:
انعطافپذیرتر است و میتواند از انواع مختلفی از مدلهای داده شامل سندی، ستونی، گرافی و مبتنی بر کلید-مقدار استفاده کند. این امر به راحتی در برخورد با دادههای غیرساختاریافته و تغییرپذیر کمک میکند.
2. زبان پرس و جو:
- SQL:
از یک زبان پرس و جوی ساختاریافته (SQL) استفاده میکند که استاندارد و ثابت است.
- NoSQL:
زبان پرس و جوی خاصی ندارد و هر سیستم NoSQL ممکن است از روشهای متفاوتی برای دسترسی و مدیریت دادهها استفاده کند.
3. نرمالسازی دادهها:
- SQL:
دادهها به صورت نرمال با روابط تعریفشده بین جداول ذخیره میشوند.
- NoSQL:
نرمالسازی کمتری دارد و دادهها به صورت غیرنرمال و بدون نیاز به روابط پیچیده ذخیره میشوند.
شرایط استفاده از SQL
1. پیچیدگی و انسجام دادهها:
- زمانی که دادهها دارای روابط پیچیده و متعددی هستند و نیاز به حفظ انسجام دادهها داریم، SQL انتخاب مناسبی است.
2. استانداردهای صنعتی:
- SQL
به دلیل سابقه طولانی و استاندارد بودن در بسیاری از صنایع و برنامهها مورد استفاده قرار میگیرد.
3. پشتیبانی تراکنشهای ACID:
- اگر برنامه نیاز به پشتیبانی از تراکنشهای اتمی، یکپارچه، ایزوله و پایدار (ACID) دارد، SQL بهترین انتخاب است.
شرایط استفاده از NoSQL
1. حجم بزرگ دادهها:
- در شرایطی که با حجم بزرگی از دادههای غیرساختاریافته یا نیمهساختاریافته روبهرو هستیم، NoSQL عملکرد بهتری دارد.
2. مقیاسپذیری بالا:
- اگر نیاز به مقیاسپذیری افقی و انعطافپذیری بیشتری داریم، NoSQL مناسبتر است.
3. سرعت بالا و تأخیر کم:
- برای برنامههایی که نیاز به سرعت بالا و تأخیر کم در خواندن و نوشتن دادهها دارند، NoSQL گزینه بهتری است.
دلایل استفاده از SQL
1. پایداری و قابلیت اعتماد:
- سیستمهای SQL به دلیل پایبندی به استانداردهای ACID و ساختار منظم، قابلیت اعتماد بالایی دارند.
2. ابزارهای تحلیلی و گزارشگیری قوی:
- وجود ابزارهای متنوع برای تحلیل و گزارشگیری دادهها SQL را به گزینهای مناسب برای تحلیلگران و مدیران داده تبدیل کرده است.
3. پشتیبانی گسترده و جامعه کاربری:
- به دلیل استفاده وسیع و سابقه طولانی، پشتیبانی و منابع زیادی برای حل مشکلات و یادگیری SQL وجود دارد.
دلایل استفاده از NoSQL
1. انعطافپذیری در مدل دادهها:
- NoSQL
اجازه میدهد دادهها به روشهای مختلفی ذخیره و مدیریت شوند که این امر برای برنامههای مختلف انعطافپذیری زیادی فراهم میکند.
2. سرعت و کارایی بالا:
- به دلیل ساختار غیرنرمال و مقیاسپذیری افقی، NoSQL میتواند عملیات را با سرعت بیشتری انجام دهد.
3. مدیریت دادههای متنوع:
- NoSQL
مناسب برای مدیریت دادههای متنوع و تغییرپذیر است که به سرعت در حال رشد و تغییر هستند.
به طور خلاصه، انتخاب بین SQL و NoSQL بستگی به نیازها و شرایط خاص هر پروژه دارد. SQL برای مواردی که نیاز به انسجام و یکپارچگی دادهها، تراکنشهای ACID و استانداردهای صنعتی است، مناسبتر است. در مقابل، NoSQL برای برنامههایی که نیاز به مقیاسپذیری بالا، انعطافپذیری در مدل دادهها و سرعت بالا دارند، گزینه بهتری محسوب میشود.
Written by chatgpt
#sql #nosql
@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
پورت صفر:
در مفاهیم شبکه و ارتباطات، پورت 0 یک پورت خاص است و به عنوان پورت "رزرو شده" شناخته میشود. وقتی به یک برنامه یا سرویس شبکه نیاز دارید تا به یک پورت خاص متصل شود، میتوانید از یک شماره پورت عددی استفاده کنید. پورتها از اعداد صحیح بین 0 تا 65535 تشکیل شدهاند.
وقتی یک برنامه یا سرویس به پورت 0 متصل میشود، این به معنای این است که برنامه یا سرویس مورد نظر، سیستم عامل را مکلف میکند یک پورت آزاد و در دسترس را به آن اختصاص دهد.
به عنوان مثال، در برنامهنویسی شبکه، وقتی یک سوکت (socket) برای برقراری ارتباط با سروری فراخوانی میشود و شماره پورت آن را برابر با 0 قرار میدهید، سیستم عامل یک پورت آزاد را به برنامه اختصاص میدهد و برنامه میتواند آن را برای ارتباط استفاده کند.
استفاده از پورت 0 معمولاً برای برنامههایی است که نمیخواهند به طور صریح پورت خاصی را انتخاب کنند، به سیستم اجازه میدهند یک پورت خالی را برایشان انتخاب کند.
برای مثال توی جنگو اگه بنویسید runserver 0 بصورت رندوم یک پورت خالی رو انتخاب می کنه.
#zero_port
@Syntax_fa
در مفاهیم شبکه و ارتباطات، پورت 0 یک پورت خاص است و به عنوان پورت "رزرو شده" شناخته میشود. وقتی به یک برنامه یا سرویس شبکه نیاز دارید تا به یک پورت خاص متصل شود، میتوانید از یک شماره پورت عددی استفاده کنید. پورتها از اعداد صحیح بین 0 تا 65535 تشکیل شدهاند.
وقتی یک برنامه یا سرویس به پورت 0 متصل میشود، این به معنای این است که برنامه یا سرویس مورد نظر، سیستم عامل را مکلف میکند یک پورت آزاد و در دسترس را به آن اختصاص دهد.
به عنوان مثال، در برنامهنویسی شبکه، وقتی یک سوکت (socket) برای برقراری ارتباط با سروری فراخوانی میشود و شماره پورت آن را برابر با 0 قرار میدهید، سیستم عامل یک پورت آزاد را به برنامه اختصاص میدهد و برنامه میتواند آن را برای ارتباط استفاده کند.
استفاده از پورت 0 معمولاً برای برنامههایی است که نمیخواهند به طور صریح پورت خاصی را انتخاب کنند، به سیستم اجازه میدهند یک پورت خالی را برایشان انتخاب کند.
برای مثال توی جنگو اگه بنویسید runserver 0 بصورت رندوم یک پورت خالی رو انتخاب می کنه.
#zero_port
@Syntax_fa
👍10👌1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👎2🔥2👍1
Syntax | سینتکس
مهندس نرم افزاره مدیر عامل شرکتشو سر پرداخت نکردن حقوقش کشته 🫠 #fun @Syntax_fa
اگه کارفرمایی
ری اکشنارو میبینی؟
به خودت بیا مرد/زن
وگرنه «شاید برای شما هم اتفاق بیوفتد»🔪
ری اکشنارو میبینی؟
به خودت بیا مرد/زن
وگرنه «شاید برای شما هم اتفاق بیوفتد»
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19👌5
Serialization و Encoding
Serialization
سریالیزیشن فرآیندی است که طی آن یک شیء (object) در حافظه به یک فرمت قابل حمل تبدیل میشود تا بتوان آن را ذخیره کرد یا از طریق شبکه ارسال نمود. این فرایند شامل تبدیل وضعیت (state) یک شیء به یک رشته بایت (byte stream) است که میتواند بعداً deserialized شود تا شیء اصلی بازیابی شود.
موارد استفاده از Serialization:
- ذخیرهسازی پایدار: برای ذخیرهسازی اشیاء در فایلها یا پایگاه دادهها به طوری که بتوان بعداً آنها را بازیابی کرد.
- انتقال دادهها: برای ارسال اشیاء بین سیستمهای مختلف از طریق شبکه، مثلاً در پروتکلهای ارتباطی یا وب سرویسها.
- کپی عمیق (Deep Copy): برای ایجاد نسخهای دقیق از یک شیء.
فرمتهای متداول Serialization:
- JSON: یک فرمت متنی سبک که برای تبادل دادهها بین سرور و وب مناسب است.
- XML: یک فرمت متنی که برای ذخیره و انتقال دادهها استفاده میشود و بیشتر در سیستمهای سازمانی کاربرد دارد.
- Protocol Buffers: یک فرمت باینری کارآمد و فشرده که توسط گوگل توسعه یافته است.
- Avro: یک فرمت باینری که توسط Apache برای استفاده در سیستمهای بزرگ دادهای توسعه یافته است.
Encoding
فرآیندی است که طی آن دادهها به یک فرمت خاص تبدیل میشوند تا قادر به انتقال یا ذخیرهسازی باشند. این فرایند میتواند شامل تبدیل دادههای متنی به یک فرمت باینری خاص یا تبدیل دادههای باینری به یک فرمت متنی باشد.
موارد استفاده از Encoding:
- انتقال دادهها: برای اطمینان از اینکه دادهها به درستی از طریق شبکه منتقل میشوند.
- ذخیرهسازی دادهها: برای اطمینان از اینکه دادهها به درستی در فایلها یا پایگاه دادهها ذخیره میشوند.
- نمایش دادهها: برای تبدیل دادهها به فرمتی که قابل نمایش یا چاپ باشد.
فرمتهای متداول Encoding:
- UTF-8: یک فرمت متنی که برای رمزگذاری کاراکترهای یونیکد استفاده میشود.
- Base64: یک فرمت متنی که برای رمزگذاری دادههای باینری استفاده میشود به طوری که بتوان آنها را در متنهای ASCII ذخیره یا انتقال داد.
تفاوت بین Serialization و Encoding
1. هدف:
- Serialization: هدف اصلی serialization تبدیل یک شیء به یک فرم قابل حمل است که بتوان آن را ذخیره یا منتقل کرد و سپس دوباره به شیء اصلی تبدیل نمود.
- Encoding: هدف اصلی encoding تبدیل دادهها به یک فرمتی است که قابل انتقال، ذخیره یا نمایش باشد.
2. نوع دادهها:
- Serialization: معمولاً شامل تبدیل اشیاء پیچیده و دادههای ساختاریافته به یک رشته بایت است.
- Encoding: معمولاً شامل تبدیل دادههای متنی یا باینری به یک فرمت خاص برای انتقال یا ذخیرهسازی است.
3. فرایند معکوس:
- Serialization: فرایند معکوس serialization، deserialization نامیده میشود که طی آن رشته بایت به شیء اصلی تبدیل میشود.
- Encoding: فرایند معکوس encoding به decoding معروف است که طی آن دادههای رمزگذاری شده به فرم اولیه خود بازگردانده میشوند.
4. سطح کاربرد:
- Serialization: بیشتر در سطح برنامهنویسی و برای انتقال اشیاء بین سیستمها و ذخیرهسازی پایدار استفاده میشود.
- Encoding: بیشتر در سطح شبکه و انتقال دادهها و برای اطمینان از اینکه دادهها به درستی منتقل یا ذخیره میشوند استفاده میشود.
#encoding #serialization
@Syntax_fa
Serialization
سریالیزیشن فرآیندی است که طی آن یک شیء (object) در حافظه به یک فرمت قابل حمل تبدیل میشود تا بتوان آن را ذخیره کرد یا از طریق شبکه ارسال نمود. این فرایند شامل تبدیل وضعیت (state) یک شیء به یک رشته بایت (byte stream) است که میتواند بعداً deserialized شود تا شیء اصلی بازیابی شود.
موارد استفاده از Serialization:
- ذخیرهسازی پایدار: برای ذخیرهسازی اشیاء در فایلها یا پایگاه دادهها به طوری که بتوان بعداً آنها را بازیابی کرد.
- انتقال دادهها: برای ارسال اشیاء بین سیستمهای مختلف از طریق شبکه، مثلاً در پروتکلهای ارتباطی یا وب سرویسها.
- کپی عمیق (Deep Copy): برای ایجاد نسخهای دقیق از یک شیء.
فرمتهای متداول Serialization:
- JSON: یک فرمت متنی سبک که برای تبادل دادهها بین سرور و وب مناسب است.
- XML: یک فرمت متنی که برای ذخیره و انتقال دادهها استفاده میشود و بیشتر در سیستمهای سازمانی کاربرد دارد.
- Protocol Buffers: یک فرمت باینری کارآمد و فشرده که توسط گوگل توسعه یافته است.
- Avro: یک فرمت باینری که توسط Apache برای استفاده در سیستمهای بزرگ دادهای توسعه یافته است.
Encoding
فرآیندی است که طی آن دادهها به یک فرمت خاص تبدیل میشوند تا قادر به انتقال یا ذخیرهسازی باشند. این فرایند میتواند شامل تبدیل دادههای متنی به یک فرمت باینری خاص یا تبدیل دادههای باینری به یک فرمت متنی باشد.
موارد استفاده از Encoding:
- انتقال دادهها: برای اطمینان از اینکه دادهها به درستی از طریق شبکه منتقل میشوند.
- ذخیرهسازی دادهها: برای اطمینان از اینکه دادهها به درستی در فایلها یا پایگاه دادهها ذخیره میشوند.
- نمایش دادهها: برای تبدیل دادهها به فرمتی که قابل نمایش یا چاپ باشد.
فرمتهای متداول Encoding:
- UTF-8: یک فرمت متنی که برای رمزگذاری کاراکترهای یونیکد استفاده میشود.
- Base64: یک فرمت متنی که برای رمزگذاری دادههای باینری استفاده میشود به طوری که بتوان آنها را در متنهای ASCII ذخیره یا انتقال داد.
تفاوت بین Serialization و Encoding
1. هدف:
- Serialization: هدف اصلی serialization تبدیل یک شیء به یک فرم قابل حمل است که بتوان آن را ذخیره یا منتقل کرد و سپس دوباره به شیء اصلی تبدیل نمود.
- Encoding: هدف اصلی encoding تبدیل دادهها به یک فرمتی است که قابل انتقال، ذخیره یا نمایش باشد.
2. نوع دادهها:
- Serialization: معمولاً شامل تبدیل اشیاء پیچیده و دادههای ساختاریافته به یک رشته بایت است.
- Encoding: معمولاً شامل تبدیل دادههای متنی یا باینری به یک فرمت خاص برای انتقال یا ذخیرهسازی است.
3. فرایند معکوس:
- Serialization: فرایند معکوس serialization، deserialization نامیده میشود که طی آن رشته بایت به شیء اصلی تبدیل میشود.
- Encoding: فرایند معکوس encoding به decoding معروف است که طی آن دادههای رمزگذاری شده به فرم اولیه خود بازگردانده میشوند.
4. سطح کاربرد:
- Serialization: بیشتر در سطح برنامهنویسی و برای انتقال اشیاء بین سیستمها و ذخیرهسازی پایدار استفاده میشود.
- Encoding: بیشتر در سطح شبکه و انتقال دادهها و برای اطمینان از اینکه دادهها به درستی منتقل یا ذخیره میشوند استفاده میشود.
#encoding #serialization
@Syntax_fa
👍9❤1👎1
Syntax | سینتکس
Serialization و Encoding Serialization سریالیزیشن فرآیندی است که طی آن یک شیء (object) در حافظه به یک فرمت قابل حمل تبدیل میشود تا بتوان آن را ذخیره کرد یا از طریق شبکه ارسال نمود. این فرایند شامل تبدیل وضعیت (state) یک شیء به یک رشته بایت (byte stream)…
توضیحات ساده تر
مفهوم serialization و encoding گاهی ممکن است کمی گیجکننده باشد، خصوصاً زمانی که صحبت از تبدیل دادهها به فرمتهای مختلف میشود. بیاید یک مثال بزنیم:
تبدیل دیکشنری به JSON
زمانی که یک دیکشنری (یا هر ساختار دادهای دیگر) را به JSON تبدیل میکنیم، این عملیات serialization نام دارد. در این فرآیند، دادههای ساختاریافته به یک رشته متنی تبدیل میشوند. این رشته متنی، نمایشی از دادههای اصلی است که در حافظه برنامه وجود دارد.
JSON به عنوان Byte Array
درست است که هر رشته متنی (مانند JSON) در نهایت به صورت بایتها (byte array) در حافظه ذخیره میشود، اما این تبدیل به طور ضمنی توسط سیستم انجام میشود. یعنی، وقتی ما یک دیکشنری را به JSON تبدیل میکنیم، نتیجه یک رشته متنی (string) است که در حافظه به صورت بایتها ذخیره میشود. این رشته متنی را میتوانیم به یک فایل ذخیره کنیم یا از طریق شبکه ارسال کنیم.
تفاوت بین Serialization و Encoding
- Serialization: فرایندی است که دادههای ساختاریافته را به یک فرمت قابل انتقال یا ذخیرهسازی (مانند JSON یا XML) تبدیل میکند. این عملیات معمولاً شامل تبدیل دادههای پیچیده به رشتههای متنی یا باینری است. هدف از serialization این است که دادهها را به شکلی تبدیل کنیم که بتوان آنها را ذخیره کرد یا از طریق شبکه انتقال داد.
- Encoding: فرایندی است که دادهها را به یک فرمت خاص برای انتقال یا ذخیرهسازی تبدیل میکند. این ممکن است شامل تبدیل دادههای متنی یا باینری به یک فرمت دیگر باشد. برای مثال، تبدیل یک رشته JSON به Base64 یک عملیات encoding است.
پس
زمانی که دیکشنری را به JSON تبدیل میکنیم، نتیجه یک رشته متنی است. این رشته متنی به طور ضمنی به بایتها تبدیل میشود زیرا رشتهها در حافظه به صورت بایتها ذخیره میشوند. اما این تبدیل به بایتها به معنای encoding نیست.
چرا این تبدیل encoding نیست؟
- Serialization: زمانی که دیکشنری را به JSON تبدیل میکنیم، این عملیات serialization است زیرا ما دادههای ساختاریافته را به یک فرمت متنی (JSON) تبدیل کردهایم.
- Encoding: اگر بخواهیم این JSON را به فرمت دیگری (مانند Base64) تبدیل کنیم تا برای انتقال مناسبتر باشد، این عملیات encoding است.
مثال
1. Serialization:
- دیکشنری را به JSON تبدیل میکنیم.
- نتیجه: یک رشته متنی (مثلاً
2. Encoding:
- JSON را به Base64 تبدیل میکنیم.
- نتیجه: یک رشته متنی دیگر که نمایشی از دادههای اصلی است (مثلاً
#serialization #encoding
@Syntax_fa
مفهوم serialization و encoding گاهی ممکن است کمی گیجکننده باشد، خصوصاً زمانی که صحبت از تبدیل دادهها به فرمتهای مختلف میشود. بیاید یک مثال بزنیم:
تبدیل دیکشنری به JSON
زمانی که یک دیکشنری (یا هر ساختار دادهای دیگر) را به JSON تبدیل میکنیم، این عملیات serialization نام دارد. در این فرآیند، دادههای ساختاریافته به یک رشته متنی تبدیل میشوند. این رشته متنی، نمایشی از دادههای اصلی است که در حافظه برنامه وجود دارد.
JSON به عنوان Byte Array
درست است که هر رشته متنی (مانند JSON) در نهایت به صورت بایتها (byte array) در حافظه ذخیره میشود، اما این تبدیل به طور ضمنی توسط سیستم انجام میشود. یعنی، وقتی ما یک دیکشنری را به JSON تبدیل میکنیم، نتیجه یک رشته متنی (string) است که در حافظه به صورت بایتها ذخیره میشود. این رشته متنی را میتوانیم به یک فایل ذخیره کنیم یا از طریق شبکه ارسال کنیم.
تفاوت بین Serialization و Encoding
- Serialization: فرایندی است که دادههای ساختاریافته را به یک فرمت قابل انتقال یا ذخیرهسازی (مانند JSON یا XML) تبدیل میکند. این عملیات معمولاً شامل تبدیل دادههای پیچیده به رشتههای متنی یا باینری است. هدف از serialization این است که دادهها را به شکلی تبدیل کنیم که بتوان آنها را ذخیره کرد یا از طریق شبکه انتقال داد.
- Encoding: فرایندی است که دادهها را به یک فرمت خاص برای انتقال یا ذخیرهسازی تبدیل میکند. این ممکن است شامل تبدیل دادههای متنی یا باینری به یک فرمت دیگر باشد. برای مثال، تبدیل یک رشته JSON به Base64 یک عملیات encoding است.
پس
زمانی که دیکشنری را به JSON تبدیل میکنیم، نتیجه یک رشته متنی است. این رشته متنی به طور ضمنی به بایتها تبدیل میشود زیرا رشتهها در حافظه به صورت بایتها ذخیره میشوند. اما این تبدیل به بایتها به معنای encoding نیست.
چرا این تبدیل encoding نیست؟
- Serialization: زمانی که دیکشنری را به JSON تبدیل میکنیم، این عملیات serialization است زیرا ما دادههای ساختاریافته را به یک فرمت متنی (JSON) تبدیل کردهایم.
- Encoding: اگر بخواهیم این JSON را به فرمت دیگری (مانند Base64) تبدیل کنیم تا برای انتقال مناسبتر باشد، این عملیات encoding است.
مثال
1. Serialization:
- دیکشنری را به JSON تبدیل میکنیم.
- نتیجه: یک رشته متنی (مثلاً
{"key": "value"}).2. Encoding:
- JSON را به Base64 تبدیل میکنیم.
- نتیجه: یک رشته متنی دیگر که نمایشی از دادههای اصلی است (مثلاً
eyJrZXkiOiAidmFsdWUifQ==).#serialization #encoding
@Syntax_fa
👍6❤2
Syntax | سینتکس
توضیحات ساده تر مفهوم serialization و encoding گاهی ممکن است کمی گیجکننده باشد، خصوصاً زمانی که صحبت از تبدیل دادهها به فرمتهای مختلف میشود. بیاید یک مثال بزنیم: تبدیل دیکشنری به JSON زمانی که یک دیکشنری (یا هر ساختار دادهای دیگر) را به JSON تبدیل…
من هنوز فکر میکنم توضیح بیشتر نیازه ولی این دیگه آخریشه 😂
پس میشه گفت encoding زمانی اتفاق می افتد که یک byte array را به یک فرمت دیگه از byte array تبدیل کنیم ؟
دقیقاً. Encoding فرایندی است که طی آن یک byte array (آرایه ای از بایت ها) به یک فرمت دیگر از byte array تبدیل میشود. هدف از encoding معمولاً این است که دادهها به شکلی تبدیل شوند که برای انتقال، ذخیرهسازی یا نمایش آسانتر یا امنتر باشند.
توضیح بیشتر با مثال
مثال 1:
Base64 Encoding
یک روش encoding است که دادههای باینری را به یک رشته متنی تبدیل میکند که شامل تنها کاراکترهای قابل چاپ (A-Z، a-z، 0-9، +، /) است. این روش معمولاً برای انتقال دادههای باینری به صورت متنی در پروتکلهایی مانند HTTP یا ایمیل استفاده میشود.
#### مثال 2: URL Encoding
URL encoding (یا percent encoding)
فرایندی است که طی آن کاراکترهای خاص در یک URL به یک فرمت خاص تبدیل میشوند که برای انتقال از طریق URL مناسب باشد.
#encoding
@Syntax_fa
پس میشه گفت encoding زمانی اتفاق می افتد که یک byte array را به یک فرمت دیگه از byte array تبدیل کنیم ؟
دقیقاً. Encoding فرایندی است که طی آن یک byte array (آرایه ای از بایت ها) به یک فرمت دیگر از byte array تبدیل میشود. هدف از encoding معمولاً این است که دادهها به شکلی تبدیل شوند که برای انتقال، ذخیرهسازی یا نمایش آسانتر یا امنتر باشند.
توضیح بیشتر با مثال
مثال 1:
Base64 Encoding
یک روش encoding است که دادههای باینری را به یک رشته متنی تبدیل میکند که شامل تنها کاراکترهای قابل چاپ (A-Z، a-z، 0-9، +، /) است. این روش معمولاً برای انتقال دادههای باینری به صورت متنی در پروتکلهایی مانند HTTP یا ایمیل استفاده میشود.
import base64
data = b'This is some binary data.'
encoded_data = base64.b64encode(data)
print(encoded_data) # Output: b'VGhpcyBpcyBzb21lIGJpbmFyeSBkYXRhLg=='
# Decoding
decoded_data = base64.b64decode(encoded_data)
print(decoded_data) # Output: b'This is some binary data.'
#### مثال 2: URL Encoding
URL encoding (یا percent encoding)
فرایندی است که طی آن کاراکترهای خاص در یک URL به یک فرمت خاص تبدیل میشوند که برای انتقال از طریق URL مناسب باشد.
import urllib.parse
data = 'This is a string with spaces and symbols: !@#'
encoded_data = urllib.parse.quote(data)
print(encoded_data) # Output: 'This%20is%20a%20string%20with%20spaces%20and%20symbols%3A%20%21%40%23'
# Decoding
decoded_data = urllib.parse.unquote(encoded_data)
print(decoded_data) # Output: 'This is a string with spaces and symbols: !@#'
#encoding
@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
یه روش آوردم صد درصد جوابه💅
میگه:
هربار که یه سوال برنامه نویسی دارم که بدجور به کمک نیاز دارم. میرم تو ردیت پستش میکنم بعد با یه اکانت دیگه یه جواب خیلی پرت میدم.
ملت براشون مهم نیست کمک کنن ولی خیلی دوست دارن جواب اشتباهو تصحیح کنن
#fun
@Syntax_fa
میگه:
هربار که یه سوال برنامه نویسی دارم که بدجور به کمک نیاز دارم. میرم تو ردیت پستش میکنم بعد با یه اکانت دیگه یه جواب خیلی پرت میدم.
ملت براشون مهم نیست کمک کنن ولی خیلی دوست دارن جواب اشتباهو تصحیح کنن
#fun
@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣30👍7
خب من بعد مدتها تصمیم گرفتم یه پست بذارم و اونم نتیجه یه تجربه که شاید خیلیا مث من دوس دارن چیزای جدید و بروز رو استفاده کنن.
من روی سیستم شرکت از اوبونتو ۲۳.۰۴ فردای روزی که نسخه lts جدید اومد اپگرید کردم به ۲۴.۰۴ و باگای عجیبی رو دیدم که کافر نبینه و مسلمون نشنوه.
از مصرف زیادی منابع تا پر شدن خیلی سریع حافظه تا اخرین بایت ممکن بخاطر لاگ سیستمی.
ریپورت باگ زدم و بهم توصیه کردن از مطالب فوروم اوبونتو کمک بگیرم :(
باگ عجیبترش این بود که وقتی یه برنامه ای رو مکسیمایز میکردی، حدود یک سوم از صفحه که میشد سمت راست صفحه رو نمیشد با موس انتخاب و کلیک کرد :|
با اپدیت های متوالی هم درست نشد و مجبور شدم حدود یه ماه باهاش سر کنم یه جوری و بیشتر کارامو به سیستم ویندوزی کنم تا سر فرصت داونگرید کنم.
دیروز هم اپدیت ۳۰۰ مگابایتی اومد براش، نصب کردم و دیدم اوکی شده مشکلاتش (بجز حجم زیاد لاگ تولیدی که با روشایی که قبلا لاگ رو لیمیت میکردم جواب نداد)
و کلام اخر اینکه اگه میخواید حدودا بدونید چه زمانی مناسبه که به اوبونتو جدید اپگرید کنید، به نظرم زمانی که مینت میخواد نسخه جدید بده زمان مناسبیه (چون مینت بر پایه اوبونتو هستش).
و من الله توفیق...
@Syntax_fa
من روی سیستم شرکت از اوبونتو ۲۳.۰۴ فردای روزی که نسخه lts جدید اومد اپگرید کردم به ۲۴.۰۴ و باگای عجیبی رو دیدم که کافر نبینه و مسلمون نشنوه.
از مصرف زیادی منابع تا پر شدن خیلی سریع حافظه تا اخرین بایت ممکن بخاطر لاگ سیستمی.
ریپورت باگ زدم و بهم توصیه کردن از مطالب فوروم اوبونتو کمک بگیرم :(
باگ عجیبترش این بود که وقتی یه برنامه ای رو مکسیمایز میکردی، حدود یک سوم از صفحه که میشد سمت راست صفحه رو نمیشد با موس انتخاب و کلیک کرد :|
با اپدیت های متوالی هم درست نشد و مجبور شدم حدود یه ماه باهاش سر کنم یه جوری و بیشتر کارامو به سیستم ویندوزی کنم تا سر فرصت داونگرید کنم.
دیروز هم اپدیت ۳۰۰ مگابایتی اومد براش، نصب کردم و دیدم اوکی شده مشکلاتش (بجز حجم زیاد لاگ تولیدی که با روشایی که قبلا لاگ رو لیمیت میکردم جواب نداد)
و کلام اخر اینکه اگه میخواید حدودا بدونید چه زمانی مناسبه که به اوبونتو جدید اپگرید کنید، به نظرم زمانی که مینت میخواد نسخه جدید بده زمان مناسبیه (چون مینت بر پایه اوبونتو هستش).
و من الله توفیق...
@Syntax_fa
👍9❤2