Pull to refresh
27
0
Николай Грищенко @grischenko

Пользователь

Send message

Восстановление расфокусированных и смазанных изображений. Повышаем качество

Reading time5 min
Views210K
Представляю вашему вниманию заключительную статью из трилогии «Восстановление расфокусированных и смазанных изображений». Первые две вызвали заметный интерес — область, действительно, интересная. В этой части я рассмотрю семейство методов, которые дают лучшее качество, по сравнении со стандартным Винеровским фильтром — это методы, основанные на Total Variaton prior.
Также по традиции я выложил новую версию SmartDeblur (вместе с исходниками в open-source) в которой реализовал этот метод. Итоговое качество получилось на уровне коммерческих аналогов типа Topaz InFocus. Вот пример обработки реального изображения с очень большим размытием:


Читать дальше →
Total votes 355: ↑352 and ↓3+349
Comments86

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Почему прокрастинаторы прокрастинируют (откладывают дела «на потом») и как побороть прокрастинацию

Reading time14 min
Views294K
image

pro-cras-ti-na-tion |prəˌkrastəˈnāSHən, prō-|
существительное
задержка или откладывание чего-либо: первый совет — избегайте прокрастинации.

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

Избегать прокрастинации. Так элегантно в своей простоте…

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

Нет, «избегайте прокрастинации» — хороший совет только для не настоящих прокрастинаторов. Для тех, кто говорит «Я захожу на Facebook несколько раз в день на работе. Я такой прокрастинатор!». Это те люди, которые будут говорить настоящему прокрастинатору «Не откладывай дела на потом и у тебя все будет хорошо».

Дело в том, что ни словари ни не настоящие прокрастинаторы не понимают, что для настоящих прокрастинаторов прокрастинация — не дополнительная опция. Это что-то, что они не знают как не делать.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments94

Совсем не нейронные сети

Reading time9 min
Views49K


Недавно ZlodeiBaal писал о достижениях в сверточных нейронных сетях (CNN) (и, кстати, тут же успешно настроил и обучил сеть для поиска области автомобильного номера).
А я хочу рассказать про принципиально иную и, наверное, более сложную модель, которую сейчас развивает Алексей Редозубов (@AlexeyR), и про то, как мы, конечно проигнорировав некоторые важные элементы, и ее применили для распознавания автомобильных регистрационных знаков!

В статье несколько упрощенно напомню о некоторых моментах этой концепции и покажу, как оно сработало в нашей задаче.
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments104

Безвозвратная потеря EC2 инстанса, EBS томов и всех снэпшотов

Reading time8 min
Views34K
Почитав в свое время «Cloudmouse удалил все виртуальные сервера» и некоторые комментарии в стиле «сам виноват, надо было доверять проверенным облакам», решил поведать свою историю ужаса с весьма уважаемым облаком от Амазона (AWS). В подкасте радио-т я вкратце об этом рассказывал, но тут, как мне кажется, важны детали и впечатления от всего произошедшего кошмара.
Читать дальше →
Total votes 106: ↑102 and ↓4+98
Comments46

Документальные фильмы о бизнесе, которые вы ещё не видели

Reading time3 min
Views20K
Вот и пришло лето. Какие бы планы вы не выстроили на ближайшие несколько месяцев, мы знаем, что вы найдёте место для интересного кино. Именно поэтому сегодня мы составили для вас подборку замечательных документальных фильмов о бизнесе. Полезно и безумно интересно. В процессе составления материала насильственно фильмы ставились на паузу!


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Reading time6 min
Views153K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

Статья содержит результаты проведенного им исследования, каким должен быть фавикон (и то что его заменяет), чтобы хорошо отображаться в различных случаях.


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Total votes 73: ↑71 and ↓2+69
Comments44

Как нанять проектировщика интерфейсов: мифы, ошибки, оценки рынка и выигрышные стратегии

Reading time15 min
Views16K
За последние 7–8 лет наши сотрудники прочитали около 2000 резюме UX-проектировщиков. Отсобеседовали — под сотню. Пару десятков приняли на временную или постоянную работу. А параллельно пережили неисчислимое количество однотипных бесед с теми, кто «тоже хочет» (или делает вид, что хочет) заполучить себе в команду подобного специалиста.

Смеем надеяться, что теперь мы что-то понимаем в поиске и найме проектировщиков интерфейсов. И хорошо видим, что руководители, которые никогда с этой задачей не сталкивались, подходят к ней с довольно стандартным шаблоном мифов и легенд.

Попробуем немножко расшатать самые распространенные мифы. Вдруг это кому-то поможет подойти к вопросу найма UX-проектировщика чуть более рационально и эффективно.

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments49

Ищем единорогов: Product Marketing Manager'ы в JetBrains

Reading time6 min
Views18K
Мы потихоньку готовимся к релизу Kotlin, в связи с чем встают новые и интересные организационные вопросы. Например: «Нужен ли нам PMM (Product Marketing Manager)?» Как это часто бывает, чтобы ответить на этот вопрос, надо сначала разобраться, кто вообще такой PMM. Поскольку я это более-менее сделал в последние недели, хочу поделиться с вами тем, что узнал.

Disclaimer: Замечу сразу, что все сказанное ниже — более или менее специфично для JetBrains, и я ни в какой части этого поста не хочу сказать, что так же устроены или должны быть устроены другие компании.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments16

Как перевести сайт целиком на постоянный HTTPS для всех

Reading time6 min
Views44K

Шифруем всё подряд


Эра незашифрованного веба проходит, и это хорошо. В этой инструкции мы предполагаем, что на вашем сервере работает веб-сервер Nginx. И теперь мы сделаем так, чтобы все посетители сайта пользовались исключительно протоколом HTTPS. Кроме этого мы включим HSTS – это «HTTP Strict Transport Security», когда сайт не только поддерживает HTTPS, но и настаивает на его использовании.

Для этого есть множество способов, но я опишу метод под названием «HTTPS termination». Иначе говоря, мы поставим перед веб-сервером обратный прокси, который и будет обеспечивать HTTPS. Это получается проще и гибче, чем настраивать HTTPS только при помощи возможностей веб-сервера. Возможно, вам покажется контринтуитивным, что добавление ещё одного приложения в стек упростит вашу жизнь – но это действительно так.

Уточним, что данный рецепт подходит для серверов на базе Linux, на которых установлен Nginx.

То, что будет работать прежде всех остальных приложений в стопке – это HAProxy. Это в первую очередь приложение для балансировки – он умеет распределять приходящие запросы между разными физическими серверами. Много высоконагруженных сайтов используют его в этом качестве (тот же reddit), но в последней версии у него появилась возможность выполнять SSL termination. Он умеет устанавливать HTTPS-соединения от имени сервера.

Поэтому мы поставим HAProxy, скормим ему наши сертификаты SSL/TLS, поручим перенапрявлять все HTTP запросы на HTTPS, и покажем ему уже сам веб-сервер в качестве бэкенда.
Читать дальше →
Total votes 63: ↑49 and ↓14+35
Comments38

Обзор частых вопросов по тестированию ПО на собеседованиях и ответы на них

Reading time21 min
Views649K
Главная цель данной статьи – помочь преодолеть страх, который возникает у тестировщиков ПО (как начинающих, так и опытных) к предстоящему интервью в связи с незнанием грядущего.

Второстепенная цель – собрать воедино основные вопросы, которые, вероятней всего, будут заданы на собеседовании. Как у начинающего тестировщика, у меня уже скопился определенный опыт подготовки к собеседованиям на данную должность, и я могу заметить, что даже специализированные QA форумы не справляются с этой целью, а может и не ставят ее перед собой вообще.

Перечень вопросов разумеется не окончательный и не претендует на образцовость, а выступает лишь своеобразным ориентиром при подготовке специалистов с тестирования ПО.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments24

Как независимый разработчик прикоснулся к легенде. Часть первая

Reading time10 min
Views38K

1


В новый офис бывших коллег я попал под аккомпанемент дождя. Вот-вот начался май, пора к такому привыкать. Отряхиваюсь от влаги, жму руку бывшему руководителю, через просторный холл поднимаюсь на второй этаж, дальше по коридору, затем направо или налево — уж и не вспомню — и вот она, цитадель геймдева. Знакомые лица, знакомые рукопожатия, всё как в старые добрые времена. За три месяца инди-плавания я уже успел подзабыть, что такое офисные кресла, кофемашина и фритуплей.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments16

Советы front-end разработчику

Reading time7 min
Views191K


Привет, читатель хабра.

Наверное, ты сразу спросишь меня: «Да кто ты такой, чтобы давать мне советы?». Итак, немного обо мне.

Первое мое общение с HTML и CSS было 10 лет назад, еще в школе, когда у меня только появился интернет, и я понял что тоже хочу делать странички, которые сможет увидеть весь мир. С тех пор у меня есть как минимум 5 полных лет опыта разработки сайтов по-взрослому. Сейчас я могу без лишней скромности сказать, что сверстал я уже пару сотен сайтов, большинство из которых, как ни странно, совершенно не совпадают с моими текущими требованиями к верстке.

Я не хочу рассказывать как надо делать, эта статья результат моего опыта и попытка написать рекомендации тем, кто только начинает, хотя и для матерых верстальщиков (слово режущие слух) здесь могут найтись интересные идеи.
Если ты заинтересовался прошу под кат…
Читать дальше →
Total votes 129: ↑109 and ↓20+89
Comments139

[ПЕРЕВОД] Аутентификация на основе JSON Web Token в Django и AngularJS: часть первая

Reading time7 min
Views72K
Наиболее распространенным методом аутентификации является аутентификация с использованием cookie файлов. Более современный метод аутентификации основан на использовании JSON Web Token (дословно: вэб маркер в формате JSON) и он быстро набирает популярность. В этой статье мы сосредоточимся на нем.

Что такое JSON Web Token?


На самом деле маркеры довольно просты. Представьте себе маркер как ключ в виде карточки, с помощью которого вы каждый день заходите в офис. Когда вас взяли на работу в компанию, вы подтвердили свою личность (логин), предоставив набор учетных данных, таких как водительские права или номер социального страхования. В обмен на эти данных вам выдали ключ (маркер), который разрешает вам находиться в здании. Если бы вы решили уйти с работы или вас уволили (вышли из системы), компания может просто отключить ключ. Конечно, этот ключ может остаться у вас в кармане, но он не даст вам ничего хорошего.

JSON Web Token – это простой маркер в специальном формате. Пока формат не стандартизован, но многие уже используют одну из его реализаций (JWT).

JWT (произносится как jot) состоит из трех частей:
  • Заголовок
  • Полезная нагрузка
  • Подпись

Давайте рассмотрим каждую из них, прежде чем углубимся в реализацию.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments5

Эволюция носителей данных

Reading time22 min
Views39K
«Чтоб тебе жить в эпоху перемен» — весьма лаконичное и вполне понятное проклятие для человека скажем старше 30 лет. Современный этап развития человечества сделал нас невольными свидетелями уникальной «эпохи перемен». И тут даже играет роль не то что бы масштаб современного научного прогресса, по значимости для цивилизации переход от каменных орудий труда к медным очевидно был куда более знаковым, нежели удвоение вычислительных способностей процессора, которое само по себе будет явно более технологичным. Та огромная, все нарастающая скорость изменений в техническом развитии мира просто обескураживает. Если еще лет сто назад каждый уважаемый себя джентльмен просто обязан был быть в курсе всех «новинок» мира науки и техники, чтоб не выглядеть в глазах своего окружения глупцом и деревенщиной, то сейчас учитывая объемы и скорость порождения этих «новинок» отслеживать их всецело просто невозможно, даже вопрос так не ставится. Инфляция технологий, еще до недавно не мыслимых, и связанных с ними возможностей человека, фактически убили прекрасное направление в литературе – «Техническая фантастика». В ней отпала нужда, будущее стало многократно ближе, чем, когда либо, задуманный рассказ о «чудесной технологии» рискует дойти до читателя позже, нежели что-то подобное уже будет сходить с конвейеров НИИ.

Прогресс технической мысли человека всегда наиболее быстро отображался именно в сфере информационных технологий. Способы сбора, хранения, систематизации, распространения информации проходят красной нитью через всю историю человечества. Прорывы будь то в сфере технических, или гуманитарных наук, так или иначе, отзывались на ИТ. Пройденный человечеством цивилизационный путь, это череда последовательных шагов усовершенствования способов хранения и передачи данных. В данной статье попробуем более детально разобраться и проанализировать основные этапы в процессе развития носителей информации, провести их сравнительный анализ, начиная от самых примитивных — глиняных табличек, вплоть до последних успехов в создании машинно-мозгового интерфейса.

Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments27

Ключевые качества бизнес-аналитика в ИТ

Reading time7 min
Views72K
Доброго времени суток.

Изложить свои мысли о теме настоящей публикации натолкнула вполне насущная, «жизненная» необходимость — постепенно приближается время, когда возникнет потребность искать/нанимать на открытом рынке бизнес-аналитиков в штат компании (бизнес в области автоматизации процессов управления документами, контроля исполнительской дисциплины и т.д., в «простонародье» — СЭД). Все специалисты этого профиля, опыт и компетенции которых известны, иными словами тех кого знал и кого видел полезным для компании, либо уже в команде, либо устроены тоже неплохо. Проблему осложняет тот факт, что сколько ни старался, не получается сформулировать кратко и адекватно компетенции, особенности, которыми данный субъект должен обладать. Какие личные качества и таланты должен проявлять — что тоже актуально, так как морально подготовился к тому, чтобы искать талантливых новичков и пытаться их «выращивать». Уверен, что размышления ниже по тексту будут полезны менеджерам проектов, собственникам небольших ИТ-компаний интеграторского типа, да и самим бизнес-аналитикам.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments46

Видео-курс по Swift на русском языке

Reading time1 min
Views115K
Здравствуй, Хабр!

Мы сделали видео-уроки по языку Swift на основе бесплатной книги The Swift Programming Language от Эппл.



Все 32 урока доступны на нашем сайте. Несколько уроков – под катом.
Читать дальше →
Total votes 146: ↑129 and ↓17+112
Comments62

Как я купил wi-fi весы, уволился с работы и начал жить

Reading time6 min
Views210K
image

Stop fucking procrastinating and do some fucking work!


Это не то, что я услышал от своего начальника (хотя иногда вполне заслуживал такого обращения), а название одной из сотен книг в каталоге «Амазона», посвященной борьбе с прокрастинацией.
Читать дальше →
Total votes 212: ↑171 and ↓41+130
Comments200

Автоматическая подсветка лестницы с помощью Arduino

Reading time4 min
Views238K
Добрый день! В этом посте хочу поделится с хабро сообществом о том, как мне довелось сделать автоматическое освещение лестницы в своем двухэтажном коттедже. Начну с небольшого грустного отступления.
Около четырех месяцев назад, возвращаясь с работы в полной темноте, я не удачно подскользнулся и сломал две плюсниевых кости (пальца) на левой ступне. Целый месяц пришлось провалятся в постели, так как наступать на ногу было невероятно больно. Потом еще пол месяца хромал без гипса (у кого были переломы меня сразу поймут). После этой печальной истории я начал задумываться об автоматизации освещения ступенек лестницы. Немного поиграв с поисковыми запросами, нашел для себя очень простое решение в этом блоге, как раз на основе моего любимого микроконтроллера Arduino. Схема не вызвала каких то трудностей, но отпугивало количество и длина проводов, которые мне предстояло смонтировать. До этого ничего подобного не делал. Покупать готовые решения или нанимать кого-то — накладно. В течении месяца заказал нужные комплектующие и не торопясь смонтировал за несколько дней на свою лестницу. Всем кому интересно, что из этого получилось, добро пожаловать под кат (осторожно трафик)!
Читать дальше →
Total votes 155: ↑154 and ↓1+153
Comments134

Простой способ передачи табличных данных из PHP в Excel

Reading time3 min
Views42K
К написанию данного топика меня подтолкнула одна заметка о генерации xls в PHP.
Способ, представленный в той заметке действительно очень прост, но не всегда может быть удобен.
Есть множество других способов передать табличные данные из PHP в Excel, я опишу тот, который показался мне наиболее простым и функциональным. Нужно особенно отметить, что что я не говорю о генерации xls файла, а лишь предлагаю пользователю открыть полученные данные при помощи Excel так, что пользователи не искушённые в программировании не заметят подлога.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments38

Information

Rating
Does not participate
Location
Тель-Авив, Израиль
Date of birth
Registered
Activity