Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
#پست_مجدد این پست تا به حال بیش از ۱۱۳۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
انسان هنگام انجام هر کاری ممکن است دچار خطا شود. برنامه نویسان هم از این قاعده کلی مستثنی نیستند. در روند توسعه پروژه یکی از کارهای عاقلانه تست مداوم نرم افزار است.
برای انجام تست ابزارهای متنوعی وجود دارد . یکی از ابزارهایی که بخصوص برای برنامه نویسان جاوا بسیار محبوب است ، Jenkins نام دارد که به صورت اتومات اجرا می‌گردد.

در لینک زیر توضیحات بیشتری در این مورد وجود داد :

https://www.edureka.co/blog/what-is-jenkins/

#شهریار_انتظام (https://ow.ly/qDN430nPiCg)

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

___
Forwarded from Iran Agile
🔵 🔵 تیری به قلب SAFe؟! چرا وزارت دفاع آمریکا رسماً اعلام کرد که نباید از چارچوب SAFe استفاده کرد؟

داستان ازآنجا شروع شد که چندی پیش برایان ریورا، نیگل تارلو و دیو اسنودن، از پیشگامان و اساتید دنیای چابک فرصتی داشتند تا با رهبران و مدیران فناوری ارتش و نیروی دریایی ایالات‌متحده آمریکا دیدار کرده و طی گفتگوهایی، ایشان را با پیچیدگی‌های دنیای چابک و همچنین معضلات چارچوب‌های عظیم‌الجثه، و دست و پاگیر مانند SAFe، بیشتر آشنا کنند.

شواهد متعدد نشان می‌دهد که ارتش و بخصوص وزارت دفاع ایالات‌متحده در مسیر چابکی بیشتر برای توسعه نرم افزارهایش، قصد تغییر و پذیرش یکی از این چارچوب‌ها را داشته است و منجر به آن شد که آقای نیکولاس چِیلان – Nicolas M. Chaillan، افسر ارشد نرم‌افزار و مسئول پروژه DevSecOps در نیروی هوایی ایالات‌متحده، در قالب یک گزارش جامع، علاوه بر پوشش سوالات و چالش‌های نرم‌افزاری متنوع، بخشی را نیز به بیان دیدگاه خود و گروهش نسبت به استفاده از چارچوب‌های مقیاس‌پذیر به‌ویژه چارچوب SAFe در سازمان متبوعش اختصاص دهد.

انتشار این گزارش بسیار مهم، واکنش‌های بین‌المللی فراوانی را در پی داشته است. برای اینکه اهمیت این موضوع را بهتر درک کنید باید خاطرنشان کنم که مطالعه جنبش‌ها و تحولات تاریخی در صنعت نرم‌افزار نشان می‌دهد که ارتش‌های جهان به‌طور کل و وزارت دفاع و ارتش ایالات‌متحده آمریکا به‌طور خاص، همواره منشأ و خاستگاه انواع ابتکارات، چارچوب‌ها، مفاهیم، فرایندها، تکنیک‌ها و تاکتیک‌های عمدتاً خوب و گاهی هم نچندان خوب بوده‌اند!
👉 https://vrgl.ir/9PP8H

تمرکز و حساسیت غریزی ارتش در گزینش فناوری و این بار روی چارچوب‌های مقیاس‌پذیر، نکاتی کلیدی را هویدا کرده است. بازار مکاره تجارت چارچوب‌های رنگ‌ووارنگ در جهان بسیار داغ است و ایران نیز از گزند آن در امان نمانده و در سال‌های اخیر بسیاری از سازمان‌های متوسط و بزرگ، توسط مشاوران و بازاریابان چشم آبی این چارچوب‌ها، تور شده و هزینه‌های گزافی را نیز برای تقریباً هیچ متحمل شده‌اند! گزارش آقای چِیلان به‌روشنی نشان می‌دهد که این چارچوب‌ها و به‌ویژه چارچوب معظم SAFe، چندان هم چابک و «ایمن» نیستند!

🔹🔹 به دلیل اهمیت اسلاید و نکات بسیار کلیدی و آموزنده‌اش، ترجمه آن را به همراه برخی اشارات تکمیلی در ادامه خواهم آورد. امیدوارم راهگشای تصمیمات و انتخاب‌های آتی شرکت‌ها و سازمان‌ها، بخصوص آنانی که علاقه بسیار زیادی به مقیاس‌دهی به همه‌چیز دارند، قرار گیرد.

🔗 https://virgool.io/@soheilsam/ym1ehfl3sanh
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
آپلود فایل های بسیار حجیم در ASP.NET Core

واسه فایل های نه چندان حجیم (مثلا تا 200 الی 300 مگابایت) میتونین از 2 آموزش زیر استفاده کنین که ترفنداشو بهتون میگه

https://www.binaryintellect.net/articles/612cf2d1-5b3d-40eb-a5ff-924005955a62.aspx

https://www.talkingdotnet.com/how-to-increase-file-upload-size-asp-net-core/

🔰 ولی اگه فایل هاتون خیلی حجیم هست (مثلا 500 مگ به بالا تاااااا چندین گیگابایت)
بهتره از روش Chunk (خرد کردن فایل حجیم به تکه های کوچیک تر و سپس آپلود این تیکه ها و نهایتا جمع کردنش سمت سرور) استفاده کنین

🔸سمپل زیر این قابلیت رو به خوبی پیاده سازی کرده
واسه این روش باید هم سمت سرور کدشو بنویسین و هم سمت کلاینت، از پلاگینی استفاده کنین که کار Chunk کردن رو براتون انجام بده (البته دستی هم میشه ولی با پلاگین راحت تره) مثلا این سمپل از پلاگین Resumable.js استفاده کرده

https://github.com/edsoncunha/chunked-file-upload-csharp
نکته : واسه اجرا حتما برنامه رو روی Kestrel اجرا کنین وگرنه در حالت IISExpress محدودیت هایی داره
_______________
@DotNetZoom
Forwarded from فلسفه دیزاین
دیزاین به مثابه جاده چالوس

دیزاین تنها یک شغل نیست. اشتباه است اگر فکر ‌کنیم که دیزاینرها پشت میز کارشان می‌نشینند و تمام روز مشغول طراحی با ابزارهای دیجیتال هستند یا آنکه برای دیزاینر شدن تنها کافیست که بر ابزارهایی همچون ادوبی XD، ایلاستریتور، فتوشاپ یا اسکچ تسلط پیدا کنیم.

دیزاین یک فرآیند انسان محور است و از همین رو باید بتواند با نیازها و خواست‌های انسانی همراه و هم‌قدم شود و از آنجا که نیازهای انسان‌ها مدام درحال تغییر و تحول است، هیچ‌گاه یک دیزاین کامل و عالی برای تمامی دوران‌ها وجود نخواهد داشت. این نکته همان چیزیست که فرآیند دیزاین را پیچیده می‌کند.

برای آنکه دیزاینرها بتوانند در مسیر پرابهام و پرپیچ و خم دیزاین قدم بردارند، لازم است که علاوه بر تسلط بر ابزارها، مهارت‌های نرم نیز داشته باشند.

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

در مقاله‌ی زیر خانم Surya Ravindran Pillai مهارت‌های نرمی که لازم است هر طراح به آن مجهز باشد را معرفی می‌کند و ضرورت هر کدام را توضیح می‌دهد.

https://bit.ly/dxgn541

به نظر شما یک طراح چه مهارت‌های دیگری را باید در خود تقویت کند؟ پاسخ خود را با کلیک روی گزینه «نظرت را بگو✏️» با ما در میان بگذارید.

(زمان مورد نظر برای مطالعه: ۱۰ دقیقه)

نویسنده پریسا حسینی

#مهارت_نرم #تجربه_کاربری #دیزاین

@Dexign فلسفه دیزاین

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

https://leanstartup.co/12-tips-for-managing-a-remote-team-and-loving-it/

#مریم_کمالی (https://ow.ly/9Wa430mFGeK)

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

___
Forwarded from Iran Agile
اسکرام مسترها در طول هفته چه کار می‌کنند؟ این سوال بسیاری از اسکرام مسترها است. به تازگی طی نظرسنجی موارد زیر بیشترین فعالیتهایی بود که آنها انجام میدادند:

🌐 به طور میانگین هر هفته اسکرام مستر مشغول فعالیتهای زیر است:

✍️⁩ Product Backlog refinement: 1.00 hours/week

✍️⁩ Sprint Planning: 0.75 hours/week

✍️⁩ Daily Scrum: 1.50 hours/week

✍️⁩ Sprint Review: 0.50 hours/week

✍️⁩Sprint Retrospective: 0.75 hours/week

✍️⁩ Learning: 2.00 hours/week

✍️⁩Training of teammates: 3.00 hours/week

✍️⁩Training of stakeholders: 2.00 hours/week


گزارش کامل
https://berlin-product-people.com/scrum-master-duties/

@iranagile
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ آموزش ساخت برنامه های توزیع شده (Distributed) توسط Akka.NET (زبان اصلی زیر نویس دار)

از پایین ویدئو گزینه [Subtitle/captions] میتوانید زیرنویس آن را فعال کنید

مدل Actor به عنوان یک مدل Messaging برای برنامه‌نویسی توزیع شده و همزمان در مقابل استفاده از Thread ها به حساب می‌آید.
فریمورک Akka برای استفاده از مدل Actor در زبان Java طراحی شده و Akka.NET فریمورک Port شده آن برای دات نت است.
(اطلاعات بیشتر : Repository - Document)
توسط این فریمورک میتوان برنامه هایی با پرفرمنس و همزمانی بالا را بدون اینکه صراحتا درگیر مدیریت تردها و قفل گذاری شوید بنویسید


[01:35] - Implementations and uses of the actor model
[03:13] - What is an actor?
[10:04] - Actors in the cloud
[12:05] - Running Akka .NET on premise or in cloud
[14:31] - Use cases for Akka .NET
[17:25] - Supported versions of .NET
[18:45] - Running Akka .NET in containers

Useful Links
Petabridge - (Repository)
Akka .NET on GitHub
Akka .NET Bootcamp
Akka .NET Code Samples
____________
@DotNetZoom
Forwarded from Programming languages (D4NTE SPARDA)
کلاه سانتا (Santa Hat)

ضمن تبریک سال نو میلادی به همه‌ی دوستان، در راستای این پست در کانال Software Philosophy و طبق صحبتی که با جناب #آقای_داوودی گرامی شد، قرار بر این شد که در راستای نشر مشکل اتفاق افتاده راه حل اتخاذ شده برای این قضیه رو هم نشر بدیم.

درباره‌ی این‌که داستان دقیقا چی بوده می‌تونید به 7 دقیقه‌ی اول از این podcast جناب #آقای_قدس عزیز در کانال Codehaks گوش بدید. اما به طور خیلی خلاصه دقیقا مشابه همین کلاهیه که اگر تلگرامتون رو به‌روز رسانی کرده باشین در این ایام روی نام Telegram در صفحه‌ی اصلیش می‌بینید، که حالا فرض کنید به دلایلی، شخصی اون رو توهین آمیز قلمداد کنه.

حالا که می‌دونید داستان از چه قرار هست، ببینیم واکنش #مایکروسافت (#Microsoft) به این قضیه به چه صورت بوده؟

در واقع همون‌طور که خودشون هم گفتن با وضعیت بسیار حساس و سختی مواجه بودن، چون با هر واکنششون واکنش‌های بیش‌تری رقم می‌خورده، و هم‌چنین از طرفی دیگه تعدادی از افراد آزرده خاطر می‌شدن. هم‌چنین تا حد ممکن سعی داشتن تا چیزی رو سانسور نکنن، حتی برخی از Commentها و Issueهایی که خارج از آیین نامه‌ی اخلاقی یا همون Code of Conductاشون بوده، و همون‌طور که توی پست و podcast که در بالا بود، عنوان شد به دلیل شوخ طبعی کاربران Issueهای Spam اونقدری زیاد شده بوده که مجبور به قفل کردن Repository شدن!

البته که بر مبنای نظام نامه اخلاقیشون (Code of Conduct) حق حذف Issueها و Commentهایی رو که بنا به تشخیص خارج از ضوابط بود رو داشتن اما از طرفی نمی‌خواستن سانسور رو بر روی همه‌ی اون‌ها اعمال کنن و قصد داشتن فقط موارد بحرانی‌تر رو حذف کردن، در واقع به طور خلاصه این دستورالعمل رو پیاده کردن:

1️⃣ برچسب جدیدی با نام *off-topic ساختن و Issueها رو باهاش Tag کردن، که باعث شد ربات مربوطه (که رده بندی‌ها رو انجام می‌داد) اون Issue رو ببنده و این قضیه منجر به این شد که راحت‌تر و سریع‌تر با Backlogها سر و کله بزنن.
2️⃣ اگر Issue توسط یکی از افراد تیم بسته شده بود برچسب *off-topic رو بهش اضافه کردن و دلیل بسته شدنشون رو به طور دستی ثبت کردن.
3️⃣ برای این‌که کاربرا بتونن ببینن چه چیزهایی بسته شده، Issueها رو باز گذاشتن و تصمیم گرفتن فقط وقتی قفلش کنن که نظام نامه اخلاقیشون رو نقض کن.
4️⃣ تعداد کمی از Commentها و Issueهایی که بیش از حد توهین آمیز بودن رو به طور کلی حذف کردن

و همون‌طور که توی podcast هم شنیدید، در مورد نمایش آیکن این گزینه رو به طور انتخابی برای کاربران قرار دادن، به نحوی که اگر کسی تمایل داشت آیکن به همراه کلاه رو انتخاب کنه، و کسی که نمی‌خواد هم آیکن عادی رو در رابط کاربریش انتخاب کنه.


البته بد نیست بدونید این اولین باری نبوده که چنین مشکلی پیش میاد. در واقع در سال 2011 در مورد پروژه VLC (که یک Player هست) به خاطر این تغییر شخصی در Forum مربوطه اعتراض کرد. اما در اونجا شخصی از رهبران توسعه‌ی تیم خیلی مستقیم بهش گفت: «اگر نمیخوای می‌تونی از VLC استفاده نکنی!» که خوب این برخورد باز خودش برای بعضی‌ها توهین آمیز بود. اما برخی معتقدن مایکروسافت هم می‌تونست هم‌چنین برخوردی رو کنه و هم خودش رو راحت‌تر کنه، هم به خاطر حرف یک شخص، عقیده بسیاری اشخاص دیگه رو ندیده نگیره. اما خوب شاید اصرار به میانه روی و تعادل مایکروسافت و یا همون جمله‌ی گفته شده در متن که: «مورد اهانت قرار گرفتن حتی یک نفر هم می‌تونه زیاد باشه!» بیش‌تر خودش رو به سختی انداخت، که البته سر آخر ارزششو داشت و به رضایت نسبی بیشتری دست پیدا کرد.

نظر شما در این رابطه چیه؟ کدوم رفتار درست‌تره؟ و یا چه راهکار/هایی به ذهنتون می‌رسه تا از هرج و مرج به وجود آمده جلوگیری کنید، یا پس از ایجاد شدن بتونید سریع رفعش کنید؟

برای این‌که به طور دقیق‌تر و جزیی‌تر راجع به این قضیه مطالعه کنید می‌تونید به لینک زیر سر بزنید:
https://github.com/microsoft/vscode/issues/87440
#WroteBy <Chris Dias>
#Date <23 Dec 2019>

References
https://github.com/microsoft/vscode/issues/87440
https://linuxreviews.org/Microsoft_Removes_Christmas_Hat_from_MIT_Licensed_VS_Code,_Closes_Issue_Tracker_To_Silence_Complaints
https://forum.videolan.org/viewtopic.php?t=96539
https://news.ycombinator.com/item?id=21833377
https://t.iss.one/SoftwarePhilosophy/1832
https://t.iss.one/codehaks/919

#SantaHat
#VSCode
#Fun
#Solution

by @D4NTESPARDA
@ProgrammingLanguages
Forwarded from فلسفه دیزاین
تفکر خارج از چارچوب

در فضای کاریمان شاید بارها و بارها این کلیشه‌ی معروفِ “تفکر خارج از چارچوب یا (thinking out of the box)" شنیده‌ایم. امّا هنگام مواجه شدن با یک چالش جدید، باز هم درگیر همان چارچوبی هستیم که قبلا با آن مشکلات را حل کردیم. امّا قبل از اینکه به این موضوع بپردازیم که چطور می‌توانیم خارج از این زندان ذهنی بیاندیشیم به تاریخچه‌ی کوتاهی ازین اصطلاح می‌پردازیم که کمک کننده است.

از ویکیپدیا:

تفکر خارج از چارچوب استعاره‌ای است به معنی فکر کردن به روشی متفاوت، غیرمعمولی، مبتکرانه یا از جنبه‌ای متفاوت. این اصطلاح در دهه‌های ۱۹۷۰ و ۱۹۸۰ در حوزه مشاوره مدیریتی سرچشمه گرفت که مشاوران از مراجعان می‌خواستند پازل ۹ نقطه‌ای را که نیاز به تفکر جانبی داشت حل کنند.

پازل ۹ نقطه ای چیست؟

پازلی که در آن باید هر ۹ نقطه با چهار خط مستقیم یا کمتر، بدون برداشتن قلم یا بیش از یک بار رد شدن دو خط از روی هم، به هم وصل شوند. (پیشنهاد می‌کنم قبل از گوگل کردن جواب این پازل ۹ نقطه‌ای، آن را بر روی کاغذ کشیده و خود را محکی بزنید)
این عبارت یا کلیشه به طور گسترده‌ای در محیط‌های کسب و کار به خصوص توسط مشاوران مدیریت و مربیان اجرایی به کار گرفته شده است.

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

https://bit.ly/dxgn542

(زمان حدودی مطالعه: ۱۰ دقیقه)

نویسنده: حسین میرزاده

#تفکر_خارج_از_چارچوب #روش_شناسی #چالش

@Dexign فلسفه دیزاین

___
تفاوت بین Site Reliability Engineering و Engineering DevOps مطلب جالبی‌ست. با آنکه با هم تفاوت دارند اما شبیه به هم هستند. اگر بخواهیم با دنیای OOP مقایسه کنیم SRE شبیه کلاس‌ها است و DevOps شبیه اینترفیس‌ها . SRE روابط بین دپارتمان‌های تولید و عملیات را به لحاظ همکاری و به اشتراک گذاری داده ها تنظیم می‌کند .

لینک زیر تفاوت این دو را به خوبی بیان می‌کند :

https://www.bmc.com/blogs/sre-vs-devops/

#شهریار_انتظام (https://ow.ly/qDN430nPiCg)

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

___
Forwarded from Iran Agile
چگونه در یک شرکت پروژه محور، محصول محور باشیم؟

یکی از مشکلات اساسی که شرکت‌های نرم افزاری با آن مواجه هستند، شتر گاو پلنگ بودن میان دو دنیای پروژه محوری و محصول محوری است.
در دنیای پروژه محور ما از اول به دنبال یک “زمان و برنامه” هستیم: 1- چه زمانی کار به اتمام می رسد 2- برنامه دقیق اجرا چیست؟ تا بعد آن یک واحد نظارتی دیگر بر اساس این برنامه و زمان اعلام شده ، پیشرفت پروژه را ارزیابی کند. در نگرش پروژه محور، سوال همیشگی این است "چه زمانی تمام می شود"، بخاطر همین همیشه اصلی ترین چالش شیوه تخمین زدن زمان پروژه است.
اما در دنیا محصول محور، یک محصول تا زمانی که برای مشتری/شرکت ارزش خلق کند زنده خواهد ماند و تا هر زمانی که زنده است، توسعه ادامه خواهد داشت(چرخه عمر محصول).
فرض کنیم، نرم افزاری مانند اینستاگرام را بخواهیم پروژه در نظر بگیریم که یک شرکت پیمانکار از شرکت فیسبوک گرفته تا انجام دهد، احتمالا در نظام مدیریت پروژه سوال این است که “کی این پروژه تمام می شود؟ ساختار شکست کار به چه صورتی است؟”

ادامه نوشته
https://vrgl.ir/PLf8F

@iranagile
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ یک پروژه FullStack سورس باز SPA با Angular 8 و Asp.Net Core 3.1

🔰 تکنولوژی ها و امکانات :
✔️ASP.NET Core 3.1
✔️Entity Framework Core 3.1
✔️Both Sql Server and Sql lite databases are supported
✔️Identity Server 4
✔️Angular 8
✔️Angular CLI 8
✔️Secure - with CSP and custom security headers
✔️SignalR
✔️SASS
✔️Best practices for Angular code organisation.
✔️Clean Architecture for ASP.Net Core code.
✔️PWA support
✔️SSR (Server side rendering)
✔️Fast Unit Testing with Jest.
✔️E2E testing with Protractor.l
✔️Compodoc for Angular documentation
✔️Login and Registration using Identity Server implicit flow
✔️Extensible User/Role identity implementation
✔️Social logins support with token based authentication
✔️Swagger as Api explorer

🔸 مخزن گیتهاب
https://github.com/asadsahi/AspNetCoreSpa
_____________________
@DotNetZoom
Forwarded from فلسفه دیزاین
موفقیت با رمز یکپارچگی

اگر نگاهی به تاریخچه‌ی شرکت‌های بزرگ و محصولاتشان بیاندازیم، خواهیم دید که در طول زمان و با به‌روزرسانی و پیشرفت محصولاتشان، سیر عملکرد و فرآیندهای آنها تغییر چندانی نکرده است. به عنوان مثال اگر به نرم‌افزار فتوشاپ که در دهه ۹۰ و سرویس جیمیل که اوایل قرن بیستم منتشر شدند توجه کنیم، خواهیم دید که علی‌رغم تغییرات ظاهری در گذر زمان، فرآیندها و روندهای آنها تغییر چندانی نکرده است و کاربر با اندکی تلاش می‌تواند با نسخه‌های جدیدتر ارتباط برقرار کرده و از آنها استفاده کند. این یکپارچگی و هماهنگی محصولات سبب می‌شود کاربر در استفاده از آن‌ها همان حس و حال محصول قدیمی و آشنا را داشته باشد.

این ویژگی یکپارچگی (Consistency) نام دارد و باعث می‌شود کاربر برای استفاده از محصول یا سرویس نیازمند یادگیری اصول و قواعد جدید نباشد و همچنین هنگام استفاده از آن دچار سردرگمی نشود.

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

حفظ یکپارچگی در محصولات و سرویس‌ها نیازمند توجه به نکات و اصولی است که نقش به‌سزایی در موفقیت آن داشته و رضایت کاربر را در پی خواهد داشت. برای اینکه با این اصول و قواعد آشنا شوید، پیشنهاد می‌کنیم مقاله زیر را مطالعه کنید:

https://bit.ly/dxgn543

به نظر شما توجه به چه نکاتی در حفظ یکپارچگی محصول مؤثر است؟ نظرات خود را با ما در میان بگذارید.

(زمان حدودی مطالعه: ۱۲ دقیقه)

نویسنده: محمدرضا پناهی

#یکپارچگی #تجربه_کاربری #طراحی_محصول

@Dexign فلسفه دیزاین

ـــــــــــــ
#پست_مجدد این پست تا به حال بیش از ۹۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
نوشتن تست یکی از دوست نداشتنی‌ترین! کارهایی است که یک برنامه نویس باید انجام دهد.

تست در جاوااسکریپت طی سال‌های اخیر پیشرفت زیادی کرده است و برنامه‌نویس‌ها به آن علاقه مند«تر» شده‌اند ولی هنوز منابع کمی برای شناخت کلی از همه ابعاد تست در جاوااسکریپت وجود دارد.

این مقاله و منابعی که در انتهای آن معرفی شده است راهنمای بسیار جامعی درباره تست در جاوااسکریپت هستند.

https://medium.com/welldone-software/an-overview-of-javascript-testing-in-2019-264e19514d0a

#مریم_کمالی (https://ow.ly/9Wa430mFGeK)

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

___
#پست_مجدد این پست تا به حال نزدیک به ۳۴۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
تجزیه اعداد به عوامل اول با استفاده از یکوارها

یکی از مفاهیمی که در دنیای امنیت بسیار از آن استفاده می‌شود، سخت بودن تجزیه اعداد بزرگ با عوامل اول بزرگ است. به این معنی که اگر دو عدد اول خیلی بزرگ را در هم ضرب کنیم و حاصلضرت را در اختیار شخصی بگذاریم، اون نمی‌تواند در زمان معقول به آن دو عدد اول دست پیدا کند. در حقیقت تا یکی از عوامل را نداشته باشد نمی‌تواند عامل دیگر را پیدا کند. این مفهوم یکی از مفاهیم پایه‌ای برای الگوریتم‌های public key/private key مانند RSA است.
مقاله زیر یک روش جدید را برای تجزیه اعداد با استفاده از خواص اعداد Repunit یا همان اعداد متشکل از 1 مانند 11, 111, 1111, 11111, … ارائه داده‌است. این الگوریتم بیشتر از لحاظ چند اثبات ریاضی جالب است که ارتباط بین این اعداد با اعداد اول را تشریح کرده‌است.

لینک کامل این مقاله در پست زیر آمده است.

https://mehrandvd.me/2018/02/16/using-repunits-prime-factorization/


⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

https://ow.ly/9Yrt30jvRhK

#مهران_داودی (https://ow.ly/GwIl309lFEm)

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


___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
This media is not supported in your browser
VIEW IN TELEGRAM
❇️ معرفی کد آنالیزر Serilog

همانطور که میدانید Serilog قوی ترین و محبوب ترین کتابخانه Logging در دات نت است. اگر از آن استفاده می کنید پیشنهاد میکنم افزونه و کتابخونه زیر رو هم نصب کنین

ابزار Serilog Analyzer یک آنالیزر roslyn-based برای Serilog بوده و خطا های رایج و اشتباهات متداول به هنگام استفاده از Serilog را گوشزد کرده و اصلاح میکند.

🔰جهت استفاده، افزونه Visual Studio و کتابخانه زیر را نصب کنید
https://marketplace.visualstudio.com/items?itemName=Suchiman.SerilogAnalyzer
https://www.nuget.org/packages/SerilogAnalyzer

ریپازیتوری گیتهاب :
https://github.com/Suchiman/SerilogAnalyzer
___________________
@DotNetZoom
Forwarded from فلسفه دیزاین
قلب تپنده تجربه کاربری

اصلی‌ترین مشخصه‌ی یک دیزاین کاربر محور رساندن مخاطب به اهدافش در سریعترین زمان و به آسان‌ترین شکل ممکن است. اما دستیابی به این هدف در طراحی محصولات دیجیتال از جمله وبسایت‌ها و اپلیکیشن‌های موبایل که سرشار از اطلاعات هستند، نیازمند آن است که داده‌ها به شکل مناسبی سازماندهی شوند.

معماری اطلاعات علمی‌ست که به طراحان در این امر کمک می‌کند. با استفاده از این علم طراحان می‌توانند ساختار محتوا را به‌گونه‌ای سازماندهی کنند تا قابل فهم و کاربردی باشد. معماری اطلاعات نخستین بار توسط آقای Richard Saul Wurman که یک معمار و طراح آمریکایی بود معرفی و مطرح شد.

پیش از هر چیز متخصصان معماری اطلاعات باید در نظر بگیرند که نیازهای مخاطبین هدف چیست، چراکه رضایتمندی کاربران اولویت دارد. بعد از آن نوع محصول و خواست‌های شرکت ارائه‌ دهنده‌ی آن اهمیت دارد.

معماری اطلاعات چهار مولفه‌ دارد که توجه به آن‌ها می‌تواند به طراح کمک کند تاتجربه‌ی کاربری مناسبی رقم بزند:

- سیستم سازماندهی
- سیستم برچسب‌گذاری
- سیستم جهت‌یابی
- سیستم جستجو

مقاله‌ی زیر که توسط Tubik Studio تهیه شده، درباره‌ی معماری اطلاعات صحبت می‌کند و به صورت کامل هرکدام از این مولفه‌ها را با ذکر نمونه توضیح می‌دهد.

https://bit.ly/dxgn545

شما در مسیر طراحی با چه چالش‌هایی از جنس سازماندهی ساختار محتوا برخورد کردید و چگونه آن را حل کردید؟ تجربه‌های خود را با کلیک روی گزینه «نظرت را بگو✏️» با ما در میان بگذارید.

مدت زمان مورد نیاز برای مطالعه: ۱۰ دقیقه

نویسنده: پریسا حسینی

#تجربه_کاربری #معماری_اطلاعات

@Dexign فلسفه دیزاین


_