Pull to refresh
19
-7
Константин Осипов @liderman

Технический руководитель разработки в Ситилинк

Send message

Вычисление редакционного расстояния

Reading time5 min
Views62K

Редакционное расстояние, или расстояние Левенштейна — метрика, позволяющая определить «схожесть» двух строк — минимальное количество операций вставки одного символа, удаления одного символа и замены одного символа на другой, необходимых для превращения одной строки в другую. В статье излагается метод вычисления редакционного расстояния при использовании небольшого объема памяти, без существенной потери скорости. Данный подход может быть применен для больших строк (порядка 105 символов, т.е. фактически для текстов) при получении не только оценки «схожести», но и последовательности изменений для перевода одной строки в другую.
Читать дальше →
Total votes 81: ↑78 and ↓3+75
Comments19

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

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

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

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

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

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

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


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

280 кроказябл или взрывная мощь регулярных выражений

Reading time4 min
Views18K
В общем, наверное, как и другой любой начинающий JavaScript прогрммист (2 года назад), мне хотелось все реализовать своими руками. Так возникло ужасающее очень быстрое регулярное выражение из 280 символов.

Немного истории


Приблизительно полтора года назад, я узнал о библиотеке yass, которая была самым быстрым инструментом для поиска DOM элементов в JavaScript по CSS селекторам (ссылка на тесты).
И тут у меня возник ужасный интерес. Я захотел придумать способ, который будет еще быстрее. В то время я как раз читал книгу «Регулярные выражения Библиотека программиста» второе издание от Дж. Фридла. И вот… Это было лето, я еще был студентом и у меня была масса времени. Работа закипела…
Читать дальше →
Total votes 128: ↑112 and ↓16+96
Comments68

Масштабирование нагрузки web-приложений

Reading time6 min
Views59K
С ростом популярности web-приложения его поддержка неизбежно начинает требовать всё больших и больших ресурсов. Первое время с нагрузкой можно (и, несомненно, нужно) бороться путём оптимизации алгоритмов и/или архитектуры самого приложения. Однако, что делать, если всё, что можно было оптимизировать, уже оптимизировано, а приложение всё равно не справляется с нагрузкой?
Читать дальше →
Total votes 109: ↑98 and ↓11+87
Comments38

Китайцы — они такие китайцы

Reading time10 min
Views63K
Сей пост навеян неожиданным для меня интересом хабранаселения к посту уважаемого Milfgard из Мосигры про производство в Китае. Дело в том, что один из моих интересов как раз в производстве батарей – Denaq. И производство расположено ну конечно же в Китае. Я не стану рассказывать про организацию производства, там свои замечательные фокусы есть. Я расскажу именно про заказ чего-то под себя и покупку всякого опта. Что-то вроде алгоритма украшенного реальными историями из личного опыта. Это все будет про электронику, так как я сам именно ею занимаюсь. Истории и иллюстрации я буду выделять курсивом. Кому скучно читать общие выводы – читайте только их.
Читать дальше →
Total votes 316: ↑305 and ↓11+294
Comments124

Китай: как заказывать производство или поставку

Reading time7 min
Views185K
Его зовут Плюштой У китайцев можно заказать всё, что угодно: от электронных компонентов до корпуса к устройству или хендмейд-штук. При правильном подходе это дешево, качественно и позволяет реализовывать любые заказы, которые часто сложно разместить на территории СНГ.

В топике — основы аутсорсинга производства в Китай:
  • Как выбрать производителя и сделать заказ
  • Как убедиться, что сделают именно то, что вам нужно
  • Про предоплату, документы, гарантии
  • Как наиболее выгодно доставить
  • Что делать с потерянными поставками
  • Грабли в ассортименте

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

Читать дальше →
Total votes 208: ↑205 and ↓3+202
Comments183

Интерактивная карта из Arduino или по следам «Админского светофора»

Reading time4 min
Views6.7K
Для системного администратора, работающего у интернет провайдера, очень часто возникает задача мониторинга большого числа активного оборудования. Конечно для этих целей можно использовать nagios, cacti, zabbix и подобные им средства мониторинга. Но у всех у них есть один существенный недостаток — необходимо использовать браузер как средство отображения состояния контролируемых узлов сети.
Ознакомивших с «админским светофором» возникла идея создания интерактивной карты города, с расположенными на ней светодиодами: красный — узел недоступен, зеленый — доступен. Но если использовать описанный метод зажигания светодиодов, то понадобится 2 x n, где n — количество контролируемых узлов. Таким образом для контролирования 10 узлов понадобится 20 выводов. Понятно что указанный способ для решения задачи, в случае контролирования более чем 5 узлов, не подходит.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments30

Релиз Flash Player 10.2

Reading time1 min
Views2.1K
Перевод англ. поста о релизе Flash Player 10.2

Я очень рад сообщить, что Adobe Flash Player 10.2 доступен для скачивания (дебаг-версия доступна тут).

Я уже рассказывал о нововведениях этого релиза несколько недель назад. В Flash Player 10.2 появилось Stage Video для обеспечения высокой производительности при просмотре видео. Так же, появились очень клёвые нативные курсоры мышки, которые должны понравится разработчикам игр. Кроме этого добавилась оптимизация под IE9 и улучшения качества текста для мобильных устройств. В новом Flash Player вы так же можете насладиться полноэкранным режимом на одном экране, в то время, как вы продолжаете работать на другом, очень клёво для людей, которые любят видео. Мы так же, будем продолжать работу над небольшими улучшениями, как это, в будущих релизах, чтобы пользователям было удобнее работать с Flash.
Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments53

Для Ubuntu появился PPA GIMP Paint Studio

Reading time1 min
Views4.4K
image
работы сделанные в GIMP Paint Studio
GIMP Paint Studio — это набор установок инструментов, качественных кистей и текстур, который превращает GIMP в полноценную программу для рисования.
Читать дальше →
Total votes 92: ↑86 and ↓6+80
Comments41

Обновление FreeBSD от и до

Reading time7 min
Views89K
Как часто бывает, зацепив одну, на первый взгляд, маленькую тему, с желанием быстро все узнать и все настроить, приходится закапываться в дремучие дебри и читать не одну статью и/или мануал. Так и получилось у меня в этот раз. Изначально было желание просто узнать, как обновлять порты (или исходные тексты портов) чтоб при желании, устанавливать не устаревшее ПО, но пришлось закопаться немного по глубже.
Эта статья предназначена только для новичков во FreeBSD, опытные профи тут вообще ни чего нового, думаю, для себя не найдут. По этому, если вы на «ты» с этой системой, можете смело пропускать дальнейший текст.
Информации на эту тему хватает, но из 6-10 заметок и статей я взял, так скажем, лучшие наработки и опыт, и записал их в одну, с ссылками на более полные статьи, так что при желании можно получить более подробную информацию по каждому пункту.
Содержание статьи:
1) Выбор ПО для обновления исходных текстов.
2) Процесс обновления исходных текстов системы и портов.
3) Обновление системы(ядро и мир).
4) Обновление портов при помощи pkg_*, portupgrade, portdowngrade.
5) Заключение
6) Дополнительная литература.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments22

Мечта айтишника, или как мы создали девушку-робота

Reading time5 min
Views28K
Здравствуйте, жители Хабра!

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

image
Читать дальше →
Total votes 98: ↑66 and ↓32+34
Comments118

Прощай, салфетки, или как избавиться от глянца ноутбука

Reading time4 min
Views46K
Thinkpad SL400
Тебе, %username%, нравятся глянцевые ноутбуки, на которых остаются следы от любого прикосновения? — Меня они очень раздражают.

Да, конечно, глянцевый ноутбук привлекательно смотрится на витрине: такой черный, красивый, блестящий, шикарный…. Однако, все мы знаем, что случается с этой красотой не то что через месяц, а через неделю активного использования. Никаких салфеток не напасешься, чтобы ноутбук выглядел не заляпанным, а все таким же шикарным.
Так что же делать с этим глянцем, кроме как закупить чистящие средства и те самые салфетки? Как вариант – выбросить продать и купить матовый. Но что, если нравится именно эта модель по остальным параметрам?
Еще один выход – ошкурить и превратить в матовый. Есть такие навыки, чтобы получилось аккуратно и без травм для любимой техники?
Ну и конечно, можно просто не обращать внимания, что каждое касание оставляет следы на крышке ноутбука, и заняться на досуге дактилоскопией: Кто трогал мой ноутбук? Кто сидел на моем стуле? А также забыть про мелкие очаровательные царапинки, которые со временем станут очень заметными на глянцевой поверхности.
Хочу предложить еще один способ защиты глянцевого ноутбука
Total votes 253: ↑231 and ↓22+209
Comments143

Подсчёт объектов на изображении

Reading time2 min
Views14K
Сегодня я расскажу о двух алгоритмах подсчёта количества объектов на изображении. Этот топик предназначен в первую очередь для тех, кто только начинает заниматься обработкой изображений. Для профессионалов ничего нового я не скажу.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments22

Time Lapse Photo Motion на Samsung NX100

Reading time1 min
Views18K
Одна из самых крутых штук, которые делает NX100, — это замедленная фотосъемка (по-английски time lapse photo motion), позволяющая создать иллюзию большей скорости происходящих процессов. Чтобы понять, как это и как это делается, посмотрите этот очень красивый ролик с видами вечерней Москвы от оператора Samsung Russia Романа Лесового. Помимо прочего Роман еще подробно рассказал и показал, как это видео монтировалось в Adobe After Effects.


Читать дальше →
Total votes 74: ↑50 and ↓24+26
Comments88

Состоялся релиз jQuery 1.5

Reading time5 min
Views1.8K
jQuery 1.5 готов для использования!

Этот долгожданный релиз вынудил приложить команду разработчиков немалые усилия. Поэтому, огромнейшее им спасибо!

Загрузка


Как правило, предлагается два варианта использования jQuery — минимизированная и распакованная (для отладки и изучения).
Читать дальше →
Total votes 162: ↑150 and ↓12+138
Comments64

Как быстро проверить Linux сервер на предмет взлома

Reading time4 min
Views127K
Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

--------------------- yum Begin ------------------------ 
 
 Packages Installed:
    lzo2 - 2.02-3.el5.rf.i386
    dnstracer - 1.8-1.2.el5.rf.i386
    openvpn - 2.0.9-1.el5.rf.i386

---------------------- yum End -------------------------


В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

Читать дальше →
Total votes 212: ↑183 and ↓29+154
Comments105

Трансформация журнала Vogue в домашний проектор part 1 (осторожно трафик)

Reading time2 min
Views14K
   Приветствую всех!

   Для начала я приобрел журнальчик Vogue с плеером. Сразу скажу — дорогой журнальчик, так как покупал его на Молотке аж за 1000 руб, но это не столь важно.

   Приобретая журнал, в голове уже давно созрел план действий по его трансформации в проектор, так как дома валялся старый слайд-проектор «Свитязь М». Вот он и мешал мне спать.

далее...
Total votes 132: ↑118 and ↓14+104
Comments67

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO)
Lead
From 800,000 ₽
Golang
DevOps
Vue.js
JavaScript
Tarantool
PostgreSQL
Kubernetes
Docker
OOP
gRPC