среда, 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 - и, вот, я на отладчике внутри этого метода!

пятница, 8 августа 2014 г.

Меню "Пуск" для windows 8

Пока не поставил программу, дающую функциональность меню "пуск" windows7, не осознавал, до чего мне его не хватает!

https://www.pokki.com/windows-8-start-menu
это - бесплатная программка. после установки в ее настройках я отключил отображение родной кнопки Windows 8, и отключил активные углы (теперь панель, выплывающую справа при перемещении курсора в правый нижний угол, можно открыть только сочетанием клавиш Win+C. но теперь она будет редко нужна).

http://www.extremetech.com/computing/141702-how-to-bring-the-start-menu-and-button-back-to-windows-8 - статья, где я про эту программу вычитал.
там же упоминается прога, которая дает идеальную копию меню Пуск из windows 7 (стоит $3)

вторник, 29 июля 2014 г.

git - работа с подмодулями (submodule)

git - работа с подмодулями:
сценарий: у меня есть проект-библиотека, содержащий код общего назначения. этот проект может использоваться в неограниченном множестве проектов.
для этого в папке использующего проекта создаем submodule, указываем git-URL библиотеки, указываем имя подпапки, где должен появиться проект-библиотека.
ву а ля. можно добавить библиотечный проект в солюшен использующего проекта (он ,кажись, не будет использоваться в родительском проекте).
при чем, проект-пользователь будет всегда использовать один и тот же коммит библиотеки. если мы хотим, чтоб проект использовал последнюю (на данный момент) версию библиотеки - заходим в папку подмодуля и там делаем Pull. После чего нужно закоммитить изменение в проекте-пользователе. т.е., проект отслеживает версию коммитов подмодулей.

когда клонируем проект-пользователь - после этого нужно сделать update submodules - тогда загрузятся файлы, которые в подмодулях.

воскресенье, 13 июля 2014 г.

Android: Clean Master - решение проблемы нехватки памяти

Появляется на сотке сообщение "Недостаточно свободной памяти" - открываю https://play.google.com/store/apps/details?id=com.cleanmaster.mguard на сотке, жму "Мусор", жду, пока досканирует - жму "очистить" - все, проблемы нет

среда, 21 мая 2014 г.

dynamic в C#

Есть в C# такая милая конструкция как dynamic.
переменная этого типа может принимать значения любого типа. что-то типа Variant в паскале (если правильно помню)
мила она мне лично тем, что приближает C# к старому доброму PHP. Правда, за всю свою практику использовал эту конструкцию лишь однажды, но греет душу сам факт того, что она есть (о, как же C# мне нравится!)
так вот, сегодня на работе выяснили, что эта конструкция жрет ресурсы как слон. чуть ли не своя сборка где-то в памяти для нее генерируется. такая вот грусть :(

четверг, 8 мая 2014 г.

windows 8.1 режим совместимости

мне не нравится, что mail.agent и skype постоянно торчат в панели задач. в Windows 7 боролся с этим так: настроил эти две программы на запуск в режиме совместимости с (кажись) Windows XP.
Если же так сделать в Windows 8.1 - они начинают безбожно подвисать, так что я смирился с их постоянным присутствием в панели задач :(

UPD: оказывается, в скайпе есть настройка, убирающая его с панели задач

нашел клевое сочетание клавиш


Ctrl + PgUp/Ctrl + PgDn
- позволяют подряд листать вкладки (по крайней мере, в FireFox и Notepad++)

покупка моего нынешнего ноутбука в кредит (процесс покупки + впечатления)

Предисловие.
Длинновато получилось. и но полно интриг и страстей.


глава первая. покупка.
с пару месяцев назад назад купил ноутбук: Lenovo Y510P. И вот, наконец-то руки дошли написать об этом.
Выбирать помогал братишка, за что ему спасибо, по итогу клевая тачка оказалась, старкрафт 2 тянет на наивысших настройках.
процесс покупки проходил так: объездили некоторые магазины, записали возможные варианты... в итоге зарулили в Alser на Толе Би-Ауэзова. Там увидели этот нотик, и его клавиатура с подсветкой в итоге перевесила чашу весов (действительно приятная опция, порождает волны чистого позитива).
Цена была указана около 200 000 тг (не могу найти чек чето).
На этапе оформления кредита (kaspi) выяснилось, что в кредит ноутбук можно оформить только если купить еще некую бесполезную услугу стоимостью в 20 000. Кредитчики других банков тоже ставили это условие. В справочной kaspi узнал, чтоэто - условие самого магазина, и что такого условия нет, например, в Sulpak.
Уже вышли из магазина, чтоб ехать в Сулпак - вспомнили, что в сулпаке эта модель стоит ровно на 20 000 дороже. хехехе, зашли обратно в магазин, оформили, забрали ноутбук (+ еще некую мелочевку) - я счастливый поехал домой.

крутил я его-вертел, пока в один прекрасный момент он не начал выбрасывать синие экраны и не перестал загружаться вообще.
через N часов я понял, что надо эту штучку возвращать, при чем, учитывая все раздражающие факторы (о них - ниже), я решил поменять его на другую модель, а то и вернуть деньги (у гражданина же есть такое право, а я - как раз, гражданин!). приехал с ним в магаз, но там выяснилось, что обменять на другую модель получится только в пределах 180 000. во-первых, тут же аукнулась впаренная двадцатитысячная программа. а во-вторых - просто вот так вот.
решил не вступать в конфликт и не судиться, плюнул, взял другой такой же (тоже новенький, при мне распаковали).
*на самом деле я сначала сдал бракованный в сервис-центр - он там же находится, потом через несколько дней приехал к ним, они написали соответствующую бумагу ("свидетельство о регистрации брака", кстати).
этот второй покрутил-повертел - и он заглючил.
я повторил процедуру еще раз, и на третьем ноутбучке мне фортуна улыбнулась, я до сих пор его счастливый обладатель.

кстати, пока я там тусовался в Алсере - видел еще пару человек с Lenovo, похоже, на возврат (но могу ошибаться)


глава вторая. впечатления от ноутбука.
первое, что понравилось - что есть функция полной переустановки системы (накатывание образа) - аналог factory reset у смартфонов. правда, немного смущает, что происходит это по нажатии кнопки на боку корпуса ноутбука, при чем, если ноут выключен - он включится (ну, там появляется меню, в котором еще выбрать надо соотв. пункт, но все равно нервы щекочет).
все, поставилось, новая Windows 8. 

первое что не понравилось - тачпад.
(братишка, когда я ему это все изложил, объявил меня извращенцем, но я в корне не согласен!) 
я очень привык к тачпадам на своих старых ноутбуках (HP), и по сравнению с ними тут тачпад - это грусть. сама реакция на палец какая-то не резвая. кроме того, я не нашел нужных настроек. в частности, нельзя задать на тачпаде "мертвую зону", где движения пальца бы игнорировались. в итоге при клике на кнопках мыши приходится следить, чтоб палец оставался на месте, иначе курсор будет "прыгать". само нажатие на кнопки происходит тоже странно: фактически, тачпад регистрирует просто факт клика по тачпаду (а кликнуть можно, надавив на тачпад в любом месте), и по тому, где во время клика находится палец, определяет, был ли это правый клик, левый клик и т.п.
Второе - не нашел, как переконфигурировать левую "кнопку" в среднюю - это был тоже удар судьбы, т.к. миддлкликом я пользуюсь очень активно. только на третьем ноутбуке я нашел эту настройку (вот, кстати, странно, модели, вроде, идентичные, а управляющий софт для тачпада на третьем был другой). 

еще пара мелочей: 
-у этого аппарата ценой в двести тыщ отсутствует индикатор HDD. блин! это же светодиодик! + дырочка в корпусе! тут два варианта: либо они на пути к сверхэкономии не останавливаются вообще ни перед чем, либо это - новая рекламная фишка "теперь без светодиодов, которые вам так надоели" (да, я пытаюсь юморить)
-не нашел, где в BIOS отключается настройка просыпания по USB (Wake up on USB). и теперь, если, пока ноутбук спит, я двину мышкой - он проснется. а учитывая, что мышкой двигаю не только я, но и Печенька, это фигово.
кстати, в БИОСе вообще минимум настроек
-еще проблема, откуда не ждали: монитор ноута слишком крут, слишком FULL-HD, и мой старенький второй мониторчик плохо сочетается с ним: переносишь окно на него - оно увеличивается в полтора раза. А если поставишь на моем замечательном ноутбучке разрешение поменьше (любое, кроме дефолтового) - сразу шрифты плывут, все размыто, плохо, лажово (еще один сюрпризик).

*кстати, повстречался с багом Восьмерки: размытые шрифты везде. лечится так: панель управления - Экран - поставить галочку "Я хочу выбрать один масштаб для всех дисплеев"

на ноуте был предустановлен антивирус McAffee с демо-подпиской на месяц. при покупке ноута мне дали в подарок диск с McAffee (я так думаю, с годовой подпиской). я его крутил-вертел, искал, куда вписать серийник, в итоге плюнул, снес, и поставил старый добрый Comodo.

видеокарта - зверь! как я уже упоминал - Starcraft 2 идет на топовых настройках (ну, почти: на топовых, но на чуть меньшем разрешении), World of Tanks - тоже на предтоповых.
кстати, интересный нюанс: если к ноуту не подключено питание - 3D-графика начинает тормозить.

много непривычного в Windows 8 - это тема для отдельного разговора. Если в кратце - жить можно, но больше геморроя чем улучшений. очень не хватает конпки "Пуск". Не-десктопные приложения - все сплошь тормозные и тупые :(  Скайп вообще отказывается логиниться под моим аккаунтов. хотя, скайп для рабочего стола - логинится.
фичи, которые понравились: SkyDrive, и возможность помечать подключения как лимитные - теперь я за свой мобильный трафик не так переживаю.

аккумулятор звезд с неба не хватает. от силы часа на два с половиной-три при щадащем использовании.

вот такие вот дела.


P.S. чето wifi слабоват у него. спотыкается там, где все остальные девайсы нормально работают :(

среда, 9 апреля 2014 г.

Wamp на Windows 8

поставил WAMP на Windows 8.
попытался зайти на phpmyadmin - открывается страница Forbidden.

http://praveenpuglia.wordpress.com/2012/11/20/setting-up-wamp-server-in-windows-8/ - сделал, как тут сказано - проблема решилась

в настройке отладки на Eclipse/PDT помогла эта статья: http://blog.thecodingmachine.com/content/setting-xdebug-debugging-environment-php-wamp-eclipse-pdt
(у меня Eclipse Kepler, ПДТ на нем поставил сам, вроде, точно не помню)

последний штрих - чтоб отлаживаемые страницы открывались во внешнем браузере:

Eclipse > Preferences > General > Web Browser
Select the option for 'Use external web browser', and leave the 'Default system web browser' box ticked.

понедельник, 7 апреля 2014 г.

Ух ты! в Windows 8 проводник умеет открывать ISO-образы как виртуальные диски! просто двойным щелчком!