Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
پروژه Jil یک کتابخانه جذاب برای استفاده به عنوان JSON Serializer است. اگر تا به حال از کتابخانه‌هایی مانند NewtonSoft استفاده کرده‌اید و دغدغه Performance داشته‌اید این کتابخانه می‌تواند جایگزین مناسبی باشد. جالب است بدانید که کتابخانه‌ای است که برنامه‌نویسان سایت StackOverflow به دلیل Performance انتخاب کرده‌اند و در طراحی این سایت از آن استفاده کرده‌اند.

https://github.com/kevin-montrose/Jil

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در حال توسعه نرم‌افزار هستید و با مفهوم Source Control آشنایی ندارید، حتما یک جای کار خیلی مشکل دارد! امروزه مفاهیم و ابزارهای سورس کنترل انقدر زیاد و متداول شده‌اند که اگر به آن عادت کنید، دیگر حتی بدون آنها نمی‌توانید یک پروژه شخصی در خانه بنویسید.
لینک زیر که توسط تیم git (یکی از محبوب‌ترین ابزارهای سورس کنترل) نوشته شده‌است، مفاهیم پایه‌ای را توضیح می‌دهد.

https://www.atlassian.com/git/tutorials/what-is-version-control

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
با استفاده از دستور supports@ در CSS می‌توان پشتیبانی مرورگر را در مورد یک ویژگی بررسی کرد. یعنی آن ویژگی در مرورگر مورد نظر کار می‌کند یا خیر.
معمولا این کار توسط کتابخانه‌های جاوااسکریپت نظیر Modernizr انجام می‌شود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.

https://davidwalsh.name/css-supports

#مریم_داودی

لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ضد الگو یا Anti-Pattern‌ فقط در مرحله طراحی و یا برنامه‌نویسی به وجود نمی‌آید. در مرحله طراحی UI‌ هم ضد الگو وجود دارد. یکی از متدوال‌ترین ضدالگوهایی که در این لایه وجود دارد، پورت کردن یک برنامه از پلتفرم‌های دیگر است. برای مثال برنامه‌ای که برای iOS نوشته شده است را با همان ساختار وارد Android کرد. استفاده از پلتفرم‌های Cross-Platform معمولا این مشکل را دارند، چون سعی می‌کنند دقیقا یک کد را روی هر دو پلتفرم اجرا کنند. اما هر پلتفرم استانداردهای UI مختص خود را دارند. برای مثال در اندروید تب‌ها در بالا نمایش داده می‌شوند و در iOS تب‌ها در پایین لیست می‌شوند.

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

http://www.sitepoint.com/android-design-anti-patterns-pitfalls/

#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati

کانال تلگرام:
@SoftwarePhilisophy


___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آیا JSON کاملا جای XML را خواهد گرفت؟ این روزها فرمت JSON بسیار فراگیر شده‌است. این فرمت مزایای بسیار زیادی نسبت به سایر فرمت‌ها دارد. مقاله زیر این دو فرمت را کاملا با هم مقایسه کرده و به بررسی مزایا و معایب آنها پرداخته است. به جز در چند مورد خاص، در بیشتر موارد JSON فرمتی بهتر محسوب می‌شود.

http://www.c-sharpcorner.com/article/is-json-overridden-xml/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
برنامه نویسی روی HoloLens یکی از جذاب‌ترین کارهایی است که این روزها برنامه‌نویسان «لبه تکنولوژی» را به سمت خود می‌کشد. مشکلی که در استفاده از این تکنولوژی وجود دارد این است که سخت‌افزار آن گران است و به راحتی هم قابل دسترسی نیست.
خبر خوب این است که در ویژوال استودیو یک HoloLens Emulator وجود دارد که می‌توانید روی آن برنامه نویسی کنید و نتیجه کار خود را روی این ایمولاتور ببینید.
در لینک زیر یکی از برنامه نویسان تجربه کار خود را با Unity و HoloLens Emulator شرح داده‌است.

https://blogs.unity3d.com/2016/08/18/developing-for-hololens-with-the-emulator/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در دنیای کامپیوتر و نرم‌افزار زندگی می‌کنید، حتما لینک‌ها و صفحه‌های زیادی در طول روز می‌بینید که دوست دارید بخوانید ولی فرصت مطالعه آن‌ها را ندارید. در پست زیر Scott Hanselman توضیح داده است که چگونه «بعدا بخوانید!» یا «Read it Later!». در این پست ابزارهایی معرفی شده‌است که بتوانید با آنها مطالب نخوانده خود را بهتر مدیریت کنید و بتوانید آن‌ها را به زمانی موکول کنید که فرصت دارید.

http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
مفهوم Tuple Deconstrution مفهومی است که قرار است به نسخه ۷.۰ زبان C# اضافه شود. این مفهوم کار با Tuple ها را بسیار راحت‌تر می‌کند. با ظهور این قابلیت امکان نوشتن کد زیر به وجود خواهد آمد:
var (x, y) = point;
Console.WriteLine($"Coordinates: ({x}, {y})");
در این روش در یک خط، هر دو متغییر x و y مقدار گرفته‌اند و قابل استفاده هستند.
این ویژگی در Visual Studio 15 Preview 4 پیاده‌سازی شده و می‌تواند آن را آزمایش کرد.

لینک زیر مثال‌های جالبی از کاربرد این مفهوم ارائه کرده‌است.

http://www.thomaslevesque.com/2016/08/23/tuple-deconstruction-in-c-7/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ویژگی float در CSS یکی از ویژگی‌هایی است که نکات ریز خیلی زیادی دارد. به همین دلیل استفاده از آن معمولا در ابتدا خیلی ساده به نظر می‌رسد، ولی بعد از اینکه مدل صفحه پیچیده‌تر شد و تعداد زیادی از دستورات شروع به تاثیرگذاری روی یکدیگر کردند دیگر مدیریت آن آسان نیست. پست زیر که به زبان فارسی هم هست توضیحات خیلی خوبی در مورد توصیف عملکرد این ویژگی داده‌است که برای تمام کسانی که با CSS کار می‌کنند مفید است.

http://css-tricks.ir/css_reference/float/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرم‌افزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آیا واقعا الگوریتم ابزار مناسبی برای درک کاربر است!؟ الگوریتم‌ها محدودیت‌های زیادی دارند. آنها معمولا بر اساس «اطلاعات قبلی» ساخته شده‌اند. الگوریتم‌ها معمولا از اطلاعات محدودی استفاده می‌کنند، یعنی برای سادگی قسمت‌هایی از مساله حذف می‌شود تا حل آن ساده‌تر شود. ولی رفتار یک انسان حتی خیلی وقت‌ها شبیه رفتار قبل خودش نیست و تغییر می‌کند. اصولا رفتار انسان یک ویژگی منطقی نیست، ولی الگوریتم سعی در مدل کردن منطقی رفتار کاربران دارد.
مقاله زیر توضیح می‌دهد چگونه الگوریتم‌ها را «انسان‌وار» کنیم (Humanizing the Algorithms).

http://uxmag.com/articles/design-like-a-human-in-the-age-of-algorithms

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مفهوم delegate در زبان C# چه مشکلی را حل می‌کند؟ این مفهوم مشابه همان مفهوم Function Pointer یا اشاره‌گر به تابع در زبان‌هایی مانند C++ است. در حقیقت delegate ها می‌توانند یک تابع را در دل خود نگه‌ دارند و به صورت امن به آن اشاره کنند. شما اجازه دارید آنها را با هر تابعی که با امضای تعریف شده‌ در آنها تطابق دارد مقدار دهی کنید.
لینک زیر این مفهوم را با مثال توضیح می‌دهد.

http://www.c-sharpcorner.com/blogs/what-problem-does-delegates-solve-in-c-sharp

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.