Бэкенд-инженер, делающий вид, что вписывается в сообщество JS.

tl;dr: JavaScript становится довольно крутым, если вы принимаете и принимаете его особенности. Сообщество вокруг него еще лучше. Есть чертовски умные люди, работающие над действительно крутым дерьмом.

Введение

Прежде всего, позвольте мне начать с того, что это была моя первая конференция, а также то, что на самом деле я не фронтенд-разработчик JavaScript. Изо дня в день я трачу свое время на создание серверных микросервисов в GO для Betable, платформы для онлайн-гемблинга. Я балуюсь JavaScript только тогда, когда мне нужно поработать над нашим внешним API, написанным на Node.js. Излишне говорить, что я был немного напуган, отправляясь на конференцию, полностью посвященную JavaScript, где каждый человек был, вероятно, намного лучшим разработчиком JavaScript, чем я сейчас.

К счастью, все прошло намного лучше, чем я ожидал. Я многому научился из замечательных выступлений, которые видел (подробнее об этом чуть позже), и познакомился с действительно крутыми людьми: организаторами (@theophani, @hblank, @janl), спикерами (@razvancaliman , @whitneyhacks) и участников (слишком много, чтобы назвать, извините!). Мне также очень понравилось исследовать Берлин — один из моих любимых городов в моей родной стране — с моим другом из бакалавриата и коллегой-инженером @tdeekens.

Расписание

Я прилетел во Франкфурт на несколько дней раньше, чтобы навестить свою семью, а затем взорвал автобан в четверг днем, чтобы хорошенько выспаться, прежде чем отправиться в Radialsystem V в 9 утра, чтобы позавтракать и пообщаться. Открытие кураторов поразило всех (по крайней мере, так казалось) и вызвало бурные аплодисменты. Это было милое световое шоу и веселое музыкальное мэшап-исполнение сэмплов из предыдущих выступлений на JSConf от @thedeftone, @kahliltweets и @bonotes. Проверьте это здесь: https://youtu.be/lJ1kY-CSpBk

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

В общих чертах все они были сосредоточены вокруг:

  1. сообщество и люди, которые пишут код
  2. производительность и как правильно писать код
  3. крутое дерьмо и как продвигать передний край

Перерывы были наполнены кофе The Barn, возможно, одним из лучших кофеен в Берлине; ClubMate, напиток с кофеином, по-видимому, очень популярный в Германии, о котором я никогда раньше не слышал, и фантастическая еда от кейтеринговой компании, название которой я не узнал, но это было намного лучше, чем я ожидал от такого большого мероприятия. .

Пятница завершилась вечеринкой, открытой для всех участников JS-конференции в эти выходные (RejectJS, JSConf, CSSConf) и тех, кто еще не присоединился к ней. @usefulthink начал с демонстрации, в которой он использовал JavaScript и CSS, чтобы продемонстрировать световой куб, который он построил сам, а также взял под контроль системы освещения в комнате и заставил их сходить с ума. Излишне говорить, что толпа взбесилась. Всю оставшуюся часть ночи Red Bull DJ Champion 2014 впечатляюще крутил деки и играл действительно веселый сет.

Суббота была днем ​​перерыва, когда проходила CSSConf, и я нашел время, чтобы исследовать Берлин, что было приятной сменой темпа между двумя полными днями переговоров.

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

Переговоры

Остановимся немного подробнее на переговорах. Как я уже говорил ранее, все они были великолепны, но я выберу несколько из них, которые мне особенно понравились.

1 день

Домо Аригато, мистер Робото

Сэм Ричард из проекта IBM Watson продемонстрировал несколько крутых API-интерфейсов, которые IBM недавно сделала общедоступными для обработки естественного языка человека (например, речи). Он собрал живого переводчика речи в речь, похожего на babelfish (привет фанатам «Автостопом по Галактике»), а также расширение тона коммита GitHub, которое отключает кнопку «Отправить», если вы используете негативные выражения в своем коммите. Интересно, что это был не единственный доклад по обработке речи, но он мне понравился больше всего.

(Ад зависимостей просто застыл)

Я полностью пропустил это выступление, но в те выходные оно оказалось на пике популярности, так что оно заслуживает упоминания здесь. Если вы боретесь с управлением версиями зависимостей в своих приложениях JavaScript, зайдите на greenkeeper.io Стефана Беннемана.

Иллюзия времени. Когда 60 секунд — это не 1 минута.

Денис Мишунов провел нас в экскурсию по обману пользователей. Люди абсолютно НЕНАВИДЯТ пассивное время ожидания, то есть ожидание чего-то без дела. Как это поможет нам как разработчикам? Создавайте веб-сайты, которые обманывают пользователя, показывая что-то очень быстро и выполняя тяжелую обработку в фоновом режиме, пока пользователь отвлекается. Например, amazon.com полностью загружается за 7 секунд! Но нам все равно, потому что мы видим это и взаимодействуем с ним гораздо раньше.

Дзен JavaScript

Я пришел на этот доклад с мыслью: эй, может быть, кто-нибудь объяснит мне, как правильно писать на JavaScript. Ааааааааааааааааааааа сразу разочаровался когда Дмитрий Барановский сказал что тоже не знает. Тем не менее, он указал на множество забавных особенностей JavaScript и пришел к выводу, что нам всем просто нужно начать принимать и принимать то, как работает JavaScript, а не ненавидеть его. Например, .charAt() даст вам результат независимо от того, для чего он вызывается или что передается. Строки, числа, объекты, неопределенные. Что-либо. Дело принято.

Год одноранговой сети

Томас Гориссен вышел на сцену, надел черную водолазку и начал продвигать P2P в манере, похожей на бывшего главы странной фруктовой компании (Форрест Гамп, кто-нибудь?). Почему это год одноранговой сети? Потому что это действительно одна из самых крутых вещей, которые я когда-либо видел. WebRTC — это открытый веб-стандарт, обеспечивающий связь в реальном времени, а P2P по умолчанию является IP-самым коротким соединением между двумя компьютерами, что означает, что отправка аудио или видео по этому маршруту не может стать более производительной. Он продемонстрировал веб-страницу, позволяющую осуществлять видеосвязь между несколькими людьми с помощью встроенного тега сценария, состоящего из одной строки. Прошли времена Skype и Google Hangouts, если вы можете просто делать это в своих веб-приложениях! Посетите skylink.io и webtorrent.io для демонстрации и получения дополнительной информации.

День 2

Если бы Уолтер Гропиус был программистом JavaScript

Уитни Уильямс, с которой я познакомился накануне за чашкой кофе, рассказала об истории Баухауза, художественной школы, действовавшей в Германии в 1920-х и начале 1930-х годов и укреплявшей связь производства с дизайном. Ее точка зрения заключалась в том, что мы должны поощрять сотрудничество между разработчиками и дизайнерами и перестать их разделять.

Поэтапное развитие сложных систем

Кристоф Пойер из Facebook продемонстрировал впечатляющий инструмент на основе AST, который помогает им рефакторить огромные объемы кода за считанные секунды. Он называется JScodeshift и теперь является проектом с открытым исходным кодом! Инструменты Codemod дают любому возможность согласовать определенные шаблоны кодирования со всей кодовой базой без необходимости редактирования потенциально тысяч файлов вручную.

Взлом протокола AirPlay

Томас Уотсон явно нервничал, потому что накануне работал над демо до 3 часов ночи. Он начал с теоретического урока о том, как работает AirPlay, и объяснил, что это, по сути, многоадресный DNS плюс какое-то причудливое шифрование. Как обычно, Apple просто взяла существующую технологию, немного изменила ее, чтобы всех запутать, и продает ее как инновационную и удивительную. К счастью, есть такие люди, как Томас, которые приложили немало усилий для обратного проектирования этого материала, а затем предоставили нам инструменты с открытым исходным кодом для использования этой технологии. Вы даже можете использовать его для прямой трансляции аудио через торренты с помощью peervision.

Отключенная сеть

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

Применение методов трехмерного проектирования к схемам веб-приложений

Вот новая концепция: вы когда-нибудь уставали от навигации по кодовой базе и попытках удержать в голове всю структуру папок и файлов, пока кто-нибудь не придет и не отвлечет вас, и эта тщательно созданная модель в вашей голове просто не рухнет? Ола Адедоин может предложить вам решение, создав 3D-модели вашей кодовой базы. Идея звучит потрясающе и очень многообещающе, но, к сожалению, сейчас для этого практически нет доступных инструментов. Хотя есть на что посмотреть в будущем!

Остальное…

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

Вывод

JSConf.eu была моей первой конференцией, и я не мог и мечтать о лучшем опыте. К концу я остался с кучей новых идей, которые нужно было принести нашей инженерной команде, и с непреодолимым желанием стать частью этого сообщества замечательных людей. Я очень благодарен за возможность, которую предоставили мне @betable и особенно наш новый вице-президент по разработке @admc, и я надеюсь увидеть всех снова в следующем году!