Evo Dev Club
641 subscribers
5 photos
1 video
324 links
Посилання, анонси, корисні відео для розробників від dev-команди EVO

Про Evo https://jobs.dou.ua/companies/evo/
Автор @brabadu
Download Telegram
🦑 Идея zeroconfig, отказ от конфигурирования и дефолты на максималках, иногда доводит до интересных результатов. И вот вам один из них.

zeroserver - веб-фреймворк на Node.js без конфига и бойлерплейта, с роутингом по файлам (привет, PHP!) и автоматическим резолвом зависимостей, даже package.json в базовом использовании не нужен.

https://zeroserver.io/

Просто посмотрите, как это выглядит у них в примерах. Чувствуется влияние современных лямбд в гугл и амазоновских облаках

#javascript
Forwarded from addmeto
Ну наконец-то, консорциум W3C утвердил спецификацию WebAuthn в качестве стандарта для аутентификации пользователей. Это система, позволяющая отказаться от паролей в пользу использования отпечатков пальцев и вообще биометрии, твой идентификатор это браузер.

Счастье еще и в том, что сейчас этот стандарт поддерживают все браузеры, даже Safari с декабря тестирует WebAuthn. https://venturebeat.com/2019/03/04/w3c-approves-webauthn-as-the-web-standard-for-password-free-logins/
🎙 Вместе с весной приходят новые идеи. И мы решили сделать подкаст!

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

Темы первого эпизода:
- Кто, если не Postgres?
- Обсуждаем прошедший внутренний митап
- Напоминалочка про kuberton
- Результаты опроса JetBrains Python-разработчиков

https://soundcloud.com/watevocast/watevocast-1

Пока что выкладываем на SoundCloud, потом организуем красивый фид.

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

Емкое интервью о токсичности в IT: что это такое, почему это касается всех, откуда берется, и как с ней бороться.

#culture
🚦Детальный, с кучей примеров лонгрид про модели конкурентного программирования в не самых мейнстримовых языках: Clojure, Rust, Erlang, Dart.

https://sites.google.com/a/athaydes.com/renato-athaydes/posts/fearlessconcurrencyhowclojurerustponyerlanganddartletyouachievethat

#concurrency
🧨 Видео доклада с амазоновского AWS Re:Invent о NoSQL и нюансах построения модели данных под такие системы.

Главный упор на DynamoDb, но и для Cassandra или MongoDb многое применимо. Хорошо показали как делать m:m связи в рамках одной таблицы.

https://www.youtube.com/watch?v=HaEPXoXVf2k

#databases
🥤 Если вы больше про фронтенд, то Ден Абрамов продолжает описание лучших практик написания реакт-компонент.

В этом посте по косточкам разобраны вопросы:
- локальное vs глобальное состояние компонента; баги, которые появляются в результате оптимизации
- использование компонент как синглтонов
- плюс пожурил любителей использовать линтер для навязывания определенного стиля в коде

https://overreacted.io/writing-resilient-components/

#javascript
🐘 Начало серии статей о внутренностях PostgreSQL. Список тем, которые планируют покрыть:
1. Изоляция, как ее понимают стандарт и PostgreSQL (статья, на которую ссылка)
2. Слои, файлы, страницы — что творится на физическом уровне
3. Версии строк, виртуальные и вложенные транзакции
4. Снимки данных и видимость версий строк, горизонт событий
5. Внутристраничная очистка и HOT-обновления
6. Обычная очистка (vacuum)
7. Автоматическая очистка (autovacuum)
8. Переполнение счетчика транзакций и заморозка.

Ситуация из последнего пункта у нас как-то случилась на главной продакшен-базе. Было так себе.

https://habr.com/en/company/postgrespro/blog/442804/

#databases
📺 Организаторы Zlit опубликовали все видео докладов с последнего ивента "Страх и ненависть в IT".

Отдельно рекомендую посмотреть доклад Алексея Руденко про то, как нужно задавать вопросы и Натальи Ильченко про ненасильственную коммуникацию.

Уже планируется следующий Zlit про GraphQL, а в будущем - расширение в другие города. Подключайтесь, ребята делают очень интересные конференции и митапы.

#event #culture
🤾‍♂️ Большой набор Collaboratory ноутбуков от гугла с примерами довольно стандартных задач / инструментов / технологий. Можно найти что-нибудь полезное или для обучения

https://research.google.com/seedbank/

#datascience
🤘contribute it!

Хочеш зробити внесок до opensource, але не знаєш як і що зробити спочатку?

Внутри Evo разом з IT KPI організовують contribute it! Це івент для тих, хто хоче стати opensouce-контриб'ютором. Тут можна буде долучитися до одного з трьох проектів, разом із ментором підібрати задачу по скілам і зробити свій перший комміт до відкритого проекту! А можна прийти і вирішити проблему, яка давно заважала ;)

На цій зустрічі працюватимемо над aio-libs, асинхронними Python-бібліотеками: aioelasticsearch, aioredis, create-aio-app.

Реєструйся та приходь в офіс Evo 20 квітня.

https://dou.ua/calendar/26305/

#event
🎙 Второй выпуск WatEvoCast. Он совсем не первоапрельский, хотя мы иногда все-таки даже шутили.

Темы выпуска:
- Впечатления от общения с девопсером Ромой из Wix
- Что такое Sentry?
- @pika/web
- Evo Summer Python/Mobile Labs, fb

#watevocast
💥 Про такое в СМИ обычно пишут что-то вроде "твит сооснователя крупной ИТ-компании взорвал интернет!".

Рабочая группа WebAssembly представила WASI
, набор интерфейсов системного уровня. Кофаундер Docker Соломон Хайкс написал твит:

If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task!

WASI в двух словах от лучших специалистов Evo:

- WASI предоставляет libc, соответственно можно скомпилировать свою программу под WASI libc и она будет работать на этом новом рантайме в любом клауде/OS. Этой фичёй WASI является альтернативой Докеру, но надо всё перекомпилировать, что в принципе не сложно, Alpine Linux тоже этого требует и норм, всё работает. Также WASI имеет свою альтернативу POSIX, и можно будет писать более нативный для WASI код используя новое API, тут у WASI очень интересные перспективы. Рантаймов будет много, можно будет запускать свой код реально везде, секьюрно.

- Это правильный JVM на котором можно без костылей и накладных расходов завести любой язык программирования, а не только адаптированный под JVM. Другими словами -- способ запуска кросс-платформенных приложений с нативной скоростью (т.е. один бинарь и для макоси и для линукса). Думаю лет через 5 это будет дефолтный способ для лямбд. Для нелямбд -- способы деплоя будут делиться на WASI и "старый способ". Примерно как сейчас делится на docker и старый способ (только докер попадёт в один из старых видов).

#javascript
​​20го июля 2019г состоится 2й BeerJS Summit в Минске, на этот раз в культурном центре Корпус.

🎫 Как попасть?
Купить билет как участник или подать заявку как спикер.

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

🔥 Что планируется на месте?
Уникальная атмосфера тусовки BeerJS, на которую работает уютная локация и интересные участники.
Можно будет выпить кофе и нырнуть в гущу событий или же спокойно наблюдать за развернувшимся действом, потягивая пиво или сидр. Но конечно круче всего выступить на сцене и сорвать аплодисменты. Выбор за тобой.
Про афтепати мы тоже не забыли.

💰 Как нас можно поддержать?
Купить support-билет или buddy-билет с одной из наших футболок, принты для которых мы покажем чуть позже.
Если твоя компания хочет выступить спонсором, пиши на почту beerjssummit@gmail.com, у нас есть что предложить.

🌚 Есть ещё инфа?
Присоединяйся к чату, читай наш твиттер и следи за ивентом в fb. Или можно освежить память и посмотреть как прошел прошлогодний саммит.


До встречи в Минске 🍻!
👫 Отже, ми почали збір заявок на Evo Labs за напрямками Python та Mobile. Підготовка до гарячого літа йде повним ходом!

А тим часом в чатах розгортаються справжні пристрасті.

У пітонівському @python_lab_19 дискутуємо про непотрібність GUI у програмах 😈

А в мобільному @mobile_lab_19 13-річний Ярослав демонструє враженій публіці свої доробки у iOS-розробці 😸

Світські бесіди як вони є. Приходьте і розкажіть, що думаєте!

#evolabs
🤼‍♂️ В продолжение дискуссии о ReactNative из нашего чата @mobile_lab_19, достаточно детальное сравнение разных платформ для разработки мобильных приложений.

Плюсы, минусы, сложности выбора, успехи и провалы разных подходов. Все как мы любим.

https://www.bigeng.io/native-react-native-bigcommerce/

#ios #android
🧩 В Торонто вчера закончился полусекретный ивент BlinkOn 10, посвященная самому массовому браузерному движку на данный момент Blink (Google Chrome, Microsoft Edge, Yandex Browser, Opera и почти все остальные).

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

Тем миллион, вот список презентаций со ссылками на слайды. Что интересно, часть слотов заявлена как brainstorming или decision making.

Трансляция первого дня https://www.youtube.com/watch?v=s56cYOXiUb8
Второго https://www.youtube.com/watch?v=XZ08w8wIo3I

#web
6️⃣ В блоге Pivotal интересная статья про признаки того, что код можно унести в микросервис:
1. Разная частота обновления кода (релизов)
2. Разные жизненные циклы проекта (путь от коммита в продакшн)
3. Независимая масштабируемость
4. Изолированная обработка ошибок
5. Упрощение взаимодействия с внешними зависимостями
6. Необходимость выбрать другой инструмент (язык, фреймворк)

https://content.pivotal.io/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind

#microservices
🥋 Суровый текст о развитии CRDT типов данных в Riak. История о том, как абстрактный computer science приходится натягивать на реальность, чтобы "вот это все" работало как-нибудь побыстрее и поэффективнее

http://christophermeiklejohn.com/erlang/lasp/2019/03/08/monotonicity.html

#computerscience
🎪 Детальный разбор обновленного препарсера JavaScript в V8.

Современные бандлеры (webpack, parcel) часто собирают огромные файлы с джаваскриптом, значительная часть кода из которого выполняется только на какой-то специфичной странице или просто относительно редко. В таких случаях каждый раз проводить полный парсинг, построение AST и компиляцию всего джаваскрипта, что попадает на страницу - большая и бесполезная трата ресурсов.

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

Блог про детали и сложности реализации (а их немало), бенчмарки и микрооптимизации.

https://v8.dev/blog/preparser

#web