Pull to refresh
-1
0
Антон Нехаев @nehaev

Архитектор, консультант

Send message

Сервис Goodreads опубликовал рейтинг самых читаемых книг в жанрах научной фантастики и фэнтези

Reading time2 min
Views56K
image

Goodreads — социальная сеть любителей чтения. Создана в 2006 году Отисом Чендлером. Решает проблему выбора интересных и полезных книг на основе рекомендаций и отзывов других людей, так называемой «социальной каталогизации».

29 июля в блоге Goodreads был опубликован рейтинг лучших научно-фантастических и фэнтези книг на основе оценок и отзывов читателей (на сервисе размещено более 50 миллионов отзывов).
Читать дальше →

Обратная сторона Spring

Reading time11 min
Views181K

Неделя Spring на Хабре, судя по всему, открыта. Хочется сказать спасибо переводчику и комментаторам статьи "Почему я ненавижу Spring", которая не смотря на сильный негативный посыл в названии вызвала ряд интересных дискуссий, а так же тем, кто отреагировал на мою прошлую статью Как писать на Spring в 2017. Во многом благодаря комментариям к прошлой статье и появилась эта.


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

Читать дальше →

Dotty – будущее языка Scala

Reading time17 min
Views20K
В конце мая я оказался среди слушателей конференции Scala Days в Копенгагене. Одним из ключевых спикеров был создатель языка Scala Мартин Одерски. Он рассказал о развитии языка и, в частности, о разработке компилятора, названного Dotty. Планируется, что на основе Dotty будет разработан новый компилятор для версии 3.0.

Мартин не раз выступал на эту тему, и я бы хотел собрать здесь всю актуальную информацию о Dotty – новые ключевые возможности и элементы, удаленные за ненадобностью.


Мартин Одерски. План развития Scala на ближайшие несколько лет

Этот пост будет полезен и знатокам, и совсем новичкам, для которых разговор о Dotty я предваряю рассказом об особенностях Scala, а также о том, что лежит в его математической основе.
Читать дальше →

Аутентификация с использованием Spring Security и JWT-токенов

Reading time10 min
Views156K
Всем привет! Хабр жив! Данный пост вряд ли соберёт кучу просмотров и комментов, но, надеюсь, немного поможет здоровью хабра.

В данной статье рассмотрим принцип аутентификации в веб-приложениях на платформе Spring с использованием относительно нового механизма аутентификации — JSON Web Token (JWT). Этот механизм уже обкатан и реализован для многих языков программирования.

Читать дальше →

Обзор 98 одноплатных компьютеров. Часть 3

Reading time11 min
Views55K
Часть 1
Часть 2
Часть 3
Часть 4

NanoPC-T3



Компания/проект — FriendlyElec (FriendlyARM)
Обзор LinuxGizmos
Страница продукта
CPU — Samsung S5P6818 (8x Cortex-A53 @ 400MHz to 1.4GHz); Mali-400 MP GPU
Память — 1GB или 2GB DDR3 RAM; 8GB eMMC
Цена — $60

Компания FriendlyElec (также известная как FriendlyARM) предлагает сейчас как минимум дюжину одноплатников, что превышает наш порог в 10 устройств на компанию, и это заставило нас исключить некоторые из них из нашего первого списка. Несколько сходных продуктов мы объединили в один пункт, модель NanoPi. Размер платы NanoPC-T3 100 x 60mm. Это одна из наиболее развитых плат от FriendlyElec. Она оснащена восьмиядерным Samsung S5P6818. Плата NanoPC-T3 SBC практически идентична более ранним, четырёхядерным NanoPC-T2. В дополнение к более быстрому процессору, плата T3 добавляет опцию 2GB RAM. Также обе платы NanoPC имеют слот SD, GbE, WiFi, и Bluetooth 4.0. На платах установлены четыре USB host, micro-USB client, и медиапорты, включая HDMI, LVDS, LCD, MIPI-DSI, MIPI-CSI, и аудио. Вместо обычного разъёма 40-pin RPi, NanoPC-T3 имеет 30-pin разъём GPIO.
 
Читать дальше →

Место Java в мире HFT

Reading time10 min
Views21K

В статье автор пытается проанализировать почему существуют торговые системы написанные на Java. Как может Java соперничать в области высокой производительности с C и C++? Далее размещены небольшие размышления о достоинствах и недостатках использования Java в качестве языка программирования/платформы для разработки систем HFT.
Читать дальше →

Магия SSH

Reading time11 min
Views534K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →

Фантастика и фентези за два с половиной года, почти сто хороших книг

Reading time22 min
Views250K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →

AlphaGo против Кэ Цзе: оценки профессиональных игроков в го

Reading time18 min
Views25K
В марте 2016 года один из сильнейших из людей игроков в го впервые проиграл компьютерной системе, играя без форы. До этого момента лучшем достижением считали выигрыш при 4 камнях форы, а игра на равных была ещё далеко — возможно, где-то в следующем десятилетии. Внезапно на сцене появилась система AlphaGo от британской DeepMind, которая со счётом 4:1 обыграла одного из самых известных игроков последних лет Ли Седоля.

Год назад южнокорейский игрок 9-го профессионального дана проиграл компьютерной системе подразделения Google, и в восприятии многих го перешла в разряд игры, в которую машины играют сильнее лучших из людей. Больше AlphaGo почти никак не «светилась». В апреле этого года DeepMind разразилась объявлением: AlphaGo сыграет с игроком первой строчки рейтингов Кэ Цзе. Сам он сообщал о намерении сыграть против ИИ ещё летом прошлого года, но лишь в этом году была объявлена точная дата матча. DeepMind пообещала, что программа дополнительно сыграет против сразу пяти мастеров.

Игры прошли в запланированные дни, и их результат окончательно показал, что уровень AlphaGo значительно выше человеческого. Та четвёртая игра матча Ли Седоль — AlphaGo, наверное, останется последней победой человека над этим ИИ: по завершении игр разработчики заявили об уходе системы из го.

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

На фото: почти готовые признать поражение пять мастеров го недоумевают — система AlphaGo, их оппонент, начала играть лениво, словно предчувствуя победу.

Как учится и отвечает на вопросы когнитивная система IBM Watson. Часть 1

Reading time5 min
Views6.9K


За последний десяток лет технологии шагнули далеко вперед. Интернет вещей, облачные системы, формы искусственного интеллекта, нейросети и когнитивные технологии. Все это появилось относительно недавно, но все это активно меняет нашу жизнь. IBM прикладывает значительные усилия, чтобы изменения были положительными. Делается все это не удовольствия ради, а с вполне практической целью. Дело в том, что потребности современной науки и бизнеса чрезвычайно велики. И для того, чтобы эти потребности удовлетворять, необходимы новые инструменты. Один из них — IBM Watson, когнитивная платформа, которая способная учиться, выявлять связи между отдельными элементами крупнейшего массива данных, а также взаимодействовать со своим окружением, включая пользователей.

На Habrahabr и Geektimes наша компания не раз рассказывала о том, какую пользу может принести IBM Watson. Но как работает система? В целом, ее возможности основаны на анализе окружающей среды и различных факторов. Благодаря этому платформа способна принимать определенные решения и давать ответы на задаваемые вопросы. Ниже – относительно краткое изложение принципов работы нескольких составляющих работы когнитивной системы. Это обучение, обработка языка и ответы на вопросы.

Что намазать на зубы, чтобы они не выпали

Reading time8 min
Views194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

Читать дальше →

DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

Reading time9 min
Views109K


Предыдущие публикации:

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
Читать дальше →

Эволюция: от аналогового видеонаблюдения к цифровому. Часть 2

Reading time8 min
Views16K
Это вторая и заключительная часть о переходе от аналогового видеонаблюдения к цифровому. Первая часть доступна здесь. В этот раз будет рассказано о переходе с одной системы на другую и приведены сравнительные характеристики. Ну что ж, приступим.

Формируем новый набор для видеонаблюдения.


Функторы, аппликативные функторы и монады в картинках

Reading time5 min
Views195K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста:


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →

Всё, что вы хотели знать о стек-трейсах и хип-дампах. Часть 1

Reading time15 min
Views52K
Практика показала, что хардкорные расшифровки с наших докладов хорошо заходят, так что мы решили продолжать. Сегодня у нас в меню смесь из подходов к поиску и анализу ошибок и крэшей, приправленная щепоткой полезных инструментов, подготовленная на основе доклада Андрея Паньгина aka apangin из Одноклассников на одном из JUG'ов (это была допиленная версия его доклада с JPoint 2016). В без семи минут двухчасовом докладе Андрей подробно рассказывает о стек-трейсах и хип-дампах.

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



Сегодня я буду рассказывать про стек-трейсы и хип-дампы — тему, с одной стороны, известную каждому, с другой — позволяющую постоянно открывать что-то новое (я даже багу нашел в JVM, пока готовил эту тему).

Когда я делал тренировочный прогон этого доклада у нас в офисе, один из коллег спросил: «Все это очень интересно, но на практике это кому-нибудь вообще полезно?» После этого разговора первым слайдом в свою презентацию я добавил страницу с вопросами по теме на StackOverflow. Так что это актуально.

Java и Docker: это должен знать каждый

Reading time7 min
Views87K
Многие разработчики знают, или должны знать, что Java-процессы, исполняемые внутри контейнеров Linux (среди них — docker, rkt, runC, lxcfs, и другие), ведут себя не так, как ожидается. Происходит это тогда, когда механизму JVM ergonomics позволяют самостоятельно задавать параметры сборщика мусора и компилятора, управлять размером кучи. Когда Java-приложение запускают без ключа, указывающего на необходимость настройки параметров, скажем, командой java -jar myapplication-fat.jar, JVM самостоятельно настроит некоторые параметры, стремясь обеспечить наилучшую производительность приложения.

В этом материале мы поговорим о том, что необходимо знать разработчику перед тем, как он займётся упаковкой своих приложений, написанных на Java, в контейнеры Linux.
Читать дальше →

No free lunch. Введение в участие в соревнованиях по анализу данных на платформе Kaggle

Reading time14 min
Views15K
Цель статьи — познакомить широкую аудиторию с соревнованиями по анализу данных на Kaggle. Я расскажу о своем подходе к участию на примере Outbrain click prediction соревнования, в котором я принимал участие и занял 4ое место из 979 команд, закончив первым из выступающих в одиночку.

Для понимания материала желательны знания о машинном обучении, но не обязательны.
Читать дальше →

Краткое руководство по выходу в opensource: кому это нужно, для чего и как

Reading time4 min
Views10K

На прошлой внутренней конференции разработчиков Контура я выступал с докладом. В моей презентации был слайд, на котором были перечислены известные российские ИТ-компании, разделенные на два столбца. Между компаниями в правом и левом столбцах было одно весомое различие.


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


Отличие их состояло в том, что они активно распространяют свои технологии и знания — делятся с профессиональным сообществом открытым кодом и понятными мануалами, выступают на конференциях. Они осознанно вкладываются в развитие своих opensource-проектов. Технологии и описания многих из них лежат в открытом доступе на специально созданных сайтах tech.yandex.ru, opensource.mail.ru, techno.2gis.ru/opensource, и известны многим разработчикам за пределами компаний.


Если вы вдруг решили заняться благотворительностью (почти) и сделать что-то подобное в своей компании, надеюсь, мой текст поможет ответить на вопросы: нужно ли это вам, сколько ресурсов потребуется и что в итоге получится. У нас вышел такой сайт: tech.skbkontur.ru.

Читать дальше →

Аналитические данные за пределами аналитики в Wrike

Reading time8 min
Views4.6K

Дата инженер в ожидании задачи на спарке.


За годы разработки Wrike у нас накопилось много разрозненной информации о действиях пользователя. Эта информация разбросана по нескольким базам данных, логам, и внешним сервисам, и нам, аналитикам, нужно собрать эти данные вместе, найти в них закономерности и найти ответы на вечные вопросы SaaS’а:


  • Почему уходят клиенты?
  • Какие пользователи приносят нам деньги?
  • Как развивать продукт дальше?

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


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

Читать дальше →

Черновик книги Эндрю Ына «Жажда машинного обучения», главы 1-7

Reading time10 min
Views33K
В декабре прошлого года в переписке американских коллег по data science прокатилась волна обсуждения долгожданного черновика новой книги гуру машинного обучения Эндрю Ына (Andrew Ng) «Жажда машинного обучения: стратегии для инженеров в эпоху глубинного обучения». Долгожданного, потому что книга была анонсирована ещё летом 2016 года, и вот, наконец, появилось несколько глав.

image

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

Information

Rating
4,017-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Java
Scala