en
Feedback
Syntax | سینتکس

Syntax | سینتکس

Open in Telegram
2 990
Subscribers
+724 hours
+137 days
+3230 days
Posts Archive
توضیحات ساده تر مفهوم 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

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 @Syntax_fa

اگه کارفرمایی ری اکشنارو میبینی؟ به خودت بیا مرد/زن وگرنه «شاید برای شما هم اتفاق بیوفتند» 🔪

مهندس نرم افزاره مدیر عامل شرکتشو سر پرداخت نکردن حقوقش کشته 🫠 #fun @Syntax_fa
مهندس نرم افزاره مدیر عامل شرکتشو سر پرداخت نکردن حقوقش کشته 🫠 #fun @Syntax_fa

MasteringGo-third-edition.pdf8.48 MB

وقتی تو ios ماشین حساب نمیارن و نمیارن، آخرش همچین چیز جذابیو رونمایی می کنن 😎 #fun @Syntax_fa

پورت صفر: در مفاهیم شبکه و ارتباطات، پورت 0 یک پورت خاص است و به عنوان پورت "رزرو شده" شناخته می‌شود. وقتی به یک برنامه یا سرویس شبکه نیاز دارید تا به یک پورت خاص متصل شود، می‌توانید از یک شماره پورت عددی استفاده کنید. پورت‌ها از اعداد صحیح بین 0 تا 65535 تشکیل شده‌اند. وقتی یک برنامه یا سرویس به پورت 0 متصل می‌شود، این به معنای این است که برنامه یا سرویس مورد نظر، سیستم عامل را مکلف می‌کند یک پورت آزاد و در دسترس را به آن اختصاص دهد. به عنوان مثال، در برنامه‌نویسی شبکه، وقتی یک سوکت (socket) برای برقراری ارتباط با سروری فراخوانی می‌شود و شماره پورت آن را برابر با 0 قرار می‌دهید، سیستم عامل یک پورت آزاد را به برنامه اختصاص می‌دهد و برنامه می‌تواند آن را برای ارتباط استفاده کند. استفاده از پورت 0 معمولاً برای برنامه‌هایی است که نمی‌خواهند به طور صریح پورت خاصی را انتخاب کنند، به سیستم اجازه می‌دهند یک پورت خالی را برایشان انتخاب کند. برای مثال توی جنگو اگه بنویسید‌ runserver 0 بصورت رندوم یک پورت خالی رو انتخاب می کنه. #zero_port @Syntax_fa

کدوم مورد؟ 😏
Anonymous voting

یکی از سوال هایی که تو اکثر مصاحبه ها ازتون پرسیده میشه ☹️ (البته با خوندن این پست قرار نیست سوالات مصاحبه رو بخوبی جواب بدید😒 ولی میتونه بهتون دید بده تا بیشتر در خصوصش بخونید و یاد بگیرید) درباره 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 برای برنامه‌هایی که نیاز به مقیاس‌پذیری بالا، انعطاف‌پذیری در مدل داده‌ها و سرعت بالا دارند، گزینه بهتری محسوب می‌شود. #sql #nosql @Syntax_fa

Foreign Function Interface (FFI) یک مکانیسم است که به ما اجازه می دهد تا از توابع و رویه‌های نوشته شده در زبان‌های دیگه، تو زبان برنامه نویسی دیگه ای استفاده کنیم. این مکانیزم به برنامه‌نویسا این امکانو میده تا از قابلیت‌ها و کارایی زبان‌های دیگه در برنامه‌های خودمون استفاده کنیم. استفاده از قدرت زبان راست در پایتون 😏 راست یک زبان برنامه‌نویسی مدرن است که به دلیل کارایی بالا و ایمنی حافظه محبوبیت زیادی پیدا کرده است. ترکیب پایتون و راست به شما این امکان را می‌دهد که از مزایای هر دو زبان بهره‌مند شوید: سادگی و قدرت کتابخانه‌های پایتون و کارایی بالای راست. Pydantic یک کتابخانه پایتونی برای مدیریت و اعتبارسنجی داده‌ها است که به دلیل استفاده از تایپ‌ها و انوتیشن‌های (annotations) تایپینگ پایتون، کارایی و کاربرپسندی بالایی دارد. این کتابخانه با استفاده از راست (Rust) برای بهبود کارایی استفاده می‌کند. Pydantic پایدانتیک به شما اجازه می‌دهد تا مدل‌های داده با تایپ‌های قوی بسازید و اعتبارسنجی داده‌ها را به صورت خودکار انجام دهید. این کتابخانه با استفاده از کتابخانه rust-typed که یک موتور اعتبارسنجی سریع به زبان راست است، کارایی بالایی دارد. استفاده از راست در پایدانتیک پایدانتیک با استفاده از کتابخانه‌های راست مانند rust-typed برای اعتبارسنجی سریع داده‌ها استفاده می‌کند. این امر به Pydantic اجازه می‌دهد که با سرعت و کارایی بالا اعتبارسنجی داده‌ها را انجام دهد. استفاده از راست در Pydantic باعث شده که این کتابخانه بتواند حجم بالایی از داده‌ها را به سرعت پردازش کند. پکیج‌های دیگر که از راست استفاده می‌کنند علاوه بر Pydantic، کتابخانه‌های دیگری نیز هستند که از راست برای بهبود کارایی استفاده می‌کنند. برخی از این کتابخانه‌ها عبارتند از: 1. Polars: یک کتابخانه سریع برای تحلیل داده‌ها که با استفاده از راست ساخته شده است. 2. PyO3: یک کتابخانه برای نوشتن افزونه‌های پایتون با راست. 3. RustPython: یک مفسر پایتون که به زبان راست نوشته شده است و به منظور اجرای کدهای پایتون با کارایی بالاتر طراحی شده است. استفاده از راست در پایتون به شما امکان می‌دهد که از مزایای کارایی و ایمنی حافظه راست در کنار سادگی و قدرت پایتون بهره‌برداری کنید. Pydantic نمونه‌ای عالی از این ترکیب موفق است که به شما اجازه می‌دهد مدل‌های داده‌ای کارآمد و قابل اعتماد بسازید. #FFI @Syntax_fa

پستای این کانال با هشتگ #domain_driven_design رو دنبال کنید اگه دنبال آموزش ddd هستید «آقای بهزاد آزادی» در موردش کلی پست گذاشته @code_crafters

سی شارپ کار ها وقتی یه برنامه نویس دیگه رو میبینن #fun @Syntax_fa
سی شارپ کار ها وقتی یه برنامه نویس دیگه رو میبینن #fun @Syntax_fa

تا وقت هست برید زیرمجموعه جمع کنید 😂 #fun @Syntax_fa
+3
تا وقت هست برید زیرمجموعه جمع کنید 😂 #fun @Syntax_fa

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

موقعیت استخدام فرانتکار میدلول حضوری در تهران (خودم دوستان فرانت دارم منتها جهت برقراری عدالت میخوام رزومه ببینم و چندنفر دیگه رو هم بشناسم😅😅😅) اگه خودتون رو سنیور میبینید بازم پیام بدید چند روز در هفته میاید سرکار در قبال تخصصتون(خروجی کار فقط بدید تحویل بهم) JS Next js Tailwind Typescript Saas Responsive design Restfull (پروژه‌ها میکروسرویسی هستش) Git Seo آشنا با مفاهیم Redux, webpack (مزیت محسوب میشود) لطفا رزومه بدید و حقوق مدنظر خودتون رو برام بنویسید(اگر هم شرایط خاصی دارید ناامید نباشید گوش شنوا دارم) در انتها بگم پروژه‌ها سبک هستش و هیچگونه پیچیدگی خاص و نوآوری داخلش نیست که خلق کنید(موارد عمومی هست که همیشه و هرجایی دیدید) @behzad_azadi #موقت Source: @code_crafters @Syntax_fa

چجوری تو لینکدین پستامون ویو خوبی بگیره؟ بعضیا میگن پستای لینکدینم اصلا ویو نمیگیره. هیچکس منو نو لینکدین به انگشتشم نمیگیره یه لحظه رو ری اکشن بزنه. عنوان شغلی: نگو کارمند فروش😐 بگو استراتژیست تحول فروش جهانی😍 نگو برنامه نویس 😐 بگو مهندس معماری دیجیتال 😎 نگو گرافیست بگو نقاش رویا های شما داستان های الهام بخش یادت نره پست هایی که الهام بخش هستنو بنویس. مثلا: روزی که یه خودکار رو پیدا کردم و زندگیم متحول شد!! این موضوع چرتو هر کی ببینه میگه ببینم چی میگه گزارش پیشرفت ها و مسیری که رفتید: این مورد خیلی خوب ویو میخوره مثلا: از Hello worl تا روزی که در شرکت دارغوزآباد استخدام شدم عکس حرفه ای و پرانرژی نیشتو قشنگ باز کن بعد با یدونه دوربین حرفه ای عکس بگیر بذار پروفایل تشکر از دیگران تا جایی که میتونی برای بقیه بم.. یعنی ازشون تشکر کن حتی یکی بهت فحش داد بگو تشکر میکنم بابت اظهار نظرتون نقل قول های الهام بخش برو تو گوگل سرچ کن«سخن بزرگان بعد تو لینکدین پست کن» ایراد گرفتن از بقیه تا میتونی پست بذار بگو لینکدین اینستا نیست و لینکدین خیلی برنامه خاصیه فقط آدمای خاص میتونن توش فعالیت کنن نکته خیلی مهم: اگه پسرید تمامی این نکاتو بیخیال شید چون جواب نمیده #fun @Syntax_fa

برای اولین بار در لینکدین یکی اخراج شده و بدلایل: - شروع فصل جدیدی از زندگیه حرفه ای - کسب تجربیات جدید - روبرو شدن با چالش ه
برای اولین بار در لینکدین یکی اخراج شده و بدلایل: - شروع فصل جدیدی از زندگیه حرفه ای - کسب تجربیات جدید - روبرو شدن با چالش های نو - تصمیم به جدا شدن از شرکت قبلی و ... دنبال کار نمیگرده. #fun @Syntax_fa

✍️ Massimo Dev 🔵⚪️ نسخه‌بندی API یا API Versioning میدونی چیه؟ 🚨 نسخه‌بندی API یه راه‌حلیه برای مدیریت تغییرات API در طول زمان بدون اینکه کاربرهای قدیمی دچار مشکل بشن. وقتی که API تغییر می‌کنه و ویژگی‌های جدیدی بهش اضافه می‌شه یا مشکلاتی برطرف می‌شن، نسخه‌بندی کمک می‌کنه تا کاربرهایی که از نسخه‌های قدیمی استفاده می‌کنن همچنان بدون مشکل به کارشون ادامه بدن و در عین حال نسخه‌های جدیدتر هم در دسترس باشن. ✳️ بذار یه مثال ساده بزنم: فرض کن یه API داری که اطلاعات آب و هوا رو می‌ده. اولین نسخه‌ی API (v1) یه اندپوینت داره به اسم /weather که اطلاعات ساده‌ای مثل دما و رطوبت رو برمی‌گردونه. نسخه 1 (v1):
GET /v1/weather?city=London
Result:
{
"temperature": "15°C",
"humidity": "75%"
}
بعداً تصمیم می‌گیری اطلاعات بیشتری مثل سرعت باد و پیش‌بینی هوا رو اضافه کنی. برای اینکه کاربرهای قدیمی دچار مشکل نشن، یه نسخه جدید از API (v2) معرفی می‌کنی: نسخه 2 (v2):
GET /v2/weather?city=London
Result:
{
"temperature": "15°C",
"humidity": "75%",
"wind_speed": "10 km/h",
"forecast": [
{"day": "Monday", "temperature": "16°C"},
{"day": "Tuesday", "temperature": "17°C"}
]
}
به این ترتیب، کاربرهایی که از نسخه قدیمی (v1) استفاده می‌کنن همچنان بدون تغییر به کارشون ادامه می‌دن و کاربرهای جدید می‌تونن از ویژگی‌های جدید نسخه 2 (v2) استفاده کنن. ✳️ بهترین روش‌ها برای نسخه‌بندی API 🔹نسخه‌بندی URL: - شماره نسخه رو توی مسیر URL قرار بده، مثل /v1/resource و /v2/resource - مثال: GET /api/v1/weather، GET /api/v2/weather. 🔹نسخه‌بندی با هدرها: - از هدرهای سفارشی برای مشخص کردن نسخه استفاده کن. - مثال: GET /api/weather با headers: {"API-Version": "v2"} 🔹نسخه‌بندی با پارامترهای کوئری: - شماره نسخه رو به عنوان پارامتر کوئری قرار بده. - مثال: GET /api/weather?version=2 🔹استراتژی پایان‌دهی به نسخه‌های قدیمی: - به کاربرها بگو که نسخه قدیمی چه زمانی غیرفعال می‌شه و راهنمایی برای مهاجرت به نسخه‌های جدید بده. - یه بازه زمانی مشخص و راهنمای مهاجرت ارائه کن. 🔹مستندسازی: - برای هر نسخه از API مستندات واضح و دقیقی فراهم کن. - مثال‌ها، موارد استفاده و راهنماهای مهاجرت رو توضیح بده. 🔹سازگاری با نسخه‌های قبلی: - تا حد ممکن نسخه‌های جدید رو سازگار با نسخه‌های قبلی نگه دار تا کاربرها دچار مشکل نشن. - از نسخه‌بندی معنایی (مثل major.minor.patch) استفاده کن تا سطح تغییرات رو نشون بدی مثلا نسخه ،29.5.0 شده 29.5.1 🔹سیاست نسخه‌بندی: - یه سیاست نسخه‌بندی تعریف کن که مشخص کنه کی و چطور نسخه‌های جدید منتشر می‌شن. - واضح بگو که چه زمانی تغییرات بزرگ نیاز به یه نسخه جدید دارن. Source: @gopher_academy #api_versioning @Syntax_fa

پنج تا از مخفف های معروف دنیای برنامه نویسی و معنی اونا: TDD(tea drinking developers): به معنی برنامه نویسان چای خور REST(really exhausted software team): تیم نرم افزاری پنچر HTML(how to meet ladies): چگونه با خانم ها آشنا شویم CSS(cant style stuff): وقتی بعد کلی ور رفتن، نتونستید استایل فرانت رو درست کنید میگید سی اس اس یعنی نمیتونم چیز هارو استایل کنم. SQL(singles have a quite life): سینگل ها زندگیه آرومی دارن #fun @Syntax_fa