
پیامرسان تلگرام، محبوبیت زیادی بین کشورهایی مانند ایران داشته و دارد. بسیاری آن را به واتساپ ترجیح میدهند و بر این باورند که تلگرام از واتساپ امنتر و آزادتر است و همچنین فضای ابری برای ذخیرهٔ پیامها و فایلهای ارسالی ارائه میدهد برخلاف واتساپ که به نظر میآید پروندهها (فایلها) و تصاویر را در سرورهایش (کارسازهایش) ذخیره نمیکند.
همچنین عدهای آزاد و متنباز بودن کلاینتهای (کارخواهها) تلگرام را دلیلی بر امن بودن آن میدانند. واتساپ برخلاف تلگرام رمزگذاری سراسری دارد به این معنی که تنها فرستنده و گیرندهٔ پیام میتوانند دادههای ردّ و بدل شده را بخوانند و حتی خود واتساپ که این دادهها را انتقال میدهد نمیتواند شنود کند. با این حال با توجه به این که کد منبع کلاینتهای واتساپ در دسترس نیست، نمیتوان این مورد را مطمئن بود.
چتروم کرمهای کامپیوتر در ابتدا به صورت خصوصی بوده و روی یک سرور ماتریکس کوچک بر روی نانوپای بنده(فاروق) میزبانی میشده است. هنوز هم اکثر کسانی که آن زمان با ما بودهاند در چتروم فعلی حضور دارند. بعد از مدتی نگهداری از سرور ماتریکس به این نتیجه رسیدم که برای یک چتروم به این کوچکی منطقی نیست که یک سرور ماتریکس را مدیریت کنم. در نتیجه به این فکر افتادم که چتروم را روی یک سرور ماتریکس عمومی و مطمئن منتقل کنم و همچنین آنرا عمومی کنم. آن زمان دو سرور مطمئن میشناختم: یکی سرور matrix.org و دیگری سرور موزیلا که شرکت سازنده فایرفاکس بودجهاش را تامین میکرد. البته محلق شدن به این چتروم از هر سرور ماتریکسی امکان پذیر است.
طی دهههای گذشته بحثهای زیادی راجع به اینکه مشخصات زبانهای برنامهنویسی، به عنوان مثال تعیین نوعشان و مثلا ایستا(static) یا پویا(dynamic) بودن چه تاثیری روی روند توسعه نرمافزارها دارد. یک مقاله علمی(paper) با مطالعه ۶۰۰ پروژه در گیتهاب شامل تقریبا ۷۰ میلیون خط کد و ۳ میلیون کامیت به نتایجی در این مورد رسیدهاست.
کتابخوان یا Ebook reader نوعی تبلت هست که مخصوص مطالعه طراحی شده و معمولا آنها به جای LCD و امثالهم، از صفحه نمایش «جوهر الکترونیکی» استفاده میکنند. آسیب زدن صفحهنمایش جوهر الکترونیک به چشم تقریبا به اندازه آسیب زدن کتاب کاغذی به چشم میباشد.
این مطلب سابقا توسط فاروق کریمی زاده در ویرگول منتشر شدهاست. با کمی ویرایش اینجا بازنشرش میدهم.
اینکه برای یادگیری برنامهنویسی دانستن زبان انگلیسی لازم هست یا نه، پرسش بسیاری از کسانی هست که میخواهند برنامهنویسی را شروع به یادگیری کنند. در این پست بنده با توجه به تجربهی خودم سعی میکنم به این پرسش جواب دهم. اگر نمیخواهید کل مطلب را بخوانید، جواب کوتاه این پرسش در یک جمله این است که «بله، برای یادگیری برنامهنویسی باید حتما انگلیسی هم یاد بگیرید»
WriteFreely یک نرمافزار وبلاگنویسی نوشته شده به زبان گو میباشد که بنده برای وبلاگ جامعه هکرهای موز آن را انتخاب کردم و بعد از مورد موافقت گرفتن توسط اکثریت بقیه اعضای شورا، آن را روی هاست جامعه دپلوی کردم و خود اولین پست را در آن نوشتم و تا به الآن در حال استفاده از آن هستیم.
اگر بخواهم صادق باشم، واقعا بیاد نمیآورم چرا این نرمافزار را انتخاب کردیم. یا اینکه دلیل اصلی چه بود. اما الآن میتوانم در مورد اینکه چرا باید به استفاده از آن ادامه دهیم برایتان مثنوی ۷۰ من بنویسم! و اینکه چرا یک نفر یا گروه باید(یا نباید) این نرمافزار را برای وبلاگنویسی انتخاب کنند.
اگر شما هم مثل من زیاد با گیت از طریق خط فرمان کار میکنید؛ برایتان پیش آمده که بخواهید به ریشهی پروژه بروید. اینجا میخواهیم دستوری بسازیم که اینکار را برایمان انجام دهد.
بعد از درخواست یکی از دوستان در مورد مستقر کردن(deploy) یک وب اپلیکیشن پایتونی که با جنگو نوشته شده بود، تصمیم گرفتم این مطلب رو بنویسم. اینجا چند چیز را فرض کردم:
- از سکوی (framework) فلسک استفاده میکنید.در مورد جنگو هم البته داستان کمابیش همین هست. در مورد چریپای میتونید با همچین راهنمایی پیش برید یا از کارساز(سرور) وب خود چریپای به اسم چروت (cheroot) استفاده کنید.
- از دبیان (یا توزیعهایی که بر پایه دبیان ساخته شدن مثل اوبونتو) و systemd استفاده میکنید.
- میخواهید از انجینایکس(nginx) به عنوان کارساز وب یا وبسرور استفاده کنید.
- تنها از HTTP میخواهید استفاده کنید و برای سادگی کار فعلا HTTPS را کنار میگزاریم.
- قرار هست وب اپلیکیشن شما در ریشه قرار بگیرد. یعنی از طریق آدرسی مثل
https://example.com/
قابل دسترسی باشد نه مثلاhttps://example.com/somewhere
امروز، دوشنبه ۲ اسفند ۱۴۰۰، جلسه دوم گروه نرمافزار آزاد هرمزگان را با حضور نویسنده این مطلب داشتیم و به پیشنهاد یکی از اعضا، یک بازی جالب کردیم: «به صورت چرخشی در یک دایره هرکس میبایست نام یک ماژول پایتونی، توکار یا غیر توکار، بگوید. نام ماژولها روی تابلو نوشته میشود و کسی حق تکرار اسم یک ماژول را ندارد. کسی که ظرف مدت زمان ۳۰ ثانیه نتوانست اسمی پیدا کند، از بازی خارج میشود و آخرین نفر باقی مانده در بازی برنده است». روشن است که در بازی حق جستجو کردن، نوشتن یا امثالهم را نداشتیم!
بنده در دانشگاه هرمزگان دستیار تدریس یا حل التمرین(TA) برنامهسازی پیشرفته هستم بودم. ضمن تصحیح پروژه دانشجویان به اشتباهاتی درست(!) در کد هایشان برخوردم. قسمت درست کدها این میباشد که «کار» میکنند اما به روش درست پایتون نوشته نشدهاند.
به صورت کلی، جنگو و django-admin تلاش میکنند با پیادهسازی پیشفرضهایی که مناسب هستند زندگی توسعهدهنده را آسانتر کنند. در نتیجه یک توسعه دهنده قادر خواهد بود تا یک اپلیکیشن را در زمان بسیار کمی بالا بیاورد. اما او مجبور است به اکثر پیشفرضها بچسبد. البته سفارشیسازی ممکن است اما اغلب تغییر پیشفرضها نیازمند فهمی درست از اتفاقاتی است که پشت صحنه میافتد که میتواند وقتگیر و نیازمند مهارت باشد.
در پایتون ۳.۸ یک عملگر جدید برای انتصاب معرفی شده است.این عملگر جهت انتصاب در عبارات بزرگتر استفاده میشود. مثلا:
a = 10
if (b := a) == 10:
...
در تکه کد بالا همزمان مقدار b برابر مقدار a میشود و هم مقایسه انجام میشود.
داستان از جایی شروع شد که در مقاله چطور کاری کنیم لیسپ سریعتر از سی اجرا شود؟ خواندم که کامن لیسپ بنا به خواست برنامهنویس میتواند «زبانی با تعیین نوع پویا(dynamic) ویا ایستا(static) باشد» که کنجکاوی بنده برانگیخته شد(بخوانید فضولیام گل کرد!) و در کانال #clschool
روی شبکهی آیآرسی فرینود پرسیدم که در ادامه نتیجه بحث خدمتتون عرض خواهد شد. توجه کنید که ممکن است جدیدا این کانال مانند بسیاری از دیگر کانالها به شبکه لیبراچت منتقل شده باشد.
این مقاله از «دیدیر ورنا» میباشد که توسط من، فاروق به فارسی ترجمه شده است. اگر اشتباهی تایپی یا علمی یا املایی مشاهده کردید حتما به مترجم گزارش دهید.
دریافت از فضای ابری فاروق