Как стать автором
Обновить
0
0
Лукашин Алексей @theco6ak

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

Отправить сообщение

Секреты Progressive Web Apps: часть 1

Время на прочтение14 мин
Количество просмотров26K
Привет, Хабр! Мы продолжаем цикл статей по Progressive Web Apps. В прошлый раз мы познакомили вас с опытом разработчиков из Airberlin, ну а сегодня у нас в виртуальных гостях Jan Lehnardt, человек, стоящий за такими штуками, как Hoodie, Apache CouchDB и Greenkeeper i/o.

И пусть вас не смущает аббревиатура PWA (Progressive Web Apps): несмотря на то, что в заголовке есть Apps, принципы и технологии, используемые в PWA, применимы в целом к вебу и к приложениям. Лучшим вступлением к статье будет просмотр видео с Google I/O 2016, в котором Джейк Арчибальд рассказывает о PWA.



Я очень рекомендую посмотреть его, прежде чем продолжать читать статью, особенно если эта тема для вас в новинку.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии3

Java-ресурсы, на которые есть смысл подписаться

Время на прочтение4 мин
Количество просмотров24K
Когда язык программирования используют миллионы человек, кажется, что о нём должно быть предостаточно сайтов, в том числе русскоязычных. Однако, если набрать в поисковике «новости Java», результаты оказываются примерно такими:



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

Поэтому, во-первых, мы сейчас перезапустили сайт JUG.ru, чтобы исправить это. А во-вторых, раз русскоязычные регулярно обновляемые ресурсы в дефиците, вспомнили, какие есть англоязычные, и делимся результатами с Хабром. Разумеется, в текст вошло далеко не всё возможное, и будем только рады дополнениям в комментариях.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии10

Небольшой скрипт для отслеживания цен avito из Google Spreadsheet

Время на прочтение2 мин
Количество просмотров46K
Хочу поделиться с сообществом небольшим скриптом для загрузки цен с сайта объявлений AVITO в Google Spreadsheet. Вдруг кому-нибудь еще пригодится.

Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

Page Sample
(наименнннование sic!)
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии33

Эффективное кеширование. От теории к практике

Время на прочтение13 мин
Количество просмотров69K
image

Как правило, статьи о кешировании начинаются за здравие, а заканчиваются LRU кешем. Попробуем переломить эту тенденцию? Начнем с того, чем LRU плох, а закончим за здравие. Я надеюсь.

Вне зависимости от того, строите ли вы хайлоад сервис для миллионов посетителей или проектируете мобильное приложение, пишите операционную систему или СУБД — ключевое звено, влияющее на конечную стоимость системы и на отзывчивость интерфейса/сервиса — это кеш.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии59

Ответственный подход к измерению относительной влажности

Время на прочтение12 мин
Количество просмотров17K
Этой статьей мы продолжаем рассказывать о датчиках от швейцарской компании IST. Не так давно были опубликованы посты о датчиках электрической проводимости воды и датчиках скорости потока жидкостей и газов, сегодня очередь дошла до относительной влажности.



Статья посвящена высокоточным датчикам серии HYT. Приводится описание устройства датчика и чувствительного элемента, подробно разбирается порядок сопряжения датчика с микроконтроллером, приводится пример разработки.
Всего голосов 13: ↑13 и ↓0+13
Комментарии16

Поиск работы за рубежом: дайджест полезных материалов для потенциальных ИТ-экспатов

Время на прочтение4 мин
Количество просмотров59K


Вопрос о поиске работы за границей при нынешней нестабильной экономической ситуации в России стоит перед многими ИТ-специалистами довольно остро. Недавний опрос мэрии Иннополиса и рекрутингового портала HeadHunter показал, что около 13% российских ИТ-спецалистов готовы стать «трудовыми мигрантами». Но так ли просто найти работу за рубежом и настолько ли «там» все лучше, чем «здесь» — чтобы с этим разобраться я изучил много интересных материалов. Свое мнение афишировать не буду, лучше поделюсь полезным дайджестом материалов о поиске работы в разных странах и решения возникающих по ходу дела задач и вопросов.
Читать дальше →
Всего голосов 40: ↑27 и ↓13+14
Комментарии61

API hh.ru. Быстрый старт

Время на прочтение4 мин
Количество просмотров69K

Полагаю, некоторые из вас знают, что у hh.ru есть открытый API (мы рассказывали о нем тут и тут), который используем не только мы, но и сторонние разработчики. С его помощью, например, можно очень детально анализировать рынок на больших объемах актуальных данных.

Я задумал серию из двух статей: в этой покажу, как можно быстро и просто начать использовать API, а в следующей сделаю небольшой проект, рекомендующий актуальные вакансии по вашему резюме.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии16

DUMP-2016: видео всех докладов в одном посте. Бесплатно. Без СМС

Время на прочтение9 мин
Количество просмотров23K
8 апреля в Екатеринбурге прошла конференция DUMP. Под катом — видео 60-и докладов про frontend, serverside, devops, mobile, дизайн, управление разработкой и тестирование, плюс все презентации и фотографии с прошедшей конференции. А вот короткий отчетный ролик про DUMP-2016.


Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии2

Qook: Портировать старую игрушку на Android и поделиться ей с миром

Время на прочтение24 мин
Количество просмотров22K
КДПВ

На самом деле, я очень люблю логические игрушки. Не, «три в ряд», «найди похожий» и прочие «покорми собачку» меня мало интересуют. А вот по-настоящему сложная штуковина может спокойно утянуть на пару недель. Примерно так и случилось со мной в 2004-м году, когда ко мне в руки попал новенький мобильник от Sony. Способность этого T68I отлично звонить, показывать цветные картинки и, по слухам, даже отсылать свои контакты по BT прошли мимо меня незамеченными. А вот Q – нет. И сколько часов я просидел за маленьким дисплеем, судорожно гоняя шарики туда-сюда я уже и не помню. Зато, прекрасно помню, что, идея написать порт этой игры для какой-нибудь из современных платформ меня не отпускала со времен своего самого первого Hello World. Правда, все мои попытки склепать хоть какой-то игровой движок в те старые-добрые времена разбивались о… в общем обо что-то они разбивались. Зато теперь я давно и прочно пишу на Java, а с некоторых (совсем недавних) пор еще и для Android, так что идея порта игрушки наконец-то нашла возможность быть реализованной. Хотите посмотреть, что оно есть и как оно получилось? Тогда – под кат.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии25

«Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts

Время на прочтение26 мин
Количество просмотров43K
Добрый день, это «Без слайдов». В гостях у меня побывал Роман Елизаров aka elizarov, Java Champion, эксперт по Java и многопоточности (а с недавнего времени — еще и по финансовой математике), спикер многочисленных конференций, председатель жюри Северо-Восточного Европейского региона ACM-ICPC, престижнейшей в мире олимпиады по программированию, лектор в ИТМО и, наконец, VP по технологиям в компании Devexperts. В общем, «человек и пароход».

В разговоре мы затронули следующие темы:
  • что такое финансовая математика и как ее учить;
  • как устроен софт для финансовой индустрии;
  • как в компании Devexperts появилась исследовательская лаборатория по многопоточности;
  • куда развивается Concurrency, и что будет в моде в ближайшее время;
  • как всемирная олимпиада по программированию пришла в Россию.




Текстовая версия — под катом.
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии27

Справочник по синхронизаторам java.util.concurrent.*

Время на прочтение14 мин
Количество просмотров284K
Целью данной публикации не является полный анализ синхронизаторов из пакета java.util.concurrent. Пишу её, прежде всего, как справочник, который облегчит вхождение в тему и покажет возможности практического применения классов для синхронизации потоков (далее поток = thread).

В java.util.concurrent много различных классов, которые по функционалу можно поделить на группы: Concurrent Collections, Executors, Atomics и т.д. Одной из этих групп будет Synchronizers (синхронизаторы).



Синхронизаторы – вспомогательные утилиты для синхронизации потоков, которые дают возможность разработчику регулировать и/или ограничивать работу потоков и предоставляют более высокий уровень абстракции, чем основные примитивы языка (мониторы).
Читать дальше
Всего голосов 45: ↑41 и ↓4+37
Комментарии15

Производительность и многопоточность на Java-конференции JPoint 2016

Время на прочтение7 мин
Количество просмотров17K


Всего 8 недель осталось до крупнейшей в России Java-конференции JPoint 2016. Я уже рассказывал на хабре, что нас с вами ожидает:
  • два дня под одной крышей в центре Москвы
  • около 40 докладов в четырёх параллельных залах. Мы хотели сделать 36 докладов, как на Joker, но видимо всё же, уплотним сетку и сделаем 44 доклада
  • море общения с коллегами — около 1000 Java-программистов приедут к нам отовсюду


Я попробую потихоньку рассказать про основные темы JPoint и начну с нашей любимой — производительность и многопоточность.

На эту тему уже анонсированы следующие доклады:
  • Алексей Шипилёв, Oracle — Если не Unsafe, то кто: восход VarHandles
  • Сергей Куксенко, Oracle — Quantum Performance Effects, level up. За пределами ядра
  • Руслан Черёмин, Deutsche Bank — Escape Analysis и скаляризация
  • Владимир Ситников, NetCracker — Ну и производительность у вашего OpenSource!
  • Volker Simonis, SAP — HotSpot Intrinsics
  • Алексей Шипилёв, Oracle — The Lord of the Strings: Two Scours
  • Тагир Валеев — Stream API puzzlers
  • Владимир Иванов, Oracle — Native код, Off-heap данные и Java
  • Владимир Озеров, GridGain — (Почти) неблокирующая синхронизация


Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии7

Видео лучших докладов Java-конференции JPoint 2015 — Часть 2

Время на прочтение4 мин
Количество просмотров21K


Как многие из вас знают, в конце апреля в Москве JUG.ru проведет четвертую по счету конференцию JPoint. Любителей окунуться в океан Java-технологий ждут два увлекательных дня с морем общения и кучей докладов. Месяц назад я начал рассказывать о лучших докладах прошлогодней JPoint. Сегодня пришло время второй части.

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

Top 5 докладов JPoint 2015
Всего голосов 21: ↑20 и ↓1+19
Комментарии18

Об онлайн университете MongoDB

Время на прочтение3 мин
Количество просмотров19K
Осенью прошлого года из официальной рассылки MongoDB узнал о существовании их университета с бесплатными онлайн курсами по продукту. Я решил воспользоваться возможностью прокачать свои знания и прошёл один из курсов. В этой статье расскажу о том, как проходит обучение в MongoDB University.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии10

Подходы к проектированию RESTful API

Время на прочтение17 мин
Количество просмотров147K

Автор: Вячеслав Михайлов, Solutions Architect.

В этой статье я поделюсь опытом проектирования RESTful API — на конкретных примерах покажу, как делать хотя бы простые сервисы красиво. Также мы поговорим, что такое API и зачем он нужен, поговорим об основах REST — обсудим, на чем его можно реализовывать; коснемся основных веб-практик, которые зависят и не зависят от этой технологии. Также узнаем, как составлять хорошую документацию, затрачивая на это минимум усилий, и посмотрим, какие существуют способы нумерации версий для RESTful API.

Часть 1. Теория


Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

Почему хороший API — это важно?

  • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
  • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
  • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
  • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
  • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.


Теперь посмотрим, какие бывают виды API.

Виды API по способу реализации:
  • Web service APIs
    • XML-RPC and JSON-RPC
    • SOAP
    • REST

  • WebSockets APIs
  • Library-based APIs
    • Java Script

  • Class-based APIs
    • C# API
    • Java



Виды API по категориям применения:

  • OS function and routines
    • Access to file system
    • Access to user interface

  • Object remoting APIs
    • CORBA
    • .Net remoting

  • Hardware APIs
    • Video acceleration (OpenCL…)
    • Hard disk drives
    • PCI bus



Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии37

Книга «Head First. Программирование для Android»

Время на прочтение5 мин
Количество просмотров56K
Привет, Хаброжители! Мы пополнили серию «Head First O'Reilly» новой книгой:

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

Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии16

Новые подкасты о профессиональной разработке под Android

Время на прочтение3 мин
Количество просмотров23K
Привет, Хабрахабр! Мы долго думали, чем порадовать крупнейшее Dev-комьюнити рунета, и решили, что русскоязычные подкасты про Android-разработку от лучших разработчиков в индустрии — самое то. Собрать спикеров, подготовить темы и найти площадку для размещения было непросто, но мы справились. Встречайте!


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии11

Пишем простой RESTful сервис на kotlin и spring boot

Время на прочтение13 мин
Количество просмотров32K
image

Введение


В преддверии выхода языка Kotlin из beta, хочется поделиться своим впечатлением от его использования.

Kotlin — это новый прекрасный язык от JetBrains (разработчиков IntelliJ Idea) для JVM, Android и браузера, который на первый взгляд выглядит как улучшенная java (или как упрощенная scala). Но это только на первый взгляд, язык не только впитал в себя многие интересные решения от других языков, но и представляет свои оригинальные:

— optional от swift, nullsafe в kotlin
— case классы из scala, data class в kotlin
— замена implicit методам из scala, extension функций
делегаты
null safely
smart cast
— и многое другое, подробнее можно посмотреть на официальном сайте kotlinlang.

Для тех кто знаком с java или scala, будет интересно сравнение kotlin & java, kotlin & scala.

Авторы языка стремятся добиться двух задач:
— сделать скорость компиляции сравнимой с java
— язык должен быть достаточно выразительным, и при этом быть простым насколько возможно
Поэтому, стоит оговориться, что если вы на текущей момент счастливы со scala, с ее «сложностью» и временем компиляции, тогда вам скорее всего не нужен будет kotlin, для всех остальных читать дальше:
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии31

ТОП 5 игр в виртуальной реальности

Время на прочтение8 мин
Количество просмотров161K
Со-основатель первого в России развлекательно-игрового клуба виртуальной реальности Virtuality Club Максим Чижов специально для GT подготовил материал о том, какие VR-игры предпочитают посетители клуба, их отзывы, предпочтения и ожидания от будущего в индустрии виртуальной реальности.

Привет GT! За год было сказано много слов о виртуальной реальности, её будущем, прогнозах рынка, росте заинтересованности среди крупных корпораций, а также среди геймеров и разработчиков. В этой статье хочется рассказать об опыте работы непосредственно на ВР-рынке России в качестве развлекательно-игрового клуба виртуальной реальности. Если первое о чем вы подумали, увидев слово “клуб”, были воспоминания из 90-ых, когда почти все, кто мог, ходили в компьютерные клубы, дабы провести мимолётно пролетающие часы за игрой с товарищами по сети в видеоигры, то для ностальгии предлагаем посмотреть несколько видео [1][2] рассказывающих о том, что происходит в современном “клубе”, где ламповые мониторы заменились шлемами виртуальной реальности, а вместо Counter-Strike, Diablo, Starcraft и Warcraft геймеры катаются на современных автосимуляторах и используют передовые контроллеры, которые полностью погружают человека в виртуальное пространство.

Почти за год работы “Virtuality Club”, мы и наши посетители протестировали большое количество контроллеров виртуальной реальности, таких как Razer Hydra, автомат X-Rover Gun, жилет с тактильной отдачей KOR-FX, Leap Motion и нашу собственную разработку — Автосимулятор виртуальной реальности, полностью погружающий игрока в VR. Хоть контроллеры, как и сами шлемы являются одной из самых интересных тем в ВР, о них мы расскажем в следующей статье, а в этой мы решили собрать аналитическую информацию о том, какие игры в Oculus Rift DK2 предпочитают посетители клуба, их отзывы, предпочтения и ожидания от будущего в индустрии виртуальной реальности.

image
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии14

Scalding: повод перейти с Java на Scala

Время на прочтение8 мин
Количество просмотров22K


В этой статье я расскажу о Twitter Scalding – фреймворке для описания процесса обработки данных в Apache Hadoop. Я начну издалека, с истории фреймворков поверх Hadoop. Потом дам обзор возможностей Scalding. В завершение покажу примеры кода, доступные для понимания тем, кто знает Java, но почти не знаком со Scala.

Интересно? Поехали!
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии5

Информация

В рейтинге
Не участвует
Откуда
Обнинск, Калужская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer
Lead
Java
SQL