یادداشت های یک توسعه دهنده از جهان برنامه نویسی

تصاویر برداری ( Vector Drawable ) در اندروید

تصاویر برداری یا همان Vector Drawable نوعی از تصاویر هستند که با استفاده از محاسبات ریاضی و برداری ساخته میشوند و نسبت به تصاویر PNG  , JPG  کاربرد های بیشتری در طراحی رابط کاربری موبایل و وب دارند . از جمله مزیت بسیار خوب این تصاویر امکان تغییر سایز تصاویر در رزولوشن های متفاوت بدون از دست دادن جزئیات می باشد . 

 

تفاوت در چیست ؟

تصاویر برداری با محاسبات ریاضی ساخته می شوند ، مبنای این محاسبات نیز اندازه نمایی ( View ) است که در آن قرار گرفته اند .این یعنی اینکه اگر یک فایل برداری را در رزولوشن 320*240 قرار دهید ، تمام محاسبات از روی همین اندازه انجام گرفته و بردار ها بر اساس آن ساخته می شود و با قرار دادن همان فایل برداری در رزولوشن 1288*768 محاسبات دوباره بر اساس اندازه جدید انجام میگیرد . اما در تصاویر پیکسلی ، این پیکسل های تصاویر هستند که در هر رزولوشن جایگذاری میشوند و با تغییر اندازه تصاویر ، پیکسل ها تغییری نمی کنند و اطلاعات جدیدی برای افزایش کیفیت تصاویر به آن اضافه نمی شود . عملا تصاویر برداری با تبدیل تصاویر به یکسری بردار ریاضی و به تاخیر انداختن ساخته شدن تصویر تا زمان مشخص شدن اندازه نما در زمان اجرا تصاویر با کیفیت تری را تولید می کنند 

استفاده از تصاویر برداری در اندروید 

برای استفاده از تصاویر پیکسلی در اپلیکیشن ها باید از قبل فایل متفاوتی از یک تصویر برای روزلوشن های متفاوت صفحه نمایش در پوشه res پروژه گنجانده شود تا اندروید در زمان اجرا با توجه به روزلوشن دستگاه اجرا کننده تصویر درست را در صفحه نمایش دهد 

 


ولی پس از معرفی تصاویر برداری در اندروید lollipop و SDK 21 ، توسعه دهندگان می توانند تنها با یک فایل به فرمت xml ، تصاویر با کیفیت را برای روزلوشن های مختلف در اپلیکیشن های خود استفاده کنند . این فایل ها در پوشه drawable قرار میگیرند . 

 

تصاویر برداری را میتوان در android studio 3+  و SDK 23+ و Gradle 3+ به راحتی به کار برد .

تنظیمات مورد نیاز 

ابتدا باید در قسمت تنظیمات Gradle به بخش default config کد زیر را اضافه کنید . با این کار امکان استفاده از support library برای تصاویر برداری امکان پذیر میشود .

defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }

همچینی نیاز است تا کد های زیر نیز به قسمت dependencies اضافه شود تا برای ورژن های پایین تر ، از support library برای نمایش آن استفاده شود 

dependencies {
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
}

بهتر است بجای کامپوننت های پیش فرض اندروید که قابلیت قرار گیری تصاویر در آن قرار دارد از کامپوننت های support library  بصورت زیر استفاده کنید . در این صورت نمایش تصاویر در ورژن های اندروید 21 به بالا بدون مشکل خواهد بود . 

  android.support.v7.widget.AppCompatButton
  android.support.v7.widget.AppCompatImageButton
  android.support.v7.widget.AppCompatImageView

جهت اختصاص تصاویر به این کامپوپنت های باید از app:srcCompat استفاده شود 

<android.support.v7.widget.AppCompatImageView
        android:id="@+id/img_demo"
        android:layout_width="120dp"
        android:layout_height="120dp"
 app:srcCompat="@drawable/ic_heart" />

در صورت نیاز میتوان بصورت کد نویسی نیز تصاویر برداری را به کامپوننت ها اختصاص داد که نمونه کد آن در زیر آمده است 

// set vector drawable by ID 
val drawable = AppCompatResources.getDrawable(mContext, R.drawable.ic_heart)
img_demo.setImageDrawable(drawable)

در صورت نیاز به استفاده از تصاویر برداری برای اندروید با ورژن های 21 به پایین تر نیز باید علاوه بر تنظیمات و روش های گفته شده بالا ، باید تنظیمات زیر را نیز انجام دهید 

ابتدا برای هریک از فایل های تصاویر خود یک wrapper به شکل زیر با فرمت xml ایجاد میکنید و تصاویر برداری را در آن آدرس دهی میکنید

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_heart"/>
</layer-list>

همچنین در اکتیویتی که این تصاویر را در آن نمایش میدهید نیز در بخش onCreate قطعه کد زیر را قرار دهید . 

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
}

ساخت تصاویر برداری در اندروید استدیو

میتونید در اندروید استودیو فایل های با فرمت svg و psd را به تصاویر برداری تبدیل کنید برای اینکار مثل تصویر به منوی Vector Asset رفته و فایل های مورد نظر را انتخاب کنید 

 

 

منابع جهت مطالعه 

تبدیل فایل های svg به vectordrawable 

http://inloop.github.io/svg2android/

ساخت فایل های svg

https://app.svgator.com

http://app.inker.co

https://vectr.com/

ساخت تصاویر برداری انیمیشن 

https://shapeshifter.design/

ساخت آیکون و تصاویر 

https://romannurik.github.io/AndroidAssetStudio/

کتابخانه برای استفاده از 2000 ایکون متریال بصورت تصاویر برداری 

https://github.com/code-mc/material-icon-lib


۰ نظر موافقین ۰ مخالفین ۰
مرتضی درزی

فکر کنم فهمیدم ، نمی فهمیدم !

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

امروز داشت یه مستند در مورد کشور نیوزیلند در شبکه مستند نشون میداد با عنوان " نیوزیلند از بالا " مستند در مورد برخی از مناطق این کشور بود که بیشتر از طریق هواپیما و کایت فیلم برداری شده بود ، در یه قسمت مستند گفت دامداری در این کشور یه شغل پردرامد و صادراتی می باشد و تصاویر هم نشون میداد اونجا گوسفند نگه نمیدارن ! گوسفند پرورش میدن !

در پی سوالهایی بالا به ذهنم رسید ، سرچی بکنم ببینم این بلاد کفر چطور میتونه با جمعیتی 5 میلیونی صادرات بیلیونی از پرورش دام داشته باشه ... یه مقاله جالب پیدا کردم که هر چند قدیمی به نظر میرسه ولی اطلاعات خوبی از این صنعت در این کشور داره . 

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

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

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

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

آدرس مطلب در ویرگول 

۰ نظر موافقین ۰ مخالفین ۰
مرتضی درزی

افزونه کمکی نوشتن مطلب به زبان انگلیسی

یه افزونه جالب و کاربردی مرورگر کروم ، برای دوستان عزیز که میخوان در سایت های انگلیسی زبان  مثل Medium مطالب خودشون رو به زبان انگلیسی انتشار بدن

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

خوش باشید

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

یه کتابخانه کاتلین پرکاربرد

یه کتابخانه کاتلین ( Kotlin lib ) میخوام امروز بهتون معرفی کنم . با نام KdroidExt که میتونید از github توضیحاتش رو ببینید.
کتابخانه همه کاره ای که میتونید باهاش از کد زدن های اضافه ( boilerplate code ) جلوگیری کنید . توضیحاتش تو صفحه اش هست و میشه گفت تقریبا تو هر پروژه ای به یکی از این متدها احتیاج پیدا خواهید کرد . 

شاد باشید
۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

نوشتن مطلب خوب

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

مطالب زیادی در مورد نوشتن وبلاگ و نحوه نوشتن اون وجود داره + + +  . ولی شاید برای هرکدوم از ما چیزهایی جالب باشه که شاید بشه نقاط مشترکی هم توش پیدا کرد . ولی برای خود من موارد زیر در یک نوشته برای جذب شدن مهمه :

1. هر چه ویژوال تر بهتر : اگه تصویری داشته باشه احتمال اینکه بیشتر جذب بشم بیشتره

2.هر چه کوتاه تر بهتر : اگه مطالب کوتاه باشه بیشتر جذب کننده است و معمولا همون پاراگراف اول تکلیف رو با ادامه خواندن یا ادامه ندادن مشخص میکنه

3.هر چه مرتبط تر بهتر : اگه موضوع مطلب مشخص شده باشه و با علایق سازگارتر ، احتمال جذب بیشتره . البته ممکنه موارد دیگر باعث بشن جذب مطالب نا مرتبط هم بشیم 

4.هر چه محتوای با اصالت تر بهتر :  اگه مطلب از رفرنس های خوبی باشه و لینک هایی به جاهای مختلف که میتونه حس کنجکاوی رو برانگیزه بیشتر جذابه 

5.هر چه عنوان جالب تر بهتر : عنوان بعضی از مطالب آدمو قلقلک میده ببینه چه خبره 



۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

برنامه نویسی آموزش پذیر ( Learnable Programming)

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

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

آقای ویکتور تو سایتشون خیلی از مفاهیم ویژوالی رو برای آموزش یه زبان نشون دادن و میتونید به واقع نتیجه تفاوت برنامه نویسی ویژوال و برنامه نویسی صرفا کد رو ببنید . حتی تو این مطلبشون خیلی زیبا تونستن یک مفهوم ( Abstraction ) رو بصورت پیاده سازی شده در بیارن .. من که به شخصه واقعا مجذوب این سایت و کارهای ایشون شدم ولی ذهنم درگیر یه موضوع بزرگتره ... چرا نتونیم از همین ویژوال و امکاناتش در برنامه نویسی ( خود برنامه نویسی نه آموزش یه زبان برنامه نویسی ) استفاده کنیم . یکی از کارهایی که میشه گفت خواسته یا ناخواسته در همین راستا بوده ویژگی جدید Navigation Architecture Component در کامپوننت اندروید که بصورت کاملا ویژوال امکان navigation بین صفحات مختلف یه اپ رو پیاده سازی و طراحی میکنه ... این همون نتیجه کاریه که باید زودتر ببنیم . 


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

یا حتی بازم بزارید ذهنمون پرواز کنه ، چه خوب میشد بتونیم data flow رو در یه کلاس یا متد دید !! یا نتایج یه تغییر در یک قطعه کد رو به صورت نتیجه یه خروجی نرم افزار دید . این ها همه نشخوار ذهنه و نمی دونم اصلا چی دارم میگم ولی این مطلب خون تازه ای در رگهام جاری کرده و میخوام بیشتر بدونم و بیشتر بفهمم ... شاید در آینده یه مطلب در مورد نتایج مطالعه ام نوشتم . تا اینجا تونستم یه وب سایت ( Processing Foundation ) که بصورت عملی همین ایده رو اجرایی میکنه پیدا کنم که هنوز در حال مطالعه اش هستم . 

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

 

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

feedly یک فید خوان همه فن حریف

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

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


در پنل بازشوی کناری ، قسمت بالا میتونید منوی مطالب به روز شده امروز ( Today ) ، جهت مطالعه ( Read Later ) و فیلتر مطالب ( Filters ) رو بصورت جدا مشاهده کنید . من به شخصه از بخش جهت مطالعه خیلی بیشتر استفاده میکنم . چون در حین کار وقتی سایت ها به روز میشن ممکنه وقت کافی برای مطالعه نداشته باشید و با یک کلیک روی آیکون مورد نظر در اون مطلب میتونید به این قسمت انتقالش بدید تا بعدا که فرصت کردید اون مطلب ور مطالعه کنید .



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


علاوه بر بوکمارک کردن فید ها ، یه بخش دیگه با عنوان Boards هم وجود داره که میتونید مطالب رو با دسته بندی کنید و به اشتراک بگذارید یا بعدا بتوندی مطالعه کنید . برای انتقال مطالب به این بخش هم منوی جداگانه ای روی هر مطلب در نظر گرفته شده

از منوی های زیر صفحه که بگذریم ، گزینه اضافه کردن فید جدید ( Add Content ) یکی از منو های پرکاربرد . با وارد کردن آدرس وب سایت یا وبلاگ ، عنوان موضوع مورد علاقه و یا حتی هشتک که میخواهید از به روز شدنش خبر داشته باشید ، feedly بقیه کارها رو براتون انجام میده و به راحتی کافیه شما دکمه دنبال کردن ( follow ) رو انتخاب کنید .

 

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

یکی دیگر از قسمت های جالب وب سایت در بخش تنظیمات feed هاست که با کلیک روی آیکون بخش توضیح داده بالا نمایش داده میشه . در این قسمت اطلاعاتی در مورد مدت به روز شدن وب سایت هایی که دنبال میکنید و حتی آخرین به روز شدن و یا حتی غیر فعال شدن و فیلتر های متفاوت برای نمایش و انتخاب یا حذف فید هاتونه . 


در پایان هم مثل من از مرورگرد کروم استفاده میکنید ، افزونه feedly رو حتما دانلود کنید . با این افزونه هر وقت مطالب فید های شما به روز بشه به راحتی بهشون دسترسی خواهید داشت . در ضمن امکان اعلان ( Notification) هم بسیار جالبه و برای دوستانی که دائما به اینترنت متصل هستند در اولین لحظه های به روز شدن میتونن فید ها رو مطالعه کنن .


امید وارم مفید بوده باشه . ما رو از نظرهاتون بی نصیب نگذارید 

۲ نظر موافقین ۲ مخالفین ۰
مرتضی درزی

فرمول تبدیل صفحات اکسل به پی دی اف

بازم اکسل و بازم چیزهای جدید. تو یه فایلی که داشتم برای یکی از همکاران شرکتمون آماده میکردم نیاز شد بصورت انتخابی یک سری از صفحات ( Page Break ) شیت ها رو بصورت پی دی اف خروجی بگیریم و در جایی ذخیره کنیم . برای این کار یکم سرچ کردم و از vba برای فرمول نویسی و ذخیره سازی صفحات استفاده کردم که فرمتش به شکل زیره :


Ws.ExportAsFixedFormat _

    Type:=xlTypePDF, _

    Filename:=folder_address & "\" & sheat_name & ".pdf", _

    Quality:=xlQualityStandard, _

    From:=first_page_break, _

    To:=last_page_break, _

    IncludeDocProperties:=True, _

    IgnorePrintAreas:=False, _

    OpenAfterPublish:=False


این فرمول میاد یک شیت (ws) رو برای استخراج (ExportAsFixedFormat) بصورت فایل پی دی اف (Type:=xlTypePDF) در آدرس و با نام خاص (Filename:=folder_address & "\" & sheat_name & ".pdf") بصورتی که از صفحه (From:=first_page_break) تا صفحه (To:=last_page_break ) رو جدا سازی کرده ذخیره میکنه . 

folder_address در اینجا یه آدرس از پیش تعریف شده است 

sheat_name  هم نام فایلی که میخوایم ذخیره کنیم 

first_page_break و  last_page_break هم اعدادی برای شماره صفحات در خروجیه

باقی خصوصیات هم از اسمشون مشخصه .


من برای اینکه بتونید پروژه رو بصورت عملی هم ببینید یه فایل اکسل آماده کردم و در GitHub قرار دادم .

منبع زبان اصلی آموزش هم میتونید اینجا ببنید 

امیدوارم مفید بوده باشه . سوالی بود در خدمتم

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

کافه کد

تا بحال به دنیای برنامه نویسی  و ادم هایی که دارن توش فعالیت میکنن فکر کردید ؟ ( چه سوالیه همه فکر کردند ) . منظورم خود آدم هایه این فضایه برنامه نویسیه . برنامه نویس ها ، توسعه دهنده های وب ، دیزاینر ها ، مهندسان نرم افزار ، مدیران فنی ، It من ها ، گیگ ها ، نردها و فریلنسرها و الاماشالله ... تازه اخیرن کارآفرینان دنیای فناوری رو هم میشه بهشون اضافه کرد . تو اینترنت ارتباط بین چنین آدم هایی زیاده ، و بعضی هاشون بواسطه کار یا فعالیتی ، ارتباط نزدیک هم پیدا میکنن . اما خیلی کم پیش میاد ( یا حداقل من ندیدم و نشنیدم ) که چهار تا مهندس و برنامه نویس ، همدیگه رو به یه فنجان قهوه تو کافه دعوت کنن یا با هم گپی بزنن و از کارهایی که انجام میدن حرفی بزنن و شاید پایه ای ایجاد کنن برای همکاری های آینده شون . 

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

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

البته مثل هر جای دیگه دورهمی های مجازی شاید در این موارد زیاد باشه و حتی همین وبلاگ ها میتونن ارتباط خوبی بین چنین آدم هایی برقرار کنه ولی اکثرا دلیل وجود چنین محیط هایی " آموزش " نه " به اشتراک گذاری تجربیات "

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

 

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


۴ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

چین و دیگر هیچ

امروز صبح خبر ها رو از نظر مبارک میگذراندم ( یادم باشه بعدا تو یه مطلب بگم ما چجوری از نظر میگذرانیم ) . دیدم نوشته " چین درماه گیاه پرورش داد " و اینجا . یعنی آدم نمیدونه با این چین چیکار کنه . تمام معادلات رو بهم میزنه . ولی خدایی دمشون گرم .

من به عنوان یه بشر به این حرکت برادران چینی افتخار میکنم . هرچند قدمی کوچک برای یک انسان ولی قدمی بزرگ برای بشریت خواهد بود . چین با این همه جمعیت در حال ترکیدن و این همه دهان باز برای احتیاجات !!  یعنی ما با این جمعیت 80 میلیونی و این همه منابع باید بریم کشک بمکیم . اخه مگه میشه ! 


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

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی