Как стать автором
Обновить
-18
0.6
Никому Не Иванович @avost

Сижу, никого не трогаю, починяю примусы

Отправить сообщение

Toyota, Boeing и другие: когда компании серьезно нарушали правила и чего им это стоило

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

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

Читать далее
Всего голосов 10: ↑7 и ↓3+7
Комментарии2

Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.2K

Живый в помощи Вышняго,
в крове Бога Небеснаго водворится …

Псалом 90.

Данная статья является продолжением статьи «Концепции устройства приёмника умного звукового датчика на базе шины CAN»

Авторы настоящей статьи объединили свои усилия в разработке компактной малоресурсной дешевой сетецентрической системы контрбатарейной борьбы для защиты жизней людей.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии34

Основы тайм-менеджмента: как эффективно распоряжаться своим временем

Время на прочтение6 мин
Количество просмотров32K

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

Как соблюдать баланс между работой и личной жизнью? Как научиться эффективно управлять временем и успевать больше? Как перестать тратить ценное свободное время впустую и сконцентрироваться на важном? На все эти вопросы мы искали ответы в рамках 10-дневного марафона по принципам тайм-менеджмента для сотрудников МойОфис. И с удовольствием сейчас поделимся с вами опытом.

Читать далее
Всего голосов 33: ↑29 и ↓4+30
Комментарии29

Заблуждения программистов о времени

Время на прочтение12 мин
Количество просмотров74K

Музей-скансен эпохи Средневековья в Дании в режиме обычной работы (слева) ставит целью воссоздать повседневную жизнь города на стыке XIV и XV веков. Для съёмок фильма (справа) он «погрязнел»

Для киносъёмок в музей под открытым небом Middelaldercentret внесли несколько изменений. Вместо аккуратной каменной улицы развели неприятную кашицу из грязи, не самые роскошные стеклянные окна прикрыли досками и развесили везде выцветшее тряпьё. Здания как следует измазали чем-то коричневым, кое-где зачем-то перемешав субстанцию с соломой. В случайное здание воткнули факел, а не попытались изобразить лучину или фонарь.

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

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

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

Заблуждение 1. В сутках 24 часа или 86 400 секунд


Иногда и кое-где стрелки часов переводят, создавая сутки длиной в 23 и 25 часов — всё очевидно. Будет неплохо углубиться в случаи поэкзотичней.
Читать дальше →
Всего голосов 152: ↑145 и ↓7+177
Комментарии313

Курс по Ruby+Rails. Часть 1. Императивное программирование

Время на прочтение11 мин
Количество просмотров8K

Компания Evrone работает на рынке веб-разработки уже 13 лет. Ruby on Rails — одна из технологий, которую мы используем часто, поэтому накопили внушительный багаж знаний — от продвинутых приёмов программирования на Ruby до эффективного использования «магии» Rails.

Чтобы делиться этими знаниями, мы запускали в тестовом режиме Evrone Academy — платформу для обучения программированию. Сейчас она на паузе, но мы хотим публично поделиться лекциями и знаниями с теми, кто хочет поближе познакомиться с Ruby уже сейчас, в привычной хабра-обстановке.

Читать далее
Всего голосов 16: ↑15 и ↓1+16
Комментарии13

Удачный шаблон документации на API, который будут читать

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров62K

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

Вы бы стали читать рецепт из 10 страниц, чтобы приготовить салат? Что-то я сомневаюсь. Схожая ситуация бывает в документации, когда она пишется без шаблона по принципу "чем больше, тем лучше".

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

Я тех.лид системных аналитиков и прошла долгий путь к шаблонам документации в разных компаниях.

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

«Как жить без стрелок» или не так страшен сплит…

Время на прочтение11 мин
Количество просмотров28K

"Как жить без стрелок" или не так страшен сплит...


КДПВ
Источник


Введение


В последнее время на Хабре появляется всё больше статей о кастомных клавиатурах вообще и об эргономичных сплит клавиатурах (эргосплит) в частности. И это хорошо, ведь, глядя на ассортимент клавиатур в магазинах электроники, можно подумать, что альтернативы стандартным клавиатурам нет, а это далеко не так. Однако…
Не так давно вышла статья Эргономичная раздельная клавиатура. Iris. И знаете, какой комментарий набрал наибольшее количество голосов?


Что вы там этими клавиатурами набираете? Как жить без стрелок, PgUp/PgDn и прочего? А для почти всех IDE нужны F-клавиши.
Переключаться между десятком режимов, забивая ими голову, и скроллить через HJKL?
Каждый раз, когда вижу такие изделия, впечатление что это для того, чтобы было "как в кино у хакеров".
Эргономика должна быть не только для пальцев, но и для мозга.

Неужели с эргосплитами всё так плохо?

Читать дальше →
Всего голосов 32: ↑30 и ↓2+39
Комментарии116

8 ML/AI-проектов, которые украсят ваше портфолио

Время на прочтение6 мин
Количество просмотров19K
Автор материала, перевод которого мы сегодня публикуем, предлагает вниманию читателей 8 идей проектов в сферах машинного обучения и искусственного интеллекта. Описание идей сопровождается ссылками на дополнительные материалы. Реализации этих идей способны украсить портфолио проектов профильного специалиста.


Читать дальше →
Всего голосов 24: ↑21 и ↓3+32
Комментарии1

Реализация offline режима для Yandex.Music

Время на прочтение9 мин
Количество просмотров18K

Введение


Сегодня мы будем рассматривать такой достаточно известный музыкальный сервис, как Yandex.Music. Хороший в целом сервис, но с существенным недостатком — невозможностью работы оффлайн. Мы попробуем исправить это досадное недоразумение, используя подручные инструменты.


Инструментарий


Итак, нам понадобится:


  • Относительно свежий python: 3.7 и выше
  • Всякая асинхронщина: aiohttp и aiofile
  • Классический инструмент для работы с html-API: BeautifulSoup
  • Для развлечения пользователя во время процесса: tqdm
  • Для заполнения тэгов: mutagen
Читать дальше →
Всего голосов 14: ↑13 и ↓1+20
Комментарии9

База данных простых чисел до ста миллиардов на коленке

Время на прочтение7 мин
Количество просмотров12K
image

Самый известный алгоритм для нахождения всех простых чисел, не больших заданного, – решето Эратосфена. Он замечательно работает для чисел до миллиардов, может быть, до десятков миллиардов, если аккуратно написан. Однако каждый, кто любит развлекаться с простыми числами, знает, что их всегда хочется иметь под рукой как можно больше. Как-то раз мне для решения одной задачи на хакерранке понадобилась in-memory база данных простых чисел до ста миллиардов. При максимальной оптимизации по памяти, если в решете Эратосфена представлять нечетные числа битовым массивом, его размер будет около 6 гигабайт, что в память моего ноутбука не влезало. Существует модификация алгоритма, гораздо менее требовательная по памяти (делящая исходный диапазон чисел на несколько кусков и обрабатывающая по одному куску за раз) – сегментированное решето Эратосфена, но она сложнее в реализации, и результат целиком в память все равно не влезет. Ниже предлагаю вашему вниманию алгоритм почти такой же простой, как и решето Эратосфена, но дающий двукратную оптимизацию по памяти (то есть, база данных простых чисел до ста миллиардов будет занимать около 3 гигабайт, что уже должно влезать в память стандартного ноутбука).
Читать дальше →
Всего голосов 24: ↑23 и ↓1+34
Комментарии28

Подборка академических и науч-поп источников

Время на прочтение5 мин
Количество просмотров13K
Академическое знание давно уже обитает в интернете, и как и любая информация, индексируется поисковыми машинами и базами данных. Я говорю о более широкой категории знаний, чем STEM (Science Technology Engineering and Mathematics), основным критерием академических источников является их рецензирование (например, скопусовский журнал Modern Theology является рецензируемым источником, хотя не все согласятся назвать его научным, а вот академическим, пожалуйста). Однако, насколько обычный пользователь интернета представляет себе этот сектор Сети, знает где, что, и как искать, умеет различать надежность различных академических источников, имеет доступ к этим источникам, а также понимает всю сложность и объем академического знания? Мне не встречалось каких-либо обзоров на русском языке, в котором была бы представлена информация, рамочно характеризующая условный «Scholarnet», дающая общее представление, справку, прочтя которую, можно было эффективно академическим знанием пользоваться. Я решил составить обзор источников академической информации, и источников, вторичных к ним (пресс-релизы научных новостей и науч-поп). Сразу оговорюсь, обзор произволен, и не выведен из какой-то точной методологии, но это лучше чем его отсутствие. Описав при этом разные потоки данных, с которыми может взаимодействовать самые разные люди: от самих исследователей до, как принято говорить в аннотациях книг, «широкого круга читателей» (в т.ч. википедистов, журналистов, участников интернет-споров, и т.д.). Также прошу заранее извинить за огрехи оформления, по мере возможности постараюсь исправить то, на что укажет читатель (желательно в ЛС).
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии25
Пока вы читаете это вступление, больше миллиарда людей на планете лишены свободного доступа к воде, пригодной для питья. Она всегда была ценнейшим ресурсом, а доступ к чистой воде часто определял уровень развития цивилизации. Откуда берется «нормальная» вода? Не только из промышленных систем очистки, но и из простых домашних фильтров, которые пора протестировать и досконально изучить.
Подробности – под катом
Всего голосов 50: ↑31 и ↓19+12
Комментарии97

Как «научиться учиться» — советы, рекомендации и научные исследования

Время на прочтение6 мин
Количество просмотров137K

Часть 1. «Очевидные» советы


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

Все это, безусловно, хорошо, но чем конкретно эти прописные истины могут помочь студенту? Как организовать режим дня так, чтобы больше успевать и лучше запоминать материал? Есть ли реальная связь между чувством жажды и когнитивными способностями? Правда ли, что спорт помогает в учебе (и речь не только о дополнительных баллах к ЕГЭ за значок ГТО)?

Попробуем разобраться со всем ниже.

Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии18

Реактивная работа с Bluetooth в реальных условиях

Время на прочтение11 мин
Количество просмотров11K

Небольшое предисловие, или в чем же боль


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


Поскольку я искренний фанат реактивности в приложениях, то такие проблемы приходилось решать собственными силами, поскольку решений в сети просто нет. Совсем. О получившейся архитектуре работы с Bluetooth-устройствами я и хотел бы вам рассказать.


Опасности на пути джедая


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


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

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии6

Знакомство с реактивными потоками – для Java-разработчиков

Время на прочтение12 мин
Количество просмотров22K
Привет, Хабр!

Сегодня мы вернемся к одной из тем, затрагиваемых в нашей замечательной книге "Реактивные шаблоны проектирования". Речь пойдет об Akka Streams и потоковой передаче данных в целом — в книге Роланда Куна этим вопросам посвящены главы 10 и 15-17.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Конкурентность: Кооперативность

Время на прочтение6 мин
Количество просмотров22K

Я продолжаю свой небольшой цикл статей относительно средств организации и реализации конкурентных вычислений.


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


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


Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии10

Магические битборды и русские шашки

Время на прочтение9 мин
Количество просмотров11K
Данная статья — иллюстрация, каким образом битовые трюки могут быть использованы не только в задачах на собеседованиях, но и при решении реальных задач. В статье дано описание одного метода быстрой генерации ходов в русских шашках на основе магических битбордов (magic bitboard). Битборды — представление позиции в виде нескольких беззнаковых целых чисел, каждый бит которого отвечает за состояние некоторого элемента игры, например клетки. Обычно использование битбордов даёт выигрыш по производительности и по объёму используемой памяти, но связано с более изощрённым программированием. При этом часто возникает задача получения значения определённых бит в битборде, например, для последующего обращения к таблице. Есть два основных подхода к решению этой задачи. Первый — использование и поддержка избыточного представления в виде дополнительных битбордов с перенумерацией битов. Такие битборды асто называют вращаемые. Второй способ — умножение на магическую константу, сдвиг и обращение к таблице. О таких магических битбордах и пойдёт речь в этой статье.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Теория решения изобретательских задач на пальцах

Время на прочтение4 мин
Количество просмотров124K
Представьте, перед вами встала проблема, как улучшить какую-то вещь, или как что-то заставить работать. Как придумать что-то новое? Для этого и была придумана Теория решения изобретательских задач. В данном топике я на пальцах попробую рассказать, о чем это


Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии26

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

Время на прочтение14 мин
Количество просмотров92K

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


Читать дальше →
Всего голосов 145: ↑141 и ↓4+137
Комментарии38

«Паттерны» функционального программирования

Время на прочтение10 мин
Количество просмотров71K

Многие люди представляют функциональное программирование как нечто очень сложное и «наукоемкое», а представителей ФП-сообщества – эстетствующими философами, живущими в башне из слоновой кости.

До недавнего времени такой взгляд на вещи действительно был недалек от истины: говорим ФП, подразумеваем Хаскель и теорию категорий. В последнее время ситуация изменилась и функциональная парадигма набирает обороты в web-разработке, не без помощи F#, Scala и React. Попробуем взглянуть на «паттерны» функционального программирования, полезные для решения повседневных задач с точки зрения ООП – парадигмы.

ООП широко распространено в разработке прикладного ПО не одно десятилетие. Все мы знакомы с SOLID и GOF. Что будет их функциональным эквивалентом?.. Функции! Функциональное программирование просто «другое» и предлагает другие решения.


Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии361

Информация

В рейтинге
1 703-й
Откуда
Россия
Зарегистрирован
Активность

Специализация

Backend Developer