Пароль на ключе git сильно мешает работать. Снять можно так:
ssh-keygen -p -f ~/.ssh/id_rsa
31 июля 2012
Пароль на ключе git сильно мешает работать. Снять можно так:
ssh-keygen -p -f ~/.ssh/id_rsa
31 июля 2012
Иногда стандартное поле для загрузки файла ну совсем не вяжется с остальным дизайном страницы. В лоб подменить его нельзя, зато можно взять хитростью:
30 июля 2012
Команда Yii зарелизила версию 1.1.11, в которую вошли более ста улучшений и багфиксов.
Этот релиз особенный потому как является первым с тех пор, как код Yii мигрировал на GitHub. Сообщество восприняло миграцию очень хорошо и выложилось по полной, прислав в виде pull-request новые возможности, исправления, unit-тесты и переводы.
За всё это огромное спасибо! Особенно отметим: resurtm, DaSourcerer, cebe и suralc.
Можно ознакомиться со списком изменений и новыми возможностями. Если планируете обновиться, внимательно читайте инструкции.
После релиза обнаружились некоторые неприятные ошибки. Работаем.
Ну а теперь рассмотрим некоторые изменения.
24 июля 2012
resurtm, активно участвующий в разработке Yii, описал основные изменения, которые ждут нас в 1.1.11. Релиз состоится на этой неделе. За это время список изменений может немного пополниться.
Всем, кто хочет обновиться рекомендую взять код из master и погонять с ним свой проект локально. Если что-то сломалось — ещё не поздно будет поправить.
23 июля 2012
В начале месяца у меня была задачка фикснуть одну злую штуковину на тему вёрстки на iPad, но так как внятных отладочных инструментов из коробки для него нет, работать приходилось вслепую, что результата не давало.
Я попробовал поставить Firebug Lite. Получилось, но под iOS он, как оказалось, работает очень и очень криво. В комментариях TermiT подсказал попробовать Adobe Shadow, за что ему огромное спасибо.
Штука очень крутая. Состоит из нескольких частей:
Эта связка даёт нам:
UPD: инструмент зарелизился. Назвается теперь Adobe Edge Inspect. По прежнему бесплатен и очень удобен.
20 июля 2012
Иван Сагалаев пишет о том, как не нужно нанимать инженеров и частично о том, почему именно так как не нужно нанимают.
Мне довелось побывать и с той и с другой стороны «баррикад». У самого имеются, как выяснилось, проблемы с традиционными собеседованиями: завалил или неблагоприятно для себя закончил около трёх. Как минимум одно точно из-за стресса (привет, Facebook). Во все хорошие места, в которых довелось работать, меня позвали. Традиционных собеседований я там не проходил.
С проведением собеседований тоже интересно. Их я провёл гораздо больше, чем собеседовали меня. При принятии решения я полагаюсь на «чутьё». Сначала я старался как-то формализовать принятие решений, но потом понял, что это, в общем-то, бесполезно. Либо чувствуешь, что человек подходящий, либо нет.
«Чутьё» штука занятная. Иногда оно совершенно противоречит логике. Например, один раз жарким летом собеседовал кандидата в разработчики. Образование не программистское, опыта не очень много. На часть вопросов верных ответов не дал. Английский, который требовался, тоже был не супер. Но был отличный настрой, желание сдвинуть горы и почти верные предположения о собственных пробелах в знаниях. Чутьё сказало «берём». Не ошиблось. Человек за год очень сильно вырос.
Тут важно понимать, что подобные решения, основанные больше на чутье, а не на логике, позволить себе могут далеко не все компании. Классические аутсорсеры и мелкие фирмы, которым необходимо во что бы то ни стало сдать проекты в срок, могут от таких решений сильно пострадать.
13 июля 2012
Оформил «правильные модальные окна» в плагин jQuery и выложил на github.
API получился, на мой вкус, неплохим. Можно делать, например, вот такие штуки:
$.modal().open({ onOpen: function(el, options){ $.get('http://example.com/', function(data){ el.html(data); }); } });
На данный момент найдены две нехорошести — одна со скроллом кнопками в FF, вторая — со скроллом на iPad. Со временем, конечно же, они будут исправлены.
10 июля 2012
Понадобилось поотлаживать CSS на iPad в его iOS-Safari. Оказалось, ничего кроме довольно ущербной отладочной консольки на нём нет. Зато есть способ запустить Firebug lite. Правда, не совсем тривиальный.
Проблема в том, что букмарклеты просто так в мобильный Safari не добавить. Но способ есть:
#removeme_
включительно.#removeme_
включительно.Вот и всё. Теперь у нас есть букмарклет, подгружающий Firebug lite. Работет он на iPad плохо, но это намного лучше, чем отлаживать вслепую.
6 июля 2012
На днях в дальних углах нашей небольшой квартиры сильно испортился Wi-Fi. С трудом выдавал одну палку и часто выпадал. Нужно было что-то предпринимать.
В беспроводных сетях две главные проблемы:
5 июля 2012
Обычно модальные окна и диалоги делаются при помощи плагинов jQuery. Например, SimpleModal или jqModal. К сожалению, все они, в варианте по умолчанию, работают неправильно.
Если окно модальное, то пользователю нельзя позволять прокручивать страницу под ним. При этом, если содержимого в модальном окне очень много, нужно позволить это содержимое прокручивать.
По этому принципу работает просмотр фото в Facebook и Вконтакте.
Для реализации подобного функцианала частенько нагромождают тонны JavaScript, хотя можно обойтись почти чистым CSS (за исключением навешивания одного класса на контейнер).
Немного прокомментирую:
/* Данный класс навешивается на контейнер при открытии модального окна. Для нормальных браузеров это body, для стырах IE — html */ .lock { /* Скрываем скроллбары */ overflow: hidden; } .modal { /* По умолчанию не показываем содержимое модальных окон */ display: none; } .lock .modal { /* Показываем подложку (полупрозрачное затенение) при открытии модального окна */ display: block; /* Саму подложку фиксируем и растягиваем на всё пространство */ position: fixed; bottom: 0; left: 0; top: 0; right: 0; /* Если содержимое модального окна в подложку не влезает — показываем скроллбары */ overflow: auto; }