Обновить
26

Пользователь

17
Подписчики
Отправить сообщение

Мем айсберг SQL: погружение в глубины баз данных

Уровень сложностиСредний
Время на прочтение53 мин
Охват и читатели46K

Мем айсберг SQL: погружение в глубины изучения баз данных

Мем айсберг SQL — это вирусное интернет-изображение, изображающее айсберг с несколькими слоями. Вершина айсберга содержит общеизвестные концепции и инструменты SQL, такие как операторы SELECT и JOIN. Однако по мере погружения под воду становятся видны более абсурдные и малоизвестные аспекты SQL.

Читать далее

Электронные чернила и Raspberry Pi

Время на прочтение10 мин
Охват и читатели11K

Довольно часто возникает необходимость визуально представлять результаты работы устройства в том или ином человеко-понятном виде (текст, картинка, видео). Если это устройство не является абсолютно автономным, то задача решается проще, мы не сильно зависим от источника питания. На просторах Хабра есть ряд публикаций, посвященных различным метеостанциям и другим устройствам с экранами, подключенных к постоянному питанию.

А вот если нам нужно собрать полностью мобильное устройство, работающее от аккумуляторов, то здесь проблема потребления питания может стать достаточно острой. Так, при сборке собственного планшета на базе Raspberry Pi 3 мне пришлось выделить под тачскрин отдельный аккумулятор, так как при использовании общего источника (Li-Po, 6000 мАмпер-часов) питания устройство могло проработать более часа, но при запуске какого-либо ресурсоемкого приложения резко возрастал ток потребления и устройство тупо отрубалось, так как аккумулятор просто не мог выдать такой ток.

Читать далее

Знакомьтесь, линейные модели

Время на прочтение10 мин
Охват и читатели52K
Машинное обучение шагает по планете. Искусственный интеллект, поскрипывая нейронными сетями, постепенно опережает людей в тех задачах, до которых успел дотянуться своими нейронами. Однако не стоит забывать и про простую модель линейной регрессии. Во-первых, потому что на ней построены многие сложные методы машинного обучения, включая нейронные сети. А, во-вторых, потому что зачастую прикладные бизнес-задачи легко, быстро и качественно решаются именно линейными моделями.
И для начала небольшой тест. Можно ли с помощью линейной модели описать:
— зависимость веса человека от его роста?
— длительность ожидания в очереди в магазине в разное время суток?
— посещаемость сайта в фазе экспоненциального роста?
— динамику во времени количества человек, ожидающих поезда на станции метро?
— вероятность, что клиент не оформит заказ на сайте в зависимости от его производительности?
Как вы догадываетесь, на все вопросы ответ будет «Да, можно». Так что линейные модели не так просты, как может показаться на первый взгляд. Поэтому давайте познакомимся с их богатым разнообразием.
Читать дальше →

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели44K

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

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее

HUD спидометр — от идеи до результата

Время на прочтение5 мин
Охват и читатели24K
Всем привет!
Давно ничего не писал, теперь это больше новостной ресурс, а не практический. Попробую подправить ситуацию. Расскажу про разработку HUD-спидометра. Хоть и не лазерная проекция, зато доступно и компактно.
Введение
Началось с того, что мне в руки попали большие 3.3" семисегментные индикаторы. Заказывали их для часов, которые так и не родились. Надо было 4 шт, в лоте 5, китаец положил шесть. Оценив размер, яркость и отражение от лобового стекла я решил — вот оно. Благодаря размеру не видно раздвоения изображения, а якрость позволяет использовать даже при прямом солнце. Сразу соглашусь, что у китайцев есть красивые готовые штуки, которые стоят совсем недорого (все цены на момент написания статьи) — от 1800р. Недостатков всего пара (закроем глаза на неспортивность такого решения):
1. Надо клеить плёнку на стекло — она хоть и прозрачная, но всё ж перекрывает обзор, а я не люблю, когда на стекле что-то мешает. Чуть откинулся, сдвинул кресло — и плёнку надо переклеивать. Ну и даже с плёнкой почти ничего не видно в солнечный день.
2. Можно плёнку не клеить, тогда циферки (они довольно мелкие) двоятся, а в солнце не видно вообще ничего.
Для затравки, результат без плёнки в любом месте стекла и даже днём:


Под катом обещаю много картинок, посредственное видео, код и текст — всё в лучших традициях.

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1.1M

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024

Ловушки volatile, DCL и синхронизации в Java

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели11K

А что если окажется, что простые знания на самом деле более нюансированные, а старые знакомые, такие как Double-checked locking, являются неоднозначными? Именно на такие мысли наталкивает изучение кода реальных проектов. Результаты этого исследования мы и рассмотрим в этой статье.

Читать далее

Почему я отказался от GraphQL

Время на прочтение10 мин
Охват и читатели32K

GraphQL — невероятная технология, привлёкшая много внимания с тех пор, когда я начал в 2018 году использовать её в продакшене. Вам не придётся долго листать мой блог, чтобы увидеть, как я раньше продвигал её. После создания множества React SPA поверх путаницы нетипизированных JSON REST API технология GraphQL показалась мне глотком свежего воздуха. Я искренне поддерживал хайп вокруг GraphQL.

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

В статье для примеров я буду использовать код на Ruby с превосходной библиотекой graphql-ruby, но я уверен, что многие из перечисленных проблем не зависят от выбора языка/библиотеки GraphQL.

Если вы знаете более качественные решения или способы, напишите мне комментарий.

Читать далее

uConsole — гиковский КПК, который надо собирать самому

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели31K

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

Вскрываем!

Знания как код: архитектурный репозиторий в git на базе PlantUML

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели20K

Привет, Хабр! Меня зовут Максим Приходский, я архитектор R-Style Softlab и сегодня хочу рассказать вам о проекте создания архитектурного репозитория в git на базе PlantUML.

Читать далее

Мегагайд: культура работы с Git

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели59K

Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».

За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.

Поговорим как раз об этом — о том, что формирует культуру работы с Git: начнём с конвенций именования коммитов и закончим практиками работы в пуллреквесте. В конце статьи я поделюсь полезными ссылками на интерактивные обучалки, шпаргалки и гайды.

Читать далее

Как и почему мы построили Единую историю операций на Citus DB

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.4K

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

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

Читать далее

Кто реально угрожает C++ (нет, Rust, не ты)

Время на прочтение14 мин
Охват и читатели88K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее

PGConf.Russia #10 (2024)

Время на прочтение13 мин
Охват и читатели3.2K

Юбилейная - 10-я - конференция PGConf.Russia опередила юбилей компании (Postgres Professional исполнилось 9 лет). А самая первая - PGConf.Russia 2015 - даже опередила саму компанию: конференция прошла в феврале, а официальный день рождения Postgres Professional 1 апреля 2015.

Читать далее

Как ELK довел нас… до Vector.dev и Clickhouse

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели20K

Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье расскажу я вам о том как мы развивались и с нами развивалась наша система логирования. Почему вам нужен Vector.dev + Clickhouse для хранения и когда это выгодно.

Когда компания была маленькой нам хватало и блокнота, чего сейчас уже не скажешь.
У нас 931 000 пайплайнов в месяц, 4 кластера Kubernetes: от 170 до 190 нод в каждом, и 200 ГБ логов ежедневно.

cat elk-vector.md | more // Прочитать...

Bash-completion: как сделать удобно в CLI

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.3K

Так получилось что в рамках моей основной деятельности пришла пора сделать сервис для манипуляции с ресурсами СХД для виртуальных машин (ВМ). Они подаются в SAN в виде "LUN" ("Logical Unit Number"). Пока речь шла о десятках .. первых сотнях LUN, хватало моего старого решения (оно изначально про телефонию и блок-схемы, но на самом деле всё равно подо что делать очередной модуль). А потом он рос, рос, и…

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели34K

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

Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели22K

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

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

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

Читать далее

Mojo: убийца Python и будущее AI

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели43K

Всем привет! Меня зовут Вадим, я Data Scientist в компании RAFT. Сейчас технологии AI применяются и развиваются во многих сферах деятельности человека, в особенности LLM, про которые уже слышал каждый. В большинстве случаев подобные технологии реализуют на Python, используя различные библиотеки, такие как pytorch, tensorflow, jax. Все они имеют свои преимущества и недостатки. Например, всем известная скорость вычислений.

Читать далее

Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила

Время на прочтение8 мин
Охват и читатели37K

Четыре года назад ИТ-эксперт Чип Хуэн* проанализировала экосистему ML с открытым исходным кодом. С тех пор многое изменилось, и она вернулась к изучению темы, на этот раз сосредоточившись исключительно на стеке вокруг базовых моделей.

О результатах исследования читайте под катом.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность