Evil Martians
3.92K subscribers
467 photos
3 videos
1.25K links
Мы — Злые Марсиане
evilmartians.com
Стартапы, дизайн и разработка продуктов
#devtools #opensource #rubyonrails #golang #javascript #react
Download Telegram
Впервые запускаем на Product Hunt один из наших open core продуктов, imgproxy — для быстрого и безопасного процессинга картинок. Ваша поддержка будет бесценной!

В описании его автор Сергей Александрович рассказывает, как придумал проект, как велась разработка, и про главные и отличительные фичи.

http://amp.gs/j1ffA
К организациям на GitHub теперь можно добавить описание, создав репозиторий `.github` с файлом `profile/README.md`.

Такая возможность давно есть для профилей, но теперь ее расширили и на на организации.

Пару примеров:

https://github.com/logux/
https://github.com/nanostores/
Теперь VSCode можно использовать прямо в браузере. Облегченная версия IDE живет тут: https://vscode.dev/.

Для работы с файлами используется Native File System API, терминалы и некоторые расширения будут недоступны.

Подробности в блоге VSCode: http://amp.gs/j1hRq
Fullstaq Labs добавили сборку пакетов Ruby Fullstaq Edition для вышедшего в августе нового Debian 11 «bullseye», ну а мы уже подготовили Docker-образы на основе «Булзая»:
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.2-jemalloc-bullseye-slim

Милости просим обновляться: github.com/evilmartians/fullstaq-ruby-docker

Также читайте в нашем блоге об опыте эксплуатации Ruby в редакции от Fullstaq — у них Ruby компилируется с jemalloc 3 в качестве аллокатора памяти, который хорошо справляется с распуханием памяти в бою.
В преддверии приближающегося Хэллоуина можно поиграть в ужастик доступности интерфейсов с клавиатуры — «:focus-покус»: http://amp.gs/j1U7O

Не будьте злыми монстрами и не забывайте про навигацию с клавиатуры в ваших приложениях!
Недавно вышедшая веб-версия Adobe Photoshop –отличный пример использования возможностей современных браузеров.

Код приложения написан на C++ и при помощи emscripten скомпилирован в Wasm с поддержкой многопоточности и SIMD.

В приложении используется canvas c поддержкой цветового пространства Display P3.

http://amp.gs/j1NGl
У нас еще остались нерешенные задачки для open source-энтузиастов!

Кстати, если интересна наша бэкенд-вакансия (http://amp.gs/j1q5K), но мало опыта в коммерческой разработке и нет своих OSS, то решение этих задач станет вашим преимуществом.

Задачи: http://amp.gs/j1q5H
👍1
Встречайте новый пост в марсианском блоге о том, как Владимир Дементьев искал причину дэдлока в Go-сервисе, возникшего при стресс-тестировании боевой инсталляции AnyCable.

Как генерировать и анализировать дампы стеков го-рутин без pprof? Что скрывает RWMutex? Читайте в статье: http://amp.gs/j10YS
Новая open source альтернатива MongoDB, полностью совместимая с её драйверами: http://amp.gs/j12Zn

Забавная деталь: под капотом используется всеми любимая БД PostgreSQL!
Игра Roblox — наверное, самая известная для широкой публики среда, которую можно расширять с помощью языка Lua. Хотя сам Lua, конечно, используется в скриптинге повсеместно, особенно в играх.

Только что Roblox выпустили в open source язык Luau, основанный на Lua, вместе со всем тулчейном (компилятор, линтер).

http://amp.gs/j1wwa

Luau основан на Lua 5.1. Самое яркое нововведение — система типов (http://amp.gs/j1wwQ). Имплементацию полностью переписали для улучшения производительности (http://amp.gs/j1wwb).

GitHub: https://github.com/Roblox/luau/
Сегодня в 17:30 по московскому времени DevOps-эксперт Игорь Курочкин и наш SRE-инженер Андрей Александров проведут воркшоп про топологии платформенных команд на конференции DevOops.

Подключайтесь, будет интересно!

http://amp.gs/j1MVc
This media is not supported in your browser
VIEW IN TELEGRAM
В марсианском блоге наш бэкенд-инженер Святослав Крюков попадает в виртуальную реальность, где все (наконец-то!) «должно быть переписано на Go».

В статье он рассказывает, как писать на Go с помощью Ruby, меняя в процессе Ruby под свои нужды.

Что вас ждет:
➡️ Перенос синтаксиса Go в Ruby.
➡️ Создание небольших лексера и парсера, модификация тех, что в Ruby Next!
➡️ Переписывание AST на лету с помощью Ruby Next.
➡️ И другие крутые техники, которые позволят сделать фантазию реальностью!

👉Читайте эту невероятную историю: http://amp.gs/j1cia
Вчера вышла первая preview-версия Ruby 3.1.

Из важного:
• новый легковесный JIT-компилятор YJIT от Shopify
• гем debug в качестве дебаггера по умолчанию
• короткий формат записи хэшей, если имя переменной совпадает с именем ключа: { x:, y: } вместо { x: x, y: y }

А также традиционное улучшение производительности.

Подробности и другие изменения — в официальном анонсе: ruby-lang.org/en/news/2021/11/09/ruby-3-1-0-preview1-released
«Скрытые» возможности и трюки PostgreSQL — то, что было в нём всегда, но мало кто знал:

• как определить, что вставилось, а что обновилось в upsert, используя знания об устройстве MVCC в PostgreSQL
• как быстро добавлять проверки в таблицы, чтобы не блокировать таблицу надолго (спойлер: опция NOT VALID у внешних ключей и CHECK-констрейнтов)
• как добавлять комментарии к любым объектам в базе данных (кстати, в Ruby on Rails комментарии можно добавлять прямо в DSL миграций, начиная с версии 5.0)
• как перестать сочинять многоэтажные условия и начать легко сравнивать диапазоны с помощью оператора OVERLAPS

Это и многое другое читайте здесь: hakibenita.com/postgresql-unknown-features
Конференции снова уходят в онлайн, но в этом есть и плюс — принять участие теперь можно откуда угодно!

Например, завтра пройдёт большая (и бесплатная) конференция для веб-разработчиков ITeaConf, где марсианин Владимир Дементьев расскажет о том, как поживает Ruby:

http://amp.gs/jYYOX
В Марсианском блоге бэкенд-инженер Миша Меркушин отвечает на своевременный вопрос: как эффективно работать с временными данными в Ruby on Rails-приложениях?

Наше решение: TimescaleDB! А почему — читайте в нашей новой статье:

http://amp.gs/jYBAD
👍1
Slack запускает приватную бету Platform API (на котором работают Slack apps) и API основан на Deno!

http://amp.gs/jYCfd

http://amp.gs/jYCfO

Deno — это JS-рантайм на основе V8, написанный на Rust. Он из коробки поддерживает TypeScript и использует «безопасный по умолчанию подход», запрещающий доступ к файловой системе и сети без явного разрешения.

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

В релиз включены предложения и замечания участников программы Early Access, за что им большое человеческое спасибо!

Подробнее: http://amp.gs/jYR9U
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 На этой неделе в марсианском блоге продуктовый дизайнер Глеб Строганов и аккаунт-менеджер Антон Сеньковский рассказывают о фирменных, марсианских дизайн-спринтах.

Это персонализированный подход для совсем новых или уже работающих проектов, который включает экспертный анализ, полезные артефакты и, фактически, формирует роадмап по дизайну и даже разработке.

http://amp.gs/jYdd9
У Марсианина Андрея Ситника хорошие новости про PostCSS — вышла новая версия с несколькими существенными улучшениями:

— Добавили промежуток символов для предупреждений и ошибок.
— Убрали предупреждение «PostCSS does nothing» — теперь мы просто не парсим CSS без плагинов.
— Уменьшили размер postcss в node_modules с 1 МБ до 0,3.

Больше деталей: http://amp.gs/jYSmf