وبسایت شخصی حسن هاشمی

برنامه نویس. ایران. قم :))

نکاتی حول service discovery و load balancing

همونطور که می دونید موقعی که از تئوری مایکروسرویس و این چیزای قشنگی که در موردش میگن میاید بیرون و وارد عمل میشید تازه روی بد قضیه رو می بینید، این وسط 2 مشکل خیلی خودش رو نشون میده:

1- Service discovery

2- Scale out

بیشتر...

آشنایی بیشتر با سیستم های توزیع شده، مایکروسرویس ها و پترن های Messageing (بخش اول: مرور صورت مسئله)

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

بیشتر...

شروع کار با nodejs

یه چند روزی هست که بالاخره تصمیم گرفتم بشینم nodejs رو یاد بگیرم.

ازونطرف چون وب رو همیشه با asp.net کار کردم همش توی ذهنم مقایسه می کنم این دوتا رو :))

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

بیشتر...

یه سری shortcut برای شروع کار سریع در asp.net core

امسال فکر کنم 2و3 سالی میشه که با aspnet core کار می کنم.

یه سری نکات به مرور دستم اومد که بعضیاش هم تکراری هست ولی خب چون توی این 2و3 پروژه ای که الان کار می کنم، بروبچ کلا رعایت نمی کنن (از جمله خودم، حالا از روی تنبیله یا هرچی) گفتم یه جمع بندی کلی بزنم شاد یه نفر استفاده کرد. :))

بیشتر...

آشنایی با ExpressionTree در دات نت

توی این پست میخوایم یه آشنایی مختصری با ExpressionTree داشته باشیم.

 (وبلاگ داشت خاک میخورد، از یه طرفی هم گفتم به یه درد بشریت بخورم بد نیست:) )

اگه برنامه نویس دات نت هست حتما تا حالا از Linq استفاده کردید. و به احتمال 99.9% تا حالا عبارت ExpressionTree به گوشتون رسیده. ولی چون غالبا خیلی عریان ازش استفاده نمی کن همکارا احتمالا درک خیلی دقیق ازش نداشته باشن.

خب یه تعریف ساده ای که یه ذره من درآوردی هم هست (یه جورایی درک خودم ازش) اینه که ExpressionTree چیزی نیست جز یه درختی که نودهاش از نوع Expression هستن، در نتیجه اگه بدونیم Expression چی هست اونموقع دقیقا متوجه میشیم که با چی طرف هستیم.

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

An expression in a programming language is a combination of one or more explicit valuesconstantsvariablesoperators, and functions that the programming language interprets (according to its particular ruleof precedence and of association) and computes to produce ("to return", in a stateful environment) another value. This process, as for mathematical expressions, is called evaluation.

بیشتر...

امکانات syntax ی جدید جاوا اسکریپت در es6

توی این 2،3 روز یه چند ساعت فرصت خالی گیرم اومد و گفتم یه نگاهی به وضعیت فعلی جاوا اسکریپت بندازم. 

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

توی این پست (مباحث مقدمات):

  • Arrow function
  • string template
  • rest parameter
  •  let keyowrd
  • optional parameters
  • Classes / inheritance / async + await


بیشتر...


متاکلاس ها در ++C

امروز یه پروپزال از هرب ساتر که در مورد یه امکان جدیدی بنام Meta Class که میخوان به ++C اضافه کنن (البته بعد از تأیید شدن) بود دیدم. نمیدونم ما چه گناهی کردیم که ++C افتاده دست اینا.


همینجوری پیش بریم چند سال دیگه ++C میشه یه سینک آشپزخونه درست حسابی برای خودش. :)))

بهرحال فایل pdf مقاله ش رو میذارم خودتون یه نگاهی بهش بندازید. اینجا شاید رفتید رأی دادید به drop کردنش.