Search
Write a publication
Pull to refresh
4
0.9
Дмитрий Померанцев @pda0

User

Send message

Как документировать сервер и контролировать его управление, даже если у вас небольшой стартап

Reading time12 min
Views12K

Привет, Хабр! Меня зовут Даниил Воложинок, я инженер в группе виртуализации. Представьте себе ситуацию. У вас есть сервер с комплексом приложений и настроек, который несколько лет обслуживает админ — ”золотые руки”. Однажды “золотой” админ увольняется или уходит на длительный больничный. На его смену приходит новый и выясняет, что разобраться в наследстве невозможно: большинство сведений его предшественник держал в голове. 

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

В статье поделюсь наработанным списком для документирования сервера, который мы собрали внутри компании и теперь высылаем в качестве рекомендации и крупным клиентам DataLine, и небольшим клиентам Cloudlite. Ресурсы Cloudlite нередко используются для стартапов и pet-проектов. А когда стартап вдруг резко взлетает, становится некогда думать о документировании. Так что привычка сразу все фиксировать помогает нашим клиентам не запутаться. 

Читать далее

Кукла с третьим глазом — делаю Триопса с артикуляцией

Reading time5 min
Views2K

Доброго времени суток, дорогие хабражители!

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

А вот кукла, да еще не просто фигурка, а артикулируемая (подвижная) - это куда сложнее. Но в то же время интереснее.

Сейчас немного раскрою процесс создания суставной фигурки дикой помеси человека и рачка.
Не упустите шанс раскрыть происхождение тиммейтов в онлайн-играх!

Показываем куклу без смс и регистрации!

Тернистый путь к созданию и внедрению Content Style Guide

Reading time8 min
Views1.9K

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

Читать далее

Как мы лажали, открывая очередное юрлицо — на этот раз в США

Reading time11 min
Views18K


Я тут открывал юрлицо в США и сделал всё по инструкции «как не облажаться», но облажался. Уже в новых местах, не предусмотренных инструкцией.

Главная инструкция вот тут, она написана не юристом, но сами юристы подтверждают, что получилась хорошая и на неё же ссылаются, когда нужно быстро ввести в курс дела новичка. Список того, где уже облажались русские участники УКомбината — вот.

Проект внезапно созрел и нужно было пустить инвесторов. Команда немного размазана по планете, поэтому всем было примерно всё равно, где регистрироваться. Есть вообще типовой стартаперский набор: Кипр, прибалты, США, Сингапур, Люксембург. Но не пофиг было российскому стратегу, одному из инвесторов, он хотел на родине. При этом американское корпоративное правило наиболее гибкое + накоплена большая база прецедентов, то есть оно ещё и предсказуемое. А в штате Делавер наиболее квалифицированный суд, и его решения — просто золотой стандарт отрасли. То есть если у вас есть иностранные инвесторы, стоит выбор между Европой, Кипром и США. Из Латвии и Эстонии тяжело выскакивать при росте компании (и за сладкий старт придётся платить условиями дальше), Кипр хорош, но венчурные инвесторы часто ассоциируют его с «русские что-то там мутят», поэтому Делавер.

Поскольку у нас ИТ-бизнес в России, и мы знаем правила ведения ИТ-бизнеса в России, план был такой:

  1. Уговаривать стратега на любую зарубежную юрисдикцию (а для них бы это был первый опыт инвестиций в зарубежный проект);
  2. Как только они дадут добро, за недельку зарегистрироваться, например в Делавере, и принять деньги.

А если стратега не уговорим, то уйдем во все тяжкие согласования венчурной сделки с корпоратом в правовом поле РФ, что одно из самых экстремальных развлечений, доступных бизнесмену. Я наивно полагал, что основные проблемы будут в этой части.

Но нет. Переходим к мякотке.
Читать дальше →

Main Loop (Главный цикл) в Android Часть 1. Пишем свой цикл

Reading time13 min
Views28K

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

Это первая часть цикла разбора главного цикла в Android. Вообще, лучший способ понять, как что-то работает - сделать это самому. Поэтому, прежде чем лезть в дебри Android SDK давайте попробуем написать свой цикл, правда без блэкджека и прочего. Наоборот, это будет минимально работоспособный цикл, но зато хорошо демонстрирующий основную логику, без лишней мишуры.

Читать далее

Педальку в пол, или как ещё ускорить CPU-bound приложение?

Reading time29 min
Views6.9K

Зачем я это читаю?


TL;DR:


  • Переложив секции кода и данных программы на большие страницы можно существенно ускорить приложение (у нас получилось до +10%) не трогая исходный код.
  • Можно быстро проверить ничего не перекомпилируя, детали здесь.
  • Финальное решение оперирует "классическими" большими страницами (не transparent huge pages), поэтому в какой-то степени его можно назвать дальнейшим развитием libhugetlbfs.
Читать дальше →

Открытый проект файловой системы для внутренней памяти STM32H

Reading time8 min
Views9K

Зачем ставить внешнюю IC памяти или SD карту если в микроконтроллере осталось много свободной Flash памяти! 

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

Как сделать из внутренней Flash подобие EEPROM сравнительно неплохо написано в этом апноуте от ST. Но с некоторого уровня комплексности встроенного ПО хранить данные в именованных файлах удобнее чем в жёстких структурах. Файлы упрощают реюзинг, облегчают поддержку преемственности версий, апгрейды и даунгрейды. Файлы освобождают от хлопот с планированием размещения во флэш и разруливанием конфликтов размещения, особенно если приложение модульное и модули разрабатываются отдельно. 

Читать далее

Как отбалансировать нагрузку существенного количества серверов — поможет новый алгоритм

Reading time3 min
Views3.8K

Датские инженеры представили алгоритм, который уже используют крупные ИТ-компании и облачники. Рассказываем, как он устроен и обсуждаем перспективы.

Читать далее

1000 тонн регенерированного урана из Франции везут в Россию. Что это значит?

Reading time9 min
Views113K

Похоже в Россию снова ввозят ядерные материалы из Европы. Позавчера в Париже Гринпис Франции провел акцию протеста против отправки в Россию 1000 тонн регенерированного урана. Увидев в их твиттере новость об этом я понял, что скоро и в наших СМИ начнется шум. И вот он начался. Попытался на скорую руку разобраться с тем о чем идет речь, что же к нам везут, насколько это похоже на историю с ввозом ОГФУ из Германии, с которой я подробно разбирался ранее, и при чем тут выступление президента Франции Макрона.

Читать далее

Лезем в сорцы компилятора — как работает goscheduler (Часть I)

Reading time8 min
Views7.7K

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

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

Как устранить баг с конвейерами в Factorio

Reading time5 min
Views13K
Factorio — это игра про строительство фабрики, в которой множество конвейерных лент. Реализующий эти ленты код является чудом оптимизации, однако, к сожалению, он не может справляться со всеми конструкциями.

Проблема с суши-конвейером


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

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

Самопаркующаяся тачка в 500 строк кода

Reading time25 min
Views13K

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

В 1-м поколении автомобили будут иметь случайный геном и будут вести себя хаотично.

К ≈40-му поколению автомобили понемногу начнут учиться парковке и будут все ближе и ближе подбираться к парковочному месту

Чтобы увидеть эволюционный процесс прямо в браузере вы можете запустить ? симулятор эволюции, .

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

Читать далее

Вычисляем на видеокартах. Технология OpenCL. Часть 1a. Как работает OpenCL

Reading time7 min
Views17K
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



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

0. Зачем мы здесь собрались. Краткая история GPGPU.
1a. Как работает OpenCL.
1b. Пишем для OpenCL.
2. Алгоритмы в условиях массового параллелизма.
3. Сравнение технологий.

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

Есть мнение, что для написания эффективного кода для GPU программист обязан понимать архитектуру видеокарты. И это мнение не чьё-нибудь там, а NVIDIA (см. Лекции NVIDIA по GPGPU). Не будем спорить и разберём базовые принципы работы видеокарты.
Читать дальше →

Потребительский экстремизм в GameDev

Reading time7 min
Views15K

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

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

Интересно, чем все закончилось?/

Что в этом случае делает администрация? Сначала банит клиента на форуме, если не помогает – блокирует персонажа до устранения нарушений. Примерно так развивался сюжет и в моем случае с одним отличием: клиент выйдя из бана повторно спровоцировал конфликтную ситуацию, получил отказ на претензию, зафиксировал ответы в нотариальном порядке и пошел в суд по Закону «О защите прав потребителей.» (далее - ЗЗПП для краткости).

В иске игрок потребовал все, на что хватило фантазии:

Рекомендации по защите под катом

Зачем инженеру-конструктору нужны свойства материала и где их взять

Reading time6 min
Views3.1K

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

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

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

Читать далее

Оптимизируем отображение 10 000 объектов на карте

Reading time13 min
Views14K

В приложении ЦИАН размещены десятки тысяч объявлений о недвижимости. Нашим пользователям важно видеть географическое расположение этих объявлений на карте. Самым популярным способом отображения оказался вариант, когда каждое объявление показано отдельной точкой. Внутри команды такой вариант мы назвали «Горошек на карте».

Проблема в том, что объявлений очень много: в одной только Москве более 10 000. Из-за этого наша карта работала не очень стабильно: при зуме и движении были тормоза, дёргалась и лагала картинка. С этим нужно было что-то делать. Чтобы разобраться в причинах проблем и найти решения, мы засучили рукава и начали копаться в используемых механизмах. Под катом подробно опишем весь путь оптимизации карт в Android-приложении: от постановки задачи до результата.

Читать далее

Слегка ржавое EFI-приложение

Reading time11 min
Views13K
После двух твитов, оставленных на прошлой неделе, про мои игры с UEFI и Rust, несколько человек попросили опубликовать заметку, объясняющую как создать UEFI-приложение, полностью написанное на Расте и продемонстрировать тестовое окружение.

Так что сегодняшняя цель — это создание UEFI-приложения на Расте, которое распечатывает карту памяти, отфильтрованную по доступности для использования (такая память называется традиционной памятью в описании UEFI-спецификаций):

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

Сборка собственного RPM-пакета, содержащего простую Go-программу

Reading time5 min
Views19K
Процесс развёртывания программ обычно состоит из множества этапов. Некоторые из этих этапов могут представлять собой довольно-таки сложные последовательности действий. В наши дни имеется широкое разнообразие инструментов, позволяющих создавать описания процессов развёртывания программ, которые можно воспроизводить на разных системах.

А именно, в мире Linux уже довольно давно существуют менеджеры пакетов. Например — это RPM и YUM. Они упрощают установку, обновление и удаление программ в Linux-системах. Собственно говоря, в этой статье я хочу рассказать о том, как создать собственный простой RPM-пакет, хочу показать, что это совсем несложно.



Надо отметить, что во многих организациях менеджеры пакетов используются лишь для установки программ, предлагаемых разработчиком используемого этими организациями дистрибутива Linux. Для управления развёртываниями собственных программ менеджеры пакетов не применяются. Тому, кто попытается собрать свой первый RPM-пакет, может показаться, что это не так уж и просто. Но обычно тот, кто учится создавать такие пакеты, тратит время с пользой. Дело в том, что соответствующие знания способны помочь ему в деле оптимизации его рабочих процессов. Здесь мы рассмотрим процесс создания RPM-пакета, содержащего простую программу, написанную на Go.
Читать дальше →

Аналоговое и цифровое питание. Мифы и реальность

Reading time8 min
Views38K

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

Узнать как разделять питание и властвовать

Как различные страны законодательно защищают несовершеннолетних в интернете

Reading time5 min
Views3.1K

Власти Китая запретили детям и подросткам часто заниматься видеоиграми. Эта инициатива отлично иллюстрирует глобальный тренд – ужесточение законодательных норм, защищающих несовершеннолетних от вредного и опасного онлайн-контента. Эксперты Научно-технического центра Главного радиочастотного центра (НТЦ ГРЧЦ) сравнили опыт правового регулирования в этой сфере ведущих стран мира.

Читать далее

Information

Rating
2,744-th
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity