Pull to refresh
4
0
Сергей @sketcompani

User

Send message

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

Reading time9 min
Views14K

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее

Как DevOps-инженер переехал с Кипра в Испанию. Где лучше: в Лимассоле или в Барселоне?

Reading time9 min
Views17K

Всем привет! Меня зовут Илья, и я девопс. В 2020-м году я с женой и котом, после трех лет жизни на Кипре, решил перебраться в Испанию, а именно в Барселону. В этой статье я расскажу о своих впечатлениях от релокации, пока они свежи в памяти. В Барселоне мы уже почти год  и, сразу оговорюсь, о переезде мы не пожалели, хотя у нашего «кипрского периода» тоже были свои плюсы. Надеюсь, моя история окажется полезной для тех ИТ-инженеров, кто выбирает между Барселоной и Лимассолом, или задумывается о поиске возможностей в Европе. 

Читать далее

Все или ничего: обзор клавиатуры IBM UltraNav SK-8845

Reading time6 min
Views14K

Привет, Хабр. Сегодня расскажу вам о потрясающей штуке, а именно о клавиатуре IBM семейства UltraNav, изначально предназначенной для работы с серверами семейства IBM System X. Ее уникальность в том, что она позволяет решать сразу множество задач, особенно в условиях ЦОД. Но не стану забегать вперед и расскажу все по порядку.

Эталоном удобного ноутбука для меня всегда была и будет линейка ThinkPad в классическом толстом корпусе из магниевого сплава и с очень высокой ремонтопригодностью. Так уж вышло, что мое знакомство с этими ноутбуками началось с достаточно поздней модели — R61i. Меня приятно удивила и эргономика ноутбука, и его надежность. С помощью него была настроена не одна сотня выделенных серверов в дата-центрах Selectel.
Читать дальше →

Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций

Reading time12 min
Views23K

Продолжение публикации: "Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel".

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

Пост длинный, но много картинок

JPEG, который можно посмотреть в блокноте

Reading time3 min
Views39K

Если открыть произвольный JPEG-файл в блокноте, то можно увидеть лишь хаотичный набор символов. Отсюда вопрос: возможно ли закодировать изображение так, чтобы его было можно просмотреть не только обычным способом, но и в обычном блокноте, в виде ASCII-графики.

Читать далее

Базовую станцию GSM спрятали в офисном принтере

Reading time5 min
Views43K

Базовая станция GSM

Спецслужбы и разведка в разных странах мира используют фальшивые базовые станции (IMSI-ловушки, у американцев называются StingRay), которые работают в пассивном или активном режиме. В пассивном режиме фальшивая станция просто анализирует сигнал с окружающих базовых станций. Гораздо интереснее, когда устройство переводят в активный режим. В этом случае IMSI-ловушка заставляет подключиться к себе окружающие клиентские устройства сотовой связи, отключая их от базовой станции оператора (МТС, «Вымпелком» и т.д.). Задача осуществляется с помощью трансляции более мощного сигнала, чем окружающие станции (более подробно о работе фальшивых базовых станций см. в статье "The Brave New World of Cell-Site Simulators" (Albany Law School: 11–12. doi: 10.2139/ssrn.2440982).
Читать дальше →

Базовые возможности LXD — системы контейнеров в Linux

Reading time29 min
Views63K

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


Ядро LXD — это привилегированный демон (сервис запущенный с правами root), который предоставляет REST API через локальный unix сокет, а также через сеть, если установлена соответствующая конфигурация. Клиенты, такие как инструмент командной строки поставляемый с LXD посылают запросы через этот REST API. Это означает, что независимо от того, обращаетесь ли вы к локальному хосту или к удаленному, все работает одинаково.


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

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

Ретроконсоль своими руками Часть 3. Финальные штрихи

Reading time12 min
Views11K

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

Читать далее

Ретроконсоль своими руками Часть 2. Установка и настройка RetroPie

Reading time6 min
Views25K

В предыдущей статье мы подобрали все необходимые компоненты для сборки нашей самодельной ретроконсоли. Настало время вдохнуть в нее жизнь! В этом нам поможет RetroPie — операционная система, основанная на Linux-дистрибутиве Raspbian OS и представляющая собой сборник эмуляторов разнообразных игровых приставок прошлых лет и удобный менеджер для работы с вашей игротекой в одном лице. Хотя это отнюдь не единственное из доступных решений, по нашему мнению, именно данная сборка лучше всего подходит новичку, так как требует минимальных навыков для базовой установки и настройки, отличаясь при этом стабильностью и достаточно широким спектром возможностей. Итак, приступим.

Читать далее

iQunix A80 Explorer: беспроводная клавиатура в ретро-стиле с современными возможностями

Reading time5 min
Views11K

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

На сей раз полку клавиатур прибыло — представлена ретро-модель, которая получила название iQunix A80 Explorer. Почти что винтажный дизайн здесь совмещен со всеми современными возможностями — беспроводной связью, подсветкой, тихими клавишами и прочими фишками. Под катом — подробности о новом девайсе.
Читать дальше →

10 разных махагони: исследуем акустические свойства древесины, часть 1

Reading time8 min
Views22K

«Дерево не влияет на звук струнного инструмента с электромагнитным датчиком и последующей аналоговой и/или цифровой обработкой сигнала.» Проще говоря, электрогитары. Динамическая головка (громкоговоритель), её акустическое оформление (кабинет), микрофон с его расположением, (или их импульс), усилитель, датчики, — всё это влияет. А материал, из которого изготовлена несущая струны конструкция, будто бы нет. Ведь она немагнитная, а на электромагнитный звукосниматель воздействуют только ферромагнитные струны. И в это многие верят, в том числе музыканты. Истина или заблуждение?

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

Создал уровень из Battletoads / Double Dragon в 3D

Reading time7 min
Views4.8K

Всем привет!

Я продолжаю рассказывать о своих проектах в 3d. Мои предыдущие статьи получили крутой отклик от читателей Хабра. Спасибо! Это действительно очень ценно для меня.

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

В этот раз я решил вспомнить про одну из самых крутых, по моему мнению, игр на приставках, в которые мы играли в детстве, а именно про BattleToads / Double Dragon и представил как бы выглядела игра, если бы её делали в 3d.

Для тех, кому по душе формат видео, ссылку на ролик я как всегда оставлю в конце статьи.

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

Я всегда с теплотой и радостью вспоминаю время, когда каждая новая игра на сеге или денди приносила мне море эмоций.

Читать далее

Разработка hexapod с нуля (часть 11) — стабилизация

Reading time6 min
Views7K

Всем привет! Разработка медленно продолжается и я внес достаточно важные изменения в ядро передвижения, так же появилась новая версия платы управления. В результате гексапод теперь умеет выравнивать свое тело благодаря наличию акселерометра и возросла скорость передвижения. Все технические подробности в статье. Как всегда вас ждет фото и видео.

Этапы разработки:
Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Часть 10 — датчики касания
Часть 11 — стабилизация

Читать далее

Brax — физический движок на GPU, заменяющий кластер CPU

Reading time7 min
Views6.4K

В обучении с подкреплением (Reinforcement Learning) одним из ограничивающих факторов является быстродействие физических симуляторов, на основе которых происходит обучение нейросети. Из-за специфики расчетов, лишь малую часть из них можно вынести в GPU, а большая часть вычислений в физических движках делается на CPU. Для примера, один GPU может обучать нейросеть десятками тысяч параллельных "потоков" в секунду. Но один CPU с запущенным на нем физическим симулятором, может выдавать лишь 60-200 кадров в секунду.

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

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

Это позволяет эффективно обучать нейросети на одном или нескольких локальных GPU, что раньше требовало внешнего сетевого кластера из десятков тысяч CPU.

Читать далее

Разработка REST-серверов на Go. Часть 6: аутентификация

Reading time13 min
Views41K
Перед вами — шестой материал из серии статей, посвящённых разработке REST-серверов на Go. Наша сегодняшняя тема — безопасность, а именно — аутентификация. Если бы сервер, разработанный в предыдущих материалах, был бы развёрнут, и к нему мог бы обратиться кто угодно, то у любого, имеющего выход в интернет, был бы полный доступ к его API. Хотя некоторым REST-серверам это вполне подходит, такой сценарий работы с сервером желателен далеко не всегда. Обычно как минимум часть API должна быть защищена таким образом, чтобы доступ к ней могли бы получить лишь аутентифицированные пользователи.



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

gRPC клиент. Попробуй на вкус клиент/сервер на gRPC

Reading time4 min
Views14K

   В прошлой статье мы разобрали, как писать сервер на gRPC. И протестировали его с помощью BloomRPC. Теперь, давайте разберем как пишется клиент. И попробуем отправлять запросы с клиента на сервер. Это будет наш первый шаг к созданию микросервисов на грпц. 

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

Читать далее gRPC client

Механическая раздельная ортолинейная беспроводная клавиатура. Corne Build Guide

Reading time19 min
Views34K

В этой статье я постараюсь рассказать о том как собрать механическую ортолинейную раздельную беспроводную клавиатуру Corne. И расскажу зачем оно вам нужно.

Читать далее

Почему PostgreSQL тормозит: индексы и корреляция данных

Reading time12 min
Views40K

"Хочешь ускорить запросы, построй индекс" – классический первый шаг по увеличению производительности в PostgreSQL. Вот только на практике можно встретить ситуацию, когда индексы в PostgreSQL есть, но тормоза никуда не делись. Не все индексы являются эффективными. Одна из возможных причин тормозов индексов – это отсутствие корреляции данных. Давайте поговорим о пенальти на производительность, которое дает расположение данных: почему это происходит и как это можно предотвратить.

Ускорить свой PostgreSQL

Разработка REST-серверов на Go. Часть 5: Middleware

Reading time10 min
Views39K
Это — пятый материал из серии статей, посвящённой разработке REST-серверов на Go. Здесь мы поговорим о middleware. У меня есть материал, посвящённый жизненному циклу HTTP-запросов в серверах, написанных на Go. Для того чтобы разобраться в том, о чём пойдёт речь ниже, вам нужно ориентироваться в этой теме.



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

Как мы в 2 раза сократили расходы на хранение и передачу изображений без потери качества

Reading time6 min
Views7.6K

Изображения играют важную роль в продаже авторских туров. Когда стартап в сфере туризма, маркетплейс авторских туров YouTravel.me начал обрабатывать 2,5 млн запросов на картинки и отдавать 50 GB в сутки, команда разработки задумалась, как хранить изображения, чтобы они не теряли качество, и при этом не тратить космические бюджеты.

Читать далее

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity