داکر از صفر: پروسه

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

26 فوریهٔ 2026

گیت چطور فایل‌ها رو ذخیره می‌کنه؟

جواب خیلی کوتاه گیت فایل‌ها رو بر اساس محتواشون ذخیره میکنه. جواب کوتاه نسبتاً بلند اول کار که شما دستور git init رو اجرا می‌کنید، گیت داخل پوشه‌ی جاری یه فولدر .git می‌سازه که محتویاتش اینه: [meysampg@freedom git]$ git init Initialized empty Git repository in /srv/http/test/git/.git/ [meysampg@freedom git]$ ls -lah .git total 40K drwxr-xr-x 7 meysampg users 4.0K Mar 10 11:07 . drwxr-xr-x 3 meysampg users 4.0K Mar 10 11:07 .. drwxr-xr-x 2 meysampg users 4.0K Mar 10 11:07 branches -rw-r--r-- 1 meysampg users 92 Mar 10 11:07 config -rw-r--r-- 1 meysampg users 73 Mar 10 11:07 description -rw-r--r-- 1 meysampg users 23 Mar 10 11:07 HEAD drwxr-xr-x 2 meysampg users 4.0K Mar 10 11:07 hooks drwxr-xr-x 2 meysampg users 4.0K Mar 10 11:07 info drwxr-xr-x 4 meysampg users 4.0K Mar 10 11:07 objects drwxr-xr-x 4 meysampg users 4.0K Mar 10 11:07 refs چیزی که جواب سوال بالاست در پوشه‌ی objects نهفته‌ست. ...

10 مارس 2018

آدرس‌پذیری در گو

دیو چنی توییت کرده که کد زیر چی چاپ میکنه؟ package main import "fmt" func f(u *uint) { *u++ } func main() { i := 0 f(&(uint)(i)) fmt.Println(i) } بالطبع احتمالا همه انتظار داریم حاصل ۱ باشه، ولی این کد اصلا کامپایل نمیشه :)). دلیل خیلی ساده‌ست: «در گو شما فقط میتونی آدرس چیزایی رو استفاده کنی که آدرس‌پذیر باشن.». به بیان دیگه در گو فقط برای متغیرها، پوینترها، اسلایس‌ها، عناصر یک ساختار -=struct- و آرایه‌ها میشه آدرس رو داشت و پر واضح و مبرهن‌ه که در کد فوق، پارامتر ورودی f هیچ‌کدوم از اونها نیست. در این مورد اینجا رو ببینید. ...

10 سپتامبر 2017