среда, 24 сентября 2014 г.

Пара вещей по GIT

первое: настроил работу GIT через корпоративный прокси в условиях Active Directory что сделал для этого: 1) сформировал строку вида http://<домен windows>\<мой логин>:<мой пароль>@<адрес прокси>:<порт прокси> 2) добавил системную переменную среды all_proxy со значением - этой строкой 3) переменную среды HTTPS_PROXY - аналогично 4) выполнил git config --global http.proxy <эта строка>
 *если что - удаляется git config --global --unset http.proxy

второе: когда я работаю через Tortoice - при каждом обращении к удаленному репозиторию у меня запрашивается логин и пароль. так вот, их можно включить в URL удаленного репозитория. для этого (в TortoiceGit): clip_image002 clip_image004 Тут в поле URL между “https://” и хостом вставляем строку вида «<пользователь>:<пароль>@». Либо «<пользователь>@» - тогда при обращении к удаленному репозиторию будет запрашиваться только пароль.









воскресенье, 21 сентября 2014 г.

Киностудия

открыл для себя клевую программку от Microsoft для редактирования видео (в частности, для вырезания из него кусков) - "Киностудия". очень удобная! с какой скоростью ведешь бегунок, с такой видео перематывается.

TortoiceGit - откат последнего коммита


проковырялся в гугле два часа, пока обнаружил, как это делается.
проблема:
внесено изменение, оно закоммичено в локальный master, и залито (push) в origin/master
я захотел откатить этот последний коммит так, как будто его вообще не было.
как это достигается:

1) в логе делаем для предпоследнего коммита “Reset to this”
image

при этом Reset Type ставим “Hard”, чтоб в локальной папке изменения тоже были откачены
2) убеждаемся, что локальный мастер указывает на нужный коммит
image

3) делаем Push, при этом ставим галочку “Force: may discard known changes”
image

на последнем шаге может выйти ошибка, если у вашего пользователя нет полномочия “ForcePush”

четверг, 4 сентября 2014 г.

MVC Bundling

познакомился с такой технологией MVC, как Bundling (BundleCollection / Scripts.Render)
основная цель - оптимизация загрузки вэб-страницы. делается это засчет рантаймового объединения многих мелких JS или CSS в один большой (выигрывается время, затрачиваемое браузером на установку соединений при запросе каждого скриптика), кроме того, JS автоматически минимизируется.
Минимизацию скрипта можно отключить (используя для связки класс Bundle вместо ScriptBundle). В этом случае будет использоваться исходный файл, либо файл, одноименный исходному, но заканчивающийся на ".min.js", если таковой присутствует в той же папке. вот эта фича мне понравилась. например, можно качнуть jquery.js и jquery.min.js, добавить их в проект, и в релиз будет подставляться .min.js, тогда как в дебаг - .js.
Кроме того, (тоже мне по сердцу фича) можно ссылки на скрипты указывать вида "~/Scripts/jquery-{version}.js"
в этом случае, если будет обнаружен файл "jquery-1.10.2.js" - будет подхвачен он. если вы захотите обновить до версии "jquery-1.11.1.js" - просто заменяете старый файл новым - все остальное будет сделано автоматически.

P.S.:
минификация зависит от

<system.web>
    <compilation debug="true" />
(если дебаг - тру - минификации и объединения не происходит)

http://www.asp.net/mvc/overview/performance/bundling-and-minification - источник информации

P.P.S. если запускаешь из-под Visual Studio - это все не срабатывает, страница содержит ссылки на исходные файлы

JetBrains doPeek - декомпилятор и поставщик исходников для библиотек .net

обнаружил клевое приложение: JetBrains doPeek
во-первых, оно показывает дизассемблированные исходники системных DLL-ок:
добавляешь нужную ДЛЛку (я смотрел System.Web.Optimization), находишь по дереву классов нужный тебе класс и метод - любуешься.
во-вторых, что круче:
жмешь в doPeek "Start symbols server"
в Visual Studio заходим Tools - options - Debugging - Symbols - тут добавляем в список пункт , в который вписываем http://localhost:33417/ (номер порта может отличаться - надо посмотреть в настройках doPeek - Tools - Options - Symbol server).
*еще у меня была указана временная папка в "Cache symbols in this directory" - может, это тоже важно

после этого я поставил брейкпойнт на строку
@Scripts.Render("~/bundles/jquery")
по его срабатывании нажал F7 - и, вот, я на отладчике внутри этого метода!