LINQ در JavaScript
خطا ها و مدیریت خطا (Exception Handling)
exception myError of int
ساختار کلی try catch finally در #F به صورت زیر است.(تنها تفاوت در کلمه with به جای catch است)
try // try code here with //catch statement here
try // try code here finally //finally statement here
یک مثال از try with:
exception WrongSecond of int//یک exception تعریف میکنیم let primes = [ 2; 3; 5; 7; 11; 13; 17; 19; 23; 29; 31; 37; 41; 43; 47; 53; 59 ] // یک تابع برای تست اینکه آیا ثانیه الان در لیست prime وجود دارد یا نه let testSecond() = try let currentSecond = System.DateTime.Now.Second in // شرط برای اینکه مشخص شود که ثانیه در لیست است یا خیر if List.exists (fun x -> x = currentSecond) primes then // اگر بود یک خطا تولید میشود failwith "A prime second" else // اگر نیود یک استثنا از نوع wrongSecond پرتاب میشود raise (WrongSecond currentSecond) with // catch کردن استثناها WrongSecond x -> printf "The current was %i, which is not prime" x
در کد با در هر خط توضیحات لازم داده شده است. نکته قابل ذکر این است که در #C زمانی که قصد داشته باشیم یک استثنا جدید ایجاد کنیم باید کلاسی جدیدی که از کلاس System.Exception ارث برده باشد(یا هر کلاس دیگری که خود از این System.Exception ارث برده است) ایجاد کنیم و کدهای مورد نظر رو در اون قرار بدیم. ولی در اینجا (در قسمتی که رنگ آن متفاوت است) به راحتی توانستیم یک استثنا جدید بر اساس نیاز بسازیم.
یک مثال از try finally :
// تابعی برای نوشتن فایل let writeToFile() = //ابتدا فایل به صورت متنی ساخته میشود let file = System.IO.File.CreateText("test.txt") try // متن مورد نظر در فایل نوشته میشود file.WriteLine("Hello F# users") finally //فایل مورد نظر بسته میشود.این دستور حتی اگر در هنگام نوشتن فایل استثنا هم رخ بدهد اجرا خواهد شد file.Dispose()
*توجه : برنامه نویسانی که قبلا با OCaml کدنویسی کرده اند هنگام برنامه نویسی #F از raise کردنهای زیاد و بی مورد استثناها خودداری کنند. به دلیل نوع معماری CLR پرتاب کردن استثنا و مدیریت آن کمی هزینه بر است (بیشتر از زبان Ocaml). البته این مسئله در زبانهای تحت دات نت نیز مطرح است کما اینکه در #C نیز مدیریت استثناها رو در بالاترین لایه انجام میدهیم و از catch کردن بی مورد استثنائات در لایههای زیرین خودداری میکنیم.
یک مثال از الگوی Matching در try with
let getNumber msg = printf msg; try int32(System.Console.ReadLine()) with | :? System.FormatException -> -1 | :? System.OverflowException -> System.Int32.MinValue | :? System.ArgumentNullException -> 0
15.Visual Studio 2017 15.9 منتشر شد
These are the issues addressed in 15.9.15:
- Updated signing of VC Redist packages to enable continued deployment on Windows XP. This fix may have an increased chance of requiring a reboot of the machine in order to install an updated VC++ Redistributable package.
- Fixed in issue where GoToDefinition does not work for JavaScript in script blocks of cshtml files.
- Calling pmr monotonic_buffer_resource release will corrupt memory.
- Fix for HRESULT E_FAIL build error in some C++ projects when upgrading to 15.9.13
Security Advisory Notices
ده گام برای امنیت نرم افزار
OWASP’s Top 10 Risk List is an important tool for security engineers and compliance analysts. It describes the 10 worst security problems that are found in web and mobile applications today. But, on its own, it’s not much help to developers, so OWASP has come up with a list of 10 things that you can do as a developer to make sure that your code is safe and secure.
آنالیز کاربردی ویژگیهای C# 6
- کلاس img-fluid که سبب ایجاد تصاویر واکنشگرا میشود. به این معنا که اگر این کلاس به تصویری انتساب داده شد، عرض آن با عرض container آن، تطابق پیدا میکند.
- کلاس rounded-dir برای گرد کردن گوشههای تصاویر کاربرد دارد. در اینجا ذکر dir اختیاری است و میتواند مقادیر زیر را داشته باشد:
top, right, bottom, left, circle
همچنین اگر تصویری دارای گوشههای گرد است (توسط کلاس css دیگری تنظیم شدهاست)، میتوان با اعمال کلاس rounded-0، آنرا لغو کرد.
- کلاس img-thumbnail نیز تصویری را با گوشههای گرد و همچنین با حاشیهای به ضخامت 1px، ایجاد میکند.
- کلاسهای float-left و float-right حالت پیشفرض نمایش inline تصاویر را لغو کرده و آنها را در جهتهای دلخواهی نمایش میدهند.
- اگر حالت نمایش تصویر inline است، میتوان مانند متون با استفاده از کلاس text-center، آنها را در میانهی container، نمایش داد.
- اگر تصویر به صورت block نمایش داده میشود (display:block)، کلاس mx-auto میتواند آنرا در میانهی container نمایش دهد.
مثالی از تصاویر واکنشگرا
<body> <div class="container"> <section class="content" id="testimonials"> <h2>Testimonials</h2> <figure> <img class="img-fluid" src="images/testimonial-johnb.jpg" alt="John B Photo"> <figcaption>The staff at Wisdom worked tirelessly to determine why our three-year old Golden Retriever, Roxie, started going into sudden kidney failure. They stabilized her and provided fluids until her kidneys were again functioning normally.</figcaption> </figure> </section> </div> </body>
همانطور که مشاهده میکنید، این کلاس، یک تصویر بزرگ را متناسب با عرض دربرگیرندهی آن، نمایش میدهد.
مثال تصویر با گوشههای گرد
در همین مثال اگر بخواهیم گوشههای تصویر را گرد کنیم، فقط کافی است کلاس rounded را نیز به آن اضافه کنیم:
<img class="img-fluid rounded" src="images/testimonial-johnb.jpg" alt="John B Photo">
مثال تصویر با گوشههای گرد در جهتی خاص
و یا اگر جهتی را نیز به آن اعمال کنیم:
<img class="img-fluid rounded-top" src="images/testimonial-johnb.jpg" alt="John B Photo">
و یا نتیجهی اعمال جهت دایرهای به تصویر:
<img class="img-fluid rounded-circle" src="images/testimonial-johnb.jpg" alt="John B Photo">
مثال نمایش تصویر در گوشهای خاص از صفحه
اگر بخواهیم تصویر را برای مثال در سمت چپ صفحه نمایش دهیم:
<img class="img-fluid rounded-circle float-left" width="200px" src="images/testimonial-lorraines.jpg" alt="Lorraine Photo">
برای نمایش تصویر در وسط صفحه:
<body> <div class="container"> <section class="content" id="testimonials"> <h2>Testimonials</h2> <figure class="text-center"> <img class="img-fluid rounded-circle" src="images/testimonial-mcphersons.jpg" alt="McPhersons Photo" width="200px"> <figcaption>When Samantha, our Siamese cat, began sleeping all the time and urinating excessively, we brought her to see the specialists at Wisdom. Now, two years later, Samantha is still free from any complications of diabetes, and her blood sugar regularly tests normal.</figcaption> </figure> </section> </div> </body>
کار با عناصر figure جهت نمایش بهتر تصاویر و متون ذیل آنها
برای کار بهتر با عناصر figure در بوت استرپ، ابتدا کلاس figure را به آنها انتساب میدهیم. سپس میتوان کلاس figure-img را به تصاویر داخل آنها افزود. این مورد سبب میشود تا تصاویر با اندکی فاصله نسبت به متن داخل آن نمایش داده شوند. در آخر میتوان به figcaption، کلاس figure-caption را افزود تا رنگ و فاصلهی مناسبی را به آن اعمال کند:
<body> <div class="container"> <section class="content" id="testimonials"> <h2>Testimonials</h2> <figure class="figure"> <img class="img-fluid figure-img rounded" src="images/testimonial-lorraines.jpg" alt="Lorraine Photo"> <figcaption class="figure-caption">Wisdom Pet Medicine is the only clinic around that will even book pet fish for appointments. When our 13-year old Comet goldfish, McAllister, turned from silvery white to an angry red, we called around, urgently trying to find a veterinarian who could help. Wisdom not only got us in the same day, but also was able to diagnose McAllister as having a severe case of septicemia.</figcaption> </figure> </section> </div> </body>
کلاس figure-img سبب شدهاست تا تصویر، با متن، اندکی فاصله پیدا کند. همچنین کلاس figure-caption، متن ذیل تصویر را اندکی روشنتر نمایش میدهد.
کدهای کامل این قسمت را از اینجا میتوانید دریافت کنید: Bootstrap4_03.zip
سفر به Angular بخش اول
In the eighteen years that I’ve been doing Web development, a lot has changed. We started out creating HTML pages to present static information to our users. We then used classic ASP to get database data and incorporate that into our pages. To use both of these technologies, we had to know a lot about HTML, CSS, and JavaScript. Along came .NET and we started rendering everything on the server-side. We forgot a lot about HTML, CSS, and JavaScript as Web Forms wrapped up a lot of that for us. Web Forms’ architecture closely mimicked the way developers created desktop applications. This was great for helping developers move to the Web, but unfortunately hid a lot of the power of the Web, and also tended to be a little slow.
PowerShell 7.3 منتشر شد
PowerShell 7.3 is built on top of .NET 7 and as a non-LTS (Long Term Support) release will be supported for 18 months. PowerShell 7.2 is still the current LTS (3-year supported) release of PowerShell.
کتابخانه DoFilter
DoFilter is a Full Responsive Bootstrap Multipurpose Filtering and Shorting plugin built on Latest Version of Bootstrap Framework (v3.3.7), HTML5, CSS3 and jQuery. Its wonderful features can be used to Filtering and Shorting your website content as like Portfolio, Service, Team, Blog, Products, Pricing, FAQ etc. Also you can customize it for Filtering and Shorting any your website content.
DoFilter is a Full Responsive Isotope Multipurpose Filtering and Shorting plugin. Filtering can hide and show item elements with the filter option. Items that match that filter will be shown. DoFilter Responsive Isotope Multipurpose Filtering and Shorting can rearrange the order of item elements based on their data. Items that do not match will be hidden.
There are 19+ filter styles with 100% responsive design. Indeed, you will be able to showcase your content on mobile devices such as smart phones and tablets. It has many features like CSS3 and jQuery animations, single and multiple Shorting and Filtering. All the codes are clean and well organized. Also have proper help documentation. It looks great with all types of devices.