سربازی

سلام!

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

مچکرم، ارسطو عباسی.

سقراط

http://www.metmuseum.org/art/collection/search/436105

سقراط کسی است که فلسفه را از بعد جهان‌شناسی به معرفت‌شناسی فرد وارد کرد، کسی بود که هیچگاه نظری در رابطه با عنصر اولیه دنیا «نظریه‌ای که در آن روزگار بسیار مناقشه برانگیز بود» ارائه نکرد و هر آنچه که بود در باب معرفت فردی و آگاهی فرد از بسیاری مسائل درونی بود، اخلاق چیست، عدالت کدام است، نیکویی به چه معناست و… . اما دونکته مهم در رابطه با سقراط وجود دارد که دوست دارم به آن دو اشاره کنم:۱- سنت فکری شفاهی وی است: سقراط هیچگاه چیزی ننوشت و همواره با ابراز عقیده به شیوه متنی مخالفت داشت چرا که می‌گفت متن نوشته شده عقیده آرایش شده فرد است، فرد برای نوشتن چنین متنی مجبور خواهد بود خود را سانسور کند، آرایش نماید، بازنویسی کند و… اما ما در سنت شفاهی می توانیم از طرز بیان کلمات و خود سخن، درون فرد مقابل را واکاوی کنیم، همچنین زمانی که مخاطب گفتاری داشته باشیم، خواهیم توانست که از درک وی اطمینان حاصل نماییم اما چنین چیزی به لحاظ متنی امکان پذیر نیست!۲- سقراط کسی نبود که در خانه بنشیند پ افکار فلسفی را روی کاغذ بگذارد و بعد بمیرد! سقراط کسی بود که دانشکده و آموزشگاه فلسفی‌اش خیابان‌ها و کوچه‌ها بود، دانشجویان ش مردمی عام و جوانانی خام! همین موضوع نیز البته باعث شد تا سقراط کشته شود اما میراثی که سقراط بعد از خود بجای می‌گذارد بسیار مهم است، افلاطون و دیگر شاگردانی که راهرو استاد هستند و اصل اندیشه فلسفی یونانی را شکل می‌دهند. این را باید یکی از گرامی‌ترین ارث‌های یک اندیشمند دانست!

زمینی کردن فلسفه

آنچه را که می‌شود از شروع فلسفه از آن صحبت کرد و بسیار حائز اهمیت است، زمینی کردن فهم و عقل است. اگر قبل از طالس «تا آنجا که از فرایند تاریخی فلسفه می‌دانیم» در مورد اندیشه‌هایی مانند زمین از کجا آمده‌ است، دنیا چگونه شکل گرفته، اشیاء چگونه پدید آمدند و… سخن به میان می‌آوردیم ناچارا باید به خدایان متوسل می‌شدیم؛ اما منظور از زمینی کردن تعقل دقیقا همینجاست که این اندیشه‌ها و بازخوردهای آسمانی در هم شکسته شدند و مفاهیم عقلی-طبیعی پیش رو آمدند، اگر طالس را بعنوان رهبر این جریان بدانیم اولین و اصلی‌ترین سوال وی در این انقلاب جدید آن بود که بداند سر منشأ عالم چیست و به اصطلاح ماده اصلیبوجود آورنده تمام اشیاء کدام است. این موضوع را عنصر اولیه یا مادة‌المواد می‌نامند. رسیدن به جواب این سوال مستلزم درک تغییراتی بود که در حیات اتفاق می‌افتاد، یعنی آنکه چرا چیزهای مختلف بهم دیگر تبدیل می‌شوند و این تبدیلات سرمنشاشان چیست؟ طالس اولین کسی بود که این سوال را مطرح کرد و براساس استنادهایی آب را این سرمنشأ می‌دانست. -می‌شود در جایی دیگر به‌تفصیل در ارتباط با این موضوع بیشتر صحبت کرد-
می‌شود فلاسفه اولیه یونانی را به گونه‌ای ماتریالیست دانست چرا که این افراد با وجود آنکه در پاسخ به چیستی مادة‌المواد بصورت یکسان اظهار نظر نمی‌کردند اما همگان در رابطه با آنکه این مورد یک سر منشأ مادی دارد تقریبا همسو بودند. البته همانگونه که کاپلستون اشاره دارد از آنجایی که این افراد درک صحیح و روشنی از جدایی روح و ماده نداشتند نمی‌توان آن‌ها را ماتریالیست‌های آگاه نامید! از طرفی دیگر آنان در فرایند پی بردن به مادة‌المواد بیشتر از آنکه به تحقیقات حسی بپردازند مشغول تعقل صرف در رابطه با آن بودند و در واقع امری ذهنی را بر آن غالب ساختند، به همین دلیل آنان را می‌شود حتی ماتریالیست‌های انتزاعی دانست چرا که در باب ماتریالیسم نیز آنان به نمودهای حسی و کلی از مادة‌المواد فکرمی‌کردند.

پیش به سوی Django

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

معرفی Django

Django یا جَنگو یک فریمورک مبتنی بر پایتون است که به صورت کامل طراحی شده و هدف از ساخت آن ایجاد یک فریمورک برای ساخت وبسایت‌های بزرگ و ویژگی‌های مختلف در زمان کم است. جنگو رو نمیشه با هیچ فریمورکی مقایسه کرد چرا که حجم امکانات جنگو خیلی زیاده و همچنین از نظر امنیت و کارایی، خیلی کاربردیه. در ارتباط با این جنگو دقیقا چیه و چه تاریخچه‌ای داره می‌تونید نوشته «Why Django?» و «Django (web framework)» رو مطالعه کنید.

شروع فرایند یادگیری

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

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

برای یادگیری Flask بهتون پیشنهاد می‌کنم از مطلب «An introduction to the Flask Python web app framework» و یا ویدیوی آموزشی «Learn Flask for Python» استفاده کنید.

البته بگم که یادگیری Django بدون Flask هم امکان‌پذیره و هیچگونه وابستگی بهم دیگه ندارن، اینو صرفا به عنوان یک تجربه گفتم تا بهتر بتونید با Django ارتباط برقرار کنید.

حالا نوبت به خود Django می‌رسه. به نظر من بهترین جا برای یادگیری جنگو خود وبسایت جنگو هستش. مستنداتی که تیم توسعه این فریمورک تهیه کردند واقعا عالی و مناسب برای یادگیریه. پس به عنوان اولین قدم برای یادگیری جنگو وارد صفحه «Getting started» بشید و اون رو دنبال کنید. کار سختی نیست ۱۰ صفحه است که بهتره با دقت اونا رو بخونید چون این به عنوان شکل گیری دانشی پایه‌ای از جنگو خیلی تاثیرگذار خواهد بود.

لیست کامل‌تری از مستندات جنگو رو می‌تونید توی صفحه 👈Topics👉 مشاهده بکنید که فعلا به اونا نیاز نداریم.

مرحله بعدی از فرایند یادگیری جنگو این هستش که ما با استفاده از چیزهایی که تا اینجای کار یاد گرفتیم چیزهای واقعی‌تری مثل وبلاگ بسازیم. البته قطعا این موارد نمی‌تونن ما رو در راه ساختن وبلاگ به صورت کامل کمک بکنند به همین خاطر نیازه که یه چیزای جدیدی رو هم یاد بگیریم. به نظر من بهترین کار بعد از مطالعه مستندات ابتدایی جنگو مشاهده سری آموزش ویدیویی «Django Tutorials» که توسط Corey Schafer ضبط شده هستش. در واقع شما با این سری با یک پروژه واقعی و خیلی هم حرفه‌ای سر و کار خواهید داشت. خیلی چیزها مثل مدیریت دیتابیس، کار با فایل‌های مربوط به فرانت-اند، روال ساخت یک پروژه، مدیریت حرفه‌ای‌تر کاربران و… رو در آخر سری می‌تونید یاد بگیرید.

مرحله بعدی

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

پیشنهاد بعدی من برای یادگیری Django یادگیری کامل اون از طریق مستندات هستش. ادامه مستندات که در برگه Topics وجود داره می‌تونه بهتون در این امر کمک کنه. برای مثال Security یا Serializing رو می‌تونید از طریق مستندات جنگو به خوبی یاد بگیرید و بعدا از طریق فیلم‌های یوتیوبی استفاده‌های عملی‌ترش رو هم مشاهده کنید.

جنگو همینجا تموم نمیشه. مطالب و مسائل خیلی بیشتری برای یادگیری وجود داره. مثلا REST API و یا قابلیت Signal که برای یادگیری هر کدوم این‌ها می‌تونید سرچ‌های مختلفی رو انجام بدید.

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

لذت

اگر یک فرد داروی یک بیماری جهان‌گیر را در اختیار داشته باشد و باعث نجات میلیون‌ها انسان از مرگ شود در نهایت چه ثمره‌ای برای‌ش خواهد داشت؟ ریشه‌ای که به مسئله نگاه کنیم متوجه خواهیم شد که چیزی جز لذت بردن نیست!
اگر یک نفر به فکر نجات حیوانات و طبیعت است در نهایت چه چیزی نسیبش می‌شود؟ لذت!
نفری که در حال سکس با فرد مقابلش است چه چیزی نسیبش می‌شود؟ لذت!
فردی که انقلابی‌ست و سعی می‌کند تا یک ملت را نجات دهد؟ لذت!

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