Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга

От крышки рояля до фреймворка на rust: как системное программирование помогает творческой реализации

Звук Rust *API *Учебный процесс в IT Биографии гиков

Здравствуйте, меня зовут Тимофей, и я алкоголик программирую, чтобы писать музыку. Судя по всему, недуг мой прогрессирует:

- Пять лет назад, когда я впервые услышал про LilyPond — язык программирования, на котором можно писать партитуры в текстовом редакторе — я посмеялся над гиком, что это придумал, и прошёл дальше.
- Два года назад я прочитал код партитуры из примеров — удивился, насколько логично и музыкально он выглядит, подивился задротству автора, и пошёл набирать ноты в MuseScore.
- В этом году я пишу экспортёр MIDI из Reaper в исходники LilyPond, а сегодня зарелизил rea-rs: фреймворк для написания расширений для Reaper на rust.

И, несмотря на то, что в этом альфа-релизе >16 300 строк, я всё ещё считаю, что занимаюсь «бытовым программированием». Имею в виду что-то вроде готовки: можно, конечно, сходить в ресторан, когда хочется чего-то эдакого, но в ресторан каждый день не набегаешься. А то, что погреб на даче потихоньку превращается в винодельню — так это побочный эффект. Зато всё своё, домашнее, натуральное.

В последнее время, подобные мысли я проговаривал не как здоровый сарказм, а как симптомы болезни: мол, «это не хумус, видео не передаёт запах»! Но, намедни, моя музыкальная школа подогнала мне мак с Finale и полным комплектом Adobe на борту, чтобы совместно работать над сборником рождественских песен. И… Holly crap, I was damn right! Но расскажу по порядку, как я дошёл до жизни такой.

К рассказу
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 86
Комментарии 0

Новости

Unity UI Toolkit: MVVM ннада?

Разработка игр *C# *Unity *
Tutorial

Ни для кого не секрет, что Unity сейчас активно работают над новой системой создания пользовательского интерфейса UI Toolkit. Это инструмент разработки интерфейсов вдохновлённый стандартными подходами веб-разработки.

И всё бы хорошо, но какого было моё удивление, что, проделав такую работу, они не предоставили механизма связывания данных...

Читать далее
Рейтинг 0
Просмотры 98
Комментарии 0

Чем занимается ClickHouse пока мы спим или неожиданный OOM

Open source *IT-инфраструктура *Администрирование баз данных *

В силу тех или иных обстоятельств, развиваясь по карьерной лестнице мне все чаще стало необходимо соприкасаться с таким известным инструментом в IT мире, как ClickHouse. Хоть мои должности за последние N-лет и связаны уже больше с управлением коллективами - для меня очень важно понимать суть технологических решений и проблемы, с которыми мои команды сталкиваются. Не смотря на все свое дружелюбие и конструкторную гибкость - ClickHouse временами выглядит, как весьма капризная технология. Одной из таких особенностей, с которой мне довелось столкнуться - стала борьба с внезапным OOM. В данной статье мы вместе с вами попробуем рассмотреть причины, откуда этот внезапный OOM, собственно, может браться.

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

Об этом далее и пойдет текст
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 325
Комментарии 1

Магия размерностей и магия Котлина. Часть первая: Введение в KotUniL

Программирование *Kotlin *Физика
Tutorial

Амперы нельзя складывать с вольтами. Сантиметры можно складывать с дюймами, но очень внимательно. Иначе получится как с космическим аппаратом стоимостью 125 миллионов долларов Mars Climate Orbiter, который успешно долетел до Марса, но бездарно разбился о его  поверхность. 

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

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

Первая (эта) статья собственно о библиотеке, её возможностях и нехитрых правилах использования. Другие статьи этой серии затрагивают темы, которые могут оказаться полезными и интересными всем программистам, вне зависимости от используемого ими языка, хотя “котлинцам” они могут пригодиться больше других.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 379
Комментарии 1

Поиск оптимильных маршрутов для перевозки самокатов

Python *Алгоритмы *
Из песочницы

С 1 по 7 ноября проходила квалификация Yandex Cup 2022. В секции Алгоритм: Марафон организаторы предложили интересную задачу программирования в ограничениях, обобщения известной задачи коммивояжёра, задачу поиска маршрута (vehicle routing problem). В статье расскажу о своем решении на основе Google OR-tools.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 636
Комментарии 0

Настало время раскрыть карты

Алгоритмы *Визуализация данных *
Из песочницы

Всем здравствуйте, уважаемые Хабровчане!

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

Начну с небольшого знакомства и расскажу о своем опыте работы. Без малого 13 лет я являюсь исследователем транспортных сетей в телеком индустрии. Работал в одном из крупнейших операторов связи, был экспертом, менеджером, обычным инженером. Строил и свопировал региональные транспортные сети, развернул с коллегами систему мониторинга сетей MBH от Москвы до Владикавказа, крайние два года отдал изучению графовых баз данных, которые позволили решить не решаемую проблему - автодискавери и построение топологии сетей с путями прохождения трафика сервисов мобильной сети и B2B клиентов. Если забежать немного вперед, то данная система осталась не нужна главному заказчику, и мы благополучно выкинули ее на помойку истории. К сожалению, так бывает, но сейчас не об этом.

Итак, статья будет посвящена графовой БД Neo4j, методам работы с ней, софту по визуализации данных, прикладным задачам.

Немного тезисов - что нужно понять.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.5K
Комментарии 0

Необходимые качества программиста, за которые платят

Фриланс Управление персоналом *Лайфхаки для гиков

Надеюсь для вас не секрет, что поход в кино это не только про посмотреть фильм, обед в ресторане не только про еду, а поиграть в футбол с друзьями не только про спорт. Двигаясь по выбранному сюжету, мы всегда невольно отмечаем детали, которые порой составляют до 80% впечатления.

Удобно ли расписание сеансов? Вовремя ли начался фильм? Как много было рекламы? Насколько комфортны кресла? А какое качество звука? Повезло ли с соседями – или опять чавкали и шелестели чипсами?

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

Читать далее
Всего голосов 33: ↑17 и ↓16 +1
Просмотры 4.4K
Комментарии 5

Привет из мира 1С — Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД

Алгоритмы *IT-стандарты * *
Из песочницы

В данной статье вспомним как обрабатывать результаты запроса в вычисляемых полях СКД, а так же сделаем небольшой обзор на новые функции СКД платформы 8.3.20.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 612
Комментарии 1

Взаимодействие DWH Oracle и MS SQL

Oracle *Microsoft SQL Server *Хранилища данных *Data Engineering *
Из песочницы

В ряде статей планирую рассказать о подготовке данных, основных этапах разработки и дальнейшего использования данных в Microsoft Analysis Services (SSAS), о процессе построения аналитического хранилища данных на Microsoft SQL Server (MS SQL), о взаимодействии с базами данным Oracle и другими источниками нашего банка Совкомбанк, а также рассказать о возможностях MS SQL которые мы используем.  

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

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

Дополнительно поставлю вопросы как цели: как мы упрощаем жизнь для бизнес – аналитиков, как вовремя и качественно сдаем отчетность в ЦБ, как с легкостью обрабатываем терабайты данных для предоставления их пользователям?

Читать далее
Рейтинг 0
Просмотры 272
Комментарии 2

«Персеверанс» записал звук «пылевого демона» Марса

Научно-популярное Звук Астрономия

Наполненные пылью марсианские вихри, они же «пылевые демоны», были записаны на микрофоны прибора SuperCam марсохода «Персеверанс». Одновременно с этим навигационная камера Navcam записывала передвижение вихря, проходящего через марсоход. Объединив полученные данные с данными датчиков Mars Environmental Dynamics Analyzer и моделированием исследователи выяснили, что вихрь был диаметром около 25 метров и высотой примерно 118 метров. Он двигался со средней скоростью примерно 5,3 м/с или 11 м/с в пике.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 1.1K
Комментарии 0

К вопросу о внедрении процессов разработки в международные распределённые команды

Блог компании OTUS Управление разработкой *Data Engineering *

На текущем проекте я столкнулся с необходимостью внедрения единого процесса разработки и деплоймента для нескольких команд дата-инженеров. “Несколько команд” - это 5 команд дата-инженеров из разных стран (Америка, Индия, СНГ) плюс команда, которая отвечает за DataOps, назовём их админами. Разные часовые пояса, немного разная культура работы, немного разный уровень дисциплины и менеджмента. Мысль о том, что нужно менять процессы работы сразу в 5 командах для 40+ человек, приводила в небольшой трепет. Как разрабатывать и внедрять SDLC (software development lifecycle) для команд разработчиков я знал, но тут и люди другие, и специфика проекта другая. В общем, я ждал сложностей. И они были.

Что там за сложности? Как их преодолели?
Всего голосов 2: ↑1 и ↓1 0
Просмотры 327
Комментарии 0

Голоса из-под вагона: кейс инвентаризации на хакатоне

Блог компании Первая грузовая компания (ПГК) Хакатоны Управление продуктом *Читальный зал Транспорт

Привет!

Меня зовут Калмыкова Надежда, я - Data Scientist в ПГК Диджитал. В блоге ПГК мои коллеги уже не раз делились тем, как мы разрабатываем цифровые продукты, аналогов которым нет в сфере железнодорожной логистики. Я работаю в отделе прототипирования и помогаю исследовать возможности реализации различных идей, прежде чем они станут полноценными продуктами или проектами и потребуют больших ресурсов. Сегодня хочу рассказать о не самой очевидной для промышленности задаче - поиске голосового решения для проведения инвентаризации.

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

Мы реализовали нашу первую версию и используем эту задачу для одного из треков грядущего хакатона ПГК Диджитал – HackWagon22. Поэтому лучшие практики его участников станут приятным дополнением к нашим идеям для решения задачи во второй части статьи.

Актуальность задачи

Любая компания, даже небольшая, регулярно сталкивается с задачей инвентаризации - как минимум, мебели и техники в офисе. А промышленные компании проводят еще инвентаризацию дорогостоящего оборудования и деталей. И если инвентаризация офисной техники проходит в теплом помещении (хотя и не всегда с комфортом - номера могут быть наклеены в неочевидных местах), то инвентаризация в «полях» может стать настоящим испытанием - дождь, снег, сбивающий с ног ветер, опасность нападения медведя. И ПГК здесь не исключение - как крупнейший оператор грузового парка, в управлении которого - около 100 тысяч вагонов, компания хранит вагонные детали на большом количестве складов в разных уголках страны, чтобы быть готовой своевременно обслуживать парк. Для точного понимания, что, сколько и где у нас есть, мы регулярно проводим инвентаризацию.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 415
Комментарии 0

Как применять Module Federation для шеринга виджетов из UI-kit

Блог компании ДОМ.РФ JavaScript *

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

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

В ДОМ.РФ мы создаем продукты для рынка недвижимости, в частности предназначенные для электронного взаимодействия между застройщиками, банками и государственными органами. Задачи и цели систем отличаются друг от друга, но их объединяет общий дизайн. Безусловно, создание библиотеки UI-компонентов с нуля в каждом новом сервисе является крайне сомнительной идеей по следующим причинам: 

Читать далее
Рейтинг 0
Просмотры 383
Комментарии 0

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

Разработка под iOS *Разработка под Android *Прототипирование *Здоровье

Основная идея статьи - попробовать модифицировать популярное и полезное, но трудное физкультурное упражнение для выполнения обычным человеком серьёзного тренирующего объема с минимум негативных ощущений. А также как извлечь пользу для здоровья из просмотра футбольных матчей. Инструкция. Ссылки на бесплатное программное обеспечение.

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 3.2K
Комментарии 11

Истории

Оплачиваем покупку через СБП без мобильных приложений

Платежные системы *Лайфхаки для гиков
Из песочницы

Понадобилось мне как-то оплатить один товар в интернет магазине. Среди способов оплаты были Webmoney, qiwi wallet, СБП, а также ворох каких-то малопонятных мне криптовалют. Оплату банковской картой по каким-то причинам продавец не предлагал.

Недолго думая я выбрал СБП, ожидая, что оплата будет в итоге по реквизитам карты, либо через какую-то интеграцию с online банком. Однако вопреки моим ожиданиям была сгенерирована страничка с QR кодом и предложением сфотографировать его телефоном из банковского приложения.

Телефоны у меня хоть и с камерой, но исключительно на j2me, и с банковскими приложениями не совместимы, что поначалу поставило меня в тупик.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 3.4K
Комментарии 22

7 советов как сделать Redis безопаснее

Блог компании Газинформсервис Информационная безопасность *

Одна из тысячи похожих историй.

После известных событий компании моего знакомого пришлось оперативно перейти с удобного зарубежного хостинга на площадку попроще. Площадка была настолько проще, что речь уже не шла о штатном мониторинге, логировании или даже привычных группах безопасности для фильтрации трафика. Это был один из тех переездов, которые не успели спланировать. И вот эти самые группы безопасности и подвели. На новом хостинге не было никакого межсетевого экрана на уровне VPS, и Redis оказался доступен для злоумышленников. Они этим естественно воспользовались. Веб-сервис взломали. Сервис был необходим для разработки и поддержки продукта, который через различные сторонние API агрегировал определенную информацию, а затем выдавал её клиентам по запросу. В какой-то момент данных стало много, и было решено с помощью Redis кэшировать часть запросов. Redis стоял на том же сервере, где запускался веб-сервер и никому в голову не приходило как-то особенно заниматься его безопасностью. Но, как водится, порвалось, там, где тонко.

---

Может показаться что, Redis, используемый для хранения кэша и временных ключей, – это не слишком интересная добыча. Но на самом деле, хакеры провернули следующий трюк:

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.1K
Комментарии 5

Локализуем игру в слова с искусственным интеллектом

Блог компании Selectel Разработка веб-сайтов *Python *Разработка игр *Искусственный интеллект
Даже на русском языке игра не самая простая

Все началось с коллеги, который закинул в локальный чат сообщение, что он сыграл в игру #59 и угадал слово с 33 попыток и одной подсказки. Игра оказалась простая и сложная одновременно: сайт загадал слово и нужно его отгадать. В поле ввода отправляешь слово, а искусственный интеллект на сайте определяет, насколько отправленное слово близко по смыслу к загаданному.

Интересная игра, тренирующая ассоциативное мышление и умение строить связи. Новое слово появляется каждый день, что в некотором смысле выглядит ограничителем. Также игра доступна только на португальском и английском языках. С одной стороны, это дополнительная практика, а с другой — сомнения «а знаю ли я это слово?» смазывают впечатления от игры.

Так я задумался о локализации игры на русский язык. Свою игру «Русо контексто» я разместил на объектном хранилище, которое более устойчиво примет читателей Хабра.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 1.3K
Комментарии 18

Что ждёт дата-инжиниринг в 2023 году? Семь прогнозов

Блог компании RUVDS.com Хранение данных *Машинное обучение *Data Engineering *
Перевод
Количество поисковых запросов по профессиям

Что таит в себе будущее дата-инжиниринга? В этой статье я поделюсь своими прогнозами на 2023 и последующие годы.

Статьи с прогнозами на следующий год — это банально, но у них есть своя цель. Они помогают нам подняться над повседневной рутиной и подумать над тем, что принесёт выгоду в долгосрочной перспективе.

Кроме того, они обычно бывают упражнениями в смирении: мы пытаемся нарисовать целостную «общую картину» отрасли, стремительно эволюционирующей во множестве направлений. Попробуйте-ка найти отрасль, в которой людям сильнее нужно поддерживать актуальность своих знаний!

Эти возможные направления развития становятся ещё более важными, когда занимающиеся данными организации начинают оценивать и переоценивать свои приоритеты в свете экономической рецессии и когда от инвестиций в дата-инжиниринг зависит способность компании оставаться гибкой, инновационной и конкурентоспособной.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 1.1K
Комментарии 0

Определение комбинации в Техасском Холдеме

Разработка игр *C# *Математика *Unity *

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. А в прошлом я был профессиональным игроком в покер. Сейчас я решил сделать на Unity пример проекта с покером, который выложу в опенсорс, когда я его доделаю. А пока хочется посмотреть на интересную задачку с определением сильнейшей комбинации в техасском холдеме. Разберём хеш-функции, битовые операции, поиск подмножеств определённой длинны из множества, биномиальный коэффициент и другое. Если вам интересна эта тема, то добро пожаловать под кат!

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1.5K
Комментарии 2