Pull to refresh
0
0
Николай @kolyan

User

Send message

Как программист новую машину подбирал

Reading time10 min
Views40K
В предыдущих статьях (I, II, III) я подробно рассказывал о разработке сервиса для поиска выгодных б/у автомобилей в РФ.

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

Я собрал данные о новых автомобилях, проанализировал, оформил в виде сервиса, и под конец года, когда скидки у дилеров максимальны, решил поделиться им с вами.

Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments59

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

Reading time10 min
Views24K


Адил Имран — программист, работает в этой сфере давно, делясь опытом, наработками и наблюдениями с коллегами в своем блоге. Новая статья Адила — об инструментах, которые помогают писать красивый и чистый код, который хорошо работает.

От автора: вы хотите писать хороший код, но не знаете, с чего начать, пробуете читать то и это, реализуете на практике прочитанное. Но все равно, вопросов остается больше, чем ответов. Нужно ли убирать «мертвый» код? Что делать, если обнаружена неиспользуемая переменная в уже написанном проекте? Как найти проблемные паттерны и все исправить? Эти вопросы важны, и многие из нас пытаются на них ответить. Но лучше всего — все делать хорошо уже с нуля, так, чтобы потом не приходилось искать проблемные места и латать дыры, теряя время. Для создания хорошего кода есть несколько инструментов, которые можно назвать незаменимыми.

Примеры, которые мы рассмотрим в этой статье, имеют отношение к React, хотя прочитанное можно применить практически для любого веб-проекта.
Читать дальше →
Total votes 29: ↑17 and ↓12+5
Comments7

Как разобраться в Tensorflow и не умереть, а даже научить чему-то машину

Reading time8 min
Views39K

Привет, Хабражители. Сегодняшний пост будет о том, как не затеряться в дебрях многообразия вариантов использования TensorFlow для машинного обучения и достигнуть своей цели. Статья рассчитана на то, что читатель знает основы принципов работы машинного обучения, но пока еще не пробовал это делать своими руками. В итоге мы получим работающее демо на Андроиде, которое кое-что распознает с довольно высокой точностью. Но обо всем по порядку.


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

Нейросети для обработки изображений. Рассказывает Александр Савсуненко из Skylum Software

Reading time6 min
Views6.3K
Александр Савсуненко шесть лет занимается созданием интеллектуальных систем, два из которых — в качестве старшего научного сотрудника Университета штата Нью-Йорк в Стоуни-Брук. Он разрабатывал интеллектуальные системы для анализа ДНК, работы с изображениями, маркетинга.

Сейчас Александр руководит AI Lab в Skylum Software, где занимается графическими редакторами на базе нейросетей. Мы спросили, какими из созданных сервисов он особенно гордится и зачем использовать нейросети в A/B-тестировании.

Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments4

Создание архитектуры: работа с iOS Coordinator pattern

Reading time7 min
Views33K

(Иллюстрация)

Каждая команда рано или поздно начинает думать о внедрении собственных архитектурных подходов, и немало было об это копий сломано. Вот и мы в Umbrella IT всегда хотели работать с гибкими инструментами, чтобы формирование архитектуры не было чем-то болезненным, и проблемы навигации, mock-файлов, изолированности и тестирования перестали быть чем-то страшным, чем-то таким, что рано или поздно нависает над разросшимся проектом. К счастью, речь не идет о новой «эксклюзивной» архитектуре с вычурным названием-аббревиатурой. Надо признать, что существующие на данный момент популярные архитектуры (MVP, MVVM, VIPER, Clean-swift) справляются со своими задачами, и сложности может вызвать лишь неправильный выбор и неправильное использование того или иного подхода. Однако и в рамках принятой архитектуры можно использовать различные паттерны, что позволит добиться тех самых, почти мифических показателей: гибкость, изолированность, тестируемость, переиспользование.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments3

Infer.NET: мощная система машинного обучения теперь OpenSource

Reading time2 min
Views13K
Система машинного обучения, которая настолько крута, что помогла медикам углубить знания о детской астме, теперь стала доступна для всех. Исходный код разработанной Microsoft системы Infer.NET опубликован на GitHub, и теперь кто угодно может использовать эту интеллектуальную технологию машинного обучения в своих приложениях.

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments7

Курс MIT «Безопасность компьютерных систем». Лекция 10: «Символьное выполнение», часть 2

Reading time12 min
Views5.3K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Total votes 20: ↑20 and ↓0+20
Comments0

Мафия на Go, Vanila JS и WebSocket'aх

Reading time4 min
Views11K


Речь пойдет о web-реализации популярной карточной игры "Мафия". Она писалась для развлечения и получения опыта в разработке игр. Первая версия была написана за две недели свободного от работы времени и за такое же время переписана до второй версии. Плюс такой игры – отсутствие ведущего.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments13

Технология Solid: пришло время для перестройки веба

Reading time3 min
Views37K

Сэр Тим Бернерс-Ли на Campus Party 2008, фото Jonan Basterra

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

Есть примеры удачной реализации совместного творчества, как Википедия, децентрализованный хостинг сайтов и пиринговые социальные сети. Это предвестники того, каким может стать веб на основе новой технологии Solid, которую разработал Тим Бернерс-Ли совместно с группой исследователей из Массачусетского технологического института. Это венец десятилетий концептуальной работы, которой занимался Бернерс-Ли.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments84

Как Яндекс применил компьютерное зрение для повышения качества видеотрансляций. Технология DeepHD

Reading time7 min
Views71K
Когда люди ищут в интернете картинку или видео, они часто прибавляют к запросу фразу «в хорошем качестве». Под качеством обычно имеется в виду разрешение — пользователи хотят, чтобы изображение было большим и при этом хорошо выглядело на экране современного компьютера, смартфона или телевизора. Но что делать, если источника в хорошем качестве просто не существует?

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



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

Total votes 206: ↑204 and ↓2+202
Comments169

Просто и качественно определяем язык сообщений

Reading time6 min
Views6.8K

У нас в компании YouScan в день обрабатывается около 100 млн. сообщений, на которых применяется много правил и разных смарт-функций. Для корректной их работы нужно правильно определить язык, потому что не все функции можно сделать агностическими относительно языка. В данной статье мы коротко расскажем про наше исследование данной задачи и покажем оценку качества на датасете из соц. сетей.

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

Пара иногда востребованных хитростей при работе с git

Reading time6 min
Views25K

Хочу поделиться рецептами решения пары задач, которые иногда возникают при работе с git, и которые при этом не "прямо совсем очевидны".


Сперва я думал накопить подобных рецептов побольше, однако всему своё время. Думаю, если есть польза, то можно и понемногу...


Итак...

Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments20

Подводные грабли SmartTV разработки

Reading time6 min
Views15K
image

Привет, Хабр!

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

Всем кому интересна данная тема или просто любопытно посмотреть на новый фреймворк, который может и в SmartTV, просим под кат.
Total votes 39: ↑38 and ↓1+37
Comments35

Как международная хакерская сеть заработала $100 млн на краже пресс-релизов

Reading time24 min
Views20K


Весной 2012 года в киевском ночном клубе подвыпивший 24-летний Иван Турчинов бахвалился перед дружками-хакерами. Он хвастал, что много лет взламывает ленты бизнес-новостей и продаёт биржевым трейдерам неопубликованные пресс-релизы через московских посредников за долю в прибыли.

Один из хакеров в том клубе Александр Еременко раньше работал с Турчиновым — и решил войти в долю. Вместе со своим другом Вадимом Ермоловичем они взломали ленту Business Wire, украли внутренний доступ Турчинова к сайту и заставили московского главаря, известного под псевдонимом eggPLC, взять их в схему. Враждебное поглощение означало, что Турчинову пришлось делиться. Теперь в игру вступили три хакера.
Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments36

AI, практический курс. Базовая модель распознавания эмоций на изображениях

Reading time11 min
Views5.6K


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

Весь код, документы в формате notebook и прочие материалы, включая Dockerfile, можно найти здесь.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments3

GitHub открыли код своего балансировщика нагрузки — как работает их решение

Reading time3 min
Views23K
Разработчики из GitHub на прошлой неделе выложили в открытый доступ исходники своего балансировщика нагрузки — GLB Director. Команда трудилась над этим проектом несколько лет.

Чем примечательно их решение, как оно устроено, и кто еще передавал системы распределения нагрузки в open source, рассказываем далее.

Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments7

Обзор промышленного 3D-принтера Creatbot F430 от 3Dtool

Reading time10 min
Views5.2K
Доброго времени суток, дорогие читатели! С Вами, как и прежде, компания 3Dtool и сегодня в нашем обзоре кое-что интересное и необычное для мира 3D-печати.

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

Пишем CSS лучше и красивее

Reading time9 min
Views23K


Скажем честно: писать хороший CSS-код бывает сложно.
Многие разработчики не любят писать CSS. Все что угодно, но только не это! Только не CSS.

Когда при разработке приложений приходилось браться за CSS, это была не самая радостная часть работы. Но ее ведь не избежать, верно? Сегодня порадовать пользователя дизайном приложения настолько важно, что без CSS — никак.

Когда проект только начинается, все идет хорошо. У вас всего пару селекторов: .title, input, #app — проще простого.

Но постепенно приложение разрастается, и заглядывать в CSS становится страшновато: во всех этих селекторах разобраться уже не так просто. Вы начинаете писать что-то вроде div#app .list li.item a, какие-то куски кода повторяются снова и снова, а всю свою писанину сваливаете в конец файла: вам уже плевать, потому что CSS — отстой. Итог — 500 строк CSS-кода, поддерживать который невозможно.


Это я, когда сражаюсь с CSS

Переведено в Alconost
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments30

Конференция DEFCON 23. Как я потерял свой второй глаз, или дальнейшие исследования в области уничтожении данных. Часть 1

Reading time12 min
Views6.1K
Привет, DEFCON! Я собираюсь нарушить традицию и на этот раз начать выступление на минуту раньше, потому что хочу вам показать столько всего, что боюсь не успеть. Я уверен, что в этой презентации намного больше взрывных моментов, чем во всей истории презентаций за 25 лет существования «Дефкон».



Это не соло-проект, я использовал много идей моих друзей. На эту презентацию меня вдохновили выступления Брюса Поттера, который здесь уже выступал, Шейна Лоусона и Дивианта Оллама на конференции DefCon 19. Они рассказывали, как запустили какой-то дата–центр, в котором разместили очень ценную информацию на сетевых жестких дисках, и они выдвинули некоторые идеи. Как вы знаете, это может действительно стать мишенью для некоторых преступников, желающих выкрасть все данные, поэтому они рассматривали возможность некоего переключателя, который можно включить и физически уничтожить все диски в дата-центре. Я подумал, это было бы довольно круто, и я захотел сделать что-то вроде продолжения, провести ряд моих собственных экспериментов, а потом, четыре года спустя, я увидел, что несколько центров обработки данных подверглись физическим нападениям, и все данные на дисках были украдены – это и TorMail, и Silk Road(s), и Сноуден.
Total votes 22: ↑22 and ↓0+22
Comments3

Книга «Изучаем Java EE. Современное программирование для больших предприятий»

Reading time17 min
Views14K
imageПривет Хабр!

Эта книга описывает новое поколение Java EE. Вы отправитесь в путешествие по Java EE в контексте современного мира микросервисов и контейнеров. Это скорее не справочное руководство по синтаксису API — изложенные здесь концепции и методики отражают реальный опыт человека, который сам недавно прошел этот путь, обращая пристальное внимание на возникающие препятствия, и готов поделиться своими знаниями. В различных ситуациях, начиная с создания пакета для тестирования и облачного использования, эта книга станет идеальным компаньоном и для начинающих, и для опытных разработчиков, стремящихся понять больше, чем просто API, и поможет им перестроить свое мышление для создания архитектуры современных приложений в Java EE.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Украина
Registered
Activity