Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
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


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

لینک زیر می تواند یک شروع خوب برای آشنا شدن با این مفهوم باشد.

https://medium.com/@joshelman/a-product-managers-job-63c09a43d0ec#.i6pcfk9wa


#کاروان_جافی

لینکدین:
https://uk.linkedin.com/in/karvan-jafi-96897027

کانال تلگرام:
@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 کنید.
#پست_مجدد این پست تا به حال بیش از ۱۳۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
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


___
#پست_مجدد این پست تا به حال بیش از ۱۵۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
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


___
#پست_مجدد این پست تا به حال بیش از ۲۳۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
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


___
Forwarded from Software Philosophy
اگر دوستانی دارید که نه تنها برنامه نویس هستند، بلکه اعتقاد دارند «مهندس نرم‌افزار» هم هستند، آنها را به کانال @SoftwarePhilosophy دعوت کنید و این پیغام را برای آنها Forward کنید.
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
فایل‌های گرافیکی دو دسته اند vector و raster:
در فایل‌های Vector برای نمایش یک عکس از خطوط و منحنی استفاده شده است. این فایل‌های گرافیکی توسط نرم افزارهای کامپیوتری ساخته می‌شوند که هر خط و منحنی مشخصات خود را دارد. به همین دلیل با زوم روی این عکس‌ها از شفافیت آن کاسته نمی‌شود.
در فایل‌های Raster (Bitmap image)، این پیکسل‌ها هستند که یک عکس را تشکیل می‌دهند. با زیاد کردن زوم روی این عکس‌ها، از کیفیت آنها کاسته می‌شود اما در کل عکس‌های طبیعی‌تری را می‌توانند نمایش دهند، از این جهت که با زیاد کردن تعداد پیکسل‌ها با رنگ‌های زیاد می‌توان عکس را به واقعیت نزدیک کرد.
دانستن معایب و مزایای هرکدام از این فایل‌ها برای انتخاب صحیح و متناسب با نیاز، لازم و ضروری است. مقاله زیر به شرح این مهم پرداخته است.

http://vector-conversions.com/vectorizing/raster_vs_vector.html

#مریم_داودی

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

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

___
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
همیشه نبودن قابلیت‌هایی مثل Variables, Functions, Mixins، دستورات شرطی و حلقه‌ها و… یا نبودن یک ساختار منسجم، توسعه دهنگان وب را آزار می‌داد تا اینکه تکنولوژی‌هایی به نام Preprocessor ها مانند LESS و SASS و Stylus و … معرفی شدند که دارای Syntax سوای از CSS بودند و از راه‌ها و Syntax های دیگری برای اضافه کردن این قابلیت‌ها استفاده می‌کنند.
برای رفع این مشکلات و حتی بهبود کدنویسی، PostCSS معرفی شد که به عنوان ابزاری برای تبدیل CSS شما به CSS بهینه‌تر به کمک Module هایی بر پایه JS شناخته می‌شود برای مثال کد شما را فشرده می‌کند، پیشوندهای مروگر را اضافه می‌کند، قابلیتهایی مثل متغیر ها و… را به شما می‌دهد، قابلیت‌هایی که در آینده به CSS اضافه خواهند شد را اکنون در اختیار شما قرار می‌دهد و ده‌ها قابلیت دیگر که همگی اینها به عهده Module ها می‌باشد.از جمله Module های معروف می‌توان به autoprefixer و stylelint اشاره کرد که انتظارات را از یک Preprocessor یا Postprocessor نیز فراتر می‌برد.
در مقاله زیر به شرح امکانات و ویژگی های دیگر PostCSS و همینطور شناخت دقیق‌تر آن پرداخته شده است.

http://julian.io/some-things-you-may-think-about-postcss-and-you-might-be-wrong

#محمدرضا_جلیلوند
لینکدین:
http://ir.linkedin.com/in/mohammad-reza-jalilvand-0a5572b1

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

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
یکی از مسائل مهمی که هر وبسایت نوپایی با آن مواجه است، شناخته شدن وبسایت توسط موتورهای جستجوگر یا همان search engine هاست.
به طور کلی باید گفت هرچقدر مطالب، موضوعات و متن وب سایت قویتر باشد، تعداد مراجعات به وبسایت و ارجاعات به سایت در شبکه‌های اجتماعی بیشتر خواهد بود و به این ترتیب است که موتورهای جستجوگر وبسایت شما را به عنوان سایتی که برای مردم جالب و جذاب است، می شناسند.
روش هایی برای بهبود فرایند گفته شده وجود دارد که به نام Search Engine Optimization یا همان SEO مرسوم شده‌اند.
سئو یا همانSEO، به مجموعه فعالیت‌هایی اطلاق می شود که در نتیجه آنها میتوان اطمینان داشت که نام وبسایت با جستجوی کلمات مرتبط با بیزنس و کاربری آن، در صفحات اصلی خروجی موتورهای جستجوگر وجود دارد.
مقاله زیر مجموعه فعالیت های SEO و روشهای آنرا شرح داده است.

http://www.wordstream.com/blog/ws/2012/01/17/seo-content-beginners-guide

#مریم_داودی

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

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


___
#خلاصه_مطالب «فلسفه نرم‌افزار» در هفته گذشته:

۱. بررسی جایگاه تکنولوژی Xamarin
#Xamarin
https://news.1rj.ru/str/SoftwarePhilosophy/678

۲. برنامه‌نویسی در JavaScript به شیوه JSFuck
#JSFuck #JavaScript
https://news.1rj.ru/str/SoftwarePhilosophy/680

۳. معرفی مفهوم Dotability‌
#Dotability‌ #FrameworkDesign
https://news.1rj.ru/str/SoftwarePhilosophy/682

۴. فایل‌های گرافیکی vector و raster
#vector #raster
https://news.1rj.ru/str/SoftwarePhilosophy/685

۵. امکانات و ویژگی‌های PostCSS
#css #postcss #less #sass
https://news.1rj.ru/str/SoftwarePhilosophy/687

۶. مفهوم SEO و عملکرد آن
#seo
https://news.1rj.ru/str/SoftwarePhilosophy/689

ـــــــــــ
@SoftwarePhilosophy