#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در حال توسعه نرمافزار هستید و با مفهوم Source Control آشنایی ندارید، حتما یک جای کار خیلی مشکل دارد! امروزه مفاهیم و ابزارهای سورس کنترل انقدر زیاد و متداول شدهاند که اگر به آن عادت کنید، دیگر حتی بدون آنها نمیتوانید یک پروژه شخصی در خانه بنویسید.
لینک زیر که توسط تیم git (یکی از محبوبترین ابزارهای سورس کنترل) نوشته شدهاست، مفاهیم پایهای را توضیح میدهد.
https://www.atlassian.com/git/tutorials/what-is-version-control
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
لینک زیر که توسط تیم git (یکی از محبوبترین ابزارهای سورس کنترل) نوشته شدهاست، مفاهیم پایهای را توضیح میدهد.
https://www.atlassian.com/git/tutorials/what-is-version-control
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Atlassian
What is version control | Atlassian Git Tutorial
Version control is the practice of tracking and managing changes to software code. Learn about the benefits of version control systems here.
با استفاده از دستور supports@ در CSS میتوان پشتیبانی مرورگر را در مورد یک ویژگی بررسی کرد. یعنی آن ویژگی در مرورگر مورد نظر کار میکند یا خیر.
معمولا این کار توسط کتابخانههای جاوااسکریپت نظیر Modernizr انجام میشود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.
https://davidwalsh.name/css-supports
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
معمولا این کار توسط کتابخانههای جاوااسکریپت نظیر Modernizr انجام میشود اما این دستور این امکان را می دهد تا بتوان این آزمایش را در فایل CSS بدون نوشتن کد جاوااسکریپت انجام داد.
اگر علاقمند به استفاده از این ویژگی هستید، لینک زیر را بخوانید.
https://davidwalsh.name/css-supports
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
David Walsh Blog
CSS @supports
Firefox, Chrome, and Opera have just recently added support for CSS @supports (CSS) and CSS.supports (JavaScript) to detect browser support for a given style directive.
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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
___
در پست زیر ضد الگوهای موجود در برنامههای اندرویدی معرفی و به طور کامل تشریح شدهاند.
http://www.sitepoint.com/android-design-anti-patterns-pitfalls/
#افشین_علیزاده
لینکدین:
https://ir.linkedin.com/in/afshinalizadehbehjati
کانال تلگرام:
@SoftwarePhilisophy
___
Sitepoint
Android Design Anti-Patterns and Common Pitfalls — SitePoint
Designing for mobile is as much about meeting user expectation as it is about screen sizes. Joyce looks at the most common Android design anti-patterns.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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
___
http://www.c-sharpcorner.com/article/is-json-overridden-xml/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
C-Sharpcorner
Has JSON Overtaken XML
This article gives you the overview of JSON and how it is used in the current data transmission in the modern world between applications and UI.
برنامه نویسی روی 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
___
خبر خوب این است که در ویژوال استودیو یک 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
___
Unity Technologies Blog
Developing for HoloLens with the Emulator – Unity Blog
This is a guest blog post
Hi, I’m René from IdentityMine/Valorem and a passionate developer working with 3D computer graphics. I’ve been in VR and AR for ...
Hi, I’m René from IdentityMine/Valorem and a passionate developer working with 3D computer graphics. I’ve been in VR and AR for ...
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اگر در دنیای کامپیوتر و نرمافزار زندگی میکنید، حتما لینکها و صفحههای زیادی در طول روز میبینید که دوست دارید بخوانید ولی فرصت مطالعه آنها را ندارید. در پست زیر Scott Hanselman توضیح داده است که چگونه «بعدا بخوانید!» یا «Read it Later!». در این پست ابزارهایی معرفی شدهاست که بتوانید با آنها مطالب نخوانده خود را بهتر مدیریت کنید و بتوانید آنها را به زمانی موکول کنید که فرصت دارید.
http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Hanselman
Two Must-Have Tools for a More Readable Web
Here's how most folks use the Web. You get a link in email, Twitter, Facebook, IM, whatever and you open it in a new ...
مفهوم 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
___
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
___
Thomaslevesque
Tuple deconstruction in C# 7
Last time on this blog I talked about the new tuple feature of C# 7. In Visual Studio 15 Preview 3, the feature wasn’t quite finished; it lacked 2 important aspects:
emitting metadata for the names of tuple elements, so that the names are preserved across…
emitting metadata for the names of tuple elements, so that the names are preserved across…
#پست_مجدد این پست تا به حال بیش از ۱۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ویژگی float در CSS یکی از ویژگیهایی است که نکات ریز خیلی زیادی دارد. به همین دلیل استفاده از آن معمولا در ابتدا خیلی ساده به نظر میرسد، ولی بعد از اینکه مدل صفحه پیچیدهتر شد و تعداد زیادی از دستورات شروع به تاثیرگذاری روی یکدیگر کردند دیگر مدیریت آن آسان نیست. پست زیر که به زبان فارسی هم هست توضیحات خیلی خوبی در مورد توصیف عملکرد این ویژگی دادهاست که برای تمام کسانی که با CSS کار میکنند مفید است.
http://css-tricks.ir/css_reference/float/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
http://css-tricks.ir/css_reference/float/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
آموزش حرفه ای و تخصصی CSS
float - آموزش حرفه ای و تخصصی CSS
توضیح کامل ویژگی float در سایت css-tricks.ir توسط مجتبی سیدی
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها 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
___
مقاله زیر توضیح میدهد چگونه الگوریتمها را «انسانوار» کنیم (Humanizing the Algorithms).
http://uxmag.com/articles/design-like-a-human-in-the-age-of-algorithms
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
Uxmag
Design like a Human in the Age of Algorithms
Algorithms are based on past behaviors—what you liked, what you purchased, what you clicked.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
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
___
لینک زیر این مفهوم را با مثال توضیح میدهد.
http://www.c-sharpcorner.com/blogs/what-problem-does-delegates-solve-in-c-sharp
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilisophy
___
C-Sharpcorner
What Problem Does Delegates Solve in C#?
In this blog you will learn how to solve Delegates Problem in C#.
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
آیا شما هم از آن دسته از برنامه نویس/توسعه دهندگان هستید که ترجیح میدهند به تنهایی کار کنند. جواب هر چه باشد شکی در این نیست که هیچ پروژه بزرگی بدون وجود یک تیم خوب، به نتیجه نرسیده است.
انتخاب افراد مناسب بخشی از فرآیند تیم سازی است، اما قسمت مهم در هدایت یک تیم، به کارگیری هر فرد در جایگاه مناسب است. تعریف های مختلف و متنوعی از پارامتر های یک تیم موفق وجود دارد که یکی از جالب ترین این تعاریف مدلBelbin است. بلبین معتقد است در هر تیم موفق (گروهی که برای رسیدن به یک هدف مشترک فعالیت می کنند) مجموعه ای از نقش ها باید وجود داشته باشد.
لینک زیر این نقشها و خصوصیات هر یک را شرح می دهد. شما تا کنون کدامیک از این نقش ها را در گروه خود ایفا کرده اید؟
http://www.belbin.com/about/belbin-team-roles/
#مهدی_نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
انتخاب افراد مناسب بخشی از فرآیند تیم سازی است، اما قسمت مهم در هدایت یک تیم، به کارگیری هر فرد در جایگاه مناسب است. تعریف های مختلف و متنوعی از پارامتر های یک تیم موفق وجود دارد که یکی از جالب ترین این تعاریف مدلBelbin است. بلبین معتقد است در هر تیم موفق (گروهی که برای رسیدن به یک هدف مشترک فعالیت می کنند) مجموعه ای از نقش ها باید وجود داشته باشد.
لینک زیر این نقشها و خصوصیات هر یک را شرح می دهد. شما تا کنون کدامیک از این نقش ها را در گروه خود ایفا کرده اید؟
http://www.belbin.com/about/belbin-team-roles/
#مهدی_نظری
لینکدین
https://ir.linkedin.com/in/mohammad-mahdi-nazari-90097b58
توییتر
https://twitter.com/ShamehdiN
کانال تلگرام:
@SoftwarePhilosophy
___
Belbin
The Nine Belbin Team Roles
Using Belbin throughout your organisation will help individuals to fulfil their potential by identifying their key strengths, and enable the right people to be brought together to form high-performing teams.
Forwarded from Iran .Net
آشنایی با Parallel LINQ
یکی از قابلیت هایی که در نسخه 3.5 دات نت فریم ورک افزوده شد قابلیت LINQ بود که برای راحت تر و روان تر کردن کار با داده ها طراحی شده بود و کم و بیش همه با آن آشنا هستند.
یکی از قابلیت های کمتر شناخته شده دات نت فریم ورک PLINQ یا Parallel LINQ می باشد که با سادگی به ما کمک می کند، پردازش های ما به طور موازی و همزمان صورت بگیرد و سرعت و بهره وری کد مان افزایش پیدا کند. برای بهره گیری از PLINQ تغییر چندانی در کد لازم نیست بدهیم و راه ورود به قلمرو PLINQ و اجرای موازی پردازش ها تنها و تنها استفاده از متد AsParallel می باشد. صدا زدن متد AsParallel بر روی داده (IEnumerable) به طور خودکار زمینه اجرای LINQ را به PLINQ تغییر خواهد داد.
همیشه اجرای موازی موجب افزایش کارایی نخواهد شد و حتی می تواند نتیجه ای برعکس داشته باشد. موتور اجرای PLINQ می تواند تا حدودی شرایط را ارزیابی کند و در صورت نیاز کد را به صورت Sequential و غیر موازی اجرا کند.
همچنین موتور PLINQ به طور پیشفرض به تعداد هسته های پردازنده Thread ایجاد خواهد کرد و هر Thread را بر روی یک هسته اجرا خواهد کرد. شما می توانید با استفاده از متد WithDegreeOfParallelism مشخص کنید و دستور دهید که به جای تنظیمات پیشفرض چه تعداد Thread باید ایجاد شود.
1. آشنایی مقدماتی با PLINQ:
http://www.codeproject.com/Articles/156980/Parallelism-in-NET-PLINQ
2. آشنایی با حنبه های فنی تر PLINQ:
https://msdn.microsoft.com/en-us/library/dd997425(v=vs.110).aspx
3. مثال هایی عملی و مباحث پیشرفته تر در کتاب آنلاین Albahari:
http://www.albahari.com/threading/part5.aspx#_PLINQ
یکی از قابلیت هایی که در نسخه 3.5 دات نت فریم ورک افزوده شد قابلیت LINQ بود که برای راحت تر و روان تر کردن کار با داده ها طراحی شده بود و کم و بیش همه با آن آشنا هستند.
یکی از قابلیت های کمتر شناخته شده دات نت فریم ورک PLINQ یا Parallel LINQ می باشد که با سادگی به ما کمک می کند، پردازش های ما به طور موازی و همزمان صورت بگیرد و سرعت و بهره وری کد مان افزایش پیدا کند. برای بهره گیری از PLINQ تغییر چندانی در کد لازم نیست بدهیم و راه ورود به قلمرو PLINQ و اجرای موازی پردازش ها تنها و تنها استفاده از متد AsParallel می باشد. صدا زدن متد AsParallel بر روی داده (IEnumerable) به طور خودکار زمینه اجرای LINQ را به PLINQ تغییر خواهد داد.
همیشه اجرای موازی موجب افزایش کارایی نخواهد شد و حتی می تواند نتیجه ای برعکس داشته باشد. موتور اجرای PLINQ می تواند تا حدودی شرایط را ارزیابی کند و در صورت نیاز کد را به صورت Sequential و غیر موازی اجرا کند.
همچنین موتور PLINQ به طور پیشفرض به تعداد هسته های پردازنده Thread ایجاد خواهد کرد و هر Thread را بر روی یک هسته اجرا خواهد کرد. شما می توانید با استفاده از متد WithDegreeOfParallelism مشخص کنید و دستور دهید که به جای تنظیمات پیشفرض چه تعداد Thread باید ایجاد شود.
1. آشنایی مقدماتی با PLINQ:
http://www.codeproject.com/Articles/156980/Parallelism-in-NET-PLINQ
2. آشنایی با حنبه های فنی تر PLINQ:
https://msdn.microsoft.com/en-us/library/dd997425(v=vs.110).aspx
3. مثال هایی عملی و مباحث پیشرفته تر در کتاب آنلاین Albahari:
http://www.albahari.com/threading/part5.aspx#_PLINQ
CodeProject
Parallelism in .NET – PLINQ