DotNetZoom
2.97K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://t.iss.one/+ufG25x7lVFgyYTNk
Download Telegram
DotNetZoom pinned «‍ دومین رویداد آموزشی دات نت تاک DotNetTalk (موضوع : بررسی و پیاده سازی اصول امنیتی OWASP در Asp.Net) لینک ثبت نام: https://evnd.co/k4sz6 زمان : 5 شنبه 10 خرداد، ساعت 16:00 تا 19:00 مکان : تهران خیابان حافظ، دانشگاه صنعتی امیرکبیر، کتابخانه شهید صبوری، انتهای…»
ماکروسافت گیت هاب را خرید

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

آمارهای ارائه شده توسط گیت‌هاب نشون میده که این سرویس تا مارس ۲۰۱۸ میزبان بیش از ۲۸ میلیون توسعه‌دهنده بوده و بیش از ۸۵ میلیون مخزن کد بوده. که در این بین، ماکروسافت به عنوان فعال ترین Organization در گیت هاب بوده و بیش از ۱۰۰۰ کارمند را تنها برای افزودن کد‌های برنامه‌نویسی به منابع گیت‌هاب در اختیار دارد.

همچنین ماکروسافت چندی پیش، سرویس Codeplex را که به عنوان رقیبی نه چندان موفق در برابر گیت هاب بود رو متوقف کرد و پروژه های خودش رو به گیت هاب منتقل کرد.

در این میان رقبای مهمی برای گیت هاب وجود داره، از جمله gitlab، bitbucket و... که تلاش میکنند از این اتفاق بیشترین استفاده رو داشته باشند و با دادن تخفیف و پیشنهادات ویژه، توسعه دهندگان ناراضی از این اتفاق رو به سمت خودشون جلب کنند.

در حال حاضر قرار است نَت فریدمن، مدیرعامل پیشین زامارین و قائم مقام کنونی مایکروسافت، سمت مدیرعاملی گیت‌هاب را بر عهده بگیرد؛ همچنین کریس وانستراث، موسس و مدیرعامل سابق گیت‌هاب نیز به مایکروسافت پیوسته و در بخش استراتژی‌های نرم‌‌افزاری مایکروسافت فعالیت خواهد کرد.

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

همانطور که با خرید LinkedIn توسط ماکروسافت، شاهد رشد و پیشرفت قابل توجهی برای آن بودیم، میتوان انتظار پیشرفت گیت هاب و افزوده شدن قابلیت های جدید درآن را نیز داشت.

با توجه به تمرکز ماکروسافت بر بروی سرویس های کلود خود در این اواخر و نیز در کنفرانس بیلد 2018، هدف ماکروسافت از خرید گیت هاب ایجاد دروازه جدیدی را برای ارتباط با توسعه دهندگان نرم افزار و استفاده از توانایی های آنها برای شکوفایی هرچه بیشتر پلتفرم های مختلف کلود خود از جمله Azure و VSTS است.

https://goo.gl/faUoLf

https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/

____________
@IranAspMvc
تصویری از اعضای تاثیر گذار این اتفاق
از چپ به راست:
کریس وانستراث موسس و مدیرعامل سابق گیت‌هاب
ساتیا نادلا مدیر عامل ماکروسافت
نت فریدمن مدیرعامل پیشین زامارین و قائم مقام کنونی ماکروسافت
@IranAspMvc
#زنگ_تفریح
این طور که ماکروسافت داره پیش میره چند وقت دیگه PHP رو هم میخره 😁
بعد جالبیش اینجاس احتمالا PHP کارا کوچ میکنن به یه زبان دیگه 😄
_________________
@IranAspMvc
هیچوقت برای تغییر دیر نیست، از تغییر نترسیم!

قبل از اومدن ساتیا نادلا به مایکروسافت (در سال ۲۰۱۴) و شروع به کارش به عنوان ِ مدیر عامل شرکت، به زبون‌آوردن این جمله که #مایکروسافت روزی #گیت‌هاب را خواهد خرید، می‌تونست دلیل قانع‌کننده‌ای باشه که شما نوعی بیماری روانی دارید!
فرهنگ شرکتی مایکروسافت، سیاست‌گذاری‌هاش، نحوه‌ی برخوردش با توسعه‌دهنده، نرم‌افزار و دنیای متن‌باز، قبل از اومدن ساتیا نادلا، با امروز بسیار متفاوت بود. اون‌روز‌ها مایکروسافت در خط مقدم مبارزه با مفهوم آزادی نرم‌افزار و به طور خاص استفاده از اون در دنیای تجاری بود.
این فرهنگ رفته رفته و با تلاش‌ها و واقع‌بینی‌های درست ِ رئیسان شرکت و البته موفقیت‌های روزافزون جامعه‌ی متن‌باز و وفاداری و حمایت ِ شرکت‌های تجاری بزرگی مثل گوگل و فیس‌بوک به دنیای متن‌باز، تغییر کرد و امروز نه تنها مایکروسافت دیگه با نرم‌افزار آزاد و متن‌باز سر ِ جنگ نداره، بلکه ...

ادامه مطلب :
https://vrgl.ir/OBCEb

_______________
@IranAspMvc
#DotNetTalk

دومین رویداد آموزشی دات نت تاک (DotNetTalk) با حمایت فینووا و اوکس تیم در محل دانشگاه صنعتی امیرکبیر با موضوع بررسی موارد امنیتی OWASP که چند روز پیش برگزار شد.

@IranAspMvc
DotNetZoom
#DotNetTalk دومین رویداد آموزشی دات نت تاک (DotNetTalk) با حمایت فینووا و اوکس تیم در محل دانشگاه صنعتی امیرکبیر با موضوع بررسی موارد امنیتی OWASP که چند روز پیش برگزار شد. @IranAspMvc
دومین رویداد آموزشی دات نت تاک (DotNetTalk) با حمایت فینووا و اوکس تیم در محل دانشگاه صنعتی امیرکبیر

موضوع این جلسه، بررسی موارد امنیتی OWASP در وب بود که با استقبال بسیار زیاد مواجه شد؛ همچنین فیدبک ها بسیار خوب و تقاضا برای برگزاری مجدد اینقدر زیاد بود که یه رویداد دیگه با همین موضوع ولی کامل تر و حرفه ای تر برگزار کنیم 👌✌️

ارائه دهندگان این جلسه، یاسر مرادی و محمد جواد ابراهیمی بودند

#DotNetTalk
#Finnova
#OxTeam

@IranAspMvc
کاملترین لیست #افزونه های مفید و کاربردی برای #VSCode قسمت اول

1- TSLint
https://marketplace.visualstudio.com/items?itemName=eg2.tslint
Integrates the TSLint linter for the TypeScript language into VS Code.
https://github.com/Microsoft/vscode-tslint.git
TSLint is an analysis tool that checks TypeScript code for readability, maintainability, and functionality errors.
https://palantir.github.io/tslint/

2- StyleLint
https://marketplace.visualstudio.com/items?itemName=shinnn.stylelint
Integrates the StyleLint linter for CSS/SCSS/Less into VS Code.
https://github.com/shinnn/vscode-stylelint
StyleLint is a mighty, modern CSS linter and fixer that helps you avoid errors and enforce consistent conventions in your stylesheets.
https://stylelint.io/

3- ESLint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
Integrates the ESLint linter for EcmaScript into VS Code.
https://github.com/Microsoft/vscode-eslint.git
ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code (like JSLint & JSHint).
https://eslint.org/

4- GitLens — Git supercharged
https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens
It helps you to visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more.
Documation at :
https://github.com/eamodio/vscode-gitlens

5- Git History
https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory
View git log, file history, compare branches or commits

6- Path Intellisense
https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense
Visual Studio Code plugin that autocompletes filenames.

7- IntelliSense for CSS class names in HTML
https://marketplace.visualstudio.com/items?itemName=Zignd.html-css-class-completion
CSS class name completion for the HTML class attribute based on the definitions found in your workspace.

8- CSS Peek
https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek
Extends HTML and js code editing with "Go To Definition" and "Go To Symbol" in Workspace support for css/scss/less (classes and IDs) found in strings within the source code.

9- Debugger for Chrome
https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
Debug your JavaScript code running in Google Chrome from VS Code.

10- Language Support for Java(TM) by Red Hat
https://marketplace.visualstudio.com/items?itemName=redhat.java
Java Linting, Intellisense, formatting, refactoring, Maven/Gradle support and more...

11- PHP IntelliSense
https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-intellisense
Advanced PHP IntelliSense for Visual Studio Code, powered by php-language-server

12- Vetur
https://marketplace.visualstudio.com/items?itemName=octref.vetur
Vue tooling for VS Code, powered by vue-language-server.
Documation at :
https://vuejs.github.io/vetur/

13- Docker
https://marketplace.visualstudio.com/items?itemName=PeterJausovec.vscode-docker
Adds syntax highlighting, commands, hover tips, and linting for Dockerfile and docker-compose files. This extension makes it easy to build, manage and deploy containerized applications from your Visual Studio Code.

_______________
@IranAspMvc
کاملترین لیست #افزونه های مفید و کاربردی برای #VSCode قسمت دوم

14- Code Runner
https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner
Run any Code in any Language :
Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, and custom command

15- VSCode-Icons
https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons
Beautiful icons for Visual Studio Code

16- Material Icon Theme
https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme
The Material Icon Theme provides lots of icons based on Material Design for Visual Studio Code.

17- One Dark Pro
Atom's iconic One Dark theme, and one of the most downloaded themes for VS Code!
https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme
Documention at :
https://binaryify.github.io/OneDark-Pro/

18- Angular v6 Snippets
https://marketplace.visualstudio.com/items?itemName=johnpapa.Angular2
This extension for Visual Studio Code adds snippets for Angular6, TypeScript and HTML.

19- Angular 6 Snippets - TypeScript, Html, Angular Material, ngRx, RxJS & Flex Layout
https://marketplace.visualstudio.com/items?itemName=Mikael.Angular-BeastCode
Visual Studio Code TypeScript and Html snippets and code examples for Angular 2,4,5 & 6.

20- PowerShell
https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell
Develop PowerShell scripts in Visual Studio Code! This extension provides rich PowerShell language support for Visual Studio Code. Now you can write and debug PowerShell scripts in VSCode.

_______________
@IranAspMvc
Forwarded from اتچ بات
سومین رویداد دورهمی برنامه نویسان تهران (موضوع : DevOps)

لینک ثبت نام:
https://evnd.co/BXWEr
زمان : پنج شنبه ۷ تیر، ساعت 16:00 تا 19:00
مکان : تهران خيابان وليعصر، بالاتر از ونك، خيابان عطار، نرسيده به ميدان عطار، مجموعه ورزشی فرهنگی ونک

خیلی هامون واژه DevOps رو شنیدیم ولی نمیدونیم چیه؟ خیلی هامون فقط در حد ابتدایی از طریق مقالات و سایت ها باهاش اشنا شدیم، بعضی هامون هم باهاش در ارتباط بودیم ولی درک صحیح و کاملی ازش نداریم و یا به صورت عملی باهاش دست و پنجه نرم نکردیم.
توی این رویداد میخوایم تفکر DevOps ، وظایف عملیاتی و ابزار های اون رو مورد بررسی قرار بدیم اونم نه صرفا به صورت تئوری، بلکه بیشتر به صورت عملی و کاربردی.

اگه شما هم
1- موقع انتشار نسخه های جدید نرم افزارتون دچار ترس و نگرانی هستید که مبادا پروژه دچار مشل بشه
2- به دنبال یه روش اصولی و مکانیزه برای چرخه انتشار و استقرار نرم افزارتون هستید
3- میخواین از قابلیت های برنامه های ورژن کنترول نظیر git و tfs به صورت صحیح و کامل استفاده کنین
4- احساس میکنین به DevOps نیاز دارین و یا تصورات اشتباه و ناقصی از این واژه دارین
پس پیشنهاد میکنیم این رویداد رو از دست ندین.

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

مواردی به اون ها میپردازیم :
۱- اصلا DevOps چی هست و چه فایده ای برای ما داره؟
۲- تشریح وظایف DevOps
۳- یکپارچه سازی فرایند توسعه و انتشار
۴- استفاده اصولی و کامل از قابلیت های سیستم های ورژن کنترل نظیر git (استفاده مناسب از ‌Git Branching به همراه مدیریت Feature ها، Planning و همچنین مدیریت Task ها، Bug ها و ... رو به صورت اصولی و کاربردی)
۵- تشریح و پیاده سازی Continues Integration و Continues Delivery
6- تشریح تست خودکار (Automaion Test)
7- تشریح Release pipline و استفاده از Docker در آن

البته DevOps در کنار خودش دو بحث حیاتی تست خودکار و Docker رو داره که در مورد Docker قبلا ارائه ای داشتیم، و در مورد تست خودکار ارائه ای مجزا و کامل خواهیم داشت. آن چه که در این ارائه بیشتر بهش خواهیم پرداخت تجربه مون در راه اندازی Release Pipeline برای iOS، چگونگی ارتباط دادن کار-کد-تست-اشکال و رفع اشکال و نسخه به یکدیگه و کلی موارد کاربردی دیگه است.

میزبان این جلسه : مجموعه ورزشی ونک
حامی رسانه ای : اوکس تیم

از این که با حضوتون، بار علمی رویداد رو افزایش میدهید سپاسگذاریم.

لینک ثبت نام:
https://evnd.co/BXWEr
منتشر شد Net Core 2.1.2

در این ورژن ظاهرا فقط یک آسیب پذیری امنیتی رو برطرف کردند و تغییر مهم دیگه ای نداشته
https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1.2.md#notable-changes-in-212

----------------
توضیحات کامل این آسیب پذیری
https://github.com/dotnet/announcements/issues/73

----------------
لینک دانلود NET Core SDK Installer v2.1.302 64-bit - جهت توسعه برنامه های .NET Core
https://download.microsoft.com/download/4/0/9/40920432-3302-47a8-b13c-bbc4848ad114/dotnet-sdk-2.1.302-win-x64.exe

فایل نصبی بالا شامل 3 مورد زیر است و نیاز به نصب جداگانه آنها نمی باشد
1- .NET Core SDK 2.1.302
2- .NET Core Runtime 2.1.2
3- ASPNET Core Runtime 2.1.2

----------------
لینک دانلود .NET Core Runtime 2.1.2 64-bit - جهت اجرای برنامه های .NET Core
https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/dotnet-runtime-2.1.2-win-x64.exe

----------------
لینک دانلود Server Hosting 2.1.2 - جهت نصب ماژول ASP NET Core بر روی IIS و هاست کردن سایت روی سرور
https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/dotnet-hosting-2.1.2-win.exe

فایل نصبی بالا شامل ASP NET Core Runtime 2.1.2 است و نیاز به نصب جداگانه آن روی سرور نمی باشد

----------------
لینک دانلود ASP NET Core Runtime 2.1.2 64-bit - جت اجرای برنامه های ASP NET Core
https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/aspnetcore-runtime-2.1.2-win-x64.exe

----------------
لیست دانلود کلیه پکیج های موجود :
https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.1.2-download.md

----------------
@IranAspMvc
میان‌افزاری برای ثبت آمار بازدیدکنندگان برنامه‌های ASP.NET Core

مقاله زیر نمونه پیادی سازی یک middleware برای asp core رو نشون میده که کارش ثبت آمار بازدید کنندگان سایت هست. اینکه چه کسانی با چه ip هایی و از چه کشور هایی در چه زمان هایی کدام صفحات رو بازدید کردند.
کانفیگ و استفاده ازش بسیار راحته و آموزشش در لینک زیر هست

https://matteofabbri.org/read/server-side-analytics

نکات جالبی که این کتابخونه داره اینه که
1- برای ذخیره سازی اطلاعات میتونین از store های موجود از جمله MongoDb, SqlServer, SqLite استفاده کنین
2- یا اینکه store سفارشی خودتون رو بنویسین و مثلا اطلاعات رو توی یه دیتابیس دیگه مثل MySql ذخیره کنین
3- میتونین مسیر ها یا پسوند هایی رو مشخص کنین که اطلاعات اونا رو اصلا ثبت نکنه. مثلا مسیر /js یا پسوند های .js, .css, .jpg
4- میتونین تنظیم کنین تا فقط درخواست های یک مسیر مشخص رو ثبت کنه و نه تمام درخواست های سایت
5- نام جداول لازم برای ذخیره آمار بازدید کنندگان رو تغییر بدین
6- توسط یک دیتابیس لوکال، نام کشور ها رو از روی ip تشخیص میده
7- اگه بر اساس range ip نتونست نام کشور رو پیدا کنه، از api های دیگری جهت تشخص نام کشور استفاده میکنه که دیتای معتبر تری میدن

مخزن گیتهاب :
https://github.com/matteofabbri/ServerSideAnalytics

دمو گزارش آمار بازدیدکنندگان :
https://matteofabbri.org/stat

پیشنهاد میکنم سورس کدش رو بررسی کنین، ایده های جالبی بهتون میده
@IranAspMvc
ابزاری برای اسکن HTTP Response Headers وب سایت ها
https://securityheaders.com/
_______________
@IranAspMvc
آموزش رایگان گیت (Git) به زبان ساده
https://goo.gl/Q7K2iv

👤 مدرس: مهندس جادی میرمیرانی
🕓 مدت زمان: ۱ ساعت و ۳۶ دقیقه
📎 حجم دانلود: ۲۸۴ مگابایت

درس یکم: مقدمات گیت و نصب آن
درس دوم: اولین اینیت (init) و اولین کامیت
درس سوم: بررسی تاریخچه کارها
درس چهارم: بررسی تغییرات انجام شده
درس پنجم: آشنایی با شاخه ها یا همان برنچ ها (Branch)
درس ششم: کمی بیشتر در مورد برنچ ها
درس هفتم: آشنایی و استفاده از گیت هاب (GitHub)
درس هشتم: بررسی و حل کانفلیکت های (Conflict) ریموت
درس نهم: تگ زدن برای شناسایی نسخه ها
درس دهم: امضا کردن تگ ها و کامیت ها
درس یازدهم: دیباگ کردن با کمک گیت
درس دوازدهم: آشنایی با گیت لب و مشارکت در پروژه ها

لینک دانلود:
https://get.faradars.org/dl/freebies/fvgit9609/fvgit9609_1uebtnm3c0s2_www.faradars.org.rar

@IranAspMvc
 DarkLab Security Workshop!
اگه دوست دارید توی یه کارگاه با مبانی امنیت اطلاعات و پیشگیری از حملات آشنا بشید، هیچ چیز بهتر از این نیست که تو یه کارگاهی شرکت کنید که با هک کردن دوتا قربانی آنلاین، بهتون این مهارتو آموزش بده.
ما در یک کارگاه آموزشی مفید و مختصر اینکارو انجام میدیم. هزینه ۳۰تومنی رویداد هم برای پذیرایی هست و کلا اگر بحث پذیرایی نبود رایگان میشد!
تا تموم نشده ثبت نام کنید که تا آخرین ساعات جمعه برای خرید بلیط تخفیف‌دار فرصت هست.
ثبت نام و مشاهده زمان‌بندی :
https://evand.com/events/isconf
Forwarded from Deleted Account
امروز میخوام به یه قضیه خوب و کاربردی اشاره کنم.قضیه ای که بارها و بارها توی برنامه ها مورد استفاده قرار میگیره شاید این قضیه خیلی ساده وآسون باشه اما بسیار روی کارایی و عملکرد برنامه شما تأثیر میزاره

موضوع از این قراره که تفاوت بین String و StringBuilder چیست؟

تفاوت مهم اصلی بین این دو مقوله اینه که
کلاس های String غیر قابل تغییر اند (Immutable)
در مقابلش StringBuilder ها فاقد چنین قضیه ای هستند.

اما Immutable چیه ؟
غیر قابل تغییری در واقع توی رشته ها به این قضیه اشاره میکنه زمانی که شما می خواهید یه رشته ای رو مورد ویرایش قرار بدید.
در ظاهر همون شیء مورد تغییر قرار می گیره اما اصل قضیه اینه که در واقع دارید نمونه جدیدی از کلاس String میسازید

باتوجه به این مسئله حالا فرض کنید برنامه داریم که پردازش زیادی روی String ها داره، ممکنه این پردازش ها توی حلقه قرار بگیره مثلاً یه حلقه
10000 تایی یا 50000 تایی ، تقریباً می تونیم حدس بزنیم که چه اتفاق ناگواری رخ میده.
برای این که بهتر این قضیه رو درک کنیم یه سری تست وجود داره + سورس کد ، خیلی خوبه که شما ها هم ببینید.

زمان صرف شده برای تکرار 25000 رشته 05.76 ثانیه با کلاس System.String
زمان صرف شده برای تکرار 25000 رشته 00.00 ثانیه با کلاس StringBuilder

زمان صرف شده برای تکرار 50000 رشته 25.27 ثانیه با کلاس System.String
زمان صرف شده برای تکرار 50000 رشته 00.00 ثانیه با کلاس StringBuilder

زمان صرف شده برای تکرار 100000 رشته 02.00ثانیه با کلاس System.String
زمان صرف شده برای تکرار 100000 رشته 00.00 ثانیه با کلاس StringBuilder
دانلود یک پوشه خاص از یک ریپازیتوری در گیتهاب با GitZip for github
https://goo.gl/ghGVzr

الان میخواستم پورژه های samples داخل پوشه webapi ریپازیتوری AspNet Docs ماکروسافت رو دانلود و بررسی کنم
که ادرسش اینه
https://github.com/aspnet/Docs/tree/master/aspnetcore/web-api
خب قاعدتا نمیشه یه پوشه خاص رو از github دنلود کرد و باید کل ریپازیتوری AspNet Docs رو دانلود میکردم.
خب این ریپازیتوری حدود 800 مگابایت حجم داره! پس دنبال راهی گشتم که باهاش بشه یه پوشه خاص از یک ریپازیتوری رو دانلود کرد.

یه پروژه سورس بازی هست به نام GitZip for github که با هاش میشه این کارو (یعنی دانلود فقط یک پوشه خاص از یک ریپازیتوری) باهاش به 2 روش انجام داد.

روش اول : توسط افزونه مخصوص مرورگر (هم برای کروم داره هم فایرفاکس)
1- افزونه زیر رو نصب کنین
https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn/
2- به سایت زیر برین
https://kinolien.github.io/gitzip/
سپس طبق اموزش زیر، یک Token ایجاد کنین و کلید اون رو کپی کنین، توی مرحله بعد بهش نیاز داریم
https://github.com/KinoLien/gitzip/blob/gh-pages/get-token-step.md
3- حالا برین به ادرس پوشه ریپازیتوری که میخواین اون رو از گیتهاب دانلود کنین
مثلا
https://github.com/aspnet/Docs/tree/master/aspnetcore/web-api
4- حالا روی ایکون افزونه GitZip for github کلیک کنین تا یه صفحه ای باز بشه که از شما اون Token رو میخواد.
توکن رو paste کنین و Enter رو بزنین
5- حالا میتونین توی گیتهاب، روی ردیف پوشه هایی که مخواین، 2بار کلیک کنین و سپس از پایین صفحه که یک گزینه به نام دانلود ظاهر میشه، دانلودشون کنین

به همین راحتی
فقط دقت داشته باشین که "روی خود پوشه کلیک نکنین" و فقط روی ردیف اون پوشه یعنی "یک فضای خالی کنار نام پوشه" مثلا کلیک کنین تا یه گزینه تیک مانند براتون ظاهر بشه

حالا همه اینایی که گفتم رو بریزین دور؛ فیلم زیر کامل همه این مراحل رو نشونتون میده 👇
https://gitzip.org/assets/videos/gitzip-use-case.mp4

روش دوم : توسط سایت GitZip
این روش هم مشابه روش قبلی هست با این تفاوت که به جای افزونه، از سایت خودش استفاده میکنین
1- سایت زیر رو باز کنین
https://kinolien.github.io/gitzip/
2- مانند روش قبل Token ایجاد کنین و داخل باکس مربوطه paste کنین
3- ادرش پوشه مورد نظر جهت دانلود رو داخل با بالا سمت راست سایت وارد کنین و روی دکمه Download کلیک کنین
_________________
@IranAspMvc
DotNetZoom
دانلود یک پوشه خاص از یک ریپازیتوری در گیتهاب با GitZip for github https://goo.gl/ghGVzr الان میخواستم پورژه های samples داخل پوشه webapi ریپازیتوری AspNet Docs ماکروسافت رو دانلود و بررسی کنم که ادرسش اینه https://github.com/aspnet/Docs/tree/master/aspnetcore/web…
خود Github قابلیت دانلود یک پوشه خاص از یک ریپازیتوری رو نداره ولی به لطف پشتیبانی github از ورژن کنترول SVN میتونیم اینکارو انجام بدیم. در واقع ابزار قبلی "GitZip for github" هم همین کارو انجام میده
واسه اینکه اینکارو خودتون دستی انجام بدین
اول باید یکی از برنامه های SVN Client مخصوص ویندوز رو دانلود و نصب کنین
https://subversion.apache.org/packages.html#windows
لینک زیر 6 تا از بهترین برنامه های SVN Client رو لیست کرده، توی عملکرد تفاوت زیادی با هم ندارن و فقط بعضی هاشون یه سری ابزار جانبی و ui واسه راحتی بیشتر داخلشون اضافه شده
ولی ما فقط به command line client اش نیاز داریم
https://sliksvn.com/download/
پس از نصب میتونین با تایپ عبارت "svn help" توی کامند لاین ویندوز (cmd یا powershell) و مشاهده یه سری خروجی چرت و پرت، از صحت نصب اطمینان حاصل کنین.
حالا میرسیم به کامند های مورد نیاز برای دانلود یک پوشه خاص از یک ریپازیتوری توی گیتهاب
فرمت دستورش به این صورت هست
`svn export {repository-url}/trunk/{sub-directory} {output-folder-name}`
قسمت repository-url ادرس کامل ریپازیتوری بدون ".git" هست
یعنی
https://github.com/username/projectname/
مثال:
https://github.com/aspnet/Docs
قسمت /trunk/ ثابت هست
قسمت sub-directory که اختیاری هست، مسیر پوشه ی زیر مجموعه اون ریپازیتوری هست که میخواین دانلودش کنین (اگه چیزی ننویسین کل پروژه دانلود میشه و نه یک پوشه از اون)
مثال:
`https://github.com/aspnet/Docs/trunk/aspnetcore/web-api`
قسمت output-folder-name که اختیاری هست، نام پوشه ای روی کامپیوتر خودتون هست که قرار فایل ها داخلش دانلود بشن (اگه چیزی ننویسین به نام همون sub-directory یه پوشه ساخته میشه)
مثال:
svn export https://github.com/aspnet/Docs/trunk/aspnetcore/web-api my-webapi-sample
و مثلا دستور زیر کل پروژه رو دانلود میکنه
svn export https://github.com/username/projectname/trunk
قبل از اینکه پوشه ای رو دانلود کنین میتونین با دستور زیر لیست فایل هاشو مشاهده کنین
svn ls {repository-url}
مثال
svn ls https://github.com/aspnet/Docs/trunk/aspnetcore/web-api
_______________
@IranAspMvc
DotNetZoom
خود Github قابلیت دانلود یک پوشه خاص از یک ریپازیتوری رو نداره ولی به لطف پشتیبانی github از ورژن کنترول SVN میتونیم اینکارو انجام بدیم. در واقع ابزار قبلی "GitZip for github" هم همین کارو انجام میده واسه اینکه اینکارو خودتون دستی انجام بدین اول باید یکی…
دانلود یک پوشه خاص از یک ریپازیتوری در گیتهاب با DownGit
https://goo.gl/Pgfyub

سایت DownGit هم مشابه ابزار های بالاست فقط قابلیت خوب دیگه ای که داره اینه که لینک دانلود تولید میکنه و میتونین اون رو به دیگران بدید

https://minhaskamal.github.io/DownGit
_______________
@IranAspMvc
آموزش استفاده در تصویر gif زیر 👇
GitHub Repository Size
افزونه Chrome نمایش سایز کل Repository و تک تک فایل های آن در Github
https://goo.gl/iJtdsq

لینک دانلود افزونه
https://goo.gl/wmMF1V

مخزن گیتهاب و اموزش استفاده از افزونه
https://github.com/harshjv/github-repo-size
___________
@IranAspMvc
GitHub Plus
افزونه Chrome با جهت نمایش سایز ریپازیتوری و دانلود فایل های ان به صورت جداگانه
https://goo.gl/c9RttR

لینک دانلود افزونه
https://goo.gl/zDcVS9

مخزن گیتهاب و اموزش استفاده از افزونه
https://github.com/softvar/github-plus
___________
@IranAspMvc