Ilya Troy @lowadka
Пользователь
8 успешных лет freelance'а, tips and tricks
9 мин
34KДоброго всем дня, вечера, здравствуйте, коллеги.
Сегодня, глядя в календарь, я понял, что в этом месяце отмечаю 8 лет успешной freelance-занятости. Нельзя сказать, что на протяжении этих лет мне приходилось постоянно узнавать для себя что-то новое в организации процесса работы, однако каждое новоприобретенное знание улучшало либо качество моего труда, либо качество моего отдыха.
Я бы хотел рассказать об особенностях freelance-занятости для людей, которые никогда этим не занимались, но хотели бы иметь набор полезных советов, когда захотят попробовать. Приступать к какому-либо делу подготовленным — всегда хорошая идея.
Сегодня, глядя в календарь, я понял, что в этом месяце отмечаю 8 лет успешной freelance-занятости. Нельзя сказать, что на протяжении этих лет мне приходилось постоянно узнавать для себя что-то новое в организации процесса работы, однако каждое новоприобретенное знание улучшало либо качество моего труда, либо качество моего отдыха.
Я бы хотел рассказать об особенностях freelance-занятости для людей, которые никогда этим не занимались, но хотели бы иметь набор полезных советов, когда захотят попробовать. Приступать к какому-либо делу подготовленным — всегда хорошая идея.
+180
Несколько идей по повышению личной продуктивности веб-разработчика
5 мин
10KПольза, которую человек приносит обществу, с одной стороны, крайне субъективна, с другой — по ней оценивается зарплата, вклад в историю, авторитет и многие другие «аспекты» жизни человека. Причём, конечность времени жизни заставляет нас за то же время делать больше или делать то же за меньшее время. Переходя от философии к практике, я хочу представить несколько идей, которые я попробовал, и которые помогли мне повысить свою продуктивность.
Данные идеи я применял как веб-разработчик, но некоторые из них будут полезны и в других областях — дизайне, работе с данными и т.д.
Данные идеи я применял как веб-разработчик, но некоторые из них будут полезны и в других областях — дизайне, работе с данными и т.д.
+96
Графический фреймворк. Набор иконок социальных сервисов
1 мин
61KПривет уважаемое хабрасообщество, этот пост служит продолжением еще недавно активно обсуждаемой темы о социальных иконках [1] [2]. Мысль, которая пришла ко мне в голову после прочтения этих статей, привела к появлению нового вектора развития этой темы. Кстати о векторе, например бывает так, что дизайн разрабатываемого сайта или приложения имеет свою специфику и интегрировать стандартные иконки социальных сервисов без адаптации не представляется возможным. В таком случае мы берем в руки гугл и принимаемся за поиск нужных логотипов, для того чтобы создать подходящий набор иконок. Ах да я немного отвлекся, продолжим о векторе, чтобы не проделывать такие скучные действия, я собрал воедино несколько популярных иконок в векторе и теперь каждый желающий может сэкономить немного времени воспользовавшись им.
+130
Сумбурные заметки про python и django
5 мин
47KНакопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.
Под катом:
Под катом:
- как упростить код вьюх ровно в 2 раза
- легкий способ рисования графиков
- почему Ian Bicking воскликнул «Cool!»
- приложения для ВКонтакте на django за 5 минут
- хорош ли pymorphy?
- пара фишек насчет выкладки пакетов на pypi
- что общего между декораторами и with-контекст-менеджерами
- принимаем оплату на django-сайтах
- показываем Яндекс.Карту для заданного адреса
+147
Хочешь быть iOS разработчиком? Будь им!
2 мин
388KТуториал
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.
+210
Принцип «уверенности» высококачественного веб-дизайна
10 мин
21KКраткий синопсис
Доброго времени суток, уважаемые Хабрапользователи. Я довольно давно наблюдаю за различными постами Хабра, касающихся веб-дизайна, да и дизайна в целом. Чаще всего смысл таких постов сводится к очень подробным описаниям отдельных элементов сайта и их различным вариантам — в этом нет ничего плохого, но, мне кажется, этой теме чего-то не хватает: а именно, освещения более общих и всем понятных принципов высококачественного дизайна, которыми мог бы воспользоваться любой пользователь, даже не владеющий соответствующим профилем. В этой статье речь пойдет об одном из таких основополагающих принципов.
Под катом примерно 1.1 Мб трафика.
+46
Koding.com — localhost в облаке
2 мин
21KС удивлением не обнаружил на хабре ни одной статьи о проекте Koding.com. Сразу скажу, что не имею никакого отношения к администрации сайта, но порекламировать его всё равно хочу, потому что, на мой взгляд, он этого заслуживает.
Koding.com — полноценная бесплатная среда разработки в браузере и социальная сеть для разработчиков в одном флаконе. В данный момент проект находится в стадии public beta и многие функции ещё недоступны, но уже сейчас понятно, что будет интересно.
Koding.com — полноценная бесплатная среда разработки в браузере и социальная сеть для разработчиков в одном флаконе. В данный момент проект находится в стадии public beta и многие функции ещё недоступны, но уже сейчас понятно, что будет интересно.
+88
25 советов для созидания, управления и успеха
10 мин
27KRecovery Mode
Успех — это воплощенная идея. Чтобы создать идею нужно быть другим…
Момент когда ты осознаешь что все может рушиться и начинаешь видеть себя отдельно от других, видеть что что-то лучше, что-то хуже, что-то другое, другими словами осознаешь себя не как общество, а как отдельная часть. Так вот чем полнее понимание своего «Я» и что я другой, тем более это развивает качество лидера и самооценку, что стимулирует генерацию уникальных мыслей и идей, так как ты перестаешь следовать правилам и выходишь за границы. У меня в детстве была очень серьезная травма, так вот в мое случае это произошл очень резко, когда просто увидел что я вот мол сейчас страдаю, а у других все хорошо, то есть кажется что в этом нет ничего особенного, но раньше этому значения не придавалось.
Признавая кого-то своим авторитетом, Вы признаете что этот человек лучше Вас, тем самым загоняете в рамки свои способности. Другими словами если Вы, к примеру, признаете Эйнштейна свои кумиром и авторитетом, Вы тем самым накладываете шаблон его жизни на свою, другими словами Вы признаете что все должно быть так и не иначе, что ограничивает Ваши идеи и мысли.
Осознание личности
Момент когда ты осознаешь что все может рушиться и начинаешь видеть себя отдельно от других, видеть что что-то лучше, что-то хуже, что-то другое, другими словами осознаешь себя не как общество, а как отдельная часть. Так вот чем полнее понимание своего «Я» и что я другой, тем более это развивает качество лидера и самооценку, что стимулирует генерацию уникальных мыслей и идей, так как ты перестаешь следовать правилам и выходишь за границы. У меня в детстве была очень серьезная травма, так вот в мое случае это произошл очень резко, когда просто увидел что я вот мол сейчас страдаю, а у других все хорошо, то есть кажется что в этом нет ничего особенного, но раньше этому значения не придавалось.
Не признавайте авторитетов
Признавая кого-то своим авторитетом, Вы признаете что этот человек лучше Вас, тем самым загоняете в рамки свои способности. Другими словами если Вы, к примеру, признаете Эйнштейна свои кумиром и авторитетом, Вы тем самым накладываете шаблон его жизни на свою, другими словами Вы признаете что все должно быть так и не иначе, что ограничивает Ваши идеи и мысли.
+3
Работа с ANSI консолью
5 мин
3.9KЧасто ли нужно сделать програму для консоли? Не так часто, да? А вот я последнее время только этим и занимаюсь… Поэтому сделал класс (на самом деле сделал еще очень давно).
Этот класс позволяет выполнять такие простые операции, как подсветка текста, подсветка бэкграунда буквы или текста, установка курсора на нужную позицию, выбор консоли для вывода и ввод текста в консоль.
Этот класс позволяет выполнять такие простые операции, как подсветка текста, подсветка бэкграунда буквы или текста, установка курсора на нужную позицию, выбор консоли для вывода и ввод текста в консоль.
+53
Фоткер — комфортный просмотр Яндекс.Фоток
2 мин
11KЯ — фотолюбитель и я очень люблю Яндекс.Фотки. Они служат мне одновременно и витриной моих снимков, и памятью о поездках, и одним из бэкапов. Но в случае, когда я хочу дать ссылку на просмотр какого-то альбома, мне становится бесконечно стыдно.
+72
Восстановление расфокусированных и смазанных изображений. Практика
10 мин
349KНе так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.
В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.
Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.
И вот результат обработки:
Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.
Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.
Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.
И вот результат обработки:
Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.
Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
+453
Улучшаем релевантность поиска в sphinxsearch
4 мин
58KRecovery Mode
Sphinxsearch является поисковым движком для быстрого fulltextsearch, может получать данные из mysql, oracle и mssql, может выступать сам хранилищем(realtime индексы). Также sphinx имеет режим работы через api и через sphinxql — аналог протокола sql(с некоторыми ограничениями), что позволяет подключить поиск через sphinx на сайте с минимальным изменением кода. Это один из немногих великих, крупных и открытых проектов разработанный в России. На моей жизни я видел как sphinx обрабатывает порядка 100-200 поисковых запросов на 2 миллиона записей из mysql и при этом сервер свободно дышал и его не тошнило, mysql начинает умирать уже на 10 запросах в секунду на аналогичном конфиге.
Основная проблема документации sphinx на мой взгляд малое количество примеров для большинства интересных настроек, сегодня постараюсь рассказать в примерах о них. Опции которые я затрону касаются в основном алгоритмов и вариаций поиска. Все кто плотно работает со sphinx не узнают ничего нового, а новички надеюсь смогут улучшить качество поиска на своих сайтах.
Sphinx содержит две независимые программы indexer и searchd. Первый строит индексы по данным взятым из базы данных, второй производит поиск по построенном индексу. А теперь перейдем к настройкам поиска в sphinx.
Позволяет задать морфологию слов, я использую только стемминг. Алгоритм стемминга с помощью набора правил для языка обрезает окончания и суффиксы. Стемминг не использует готовые базы слов, а основан на определенных правилах обрезания для языка, что делает его маленьким и быстрым, но это же и добавляет ему минусы так как он может совершать ошибки.
Пример нормализации слова стеммингом на русском.
Слова “яблоко”, “яблока”, “яблоку” будут обрезаны в “яблок” и любой поисковый запрос с вариацией слова “яблока” будет тоже нормализован и найдет записи со словами которые были описаны выше.
Основная проблема документации sphinx на мой взгляд малое количество примеров для большинства интересных настроек, сегодня постараюсь рассказать в примерах о них. Опции которые я затрону касаются в основном алгоритмов и вариаций поиска. Все кто плотно работает со sphinx не узнают ничего нового, а новички надеюсь смогут улучшить качество поиска на своих сайтах.
Sphinx содержит две независимые программы indexer и searchd. Первый строит индексы по данным взятым из базы данных, второй производит поиск по построенном индексу. А теперь перейдем к настройкам поиска в sphinx.
morphology
Позволяет задать морфологию слов, я использую только стемминг. Алгоритм стемминга с помощью набора правил для языка обрезает окончания и суффиксы. Стемминг не использует готовые базы слов, а основан на определенных правилах обрезания для языка, что делает его маленьким и быстрым, но это же и добавляет ему минусы так как он может совершать ошибки.
Пример нормализации слова стеммингом на русском.
Слова “яблоко”, “яблока”, “яблоку” будут обрезаны в “яблок” и любой поисковый запрос с вариацией слова “яблока” будет тоже нормализован и найдет записи со словами которые были описаны выше.
+31
Настройка почтовых оповещений о различных системных событиях
4 мин
27KВ этой заметке перечислены несколько простых способов заблаговременно узнать о различных проблемах на сервере, не замусоривая почтовый ящик и не настраивая сложных систем мониторинга. Из разряда «если вам лень что-то проверять и настраивать, то настройте и проверяйте хотя бы это».
+24
Конкурс ВК: Мессенджер для Android. Как это было!?
3 мин
35KПриятного времени суток!
Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
+142
Клавиатурные сокращения с Javascript
1 мин
1.9KMousetrap — маленькая библиотека (1.4 KB) для обработки клавиатурных нажатий.
Как видно, поддерживаются как одиночные нажатия, так и сочетания и клавиатурные комбо.
Работает в Internet Explorer 6+, Safari, Firefox, Chrome (с включенным Vimium не работает).
Пробуйте — craig.is/killing/mice
// single keys
Mousetrap.bind('4', function() { highlight(2); });
Mousetrap.bind("$", function() { highlight(3); }, 'keydown');
Mousetrap.bind('x', function() { highlight(4); }, 'keyup');
// combinations
Mousetrap.bind('command+shift+K', function() { highlight(7); });
Mousetrap.bind(['command+k', 'ctrl+k'], function() { highlight(8); });
// gmail style sequences
Mousetrap.bind('g i', function() { highlight(11); });
Mousetrap.bind('* a', function() { highlight(12)});
// konami code!
Mousetrap.bind('up up down down left right left right b a enter', function() {
highlight([15, 16, 17]);
});
Как видно, поддерживаются как одиночные нажатия, так и сочетания и клавиатурные комбо.
Работает в Internet Explorer 6+, Safari, Firefox, Chrome (с включенным Vimium не работает).
Пробуйте — craig.is/killing/mice
+52
Третья бесплатная школа iOS-разработчиков в Петербурге
1 мин
7.3KС 1 августа начинает свою работу летняя бесплатная школа разработчиков под iPhone и iPad. Курс предназначен для начинающих программистов и будет проходить уже в третий раз.
Для обучения в школе необходимо:
Занятия будут проходить 2 раза в неделю в нашем офисе, вечером в среду и днем в субботу. Продолжительность 2-4 часа. Преподавателями станут ведущие iOS-разработчики e-Legion. За их плечами — многолетний опыт и множество реализованных проектов высокой сложности.
Вся дополнительная информация доступна на сайте mbltdev.ru.
Для обучения в школе необходимо:
- заполнить анкету участника и прислать её по адресу ios@e-legion.com;
- получить в ответ тестовое задание, которое нужно выполнить и отправить на тот же адрес до 23 июля.
Занятия будут проходить 2 раза в неделю в нашем офисе, вечером в среду и днем в субботу. Продолжительность 2-4 часа. Преподавателями станут ведущие iOS-разработчики e-Legion. За их плечами — многолетний опыт и множество реализованных проектов высокой сложности.
Вся дополнительная информация доступна на сайте mbltdev.ru.
+23
Изучить Github за 15 минут
1 мин
127KTryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.
Вот таким в будущем должно стать обучение в школах!
Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
Вот таким в будущем должно стать обучение в школах!
Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
+137
В погоне за идеей
10 мин
4.7KПриветствую тебя, Хабр. В этой статье я бы хотел уделить несколько абзацев текста такой, актуальной нынче, теме, как стартапы (думаю, уже не за горами то время, когда само это слово станет у нас синонимом чего-нибудь неприличного). Но даже это еще не все. Я осмелюсь покуситься на самое-самое святое для стартапера, на его начальную Идею. Попытаюсь понять, стоит ли она все-таки хоть что-то, и существует ли какой-нибудь метод, не очень зависящий от эмоций, чтобы была возможность как-то конструктивно работать с этими идеями.
Многое, о чем я буду говорить, будет похоже на откровения капитана, а какие-то высказывания, возможно, могут кому-то показаться окрашенными в назидательный тон (хотя я никоим образом этого не хотел). Заранее прошу у читателей отнестись к тексту снисходительно, т.к. всё, что вы прочтете ниже, лишь изложение мыслей автора вслух по теме, и ничего больше.
+53
Свежее сено от коровы, или 3000 иконок подано!
2 мин
4.6KПосле выпуска 2000 иконок FatCow прошло более года. Пошел четвертый год рисования. Страницу посетило 560,096 (288,511+235,221+36,364) посетителей. Чтобы дойти до 3500 иконок, работы хватит до февраля 2013 года. Если добавить размер 64x64, то до середины 2015-го года. Пока вложено $76778 и 2000 часов работы. Тут выложили 3000 иконок, за неделю до выпуска на официальном сайте, ибо владельцы коровы (Bluehost) заняты покупкой крокодила (HostGator).
Чтобы понять, какой набор иконок самый уникальный в мире, пришлось рассортировать 7422 иконок. Результат не подвел…
Чтобы понять, какой набор иконок самый уникальный в мире, пришлось рассортировать 7422 иконок. Результат не подвел…
+123
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Зарегистрирован
- Активность