Как стать автором
Обновить
Евгений @immaculateread⁠-⁠only

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

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

Небольшие трюки с Elasticsearch

Время на прочтение7 мин
Количество просмотров16K
Небольшая заметка, скорее для себя, о мелких трюках по восстановлению данных в Elasticsearch. Как починить красный индекс если нет бэкапа, что делать если удалил документы, а копии не осталось — к сожалению в официальной документации об этих возможностях умалчивают.
Читать дальше →

Kotlin DSL: Теория и Практика

Время на прочтение21 мин
Количество просмотров16K
Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язык (DSL). Есть опыт, когда Kotlin DSL заменил билдеры и статические методы для тестирования модуля планирования ресурсов, что превратило добавление новых тестов и поддержку старых из рутины в увлекательный процесс.

По ходу статьи мы разберем все основные инструменты из арсенала разработчика и то, как их можно комбинировать для решения задач тестирования. Мы с вами проделаем путь от проектирования Идеального Теста до запуска максимально приближенного, чистого и понятного теста для системы планирования ресурсов на основе Kotlin.

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



Статья основана на докладе Ивана Осипова (i_osipov) на конференции JPoint. Дальнейшее повествование ведется от его лица. Иван работает программистом в компании Haulmont. Основной продукт компании – CUBA, платформа для разработки энтерпрайза и различных веб-приложений. В том числе на этой платформе делаются и аутсорсинговые проекты, среди которых недавно был проект в области образования, в котором Иван занимался построением расписания для образовательного учреждения. Так сложилось, что последние три года Иван так или иначе работает с планировщиками, и конкретно в Haulmont в течение года они этот самый планировщик тестируют.
Читать дальше →

15 малоизвестных свойств и методов объектов DOM

Время на прочтение9 мин
Количество просмотров31K
При разработке современных веб-сайтов интенсивно используются возможности JavaScript по работе с DOM. Скрипты позволяют отображать и скрывать элементы, из которых строятся страницы, настраивать свойства этих элементов. У объектов DOM, с которыми взаимодействуют из программ, имеются свойства и методы. О некоторых из них, по мнению автора материала, перевод которого мы сегодня публикуем, знают практически все веб-программисты. А вот некоторые, о которых он и хочет здесь рассказать, пользуются куда меньшей известностью.


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

Наивный Байес, или о том, как математика позволяет фильтровать спам

Время на прочтение5 мин
Количество просмотров41K
Привет! В этой статье я расскажу про байесовский классификатор, как один из вариантов фильтрации спам-писем. Пройдемся по теории, затем закрепим практикой, ну и в конце предоставлю свой набросок кода на мною обожаемом языке R. Буду стараться излагать максимально легкими выражениями и формулировками. Приступим!

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

Как выявлять и развивать таланты в IT: результаты первого Team Leader meetup

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

24 января 2018 года в Яндексе прошёл первый Team Leader meetup. Мероприятие посетили в общей сложности порядка семидесяти руководителей разработки из различных компаний.


Мы хотели, чтобы участники встречи были активно вовлечены в дискуссию, поэтому сразу выбрали в качестве основного формат панельной дискуссии в противовес стандартным презентациям. Таким образом, в разговоре участвовали сразу несколько экспертов из ведущих IT-компаний: Яндекса, Mail.Ru, Skolkovo Foundation, Phillips Innivation Labs RUS, 1C GAMES STUDIO. У слушателей в зале была возможность реагировать на высказывания экспертов при помощи специального бота, который демонстрировал их эмоции в реальном времени на специальном экране, расположенном прямо в зале.


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


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


Реактивный фронтенд. История о том, как мы снова всё переписали

Время на прочтение13 мин
Количество просмотров33K
Привет, это снова Катя из Яндекс.Денег. Продолжаю свою историю о том, как я перестала верстать и начала жить. В первой части я рассказала, как меня сюда занесло и чем занимаются наши фронтендеры. Сегодня — про фронтовый стек, откуда там React и куда делся БЭМ.

Спойлер: БЭМ пока никуда не делся ¯\_(ツ)_/¯. Погнали!



Внимание: высокая концентрация фронтенда. Много текста, картинок и кода, как обещала.
Читать дальше →

Общая картина модульного тестирования

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


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

Тема модульного тестирования не так проста, как может показаться. Многие из нас, разработчиков, приходят в модульное тестирование под давлением клиентов, сотрудников, коллег, своих кумиров и так далее. Мы быстро понимаем его ценность, и, закончив технические приготовления, забываем об общей картине, если вообще когда-либо её понимали. В этой статье я вкратце расскажу о том, чем является и чем не является модульное тестирование как в целом, так и в PHP, а заодно опишу, какое место занимает модульное тестирование в сфере QA.
Читать дальше →

Ричард Хэмминг: Глава 27. Недостоверные данные

Время на прочтение20 мин
Количество просмотров7K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2394 в закладки, 386k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 21 (из 30) главу. И ведем работу над изданием «в бумаге».

Глава 27. Недостоверные данные


(За перевод спасибо Валентину Пинчуку, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

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

Позвольте мне начать с испытаний на долговечность. Хорошим примером служит мой опыт, участия в испытаниях жизненного цикла вакуумных труб. Они предназначались к использованию в первых подводных кабелях для передачи голоса с ожидаемым сроком службы 20 лет (после 22 лет мы просто вывели кабель из эксплуатации, которая стала слишком затратной – и это дает хорошее представление о скорости технического прогресса в те дни).
Читать дальше →

Как построить защиту от фрода в масштабах корпорации. Лекция на YaC 2018

Время на прочтение12 мин
Количество просмотров7.8K
29 мая прошла Yet another Conference 2018 — ежегодная и самая большая конференция Яндекса. На YaC этого года было три секции: о технологиях маркетинга, умном городе и информационной безопасности. По горячим следам мы публикуем один из ключевых докладов третьей секции — от Юрия Леонычева tracer0tong из японской компании Rakuten.


Как мы аутентифицируем? В нашем случае ничего экстраординарного нет, но один метод хочу упомянуть. Кроме традиционных видов — капчи и одноразовых паролей — мы используем Proof of Work, PoW. Нет, мы не майним биткоины на компьютерах пользователей. Мы используем PoW, чтобы замедлить атакующего и иногда даже заблокировать полностью, заставив его решить очень сложную задачу, на которую он потратит очень много времени.

Редактор еженедельных расписаний

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

Задача — создание и поддержание еженедельного расписания, такого как расписание уроков в школе или расписание работы врачей и чиновников. Имеется набор слотов, каждый слот — это место в недельном расписании с различными дополнительными параметрами, такими как номер кабинета, имя сотрудника. Требуется построить гибкую систему с полной историей, способную решать задачи типа: создать другое расписание с начала лета, заменить учителя на ближайшие 3 недели, передвинуть расписание с пятницы на субботу из-за праздника.

Напишу, обо что обычно спотыкаются и как это решить, решу задачку о закрашивании полоски, а затем приведу примеры простого бэкенда на node/sequelize и закончу несложным фронтендом на vue/vuex/vuetify/nuxt, где можно будет все это потаскать мышкой и посмотреть, как работает.

Коды выложены на github, развернуто здесь.


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

Хроматическое число плоскости не меньше 5

Время на прочтение6 мин
Количество просмотров35K
Задача о хроматическом числе плоскости формулируется следующим образом: в какое наименьшее число цветов можно раскрасить плоскость так, чтобы любые две точки на расстоянии 1 были покрашены в различные цвета?

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

Сразу же было показано, что в 3 цвета плоскость требуемым образом раскрасить нельзя, однако 7 цветов достаточно. Действительно, легко выбрать на плоскости несколько точек так, что некоторые из них находятся на расстоянии ровно 1 (такая конструкция точек называется графом единичных расстояний), и затем перебором показать, что в 3 цвета эти точки раскрасить невозможно. Примеры таких графов — веретено Мозера и граф Голомба приведены на картинке ниже. Чтобы показать, что 7 цветов достаточно, замостим плоскость правильными шестиугольниками со стороной 0.4 и закрасим их по определённому паттерну, как на картинке ниже. Тогда, как несложно убедиться, концы любого отрезка длины 1 будут лежать в разных шестиугольниках различных цветов.



Однако, с тех пор никто не мог уточнить ни верхнюю, ни нижнюю границы. Задача получила название Проблема Нелсона — Эрдёша — Хадвигера. Прошло 60 лет, и вот, в апреле 2018 года математик-любитель Обри де Грей предъявил граф единичных расстояний, который нельзя покрасить в 4 цвета.
Читать дальше →

Что технарю нужно знать о гуманитариях?

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


Начнем с того, что разделение на физиков и лириков придумали в 60ые для смеха, типа западников и славянофилов, или патриотов и либералов, спартак или динамо — классическая “двухпартийная система” наглядно показанная в серии Южного Парка про клизму и бутерброд. Еще древние римляне называли этот принцип “разделяй и властвуй”.

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

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

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

О чем я думаю, когда читаю роман «Червь» Wildbow

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

image

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


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


Способности отфильтровывать шум. Попробуйте прочитать этот текст: «По рзеузльаттам илссоевадний одонго анлигсйокго унвиертисета, не иеемт занчнеия, в каокм проякде рсапжоолены бкувы в солве. Галовне, чотбы преавя и пслонедяя бквуы блыи на мсете. осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм».


Многие из вас, как и я, действительно прочитали его без проблем. (Я вообще поначалу не заметил, что буквы в словах переставлены) Но есть и такие читатели, что спотыкаются на каждом слове, расшифровывая их в уме. Почему я об этом вспомнил? Потому, что предлагаемые мной книги подойдут только тем читателям, что легко прошли тест.


Остальным даже не стоит и браться.

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

Чего бы почитать. Малоизвестные и замершие научно-популярные статьи и блоги

Время на прочтение2 мин
Количество просмотров25K
Здесь я постарался собрать малоизвестные статьи и блоги, которые заслуживают больше просмотров.

myak555 Мир сквозь нефтяные очки, автор нефтяник. Десятки статей, где популярно изложено о пике ресурсов и world3, мальтузианстве и уравнениях Ферхюльста, нефти и сланцах. Начните с этого поста.

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

astronet.ru Астрономическая научная картинка Больше ста популярных статей о новых наблюдениях и достижениях астрономии, начиная с 2003 до 2014 года. Начиная с 2010 становится спорадическим, а потом замерзает. Сейчас нечто подобное можно найти на elementy.ru

flavorchemist Химия вкуса, пищевая промышленность. Предупреждение: После чтения мороженое и йогурты станут менее вкусными.
Читать дальше →

Шесть типов облаков, которые нужно знать – и что они рассказывают о погоде

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


Современные прогнозы погоды основаны на сложных компьютерных симуляциях. Эти симуляции используют физические уравнения, описывающие атмосферу, включая движение воздуха, солнечное тепло, формирование облаков и дождя. Постепенное улучшение прогнозов со временем означает, что сегодняшние пятидневные прогнозы настолько же точны, насколько 20 лет назад были точны трёхдневные.

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

Алан Кей (и коллективный интеллект Хабра): какие книги формируют мышление тру инженера

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

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

Ключевой частью инженерии является любовь к тому, чтобы делать вещи, особенно к тому, чтобы делать их сразу же и делать их хорошо. Большая часть инженерии возникла из “tinkering” (aka “hacking”), добавив к этому желания «принципиального проектирования и создания», «целостности» и т. д. Все великие инженеры, которых я знаю лично, имеют глубокие моральные убеждения касательно того, что они делают, и почему это «должно быть сделано как можно лучше». Часть наложения темперамента на науку это своего рода «лабораторная крыса», которая наиболее счастлива, когда она в курсе эксперимента или создания нового экспериментального аппарата.

Прототип. От идеи до опытной партии. Литье в силикон

Время на прочтение2 мин
Количество просмотров182K
В прошлой статье я описал мой путь по созданию опытной партии изделия, в ней я литье в силикон отдал на аутсорс. Пока я ждал выполнения моего заказа, потихоньку сам начал осваивать это ремесло. Статья будет полезна тем, у кого допустим есть плата какого-нибудь девайса, но нету красивого корпуса, 3д-печать не подходит по характеристикам, а делать сразу промышленную пресс-форму очень дорого.


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

Почти универсальный конвертер на TPS63000, или общепит для самых маленьких

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


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

Для не боящихся SMD и длинных предложений

Доработка китайского вольтамперметра WR-005

Время на прочтение2 мин
Количество просмотров73K
Для своего очередного проекта (переделка ATX БП 580W в лабораторный), купил вышеназванный индикатор. Не сразу и не вовремя выяснилось, что вход питания у него гальванически связан с минусовым входом шунта. Это вносит ощутимую погрешность при питании индикатора от того-же источника, с которого измеряется ток (погрешность вплоть до ампера с моим шунтом на 50А!). Можно было, конечно, нагородить ещё одну дежурку и от неё запитать индикатор, но мне показалось это слишком жирным и я решил колупнуть сам индикатор.
Читать дальше →

Smart плинтус 1.0

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


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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность