مفاهیم برنامه نویسی به زبان ساده - کوکی

من نزدیک چهار ماهه که به کمک ابزارهای Vibe coding دارم محصولات نرم افزاری توسعه میدم نمونه ی اون محصول سایت jibilib هست که کارش خلاصه کردن کتاب هاست.

ابزارهایی که استفاده کردم Google AI Studio و Cursor هست و الان تقریبا تمام کارهام رو با Cursor میکنم. این ابزارها اینطوری کار میکنن که شما میگید چی میخواید و اون براتون کدش رو مینویسه. اکثر اوقات هم با اشتباه کم این کار رو انجام میده و با پیشرفت هوش مصنوعی هر روز بهتر میشه. 

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

دیگه راحت حرف میزنیم و اون برامون کد میزنه؟ 

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

اما ما میتونیم که هیچ دیدی راجع مفهوم پی ریزی ساختمانی، روش های مقاوم سازی اون، تفاوت راه پله و چیلر و اسپیلت و … نداشته باشیم و انتظار داشته باشیم ساختمان همونطوری بشه که ما انتظار داریم؟‌ 

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

بخش جالب ماجرا اینجاست که مفاهیم برنامه نویسی اگر خیلی ساده و جنرال توضیح داده بشن میبینیم که هیچ فرقی با مفاهیم دیگه دنیا ندارن. اصول رستوران داری، فولاد و ماشین سازی، یا مدیریت یک ساختمان شباهت های بی شماری با مفاهیم برنامه نویسی دارن. من در یک سری پست قصد دارم که دونه دونه این مفاهیم رو با زبان ساده توضیح بدم و مشابه این مفاهیم رو در دنیای خارج برنامه نویسی نشون بدم که بتونین با درک درستی از این ها و به کمک ابزارهای Vibe coding خودتون برای حل مشکلات دنیا دست به کار بشید و راه حل بسازید. 

به عنوان اولین پست میخوام مفهوم Cookie رو توضیح بدم:

🍪 کوکی؛ یادداشت‌های کوچیکی که اینترنت رو به خاطر می‌سپارند.

احتمالا دیدید که وقتی وارد یک سایت می‌شیم، مرورگر بهمون یک پیامی نشون میده: “This site uses cookies”.
معمولا هم روی گزینه ی Accept کلیک میکنیم و حوصله نداریم بررسی کنیم که این چی هست.

کوکی چیه؟

کوکی یک برگه یادداشت کوچیک هست که مرورگر روی دستگاه تون نگه می‌داره.
کارش ساده است: وقتی دوباره به یک سایت سر زدید، اون سایت میتونه شما رو بشناسه.

مشابهتش با دنیای روزمره:

تصور کن برای اولین بار وارد یک کافی‌شاپی میشی. فروشنده لبخند میزنه و اسم تون رو میپرسه و میگه ترجیح میدید جای سیگاری ها بشینید یا جای غیر سیگاری؟ یا میپرسه منوی ایرانی بیارم یا فرنگی؟ بسته به جواب هایی که میدید اون شما رو راهنمایی میکنه.  بعدش فرض کنین که فروشنده یک کارت براتون صادر میکنه که روش نوشته: 

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

این کارت همون کوکی در دنیای اینترنت هست.


ریشه ی کلمه و داستانش چیه؟

سال ۱۹۹۴ آقای Lou Montulli در شرکت Netscape به یک مشکلی خورد: وب‌سایت‌ها هیچ حافظه‌ای نداشتند. هر بار که کاربر صفحه رو عوض می‌کرد، سرور همه‌چیز رو فراموش می‌کرد.

راه‌حلش ساختن یک «یادداشت کوچیک» بود که مرورگر هر کاربر ذخیره کنه و دفعه بعد به سایت نشون بده.
اسمش رو Cookie گذاشتند؛ برای این نام گذاری از Fortune Cookie، بیسکوییت‌های چینی که داخلشون یک برگه پیام مخفی وجود داره الهام گرفتند.

گوگل درباره این شیرینی این رو میگه:

"فورچون کوکی (Fortune cookie)، که با نام‌های کلوچه اقبال یا شیرینی شانس نیز شناخته می‌شود، شیرینی‌ای ترد و شیرین است که حاوی یک تکه کاغذ حاوی جملات کوتاه، پیش‌بینی‌های مبهم، اعداد خوش‌شانسی یا نقل‌قول‌های حکیمانه است. این کوکی معمولاً به عنوان دسر در رستوران‌های چینی در خارج از آسیا، به ویژه در ایالات متحده، سرو می‌شود، اما منشأ آن چینی نیست و احتمالاً از مهاجران ژاپنی در اوایل قرن بیستم در کالیفرنیا نشأت گرفته است"

این ایده ساده دنیای وب رو از یک فضای «فراموش‌کار» به یک فضای «یادگیرنده» تبدیل کرد تا به یوزرها کمک کنه تجربه کاربری خیلی ساده تری داشته باشن. 


کاربردهاش در زندگی دیجیتال چیه؟

مثلا ورود به حساب کاربری: Gmail تو رو هر بار از نو مجبور به پسورد زدن نمی‌کنه.

یا سبد خرید آنلاین: Amazon اقلامی را که انتخاب کرده‌ای حتی بعد از بستن مرورگر یادش میمونه.

شخصی‌سازی: YouTube یادش میمونه که تو Dark Mode رو ترجیح می‌دی و به زبون فارسی صحبت میکنی.

بقیه هم از این موضوع سود میبرن؟ 

بله! 

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


ایده‌ی کوکی در دنیای واقعی همیشه وجود داشته:

 مثلا کارت اشتراک سوپرمارکت‌ها، شماره پرونده در بیمارستان ها،
بارکد روی بسته‌های پستی همه شون از همین مفهوم استفاده میکنن. 

امیدوارم که این کاری که دارم میکنم به کارتون بیاد. ان شالله دفعه بعد یک مفهوم دیگه رو توضیح میدم.