#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. تجربیات یک طراح ارشد UX پروژههای هولوگرافیک
#ux #hololens
https://news.1rj.ru/str/SoftwarePhilosophy/654
۲. دو مقاله تفصیلی در مورد The Boy Scout Principle (ایران دات نت)
https://news.1rj.ru/str/SoftwarePhilosophy/655
۳. ابزاری برای تست صفحات وب در browser های مخلتف به همراه اسکرینشات
#frontend #browsercompability
https://news.1rj.ru/str/SoftwarePhilosophy/658
۴. چگونه محصولی کاملا متمایز از رقبا ارایه دهید (Iran Agile)
#productdesign
https://news.1rj.ru/str/SoftwarePhilosophy/659
۵. مفهوم Saga در معماری نرمافزار
#cqrs #designpattern #saga
https://news.1rj.ru/str/SoftwarePhilosophy/661
۶. مقیاسه فریم ورکهای Aurelia و Angular2
#angular2 #aurelia
https://news.1rj.ru/str/SoftwarePhilosophy/662
ـــــــــــ
@SoftwarePhilosophy
۱. تجربیات یک طراح ارشد UX پروژههای هولوگرافیک
#ux #hololens
https://news.1rj.ru/str/SoftwarePhilosophy/654
۲. دو مقاله تفصیلی در مورد The Boy Scout Principle (ایران دات نت)
https://news.1rj.ru/str/SoftwarePhilosophy/655
۳. ابزاری برای تست صفحات وب در browser های مخلتف به همراه اسکرینشات
#frontend #browsercompability
https://news.1rj.ru/str/SoftwarePhilosophy/658
۴. چگونه محصولی کاملا متمایز از رقبا ارایه دهید (Iran Agile)
#productdesign
https://news.1rj.ru/str/SoftwarePhilosophy/659
۵. مفهوم Saga در معماری نرمافزار
#cqrs #designpattern #saga
https://news.1rj.ru/str/SoftwarePhilosophy/661
۶. مقیاسه فریم ورکهای Aurelia و Angular2
#angular2 #aurelia
https://news.1rj.ru/str/SoftwarePhilosophy/662
ـــــــــــ
@SoftwarePhilosophy
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از محصولاتی که بصورت تخصصی در حوزه مجازی سازی در لایه سیستم عامل فعالیت میکند Docker می باشد . داکر یک محصول Open Source است که فرایند ایجاد، توسعه و اجرا کردن Application ها را با استفاده از Container ها ساده میکند. Container ها به یک برنامه نویس این اجازه را میدهد که application خود را با تمامی اجزای مورد نیاز آن اعم از فایلهای dll و کلیه library ها، کلیه وابستگی ها در قالب یک بسته نرم افزاری بیرون بدهد به شکلی که از بیرون یک نرم افزار واحد به نظر برسد.
از ویژگی های اصلی Docker میتوان به Open Source بودن محصول، سبک بودن، Deploy سریع اپلیکیشن، قابلیت جابجایی Containerها بین ماشینهای مختلف و قابلیت ورژن کنترل Containerها میباشد.
لینک زیر در مورد مکانیزم Docker و ویژگیهای آن توضیح میهد.
http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular
#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1
کانال تلگرام:
@SoftwarePhilosophy
___
از ویژگی های اصلی Docker میتوان به Open Source بودن محصول، سبک بودن، Deploy سریع اپلیکیشن، قابلیت جابجایی Containerها بین ماشینهای مختلف و قابلیت ورژن کنترل Containerها میباشد.
لینک زیر در مورد مکانیزم Docker و ویژگیهای آن توضیح میهد.
http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular
#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1
کانال تلگرام:
@SoftwarePhilosophy
___
ZDNET
What is Docker and why is it so darn popular?
Docker, a new container technology, is hotter than hot because it makes it possible to get far more apps running on the same old servers and it also makes it very easy to package and ship programs. Here's what you need to know about it.
Forwarded from Iran .Net
جلوگیری از حمله DOS
یکی از آسان ترین روش های حمله به وب سایت ها استفاده از تکنیکی به نام Denial Of Service (عدم پذیرش سرویس) و یا DOS می باشد.
در این تکنیک، فرد مهاجم تعداد بسیار بالایی از درخواست ها را به سمت سامانه شما روانه می کند. با بالا رفتن درخواست ها، منابع بسیاری زیادی در سرور اشغال می شود و یک صف طولانی از درخواست ها شکل می گیرد که به علت طولانی بودن، بسیاری از درخواست ها هیچ وقت شانس رسیدگی پیدا نخواهند کرد و کاربران شما عملا از دسترسی به وب سایت محروم خواهند شد.
برای جلوگیری از این اتفاق یکی از ساده ترین کار ها آن می باشد که فهرستی از تمامیِ IP هایی که به سمت شما آمده اند را ذخیره کنید و در هر بازه ی زمانیِ مشخص، اجازه تعداد محدودی درخواست را به آن IP بدهید.
قطعا بهترین جا برای پیاده سازی این منطق، جایی است که در فاصله زیادی از برنامه شما قرار داشته و نزدیک به سیستم عامل و وب سرور می باشد. در این صورت قبل از رسیدن درخواست به سمت برنامه و گرفتن منابع، درخواست مسدود شده و از صف خارج خواهد شد.
قابلیت Dynamic IP Address Restrictions، در IIS دقیقا به همین منظور قرار داده شده است. توسط این قابلیت می توانید در سطح وب سرور، محدودیت ها و سیاست هایی را بر روی IP ها اعمال کنید تا در صورت وقوع حملات DOS، به طور خودکار IP های مهاجم تشخیص داده شده و از چرخه سیستم عامل خارج شوند.
1. https://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-dynamic-ip-address-restrictions
2. https://technet.microsoft.com/en-us/library/hh831785(v=ws.11).aspx
@Irandotnet
یکی از آسان ترین روش های حمله به وب سایت ها استفاده از تکنیکی به نام Denial Of Service (عدم پذیرش سرویس) و یا DOS می باشد.
در این تکنیک، فرد مهاجم تعداد بسیار بالایی از درخواست ها را به سمت سامانه شما روانه می کند. با بالا رفتن درخواست ها، منابع بسیاری زیادی در سرور اشغال می شود و یک صف طولانی از درخواست ها شکل می گیرد که به علت طولانی بودن، بسیاری از درخواست ها هیچ وقت شانس رسیدگی پیدا نخواهند کرد و کاربران شما عملا از دسترسی به وب سایت محروم خواهند شد.
برای جلوگیری از این اتفاق یکی از ساده ترین کار ها آن می باشد که فهرستی از تمامیِ IP هایی که به سمت شما آمده اند را ذخیره کنید و در هر بازه ی زمانیِ مشخص، اجازه تعداد محدودی درخواست را به آن IP بدهید.
قطعا بهترین جا برای پیاده سازی این منطق، جایی است که در فاصله زیادی از برنامه شما قرار داشته و نزدیک به سیستم عامل و وب سرور می باشد. در این صورت قبل از رسیدن درخواست به سمت برنامه و گرفتن منابع، درخواست مسدود شده و از صف خارج خواهد شد.
قابلیت Dynamic IP Address Restrictions، در IIS دقیقا به همین منظور قرار داده شده است. توسط این قابلیت می توانید در سطح وب سرور، محدودیت ها و سیاست هایی را بر روی IP ها اعمال کنید تا در صورت وقوع حملات DOS، به طور خودکار IP های مهاجم تشخیص داده شده و از چرخه سیستم عامل خارج شوند.
1. https://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-dynamic-ip-address-restrictions
2. https://technet.microsoft.com/en-us/library/hh831785(v=ws.11).aspx
@Irandotnet
Docs
IIS 8.0 Dynamic IP Address Restrictions
The Dynamic IP Restrictions Extension for IIS provides IT Professionals and Hosters a configurable module that helps mitigate or block Denial of Service Atta...
اولین قدم در ساخت تیم پروژه در TFS انتخاب پروسه آن است که قالب کلی سیستم پیگیری ورکآیتمها را مشخص میکند.
یکی از این پروسهها، CMMI است. در اصل Capability Maturity Model Integration (CMMI) یک مدل است و نه نسخهای که قدم به قدم قابل اجرا باشد. این مدل مجموعه ای از رفتارهای سازمانی برای توسعه نرم افزار و مهندسی سیستم را ارايه میدهد. هدف این مدل ارزیابی میزان بلوغ فرایندهای سازمان و ارائه راهکارهایی برای بهبود آنهاست که نهایتا منجر به بهبود محصول نهایی میشود.
در TFS زمانی این نوع پروسه انتخاب میشود که تیم از روشهای مشخص و خاصی در پروژه استفاده میکند و نیازمند چارچوبی برای بهبود پروسه و فرایندهای خود است که امکان ارزیابی تصمیمات و روشها را فراهم کند.
در این پروسه امکان پیگیری requirement, change request, risk and review وجود دارد.
لینک زیر به طور کامل پروسه CMMI را در TFS شرح میدهد.
https://www.visualstudio.com/en-us/docs/work/guidance/cmmi-process
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از این پروسهها، CMMI است. در اصل Capability Maturity Model Integration (CMMI) یک مدل است و نه نسخهای که قدم به قدم قابل اجرا باشد. این مدل مجموعه ای از رفتارهای سازمانی برای توسعه نرم افزار و مهندسی سیستم را ارايه میدهد. هدف این مدل ارزیابی میزان بلوغ فرایندهای سازمان و ارائه راهکارهایی برای بهبود آنهاست که نهایتا منجر به بهبود محصول نهایی میشود.
در TFS زمانی این نوع پروسه انتخاب میشود که تیم از روشهای مشخص و خاصی در پروژه استفاده میکند و نیازمند چارچوبی برای بهبود پروسه و فرایندهای خود است که امکان ارزیابی تصمیمات و روشها را فراهم کند.
در این پروسه امکان پیگیری requirement, change request, risk and review وجود دارد.
لینک زیر به طور کامل پروسه CMMI را در TFS شرح میدهد.
https://www.visualstudio.com/en-us/docs/work/guidance/cmmi-process
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
Docs
CMMI process template artifacts - VSTS & TFS
CMMI process objects used to plan and track work, monitor progress, and trends when connecting to Visual Studio Team Services & Team Foundation Server
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارند «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید و این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۶۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
نوشتن بات برای بازیهای کامپیوتری یکی از تفریحاتی است که برای برنامهنویسان میتواند جذاب باشد. با اینکه این برنامهها معمولا جز برنامههای کوچک محسوب میشوند ولی معماری نرمافزاری آنها کماکان میتواند جذاب باشد. یکی از روشهای معماری این نرمافزارها مدل کردن جهان بازی است. در این معماری تمامی امکاناتی که یک بازی در اختیار کاربر قرار میدهد به طور انتزاعی طراحی میشود. برای مثال برای اینکه بازی ساده Telegram Lumberjack را مدل کرد باید بررسی کرد این بازی چه امکاناتی را در اختیار بازیگر قرار میدهد. برای مثال یک عامل میتواند با گرفتن فیلم از اسکرین و فرستادن دکمههای چپ و راست به موقع به عنوان یک بات برای این بازی عمل کند.
لینک زیر یکی از پیادهسازیهای ممکن برای گرفتن امتیازهای بالا در Telegram Lumberjack را شرح دادهاست.
http://mehrandvd.me/2016/10/30/cheating-telegram-lumberjack/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر یکی از پیادهسازیهای ممکن برای گرفتن امتیازهای بالا در Telegram Lumberjack را شرح دادهاست.
http://mehrandvd.me/2016/10/30/cheating-telegram-lumberjack/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
مورد توافقترین تعریفی که در ارتباط با مدیریت محصول وجود دارد، تعریفی بسیار ساده و قابل درک است: «ارائه محصولی درست به شیوه ای درست به مشتری». اما مدیریت محصول کماکان یکی از سخترین شرح وظایفهایی است که میتوان در هر سازمان تصور کرد. این ابهام در چیستی و چگونگی مدیریت محصول در شرکت های نرم افزاری که تجربهای درست در داشتن مدیر محصول ندارند بسیار بیشتر است.
لینک زیر می تواند یک شروع خوب برای آشنا شدن با این مفهوم باشد.
https://medium.com/@joshelman/a-product-managers-job-63c09a43d0ec#.i6pcfk9wa
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر می تواند یک شروع خوب برای آشنا شدن با این مفهوم باشد.
https://medium.com/@joshelman/a-product-managers-job-63c09a43d0ec#.i6pcfk9wa
#کاروان_جافی
لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027
کانال تلگرام:
@SoftwarePhilosophy
___
Medium
A Product Manager’s Job
Product management is one of the hardest jobs to define in any organization, partially because it’s different in every company. I’ve had several recent conversations about “what is a product…
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. پلتفرم Docker و نحوه عملکرد آن
#docker #deployment
https://news.1rj.ru/str/SoftwarePhilosophy/666
۲. جلوگیری از حمله DOS (ایران دات نت)
#security
https://news.1rj.ru/str/SoftwarePhilosophy/667
۳. توضیح فرایند CMMI در TFS
#sdlc #softwaredevelopmentprocess #tfs #cmmi
https://news.1rj.ru/str/SoftwarePhilosophy/668
۴. نوشتن بات برای بازی Lumberjack در تلگرام
#telegram #gamebot #csharp
https://news.1rj.ru/str/SoftwarePhilosophy/671
۵. مدیریت محصول در شرکتهای نرمافزاری
#productmanagement
https://news.1rj.ru/str/SoftwarePhilosophy/674
ـــــــــــ
@SoftwarePhilosophy
۱. پلتفرم Docker و نحوه عملکرد آن
#docker #deployment
https://news.1rj.ru/str/SoftwarePhilosophy/666
۲. جلوگیری از حمله DOS (ایران دات نت)
#security
https://news.1rj.ru/str/SoftwarePhilosophy/667
۳. توضیح فرایند CMMI در TFS
#sdlc #softwaredevelopmentprocess #tfs #cmmi
https://news.1rj.ru/str/SoftwarePhilosophy/668
۴. نوشتن بات برای بازی Lumberjack در تلگرام
#telegram #gamebot #csharp
https://news.1rj.ru/str/SoftwarePhilosophy/671
۵. مدیریت محصول در شرکتهای نرمافزاری
#productmanagement
https://news.1rj.ru/str/SoftwarePhilosophy/674
ـــــــــــ
@SoftwarePhilosophy
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارید «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید.
این پیغام را برای آنها Forward کنید.
این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تکنولوژی Xamarin یکی از تکنولوژیهای توسعه برنامههای موبایل cross-platform است. سایت «تکنولوژی رادار» که توسط «مارتین فاولر» مدیریت میشود و به بررسی تکنولوژیها میپردازد، از سال ۲۰۱۵ این تکنولوژی را وارد حلقه Trial کرده است. ورود این تکنولوژی به حلقه Trial به این معنی است که به نظر متخصصان شرکت Thought Works، «این تکنولوژی ارزش دنبال کردن دارد و برای استفاده در محصولات شرکتهای بزرگی که حاضرند روی تکنولوژیهای جدید سرمایهگذای کنند مناسب است». تا قبل از سال ۲۰۱۵ این تکنولوژی در حلقه Assess قرار داشت که که به این معنی بود: « تکنولوژی جذابی است ولی هنوز شرکتها باید آن را بررسی کنند».
با آماده شدن این تکنولوژی برای توسعه برنامههای موبایل و کامپوننتهایی که برای آن نوشته شدهاست به نظر میرسد نسل جدیدی از برنامه نویسی موبایل شکل گیرد.
https://www.thoughtworks.com/radar/tools/xamarin
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
با آماده شدن این تکنولوژی برای توسعه برنامههای موبایل و کامپوننتهایی که برای آن نوشته شدهاست به نظر میرسد نسل جدیدی از برنامه نویسی موبایل شکل گیرد.
https://www.thoughtworks.com/radar/tools/xamarin
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Thoughtworks
Technology Radar | Emerging Technology Trends for 2017 | ThoughtWorks
What’s happening in the Tools quadrant of the ThoughtWorks Technology Radar? Discover what’s new or moved in the latest edition. Find out more #TWTechRadar
#پست_مجدد این پست تا به حال بیش از ۱۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
استایل برنامهنویسی JSFuck یک نوع خاص برنامهنویسی رمزگونه و آموزشی در JavaScript است. در این نوع برنامه نویسی فقط و فقط از ۶ کاراکتر «()+[]!» استفاده میشود و تمام المانهای مورد نیاز برنامه نویسی با استفاده فوت و فنها و trick های JavaScript معادلسازی شدهاند. برای مثال برای معادل عبارت false، ![] و برای true از !![] استفاده میشود. اینها trick هایی در زبان JavaScript هستند که معمولا توصیه میشود از آن دوری شود، ولی در این سبک همین تکنیکها پایه و اساس هستند. کشف راز هر کدام از این معادلها تفریح خوبی برای برنامهنویسان JavaScript است. چند معادلسازی جالب دیگر این روش عبارتند از:
1. false => ![]
2. true => !![]
3. undefined => [][[]]
4. NaN => +[![]]
5. 0 => +[]
6. 1 => +!+[]
7. 2 => !+[]+!+[]
به این ترتیب هر کد JavaScript را میتوان به سبک JSFuck هم نوشت! در سایت زیر ضمن معرفی این استایل برنامهنویسی، ابزاری برای encode کردن کد JavaScript به این سبک نیز وجود دارد.
http://www.jsfuck.com/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
1. false => ![]
2. true => !![]
3. undefined => [][[]]
4. NaN => +[![]]
5. 0 => +[]
6. 1 => +!+[]
7. 2 => !+[]+!+[]
به این ترتیب هر کد JavaScript را میتوان به سبک JSFuck هم نوشت! در سایت زیر ضمن معرفی این استایل برنامهنویسی، ابزاری برای encode کردن کد JavaScript به این سبک نیز وجود دارد.
http://www.jsfuck.com/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Jsfuck
JSFuck - Write any JavaScript with 6 Characters: []()!+
JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to execute code.
#پست_مجدد این پست تا به حال بیش از ۲۳۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تجربه کاربری یا UX یکی از مفاهیمی است که تاثیر زیادی در محبوب شدن یک محصول دارد. مفهوم DX یا Developer Experience نیز مفهوم جدیدی است که تجربه یک برنامهنویس هنگام استفاده از یک پلتفرم یا فریمورک را بررسی میکند. چرا یک پلتفرم یا فریمورک محبوب میشود و دیگری نه؟ این سوالی است که عوامل زیادی در پاسخ دادن به آن موثر هستند. اینکه یک برنامه نویس هنگام کار با آن پلتفرم چه تجربهای احساس میکند یکی از عوامل مهم موفقیت یک پلتفرم است. در مقاله زیر مفهوم جدیدی به نام Dotability معرفی شده که میتوان به وسیله آن کتابخانهها و فریمورکهای مختلف را از لحاظ DX بررسی کرد.
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
http://mehrandvd.me/2016/05/31/developer-experience-dotability/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Developer Experience: Dotability - Dot Philosophy
Again, this famous 'X', as in UX. It's all about experience. The good experience is the key that makes a product valuable. We are always talking about user experience, but here in this post, I am going to talk about developer experience. As a developer, you…
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارند «مهندس نرمافزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید و این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.