سربازی

سلام!

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

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

پیش به سوی 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 که برای یادگیری هر کدوم این‌ها می‌تونید سرچ‌های مختلفی رو انجام بدید.

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

لذت

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

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

ویدیوکست: معرفی ویرایشگر VSCodium – کانفیگ برای قسمت‌های بعدی

به نظر عجیب میرسه چونکه قبلا اسمش VSCode بود؟!! خب باید بگم که این اون نیست! البته بیشترش یکیه ولی در کل این اون نیست! خودمم قاطی کردم کدوم کدومه .. ویدیو رو ببینید متوجه میشید. در ضمن من در آینده میخوام یه سری ویدیو آموزشی ضبط بکنم راجع به پایتون و جاوااسکریپت و… این کانفیگ ادیتور من برای این ویدیوها هستش پس دیگه نیازی نیست هر بار اینا رو بگم.

من از هوش‌ مصنوعی وحشت دارم!

چند مدت پیش بود که با یکی از دوستان پای بحثی در ارتباط با هوش مصنوعی نشستیم و به صورتی سعی داشتیم تا از نقطه نظرات مخالف و موافقی که داریم یک مخرج مشترک گرفته و یک نتیجه‌گیری کلی را به صورت یه مقاله‌ای چند صفحه‌ای بنویسم. اما این کار بدلایلی صورت نگرفت. با این حال من در این مقاله قصد دارم در ارتباط با نقطه نظرات خودم در ارتباط با هوش مصنوعی صحبت کنم. طبیعی‌ست که من دانش تخصصی ریاضی/مهندسی در ارتباط با هوش مصنوعی ندارم و بیشتر دوست دارم تا به صورت «حضور در اجتماع» هوش مصنوعی را بررسی کنم. نتیجه‌گیری من به صورت کلی این است که هوش مصنوعی خطرناک بوده و می‌تواند به جامعه بشری ما آسیب برساند! اما چرا؟ چرایی این موضوع را می‌توانم در چندین نکته و مشاهدات‌م از خروجی‌های این تکنولوژی در یک دهه گذشته بیان کنم.

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

اما چه می‌شود اگر یک هوش مصنوعی خود را تولید کند؟ بحث اینجاست که اگر ما یک هوش مصنوعی را تولید کنیم که یک هوش مصنوعی دیگر را تولید کند و… هوش مصنوعی x به چه صورتی خواهد بود؟ آیا هوش مصنوعی x خواهد دانست که سازنده‌اش انسان است؟

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

بیکاری – یک مثال همواره قضیه بوجود آوردن بیکاری با هوش مصنوعی را نفی می‌کند، مثال ایجاد تراکتور. زمانی که تراکتور ساخته شد کشاورزان فکر می‌کردند که این وسیله قرار است تعداد بسیار زیادی از آن‌ها را (مخصوصا کسانی که صرفا به صورت کارگر مانند کار می‌کردند) بیکار کند. اما اینگونه نشد چرا که در کنار کار کشاورزی آن‌ها می‌توانستند به شغل‌های جدیدی نیز روی بیاورند. برای مثال راننده، تعمیرکار، سهامدار ماشین آلات، کار در کارخانه‌های تولید و… . اما این موضوع نیاز به یک چیز دیگر دارد: آموزش. در جوامع توسعه یافته به سرعت می‌توان کارگران ساده‌ای که در یک بازه زمانی تنها کارشان آبیاری، درو کردن گندم و… بود را با یک تراکتور و موارد مرتبط با آن آشنا کرد اما در جوامعی که چنین قابلیتی برای افراد وجود ندارد پیشرفت تکنولوژی جدای از ایجاد بیکاری هیچ نقطه مثبت دیگری برای‌شان نخواهد داشت. مگر آنکه صاحب سرمایه باشید. با این حال هوش مصنوعی موضوعی نیست که یادگیری و کار با آن به سادگی رانندگی تراکتور و یا کار در خط تولید باشد. برای مثال یک ربات که می‌تواند جای گارسونی در رستوران را بگیرد چاره‌ای جز انجام کارهای دیگر را به گارسون (انسان) نمی‌دهد، البته اگر کاری باشد! این گارسون نمی‌تواند بعد از یک عمر کار کردن از ریاضیات پایه و علوم مهندسی شروع به یادگیری کرده و در یک شرکت روی توسعه مدل‌های هوش مصنوعی کار بکند. بنابراین هوش مصنوعی نه فقط در جوامع فقیر و عقب مانده بلکه در جوامع توسعه‌یافته نیز می‌تواند منجر به بیکاری شود.

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

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

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

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

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