پیاده سازی iso 8583 در زبان go

اینم یه تجربه پراکنده دیگه!

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

تنها بخش مجهول این بود که من ایده‌ای نداشتم که چطوری پروتکل ۸۵۸۳ رو بصورت بهینه توی این زبان parse کنم که این پروژه‌ها رو پیدا کردم که بهم یکم ایده میدن. گفتم لیستش رو اینجا بنویسم شاید به درد دیگران هم بخوره

https://github.com/jthmath/VirtuaPOSP

https://github.com/paopaol/bank

https://github.com/linphy/iso8583go

https://github.com/dgv/omg8583

تمرکز، پراکندگی، کارایی، مدیریت زمان و اجرا

اینم یه تجربه پراکنده دیگه

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

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

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

امیدوارم بتونم این روش رو به خوبی اجرا کنم. هدفم اینه که با ایده گرفتن از روش‌ها مهندسی نرم افزار agile به عنوان مثال scrum برنامه ریزی‌هام رو هفتگی کنم و در مورد دست‌آوردهای هر هفته اینجا بنویسم.

همین!