Search
Write a publication
Pull to refresh
170
4

java / open source

Send message

Google: «У нас нет преимущества перед открытым кодом, и у OpenAI тоже нет»

Level of difficultyMedium
Reading time12 min
Views27K

Утекший внутренний документ Google утверждает, что открытый исходный код AI обойдет Google и OpenAI.

В Google много обсуждали OpenAI. Кто первым преодолеет следующий рубеж? Каким будет следующий шаг? Но неприятная правда заключается в том, что мы не готовы выиграть эту гонку вооружений, и OpenAI тоже. Пока мы ссорились, третья сторона тихо забирала наш обед. Я, конечно, говорю об открытом исходном коде. Проще говоря, они опережают нас. То, что мы считаем "основными открытыми проблемами", уже решено и находится в руках людей. Достаточно назвать лишь несколько примеров...

Читать далее

Zero Downtime и Spring Boot. Апдейтим базу

Level of difficultyMedium
Reading time25 min
Views6.8K

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

Сейчас же у нас есть супер-мощные инструменты для управления сервисами. Они позволяют иметь несколько разных версий сервиса одновременно. Бизнес-пользователи могут управлять тем, какую версию видит та или иная группа пользователей. Обновление и откат версии сервиса могут происходить без прерывания работы пользователей. И когда появился такой мощный и красивый молоток, все начали хотеть забивать гвозди только им. Даже те, кому это, на самом-то деле, вообще не нужно. И тут есть проблема - наличие инструмента не означает автоматической готовности сервисов для того, чтобы этот инструмент с ними можно было использовать. И если обновлять сервисы старым способом было сложно, то новым это делать еще сложнее. Давайте посмотрим, почему это так, и как вообще получить этот ваш Zero Downtime.

Читать далее

PostgreSQL 16: Часть 5 или Коммитфест 2023-03

Reading time27 min
Views8K

Вместе с окончанием мартовского коммитфеста, закончился прием изменений в 16-ю версию. Пришла пора посмотреть, что в нем было нового и интересного.


Надеюсь, что представленный материал вместе с предыдущими статьями серии (2022-07, 2022-09, 2022-11, 2023-01) поможет сформировать представление о новинках PostgreSQL 16.

Читать дальше →

PGConf.Russia 2023: это было красиво

Reading time6 min
Views4.1K

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

Читать далее

Собеседование как экзамен

Level of difficultyEasy
Reading time9 min
Views21K

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

Много лет назад я был уверен, что когда «подрасту», точно не стану повторять ошибок моих нанимателей. Но увы. Как только начал сам проводить собеседования — все повторилось.

Я угодил в ту же ловушку, что и они.

Далее

Рассуждения об опенсорсе — где он может быть полезен в контексте импортозамещения зарубежных CRM

Level of difficultyEasy
Reading time10 min
Views3K

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

Буду говорить применительно к CRM, поскольку в своей работе сконцентрирован на этом классе решений. Но все те же рассуждения можно отнести и к другим энтерпрайз-инструментам.

Читать далее

Ни одно задание не будет провалено: Spring Boot и Quartz в режиме cluster

Level of difficultyMedium
Reading time9 min
Views11K

Туториал по настройке библиотеки Quartz в режиме кластера в Spring Boot приложении с возможностью отслеживания и управления жизненным циклом задания, в том числе переносом задания в случае необходимости.

Читать далее

Миф развенчан: распределённые транзакции можно масштабировать

Reading time9 min
Views5.1K

В сборнике VLDB'17 вышла такая статья. В ней представлена NAM-DB, масштабируемая распределённая система баз данных, использующая удалённый прямой доступ к памяти (RDMA) — в основном, однонаправленный вариант RDMA — и инновационную технологию диспетчера временных меток (timestamp oracle) для поддержки транзакций с изоляцией мгновенного снимка (SI). NAM в данном случае означает архитектуру с прикреплением памяти к сети (network-attached-memory), где благодаря активному использованию RDMA вычислительные узлы получают возможность напрямую общаться с пулом узлов памяти.

Читать далее

О снижении затрат на PostgreSQL в облаке

Reading time9 min
Views2K

Если вы используете PostgreSQL в облаке, существует очень большая вероятность того, что вы тратите больше, чем нужно для того, чтобы покрыть все необходимости вашего бизнеса. Давайте же разберемся, как выжать из Postgre максимум, потратив при этом минимму.

Читать далее

Нет, термоядерная энергия не будет «безграничной»

Level of difficultyEasy
Reading time7 min
Views31K

Промт: Fusion Energy

В декабре прошлого года исследователи из Национального комплекса лазерных термоядерных реакций США (National Ignition Facility) достигли того, что многие в индустрии термоядерного синтеза называют моментом «Братьев Райт». Используя лазер, они облучили сосуд из золота импульсом энергии длиной в микросекунду и получили в итоге примерно на 50 процентов больше энергии, чем они вложили. Этот процесс называется термоядерным зажиганием (Fusion ignition), и это триумф, которого ждали с 1970-х годов. Технология термоядерного синтеза, которая всегда находилась в 30-летней перспективе, внезапно стала ближе.

Читать далее

MVI и State Machine — объединяем концепции. Визуализация и анализ диаграммы состояний в Android и KMM проектах

Reading time7 min
Views6.3K


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


В итоге мы получаем конечный автомат.


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


Мы написали и выложили в опенсорс MVI-библиотеку на Kotlin — VisualFSM, которая умеет по исходному коду строить визуализацию вашей системы, что позволит быстрее понимать сложные бизнес-процессы, упрощать поиск ошибок, добавлять новую функциональность и проводить рефакторинг.


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

Читать дальше →

Разработка BIOS на языках высокого уровня

Level of difficultyHard
Reading time11 min
Views29K
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

Хотя я и имею достаточный опыт BareMetal-разработки, тем не менее, всё это были чужие проекты со своим кодом. А мне хотелось понять, как начать свой проект с чистого листа, когда есть только чистая железка и идея. Толковых статей как подступится к этой задаче достаточно мало, при этом совершенно непонятно, с какого же края к ней подходить.

Здесь я хочу свести основные моменты разработки BIOS в одном месте и разобраться обо всех проблемах, которые я получил во время своих опытах в разработке (первая и вторая части).
Читать дальше →

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views241K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее

Можно ли сейчас продолжать развивать IT-инфраструктуру? Что изменилось после февраля 2022 года

Reading time9 min
Views15K

Короткий ответ: можно и нужно. Нужно для людей, которые продолжают пользоваться мобильными сервисами, доставкой еды и кидать заказы в корзины маркетплейсов. Эти бизнесы работают и растут, а значит, с поддержкой и развитием IT-инфраструктуры мы справляемся. Но это потребовало быстрых адаптаций.

Меня зовут Кирилл Малеванов, я технический директор Selectel. В начале 2022 года мы также столкнулись с необходимостью принимать быстрые эффективные решения. Как продолжать строительство нового дата-центра, закупать оборудование и не лишать клиентов технологических новинок? В статье расскажу, как теперь выглядит работа провайдеров IT-инфраструктуры.
Читать дальше →

Основные аспекты наблюдаемости систем

Level of difficultyMedium
Reading time9 min
Views6.9K

В современной разработке ПО наблюдаемость (observability) является важнейшей концепцией, которая относится к способности получать представление о внутренних процессах сложных систем. Она подразумевает сбор данных из разных источников, таких как журналы, метрики и трейсы, с последующим их использованием для лучшего понимания функционирования системы, выявления проблем и их устранения. И в этой статье мы подробно разберём все аспекты реализации этой концепции.
Читать дальше →

Пользовательские агрегатные и оконные функции в PostgreSQL и Oracle

Reading time17 min
Views48K

В этой статье мы посмотрим, как в двух системах создавать пользовательские агрегатные и оконные (в терминологии Oracle — аналитические) функции. Несмотря на различия в синтаксисе и в целом в подходе к расширяемости, механизм этих функций очень похож. Но и различия тоже имеются.

Надо признать, что собственные агрегатные и оконные функции встречается довольно редко. Оконные функции вообще по каким-то причинам традиционно относят к разряду «продвинутого» SQL и считают сложными для понимания и освоения. Тут бы разобраться с теми функциями, которые уже имеются в СУБД!

Зачем тогда вообще вникать в этот вопрос? Могу назвать несколько причин:

  • Хотя оконные функции объективно сложнее обычных агрегатных, но ничего запредельного в них нет; это абсолютно необходимый инструмент для SQL-разработчика. А создание собственной оконной функции, даже совсем простой, позволяет лучше разобраться с тем, как работают стандартные.
  • Оконные и агрегатные функции — прекрасный способ совместить процедурную обработку с декларативной логикой. В некоторых ситуациях получается выполнить сложные действия, оставаясь в рамках парадигмы решения задачи одним SQL-запросом.
  • Да и просто интересная тема, а уж тем более интересно сравнить две системы.

Пример, на котором будем тренироваться — подсчет среднего, аналог стандартной функции avg для типа numeric (number в Oracle). Мы напишем такую функцию и посмотрим, как она работает в агрегатном и оконном режимах и может ли она вычисляться несколькими параллельными процессами. А в заключение поглядим на пример из реальной жизни.
Читать дальше →

После GPT-4

Level of difficultyEasy
Reading time24 min
Views107K

Если одной метафорой, то произошли первые испытания термоядерной бомбы. Специалисты с благоговейным ужасом и радостью смотрят на поднимающийся над планетою гриб. Остальное человечество живёт обычной жизнью, пока не зная, современниками какого события они являются. Мне нравилось изучение цифровых технологий, сильнее интересовала только работа человеческой психики и междисциплинарное знание, которое можно объединить под условным названием «общая теория информации». Эти увлечения позволили увидеть в смене цифр смену эпох. Постараюсь объяснить суть случившегося максимально доступно.

Далее

Исправление аппаратных ошибок на серийных изделиях

Level of difficultyEasy
Reading time3 min
Views13K

Приветствую, Хабр!

В этой статье я приведу пример того, как достаточно эстетично можно исправлять ошибки, допущенные при разработке устройств. Идея у меня возникла после того, как я вносил некоторые изменения в Nintendo Switch, если вы понимаете, о чем я. В случае с консолью все относительно просто, так как наборы для доработки можно приобрести.

Читать далее

Партицирование в Greenplum 7: что нового

Reading time10 min
Views11K

Greenplum 7 — первая версия СУБД, совместимая с секционированными таблицами из PostgreSQL: World DB. 

Небольшая предыстория: до PostgreSQL 10 партицирование в PostgreSQL выполнялось в очень ограниченной форме и по сути, было просто вариантом наследования таблиц. Начиная с PostgreSQL 10, мы можем использовать декларативный синтаксис для определения парадигмы разделов. 

В рамках слияния с PostgreSQL 12 Greenplum 7 вобрал в себя весь синтаксис PostgreSQL для разбиения таблиц, сохранив при этом синтаксис Greenplum. В результате у Greenplum 7 есть шанс взять лучшее из обоих миров — что именно, обсудим в этой статье. 

Читать далее

Information

Rating
480-th
Location
Россия
Registered
Activity