Software Philosophy – Telegram
Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
#پست_مجدد این پست تا به حال بیش از ۸۷۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اغلب در دولوپ اپ‌های انگولاری که نیاز به بک اند برای تبادل اطالاعات وجود دارد، بک اند روی پورت دیگری از localhost بوده و یا بک اند روی سرور دیگری قرار دارد. در این صورت برای ارسال ریکوست از سمت کلاینت به سرور بک اند دو راه وجود دارد. یکی استفاده از CORS یا سرور ساید پروکسی.
خوشبختانه، Angular CLI این امکان را به ما می‌دهد که با ست کردن proxy config ریکوست از سمت کلاینت به سرور بک اند مورد نظر فرستاده شود.
لینک زیر نحوه انجام این کانفیگ را توضیح می‌دهد.

https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md

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

http://ow.ly/41My30mm7ym

#مریم_داودی (http://ow.ly/HGkG309B7de)


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

___
Forwarded from Iran Agile
🔵 چگونه برای تیم‌های چابک استخدام کنیم؟

یکی از چالش های اساسی تیم های چابک، استخدام افراد درست در تیم ها است. افرادی که بتوانند با “نادانسته ها” کنار بیایند، تعامل خوبی داشته باشند و … واقعیت این است که رفتار بسیاری از افرادی که در شرکت‌ها
مشاهده کردیم ، مناسب تیم های چابک نیست
اما چگونه باید استخدام کرد؟

🚀 http://bit.ly/2WmDhAt

@iranagile
#پست_مجدد این پست تا به حال نزدیک به ۱۰۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
همیشه انتخاب یک فریم ورک JavaScript برای Front End یک چالش است و هر از گاهی ظهور یک فریم ورک جدید کار را سخت‌تر می‌کند.

فریم‌ورکVue.js (ویو خوانده میشود مانندview) فریم ورکی JavaScript است که در فوریه 2014 ارایه شد. نکته جالب توجه این فریم ورک آن است که توسط یک نفر تولید شده است و نه یک تیم، هرچند که در حال حاضر افراد زیادی در توسعه آن مشارکت دارند که توسط Evan You تولید کننده Vue.js رهبری می‌شوند.

این فریم ورک تلفیقی است از بهترین فریم ورک‌های محبوب AngularJSو ReactJS. از مزایای Vue.js سادگی استفاده، انعطاف پذیری، کم حجم بودن و یکپارچگی ساده با پروژه‌های موجود است و کد آن بسیار قابل تست است. به دلایلی که اشاره شد استفاده از Vue.js در بین توسعه دهندگان نرم افزار به سرعت در حال افزایش است.

وبسایت Vue.js:

https://vuejs.org

لینک زیر مزایای استفاده از این فریم ورک را توضیح می‌دهد:

https://hackernoon.com/what-is-vue-js-and-what-are-its-advantages-4071b7c7993d

و این لینک نیز مقایسه‌ای است از سه فریم ورک ReactJS، Angular5 و Vue.js:

https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d

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

http://ow.ly/czDp30mC86D

#محمد_محبتی (http://ow.ly/4ZMN30lzoxf)

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

___
Forwarded from SQL Server (Hamidreza)
سلام و عرض ادب خدمت دوستان عزیزم
شبتون بخیر باشه
نکته ای که اخیرا زیاد میشنوم در خصوص مدیریت فایلهای LDF ، این هست که بعضی مواقع نیاز شده فایلها سایزشون کم بشه ، دوستان اومدن دیتابیس رو Detach کردن و فایل log رو حذف کرده و با استفاده از attach for rebuild دیتابیس رو attachکردن که فایل Log هم ساخته شده.!!!
این یک کار بسیار خطرناک و پر ریسکی هست و اگر به هردلیلی تراکنش های باز در فایل Log باشه دیگه فایل Log برای شما ساخته نمیشه و در واقع دیتابیس شما attach نخواهد شد.
و تنها راهش استفاده از روشهای پیچیده برای بازیابی فایلهای MDF می باشد.
لطفا برای مدیریت Log ها از روشهای بهتر مانند Log Backup استفاده کنید و زندگی بی دردسری رو تجربه کنید. 😁😁

نکته دوم و خیلی حیاتی برای دوستانی که عادت دارند مستقیما در محیطهای عملیاتی داده ها رو تغییر بدن و عملا دل شیر دارن😉
حتما از این روش استفاده کنید که اگر یک درصد خطایی هم رخ داد بتونید به شرایط نرمال برگردین.
Begin Tran
Update Table1 set field1=10

اگر دقت کرده باشین من یک Transaction باز کردم ولی نه Commit کردم نه Rollback . این باعث میشه تغییرات من در دیتابیس اعمال نشه و در همین Session من میتونم از جداولی که نیاز هست Query تهیه کنم ببینم داده ها درست اعمال شدند یا خیر.
اگر درست بود میتونم با دستور Commit تغییرات رو اعمال کنم و اگر درست نبود با Rollback تغییرات برمیگرده.
بارها پیش اومده مثلا جدولی Drop شده یا مقداری حذف شده ، با این روش به راحتی میتونید جلوی خطاهایی مانندوارد کردن اشتباه اسم جداول ، نذاشتن فیلترهای مناسب ، دستورات نابجا رو بگیریم.
امیدوارم این دو نکته کمک کنه وارد شرایط بحرانی نشین.😉😉😉

ارادتمند شما
حمیدرضا صادقیان

ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
#پست_مجدد این پست تا به حال نزدیک به ۴۵۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
امکانات جدید C# 8.0 با بوی هوش مصنوعی!

نسخه major بعدی C# 7.3 که C# 8.0 خواهد طبق برنامه‌ریزی به همراز .Net Core 3.0 ریلیز خواهد شد و امکان آزمایش آن در Visual Studio 2019 Preview وجود خواهد داشت.
امکانات جذابی که به این زبان اضافه شده در لینک زیر شرح داده‌شده که به عنوان خلاصه می‌توان به امکانات زیر اشاره کرد:

- Nullable Reference Types
string? s = null;


- Async Streams
await foreach (var result in GetResultsAsync()) 
{
if (result > 20) yield return result;
}


- Ranges and Indices
Index i1 = 3; // number 3 from beginning 
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }


- Recursive Patterns
if (p is Student { Graduated: false, Name: string name })


- Target-Typed New Expressions
Point[] ps = { new (1, 4), new (3,-2), new (9, 5) }; // all Points

وقتی نام تایپ قابل استنتاج است نیازی نیست نام کلاس هنگام new کردن مشخص شود!


به نظر می‌رسد با توجه به تمرکز جدید مایکروسافت روی هوش مصنوعی، امکاناتی که در این نسخه به زبان اضافه شده، بیشتر با هدف ساده‌سازی کار برای برنامه‌نویسان Data Science است. همانطور که می‌بینید ویژگی‌هایی از زبان Python که موجب جذابیت این زبان برای متخصصان Data Science بوده در این لیست دیده می‌شوند.

برای آشنایی کامل‌تر این امکانات می‌توانید لینک زیر را که توسط Mads Torgersen نوشته شده‌است را مطالعه کنید.

https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/

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

http://ow.ly/36cL30mMFJK

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

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

___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
مقایسه تکنولوژی استفاده شده در شرکت های بزرگ برنامه نویسی دنیا

توسط این سایت می توانید بهترین تکنولوژی، ابزار ها و فریمورک های مورد استفاده در شرکت های بزرگ برنامه نویسی دنیا را مشاهده و با یکدیگر مقایسه کنید.
https://stackshare.io/

مثلا لینک زیر تکنولوژی ها و ابزاری های مورد استفاده در شرکت Airbnb را نمایش می دهد.
https://stackshare.io/airbnb/airbnb
_______________
@IranAspMvc
Forwarded from Iran Agile
🔵 یادداشت برداری و مستند کردن نتایج اسپرینت‌ها می‌تواند ابزار مفیدی برای اسکرام مسترها باشد، به گونه‌ای که می‌توانند هر ازگاهی آن را با تیم مرور کرده و پیشرفت یا پسرفت خود را بهتر درک کنند، بعلاوه در برخی موارد میتواند بعنوان گزارش عملکرد تیم نیز مورد استفاده قرار گیرد.

🚀 http://bit.ly/2RPb3Lj

@iranagile
خداحافظی با خطای میلیون دلاری: NullReferenceException

پس تغییر جنجالی C# 8.0، یعنی اضافه شدن امکان Nullable Reference Types، دیگر متغییرهای Reference Type مقدار نال قبول نخواند کرد مگر نوعشان Nullable باشد.
‍‍‍‍‍‍```
Person p = null; // ERROR
Person? P = null; // OK
string s = null; //ERROR
string? s = null; OK
اینکه این ویژگی فعال باشد یا نه از طریق تنظیمات پروژه قابل تنظیم است.
این تغییر باعث می‌شود این خطای معروف از بین برود. از طرفی پروژه‌هایی که از قبل نوشته شده‌اند نیاز به تغییرات دارند. فرانک کروگر یکی از برنامه‌نویسانی است که یکی از برنامه‌های خود را کامل بازنویسی کرده و تجربیات خود را د به اشتراک گذاشته است. جدا از اینکه تجربیاتش بسیار خواندی هستند، در حین تبدیل به چالش‌هایی برخورده که نتیجه یکی از آنها پیشنهاد اضافه کردن var? به C# بوده که نتیجه‌گیری و کاربرد جالبی است.

https://praeclarum.org/2018/12/17/nullable-reference-types.html

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

http://ow.ly/paMV30nGBdD

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

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

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

دییییگر نگران نباشید!

با افزونه «Sheet Explorer» همه چیز راحت می‌شود:
- شیت‌ها رو راحت و واضح می‌بینید.
- می‌تونید بین شیت‌ها جستجو کنید.
- می‌تونید وابستگی هر شیت رو به شیت‌های دیگه به صورت درختی ببینید.

جالبی افزونه‌های Office این است که می‌توان آنها را کاملا با JavaScript نوشت و از آنها استفاده کرد. مقاله زیر خیلی خلاصه توضیح داده‌است که افزونه بالا چگونه نوشته شده‌است. همچنین می‌توانید کد آن را در github بررسی کنید.

http://mehrandvd.me/2016/10/10/excel-sheet-explorer-turning-shits-to-sheets/

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

http://ow.ly/Jmw130jZkcI

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

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


___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
مقایسه بهترین کتابخانه های دات نت
https://dotnet.libhunt.com
توسط این سایت میتونین کتابخانه های دات نت رو با هم مقایسه کنین و بفهمین کدوم محبوب تره، همچنین میتونین لیستی از کتابخانه های مشابه رو هم برای هر کدوم پیدا کنید.

این سایت از پارامتر های مختلفی برای مقایسه و امتیازدهی کتابخانه ها استفاده میکنه. از جمله:
- Star, Fork, Watcher گیتهاب
- میزان فعال بودن بر اساس آخریت کامیت
- تعداد دانلود در ماه
- میزان کیفیت کد و ...
- میزان سرچ اش رو هم براسا امار Google Trend نشون میده

مثلا لینک زیر IOC Container های معروف Autofac و Ninject را با هم مقایسه میکنه.
https://dotnet.libhunt.com/compare-autofac-vs-ninject?rel=cmp-lib

🔸 توسط این سایت و سایت قبلی که معرفی کردیم میتونین بدون شک "محبوب ترین" کتابخانه و ابزار ها رو برای کاراتون پیدا کنین.
@IranAspMvc
این روزها همه در مورد react صحبت می‌کنند و برنامه‌نویسان زیادی دوست دارند آن را یاد بگیرند اما سوالی که برای اکثر ما مطرح است این است که برای یادگیری react اول چه چیزهایی را باید بلد باشیم. این مقاله به شکلی بسیار گویا توضیح می‌دهد، برای اینکه در react استاد شوید چه مسیری را باید طی کنید.

https://github.com/adam-golab/react-developer-roadmap?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

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

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

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

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

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

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


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

http://ow.ly/9Yrt30jvRhK

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

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


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

پروژه onnxjs نام یک پروژه جذاب جاواسکریپتی است که امکان اجرا کردن مدل‌های ONNX روی بروزر با استفاده از WebAssembly و WebGL را ایجاد می‌کند. به این ترتیب تمامی مدل‌های ساخته شده از طریق Machine Learning‌ که در قابل ONNX باشد در سمت کلاینت قابل اجرا خواهد بود.

https://github.com/Microsoft/onnxjs

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

http://ow.ly/zuWq30mQrmr


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

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

___
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
رمزنگاری JWT و افزایش امنیت آن در ASP.NET Core

توکن JWT در حالت عادی به صورت Base64 کدگذاری(Encoding) میشه که این نوع Encoding به راحتی قابل رمزگشایی و خواندنه (امنیت در برابر خوانده شدن نداره).
در این مقاله میخوایم توکن JWT رو رمزنگاری کنیم و اون رو به Json Web Encryption (به اختصار JWE) تبدیل کنیم و امنیتش رو بالا ببریم
https://www.dotnettips.info/post/2992

مثال کامل و قابل اجرا در ریپازیتوری گیتهاب:
https://github.com/mjebrahimi/Jwt-Encryption-AspCore
__________
@IranAspMvc
Forwarded from فلسفه دیزاین
برگه تقلب دیزاین از NN/g:
۱۰ اشتباه رایج در دیزاین محصولات

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

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

مجموعه Nielsen Norman Group که در چند نوبت درباره آن صحبت کرده ایم، حدود ۱۱ سال قبل به بررسی اشتباهات معمول دیزاینرها پرداخته و حالا پس از گذشت این زمان و بررسی‌های بیشتری که در این حوزه انجام داده است، مقاله‌ای را با همین عنوان و با اطلاعات مختص دیزاین محصولات این روزها منتشر کرده است.
در این مقاله با استفاده از مثال‌های بسیار کاربردی به بررسی مفاهیم بسیار مهمی مانند بازخورد، پیغام‌ها، پیش‌فرض‌ها، Affordance و … پرداخته شده و با نمایش نمونه‌های بد و خوب تلاش می‌کند این مفاهیم را به درستی در ذهن خواننده بنشاند.

مقاله امروز را به هیچ‌وجه از دست ندهید.

http://bit.ly/dxgn462

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

#اشتباهات #اصول #طراحی_محصول
@Dexign فلسفه دیزاین

___