Pull to refresh
32
0
Send message

Делаем качественный переплёт для любимой книги

Reading time7 min
Views204K

Вступление


Приветствую всех.

Люди любят читать. Но не все, и не всё. А то, что любят, не всегда можно найти в магазинах. А если и можно найти, то не всегда это по карману. Из этого следует один элементарный факт: что-то с этим надо делать. Конечно, можно читать с экрана монитора/ноутбука/телефона. Или распечатать и читать в разрозненных, пусть и упорядоченных, листочках. Кроме того (это более затратный вариант, но для любителя чтения он лучше), можно купить специализированную читалку на электронных чернилах. Да, она решает проблему, но… Спустя какое-то время начинаешь скучать по весу настоящей книги, по шелесту перелистывания бумажных страниц, и по кипе других подобных маловажных, но таких приятных сердцу мелочей.
И из этой неприятности тоже есть свой выход. Просто-напросто надо самому сделать нужную книгу.
Осторожно, под катом очень много фотографий.
Читать дальше →
Total votes 310: ↑294 and ↓16+278
Comments157

Как хороший договор спасает нервы и монетку

Reading time14 min
Views62K
Договоры, отчеты, акты — кому охота заниматься этой скукотой, когда вокруг бьет ключом и фонтанирует идеями креативная жизнь? Особенно, если заказчик снисходительно хлопает творческого подрядчика по плечу: «Да ладно, зачем какие-то договоры. Мое слово — закон!» Остается только радостно согласиться и приступить к работе.

На заре существования нашего агентства мы вообще не стремились формализовать отношения с дорогими клиентами. Типовой договор умещался на двух машинописных листах. Содержал он минимум информации: предмет договора, сроки, цена. Если заказчиков немного, и все они — старые знакомые, то в известной степени можно положиться на их добропорядочность. Но когда клиентская база активно растет, то и проблемы множатся: задерживают выплаты, не выполняют обязательства, злоупотребляют лояльностью исполнителя. Столкнувшись с ними в полном объеме, мы собрались, подумали и составили новый типовой договор.
Читать дальше →
Total votes 140: ↑137 and ↓3+134
Comments51

Родина, верни мои деньги! Налоговые вычеты

Reading time9 min
Views41K
Недавно у Эльбы вышло обновление, в котором появилась возможность сдать справки 2-НДФЛ за своих работников в налоговую. К нам тут же посыпалась куча испуганных возгласов от предпринимателей: «Что это еще за 2-НДФЛ? Когда сдавать? Почему я про это не знаю? Достали уже эти чиновники». И мы поняли, что немного испугали народ.

Ребята! Все окей — 2-НДФЛ сдается только за ваших сотрудников :)

Но подумав о наемных работниках, мы вспомнили, что не все фрилансеры стали акулами бизнеса и многим была очень интересна тема — как обычному трудяге можно законно изъять отданный государству подоходный налог. Мы решили отойти от своей ПроБизнес-тематики и просветить желающих: сегодня мы раскроем магию налоговых вычетов по НДФЛ.

Читать дальше →
Total votes 96: ↑92 and ↓4+88
Comments103

Nokia N900 + Q-steer = Fun

Reading time5 min
Views13K
Бродя однажды по рунетовским просторам, наткнулся я как-то раз на самый банальный блок яндекс.директа. Но что-то меня там заинтересовало, и попал я на некий сайт. Где торговали управляемыми машинками. Вроде бы ничего особенного, но в итоге это привело к довольно интересным вещам и к этому топику.

Называются эти машинки Takara-Tomy Q-Steer (известные так-же в США под именами Microsizers и ZipZap). Радикальное отличие машинок Q-steer (а именно ими торговали на том сайте) в том что они маленькие. Очень маленькие. Очень-очень. Длина 4 см, ширина 2.7 см, если быть точным. Но, не смотря на это, машинки полностью управляемые. Понимают команды вперёд-назад, влево-вправо. И ещё форсаж есть (!) А ещё интересный момент — канал управления — ИК. Инфракрасное излучение. Есть у них вроде машинки (чуть побольше размером, но ненамного) на радиоуправлении, но для моих надобностей они не подходят.

В общем, просидев на том сайте несколько часов и проштудировав там практически всё, решил себе купить машинку. С управлением через ИК, само собой, ибо появилась одна интересная мыслишка.

В Москве такие машинки найти не удалось, так что заказал на найденом сайте. Доставка заняла несколько дней, но меня в первый же день после заказа уволили с моей нынешней работы, так что в беготне оставшееся время до прибытия посылки пролетело очень быстро. Про unboxing рассказывать не буду — сорвал обёртку, разорвал пластик, достал машинку и пульт. Всё просто.


Читать дальше →
Total votes 95: ↑86 and ↓9+77
Comments93

Что не охраняется копирайтом?

Reading time7 min
Views17K
Неоднократно в своем блоге мы останавливались на вопросах авторского права. А сегодня давайте поговорим о тех вещах, на которые оно не распространяется. Знать о них в последнее время становится все более необходимо.

Дело в том, что современный копирайт дает правообладателю очень большой объем полномочий: он может ходатайствовать перед судом о наложении ареста на «пиратские» экземпляры произведений, требовать «компенсации», минимальный размер которой ограничен десятью тысячами рублей, и пользоваться другими мелкими привилегиями, на которые так богата четвертая часть Гражданского кодекса. Поэтому часто при возможных спорах потенциальный истец, считая свои права нарушенными, объявляет их именно «авторскими правами», не имея к этому никаких оснований.

Что такое творчество?
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments26

Нечёткий поиск в тексте и словаре

Reading time13 min
Views261K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →
Total votes 171: ↑170 and ↓1+169
Comments33

12 навыков создания защищенных веб-приложений

Reading time8 min
Views21K
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.

Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.

Итак, поехали.

Читать дальше →
Total votes 246: ↑203 and ↓43+160
Comments194

Автоматизация логирования входов в функции

Reading time2 min
Views4.1K
У нас в компании с незапамятных времен существует гласно-негласное правило о логировании входа в каждую функцию. И ладно бы это ограничивалось простой строчкой Logger.LogEntering() в их начале (хотя, наверное, тоже надоело бы), так еще и наш «замечательный» доморощенный логгер получать названия функций из которых он вызван не умеет, и как следствие, эта единственная строчка разрасталась до эпического Logger.Log(«Classname.FunctionName — Entering») or something like that.

Неудивительно, что под воздействием недавних топиков о Mono.Cecil и родилась задача автоматизации процесса.

Читать дальше →
Total votes 40: ↑30 and ↓10+20
Comments19

Android, недорого!

Reading time5 min
Views73K
image

Android-фоны однозначно в тренде, но мало кто готов вступать в клуб «кому за 30», где 30 – цена гаджета в килорублях. Специально для них я отыскал все приличные гуглофоны в пределах 12000 рублей. И это было непросто!
Читать дальше →
Total votes 167: ↑144 and ↓23+121
Comments200

Лайтпак: Прокачан и открыт

Reading time1 min
Views22K
Прошло около 3х месяцев с тех пор, как хабрачеловек @brunql опубликовал в этом блоге описание ambilight-подсветки для ноутбука. А сегодня мы готовы представить вам полностью переработанную, теперь банановую™ версию этого опенсорс-устройства:


Читать дальше →
Total votes 163: ↑161 and ↓2+159
Comments93

Обнаружение объектов методом Оцу

Reading time6 min
Views45K
Здравствуйте, уважаемые хабрачитатели и хабракритики. Этот пост я хотел бы посвятить такой актуальной на сегодняшний день теме, как обнаружение объектов на изображениях.
В качестве одного из алгоритмов такого обнаружения рассмотрим выбор порога быстрым и эффективным методом Оцу.
Читать дальше →
Total votes 121: ↑117 and ↓4+113
Comments33

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views314K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
Total votes 335: ↑318 and ↓17+301
Comments244
12 ...
12

Information

Rating
Does not participate
Registered
Activity