Социальные сети Рунета
Воскресенье, 11 апреля 2021

Идеальное Vue приложение на Typescript Пока Vue3 официально еще не вышел, а продакшене в основном 2 версия - я хочу поговорить о типизации и том, что она все еще не идеальна во Vue. И сегодня мы попробуем создать идеальное приложение с типизацией на typescript сделав упор на code style, пропагандируя vue style gu...

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

Замедлиться, чтобы быстрее учиться новому — подробно обсуждаем ключевые рекомендации Ранее мы поговорили о том, как найти баланс между работой и учебой, а еще детально разобрали метод «deep work». Сегодня попробуем подступиться к теме с другой стороны — поговорим о мотивации, «методе юзабилиста» и лайфхаках для тех, кто хотел бы быстро изучать все ...

Typescript: unsound behavior или поблажки надежности Цель — показать, где TS дает иллюзию безопасности позволяя получить ошибки во время работы программы. Мы не будем говорить о багах, в TS их достаточно 1,500 open bugs and 6,000 closed (‘is:issue is:open label:Bug’) Все примеры будет рассмотрены при: TS strict mode включе...

Как извлечь пользу из статической типизации Эта статья о том, как извлечь максимум пользы из статической системы типов при дизайне вашего кода. Статья пытается быть language agnostic (получается не всегда), примеры на Java и взяты из жизни. Читать далее

Доступность — это не так просто Привет, Хабр! В предыдущей статье я рассказывал о простых случаях проблем с доступностью, исправив которые можно сделать свой сайт или web-приложение гораздо доступнее. Я упоминал о правиле 80/20 и писал о проблемах, которые при наименьших затратах дают наибольший результа...

Где рассказать о своем ИТ-проекте на английском без усилий и затрат: гайд по листингу на Product Hunt Поговорим о том, как подступиться к размещению технологических проектов на Product Hunt: начнем с истории платформы, поделимся мнениями экспертов и списком лайфхаков. Читать далее

Ни туда, ни обратно Хотел я написать комментарий к статье «Германия или Туда и Обратно», да получился он настолько развернутым, что решил написать изложить свои мысли в отдельную статью.Начнем с того, что тема отъезда и приезда коснулась меня самого лично, о своем опыте я писал некоторое время ...

Я 20 лет наслаждаюсь разнообразием архитектур и хочу поделиться мыслями Сначала хотел написать комментарий к статье "Я десять лет страдал от ужасных архитектур в C#...", но понял две вещи: Слишком много мыслей, которыми хочется поделиться. Для такого объёма формат комментария неудобен ни для написания, ни для прочтения. Давно читаю...

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

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

Типизируй все Всем привет! У нас уже есть одна статья про развитие типизации в Ostrovok.ru. В ней объясняется, зачем мы переходим с pyContracts на typeguard, почему переходим именно на typeguard и что в итоге получаем. А сегодня я расскажу подробнее о том, каким образом происходит этот пе...

[Перевод] Вы разработчик? Перевод статьи Are you developer? На самом деле, ты не разработчик. Рано или поздно люди поймут, что ты не понимаешь, о чём говоришь. Ты недостаточно подкован. Возможно, у вас возникали такие мысли, в том или ином виде. Вам никто не говорил, что вы не разработчик, но вы пр...

[Перевод] Основы JavaScript: почему вы должны знать, как работает JS-движок В этой статье я хочу объяснить, что разработчик программного обеспечения, использующий JavaScript для написания приложений, должен разбираться в движках, чтобы написанный код работал правильно.Ниже вы увидите однострочную функцию, которая возвращает свойство lastName передан...

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

Поговорим о централизованном логировании Эта статья – продолжение текста о мониторинге. Здесь предлагаю нам с вами поговорить о роли логов в оценке состояния наблюдаемой площадки, посмотреть, что они способны нам дать, а также затронуть вопрос – «можно ли отрывать логи от метрик?».По ходу дела я буду возвращаться к...

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

Как обойти проверку на Рутинг устройства обхитрив библиотеку RootBeer? В этой статье я хочу поделиться своим опытом обхода проверки на рутованость своего устройства. Статья может рассматриваться не только как самостоятельный материал, но и как прямое продолжения моей работы из предыдущей статьи. Будем декомпелировать .apk, копаться в обфусциров...

JPA Buddy: Умный помощник — половина работы Ну что ж, Hello World... После почти года разработки наконец-то вышла первая версия JPA Buddy! Это инструмент, который должен стать вашим верным помощником по написанию кода для проектов с JPA и всем, что с этим связано: Hibernate, Spring Data, Liquibase и другим ПО из типич...

Сверстать всех наверх: онбординг новых сотрудников Как адаптировать нового сотрудника компании с момента его выхода на работу и до осознания того, что он стал полноценным членом коллектива, понимающим местные культурные и профессиональные ценности? Об этом рассказал direction lead в Lamoda Александр Афенов в своем докладе на...

Физическая активность и ее влияние на здоровье человека Привет, дорогой читатель! В этой статье я хочу затронуть тему, которая в IT-сообществе и так хорошо известна а кому-то может даже и поднадоела, но поговорить о которой все же хочется по двум причинам: во-первых, во время пандемии COVID-19 в 2020 году она стала еще актуальнее...

Кого вы хотите принять на работу? Когда я принимаю решение о том, какую выбрать архитектуру приложения, или как спроектировать БД, или какие нужны подготовительные работы для старта, или о том, что написать в следующем блоке кода, я думаю. Думаю о том, что я хочу получить, о том, как это решает мою проблему,...

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

[Перевод] Свою квалификацию программиста можно повысить, если разбираться в деталях разных технологий Фрагмент комикса с простым объяснением, что такое числа с плавающей запятой Когда речь идёт о повышении квалификации программиста, мы часто говорим о тестировании, написании кода для повторного использования, шаблонах проектирования, удобочитаемости. Всё это очень важно....

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

Мой топ полезных инструментов для Unity разработчика Всем привет! Меня зовут Григорий Дядиченко, и я всё ещё разрабатываю проекты на Unity под ключ. Сегодня хочется поговорить про полезный инструментарий для Unity разработчика. У меня давно на эту тему есть свой топ ассетов или софта, которые используются почти в каждом проект...

[Перевод] DRY CSS: Как использовать каждое объявление только один раз Использование DRY в CSS — это способ максимально избегать повторения в таблицах стилей. Этот подход не панацея, но он достаточно эффективен и является одним из основных методов оптимизации. Поскольку я использовал и изучал его почти 10 лет, в этой статье хочу поделиться сво...

Поговорим о начале заработка? Бизнес модель с 3д принтером Всем доброго времени суток.Достаточно часто я вижу вопросы о "начале бизнеса в 3д печати". Посему хотелось бы поделиться своими мыслями по данной проблеме. В статье не будет готового бизнес плана, но будет почва для размышления над ним (надеюсь). Чтобы не быть голословным ни...

О разных данных на бытовом уровне Мне как фриланс-архитектору часто приходится сталкиваться с людьми из бизнеса, которые не понимают что такое ИТ, как там все происходит и зачем все эти страшные слова.А когда люди не понимают, о чем говорят они закрываются и боятся принять какое-либо решение. А так как мне н...

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

[Перевод] 7 опасных ошибок, которые легко совершить в С#/.NET Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими язык...

Перевернутая пирамида как конец вашего проекта В этой статье я хочу поделится небольшим опытом касательно построения команд в ИТ-проектах. Поговорить я хочу о такой не всегда очевидной вещи как «Пирамида зрелости команды». Читать дальше →

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

Антипаттерны ретроспективы в Agile-команде. Часть 1 Недавно я подсчитала, что за несколько лет работы в роли Скрам Мастера я провела более 100 ретроспектив в Agile-командах. О важности ретроспективы и том, как она отражает ситуацию в команде и влияет на ее развитие, хочу поговорить в этой статье. Читать дальше →

Unreal Features of Real Types, или Будьте осторожны с REAL После публикации статьи об особенностях типизации в PostgreSQL, первый же комментарий был про сложности работы с вещественными числами. Я решил бегло пробежаться по коду доступных мне SQL-запросов, чтобы посмотреть, насколько часто в них используется тип REAL. Достаточно час...

Системы контроля управления доступом в IoT — умеем, знаем, практикуем И снова привет, мир!В прошлой статье про IoT-елочку в голосовании многие отметили, что интересна тема управления устройствами в зависимости от количества человек в помещении. Это довольно масштабная задача, и мы предлагаем разделить ее решение на несколько этапов. Сегодня по...

[Перевод] Производитель/потребитель на Kafka и Kotlin Перевод статьи подготовлен в преддверии старта курса «Backend-разработка на Kotlin» В этой статье мы поговорим о том, как создать простое приложение на Spring Boot с Kafka и Kotlin. Читать дальше →

Жизнь до и после Scrum в разработке B2B продуктов Привет, Хабр! Сегодня мы хотим поговорить на тему Scrum, а точнее поделиться своим опытом внедрения новых процессов в разработке. Под катом — рассказ о том, как преодолевать проблемы B2B-разработки при внедрении agile, на примере нашего продукта Solar Dozor. Делимся откровен...

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

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

Восемь цветов радуги: о цвете с точки зрения математики Больше пяти лет мы публикуем на Хабре статьи на различные темы компьютерного зрения. Чаще всего они связаны с распознаванием документов, потому что нам всегда очень не терпится поделиться с вами всем крутым и новым, что мы сделали в Smart IDReader. Хотя мы честно стараемся ...

[Из песочницы] Исследование логистической функции как закона развития отрасли Здравствуйте, уважаемое сообщество. В этой статье хочу поделиться частью своих наблюдений за развитием технологии и отраслей. Изучая развитие той или иной отрасли, часто замечаю картину развития, похожую на стадии принятия неизбежного. Читать дальше →

Первый квадрокоптер. Годы ожиданий и мечта сбылась Приветствую, уважаемые хабровчане! Сегодня мы поговорим про игрушки больших мальчиков – квадрокоптеры. Муки выбора, нюансы и целесообразность покупки летательного аппарата. Правда и ещё раз, правда. Личный опыт и мысли вслух. Данный материал будет обобщённым экскурсом. Р...

Локальное продвижение интернет-магазина: как получить дополнительный трафик из регионов Мы продолжаем серию статьей для практиков e-commerce и сегодня поговорим о региональном SEO-продвижении: что это такое, почему актуально, какие есть способы и особенности.

Разбор: чем отличаются высокорисковые и низкорисковые инвестиции Изображение: Unsplash Риск – это фундаментальное понятие при инвестициях. Никакое обсуждение прибыльности различных стратегий и финансовых инструментов не имеет смысла без анализа их рискованности. Однако для определение уровня риска и всех влияющих на него факторов – неп...

[Из песочницы] Свои Custom Controls в Angular Пролог Поговорим о реактивных формах в angular, узнаем за кастомные контролы, как их создавать, использовать и валидировать. Статья предполагает что вы уже знакомы с фреймворком angular, но хотите больше погрузиться в её специфику. Хорошее желание, начнем. Читать дальше &ra...

Изучаем VoIP-движок Mediastreamer2. Часть 8 Материал статьи взят с моего дзен-канала. Структура RTP-пакета В прошлой статье мы с помощью TShark выполнили захват RTP-пакетов, которыми обменивались наши приемник и передатчик. Ну а в этой мы раскрасим элементы пакета в разные цвета и поговорим об их назначении. Взглянем...

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

Как защищать процессы и расширения ядра в macOS Привет, Хабр! Сегодня мне хотелось бы поговорить о том, как можно защитить процессы от посягательств злоумышленников в macOS. Например, это полезно для антивируса или системы резервного копирования, особенно в свете того что под macOS существует сразу несколько способов “уби...

Про поиск перспективных джунов и «удалёнку». Опыт руководителя техподдержки Redmadrobot Привет, меня зовут Аня Горбунова, в работе я часто сталкиваюсь с наймом младших специалистов. Поделюсь опытом, как не потерять хорошего кандидата среди большого количества резюме. Плюс немного поговорим про удалённую работу. Читать дальше →

Как писать читаемый код Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020...

Микросервисы: от CRUD до Native Image. Часть вторая Сегодня я продолжу рассуждать о том, как мы пишем микросервисы. В прошлый раз упор был на теорию: нужно было вспомнить, как код писался раньше, понять сущность архитектуры и связи между компонентами. Эта половина статьи сосредоточится на опыте нашей команды BellSoft. По...

Первые шаги VMware: GSX Server и ESX Server Этой небольшой статьей-заметкой мы хотели бы завершить серию публикаций, посвященных истории виртуализации в Enterprise-сегменте рынка. Сегодня поговорим о VMware, компании, которая на сегодняшний день является фактическим законодателем в мире виртуализации. Давайте посмотри...

Заметки Датасатаниста: реляционные vs связанные данные Сегодня мы поговорим о простой, казалось бы, теме, как реляционные и связанные данные. Несмотря на всю ее простоту, замечаю, что иногда люди действительно путаются в них — я решил это исправить, написав краткое и неформальное объяснение, чем они являются и зачем нужны. ...

3D реконструкция лица, или как получить своего цифрового двойника (Часть 1) Поговорим о методах 3D восстановления лица человека, которое почти не отличить от фотографий. Тема лицевой 3D реконструкции вот уже 2 года практически не освещается на Хабре. Тем временем область 3D digital human не только не теряет свою актуальность, но и переживает бурный ...

Заметки Дата Сатаниста: честность модели Один из ключевых фундаментальных принципов обработки данных, согласно GDPR, это право человека на объяснение принятого решения и честность этого решения. И сегодня мы поговорим о том, что же такое честность модели машинного обучения. Картинка взята отсюда И разберем на п...

Карьерный level up: технические интервью и работа в ИТ в 2021 Привет, Хабр! 4 февраля мы проводим онлайн-митап о найме в ИТ. Хотим поделиться с миром результатами исследования об изменениях в ИТ-найме, которое провели наши нанимающие менеджеры из команды департамента разработки ПО КРОК.  Для этого мы проанализировали  по...

[Из песочницы] Сказ о разработке амбициозного проекта 16-ти летним парнем (file547) Итак, приветствую всех, кто читает этот пост, который для меня является первым на этой площадке. Сегодня я расскажу вам о том, как 16-ти летний парень (Moony Games… то есть я!), увлеченный разработкой игр, решил шагнуть на качественно новый уровень и немного помечтать, заодн...

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

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

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

Три года назад нужно было изучать Docker, два года назад — Kubernetes. Сейчас — Serverless Антон Черноусов — developer advocate — пришел в Yandex.Cloud, чтобы заниматься микросервисами, популярными в индустрии Docker и Kubernetes . Но главная его профессиональная страсть — это Serverless. Мы поговорили с Антоном, и он объяснил, почему бессерверные платформы ждет б...

Построение архитектуры социальной среды Вступление Вы все — система, которая так много знает. Вы решаете, что хорошо, а что плохо. Точно так же, вы решаете, что смешно, а что нет. Джокер (Joker) После публикации моей статьи «Социальный Организм — как форма эффективного взаимодействия команды», у меня состоялся ц...

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

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

Ещё одна статья «Как я сдавал PMP». Online. Лайфхаки Привет! Меня зовут, Дмитрий, и я сдал экзамен PMP в 2020 г., онлайн. В своей статье я хочу поделиться субъективным мнением про методику подготовки к экзамену и тех мелочах, которые я хотел бы знать до начала подготовки. Без воды. Статья не содержит неэтичных способов подго...

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

Хаос зависимостей в Python Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell. М...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

[Личный опыт] Еще про работу в Uber в Амстердаме: интервью, рост внутри компании, коммуникации Какие этапы интервью ждут разработчика в Uber? Как расти внутри компании? Как происходит продвижение по грейдам? На вебинаре поговорили с Алиной Коваленко, Software Engineer II в Uber. В прошлой статье она рассказывала про рабочие процессы в компании и переезде в Амстер...

Я твой WAF payload шатал Пару недель назад команда Vulners опубликовала сравнение нескольких популярных WAF. Поймав себя на мысли - "а как оценивать качество его работы?", я решил разобрать подробнее тему security-тестов и критериев оценки Web Application Firewall. Статья пригодится, в первую очеред...

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

Callisto. Зачем мы придумали замену Selenium Grid На Хабре уже не раз писали о том, что у Selenium Grid есть проблемы, которые не решить простым способом (например: раз, два, три). В этой статье мы поделимся нашим опытом и расскажем, как нам в Wrike удалось построить стабильную инфраструктуру для Selenium-тестов.TLDR: Мы на...

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

Ляпы и загогулины. 2 Продолжаю тему ляпов и загогулин, начатую в статье “Ляпы учебников и курьезы учебы”. Напоминаю определения: Ляп – явная или завуалированная ошибка, не носящая, впрочем, фундаментального характера, так что помучившись можно её исправить. Загогулина – фраза, тема, изложенна...

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

5 публикаций, изменивших мир «Чего рассуждать, делать надо!», «Нечего бумагу марать», «Это всё хорошо только на словах» – многим пишущим людям не раз приходилось сталкиваться с таким пренебрежительным отношением к своему труду. А зря. Порой слово – это вполне себе действие, а точнее импульс к тому, чт...

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями п...

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

I want to break free. Обзор беспроводной DECT гарнитуры Snom A170 Доброго дня, коллеги. Прошлой статьей мы завершили цикл обзоров на настольные телефоны, предлагаем теперь поговорить о гарнитурах, предоставляемых нашей компанией. Начнем с модели DECT-гарнитуры Snom A170. Посмотрите краткое видео о гарнитуре и приступайте к чтению! Читать д...

[Перевод] Приложение отвечает: как мы уменьшили количество ANRs в шесть раз. Часть 2, про исправление ошибок В первой части статьи мы поговорили о том, что такое ANR (Application Not Responding), и рассмотрели несколько способов сбора информации об этих ошибках. А сегодня я расскажу о проблемах, которые мы обнаружили в нашем приложении, о том, как мы их исправляли и что из этого в ...

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

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

Выгорание — норма? Часть 1 Почему люди выгорают, как отличить выгорание от усталости, как отловить на ранних стадиях, терминология и нейробиология процесса на пальцах. Первая статья цикла — вводная: разбираемся с терминами и пониманием явления. Вводная часть Выгорание — довольно объемная тема, охватит...

Физические итоги года — 2020 Привет, Хабр! Ушедший год оказался непростым, но тем не менее богатым и на фундаментальные открытия, и на технологические прорывы. Сегодня поговорим о самых запомнившихся результатах. Credit: scitechdaily.com Читать дальше →

Как мы обучили нейросеть генерировать тени на фотографии Привет!В этой статье поговорим о генеративно-состязательных сетях, о том, как научить нейросеть генерировать тени на изображении и какие хитрости можно применить для создания более правильных теней.Ну что, погнали? Читать далее

[Перевод] Как x86_x64 адресует память Сегодня я собираюсь поговорить про адресацию памяти: один, казалось бы, небольшой, и тем не менее удивительно непростой элемент семантики команд архитектуры х86_64. В особенности хочется поговорить про команду mov и то, как через только одну эту команду х86_64 пользователю с...

[Перевод] Введение в обработку изображений в Python при помощи Pillow Бывает такой заходишь на почту и видишь очередную подборку статей, которые никогда не прочитаешь, но тут так сошлись звезды, что и открыл статью, и прочел, и придумал, где на практике пригодится. А теперь хочу поделиться статьей с Хабром, чтобы если кому-то нужен будет прост...

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

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

[Перевод] Почему в InVision затаскивают микросервисы обратно в монолит Прим. перев.: автор этой статьи — Ben Nadel, сооснователь и главный инженер InVision App Inc. Миссию своей команды, поддерживающей серверную инфраструктуру компании, он сам характеризует как «advocate for the users», т.к. её главная цель — гарантировать пользователям InVisio...

Как смотреть WWDC 2020, если ты не разработчик Многим кажется, что WWDC — праздник только для разработчиков, и если ты дизайнер или маркетолог, то тебе там нечего ловить. На самом деле это не совсем так. Действительно, большая часть будет актуальна только разработчикам, но многое будет полезно не только им. В этой стать...

[Перевод] 3 способа рендеринга больших списков в Angular В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков. Это — один из тех случаев, когда «фр...

ERP для собственников. Философское. Часть 1 Привет. Меня зовут Олег и я занимаюсь внедрениями систем управления предприятиями более четверти века.Я решил написать цикл статей на основе материалов моей книжки “ERP для собственников”, которая скоро появится в книжных магазинах.В первой статье я хочу поговорить о главной...

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

Бизнес-план и Бизнес-модель: Курс Создание программного продукта и управление его развитием Привет, Хабр! Продолжая серию публикаций по продуктовому менеджменту, сегодня мы поговорим про бизнес-план и бизнес-модель. Часто бизнес-планирование считают делом бухгалтеров и финансистов, но на практике эти задачи имеют прямое отношение к деятельности менеджера по прод...

[Перевод] Фантаст или пророк? Гиперреалистичная жизнь Чэня Цюфаня Китайская фантастика и ее успехи за границами Поднебесной неразрывно связана с именем Лю Цысиня, однако его творчеством не ограничивается. После того, как «Задача трех тел» стала бестселлером на Западе и завоевала «Хьюго», издатели стали обращать внимание и на других китайск...

[Из песочницы] Основные недостатки языка Python Язык программирования Python славится своей простотой и лаконичностью. Немногословный и понятный синтаксис, похожий на псевдокод, а также сильная динамическая типизация способствуют быстрому и безболезненному обучению новичков. Интерпретатор языка берёт на себя всю низкоуров...

[Перевод] Apple M1 предвещает взлет RISC-V Сейчас стало очевидным, что создание чипа Apple M1 — это примечательное событие. Постепенно становятся ясными последствия для всей отрасли. В этой статье я хочу поговорить о связи с микропроцессорами RISC-V.Для начала небольшая предыстория: почему чип Apple M1 такой быстрый?...

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

Хакеры быстрого приготовления Сертифицированный этичный хакер на зарплате, баунтихантер(не, ну есть же репорт на хакерване, значит – зачет по пункту), ресечер и автор публикаций CVE, гик с брейном, скилованный без фабрики, гений, миллиардер, плейбой, филантроп.Сертификаты: CEH Master,...

[Личный опыт] Как простой парень из Подольска стал Lead Product Designer в Mail.Ru Group? В блоге мы много рассказываем про карьеру программистов. Сравниваем из каких стран лучше работать и что выбрать: российское IT, релокейт или ремоут. И для программиста сценарий переезда кажется вполне понятным и реальным, но как это вы...

Что нужно знать о влиянии новостей на стоимость акций Изображение: Unsplash В последнее время очень часто можно прочитать новости формата «индекс Dow Jones пережил рекордное падение на фоне новостей о распространении коронавируса». При этом, такие статьи в СМИ появлялись регулярно и до того, как тема вируса и общественного з...

«Типичная ошибка — бездумно бенчмаркать всё подряд»: интервью с Андреем Акиньшиным о бенчмаркинге В прошлом году у Андрея Акиньшина (DreamWalker) вышла книга «Pro .NET Benchmarking»: подробнейший труд о бенчмаркинге, полезный как .NET-разработчикам, так и айтишникам других направлений. Когда до её выхода оставалась пара месяцев, мы проводили конференцию DotNext 2019 ...

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

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

Еще раз про многомодульность Android-приложений Разбивка монолитного Android-приложения на модули не нова, и такой способ организации кода встречается все чаще. Мы уже затрагивали эту тему на встрече, посвященной лучшим практикам работы с модулями среди коллег. Собрали этот опыт, опробовали на нашем проекте и хотим подели...

[Перевод] Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play...

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

Ищем максимальную разницу между соседями. User-friendly-разбор задачи по алгоритмам Привет, Хабр! Давайте поговорим про алгоритмы. Новички часто воспринимают их как что-то тяжёлое, сложное и непонятное, и отчасти это правда, но алгоритмы — это базис. А чем лучше вы знаете базис своей специальности, тем с большей вероятностью преуспеете в ней. Сегодня м...

[Из песочницы] Вы разрабатываете эффективные или антихрупкие системы? Давайте поговорим о high-load, high-extensible, ООП, DDD & EDA. Речь пойдет о разнице между high load & high extensibility — это разные цели и задачи. Для которых нужны принципиально разные подходы. Которые часто вызывают когнитивный диссонанс среди программистов, пр...

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

Оптические чипы в чашке Петри и квантовые сети — магистратура мегафакультета фотоники ИТМО Сегодня мы расскажем, что изучают магистры и чем занимаются выпускники факультета. Также поговорим об их знаковых работах вроде гиперболических плазмон-поляритонов. Читать дальше →

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

Визуализация данных в интерфейсе Меня зовут Илона, я Senior Experience Designer в EPAM. Я проектирую сложные интерфейсы для зарубежных заказчиков, выступаю с докладами, менторю дизайнеров. В свободное время преподаю проектирование интерфейсов в магистратуре Университета ИТМО и веду Телеграм-канал о UX-...

Как переиспользовать код с бандлами Symfony 5? Часть 7. Релизный цикл, установка и обновление Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Логи в Kubernetes (и не только) сегодня: ожидания и реальность Шёл 2019 год, а у нас всё ещё нет стандартного решения для агрегации логов в Kubernetes. В этой статье мы хотели бы, используя примеры из реальной практики, поделиться своими поисками, встречаемыми проблемами и их решениями. Однако для начала оговорюсь, что разные заказчи...

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

Защищаем Huawei Honor 8A Pro от царапин Достаточно часто нас спрашивают о том, какой чехол для Huawei Honor 8A Pro / Prime стоит приобрести, чтобы устройство было максимально защищено от различных ударов, царапин и сколов. Ответить на этот вопрос достаточно легко, но стоит понимать, что далеко не каждый пользовате...

Мониторинг кластера Kubernetes: общий обзор и знакомство с Prometheus Рассмотрим концепцию мониторинга Kubernetes, познакомимся с инструментом Prometheus, поговорим про алёртинг. Тема мониторинга объёмная, за одну статью её не разобрать. Цель этого текста — дать обзорное представление по инструментарию, концепциям и подходам. Материал статьи —...

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

[recovery mode] Как я участвовал в IOCCC-'19 (и проиграл). Часть 1: «Крестики-нолики» Нас с детства учили, что хороший, качественный код должен хорошо читаться, быть семантически и алгоритмически понятным. Все ругают программистов, которые пишут непонятный или переусложенный код. Но что, если провести конкурс, в котором критерий «хорошести» кода будет переве...

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

[Перевод] Трассировщик лучей с нуля за 100 строчек Python В этом посте мы заглянем под капот алгоритмов компьютерной графики, пошагово разберем основные принципы трассировки лучей и напишем ее простую реализацию на Python. Никаких сторонних графических библиотек — только NumPy и голый код в компиляторе.Примечание: Эта статья ни в к...

Особенности национальной интеграции с платёжными системами Электронная коммерция стала трендом 2020 года. Крупные игроки рынка начали активно развивать сервисы доставки продуктов и готовых блюд. Как грибы после дождя выросли новые маркетплейсы. Даже те, кто был далёк от интернета и технологий, вынужденно погрузились в тему дистанцио...

Почему мои коллеги/сотрудники ведут себя как @%§? Не за горами очередной старт курса для руководителей разработки «Team Lead 2.0». В связи с этим мы провели открытый урок под названием «Почему мои коллеги/сотрудники ведут себя как @%§?». На вебинаре поговорили о том, что заставляет людей вести себя некорректно, почему люди ...

Почему 97% программистов 1С мало платят и так будет всегда Внимание: статья — про программистов 1С, соответственно — не про вас. Считайте, что про вомбатов, и для вомбатов (погуглите, это интересные животные). У них есть проблемы, схожие с вашими. Вопрос зарплаты и её повышения волнует большинство работающих людей, которых я встреч...

Ставим и тестим RTX Voice на видеокартах Nvidia GTX серии Привет, Хабр, давненько не виделись! Сегодня я бы хотел поделиться с Вами небольшим, да и чего уж там, простым способом установки RTX Voice на Nvidia GTX 10XX и 16XX видеокарты. А заодно и проверить, действительно ли RTX Voice так хорош? Справедливости ради стоит добавить...

Чудо-скалка своими руками Привет Форумчане, 3D Totay`цы, читатели и моделеры. Поговорим о вкусном и как работу ЧПУ станка выполнить на 3D принтере, а именно сделать пресс для печенья. (ссылка для тех, кому лень читать https://youtu.be/eY5SlGnrjV8)Перекопав целую кучу российских и китайский сайтов на...

Lagniappe — это такое луизианское словечко, которое сделает ваших юзеров\клиентов\покупателей чуточку счастливее В отличие от большинства отечественных IT-эмигрантов, моим первым домом в Америке стала ни Калифорния и ни Нью-Йорк. В этой статье я поделюсь простым уроком, который я усвоил на всю жизнь благодаря солнечной Луизиане, известной своей кухней, новоорлеанским джаззом, сумасше...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Android + Redux = <3 Привет! Меня зовут Виталий Сулимов, я Android-разработчик в компании Wheely, и сегодня я бы хотел поговорить с вами об архитектуре мобильных приложений. А именно о том, как мы в компании применили Redux-архитектуру к двум нашим приложениям и что из этого вышло. Дисклеймер #1...

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

Основы Bash-скриптинга для непрограммистов. Часть 3 Во второй части статьи мы обсудили файлы скриптов, их параметры и права доступа. Также поговорили про операторы условного выполнения, выбора и циклы. В этой, заключительной части мы рассмотрим функции и планировщик заданий cron. Также приведу различные полезные команды и ссы...

Поточный шифр SNOW Зима. Время валяться в сугробах и играть в снежки. Или почитать статью о поточных шифрах. Кому что больше нравится.Данная статья является обзорной. Мы поговорим об устройстве 1 версии SNOW 1.0, вкратце об различных совершенных на шифр атаках и об применении его модификаций. ...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

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

[Перевод] Как эффективно применять React Context В статье Как управлять состоянием React приложения без сторонних библиотек, я писал о том как сочетание локального состояния и контекста (React Context) поможет вам упростить управление состоянием при разработке приложения. В этой статье я продолжу эту тему - мы поговор...

Победа над nRF24L01: на три шага ближе Многие испытывают трудности при соединении по эфиру радиомодулей nRF24L01. Об этом свидетельствует тема на форуме Амперки, открытая в конце 2014г. За пять с небольшим лет в теме накопилось более 120(!) страниц. Это при том, что автор темы не просто обозначил проблему, а под...

Технические особенности онлайн-выступления: Starter Pack Недавно руководитель Роспотребнадзора назвала ограничение, которое будет отменено последним, — это будет отмена запрета на массовые мероприятия. Онлайн с нами надолго! Значит, начнём готовиться и поговорим сегодня о техническом обеспечении онлайн-выступления. На наших конфе...

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

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

Типизация данных улучшает видимость сети Чтобы справиться с сетевыми проблемами, связанными с применением унаследованного оборудования, организации все чаще задействуют платформы мониторинга и диагностики производительности сети (network performance monitoring and diagnostic ...

[Перевод] Android Bluetooth Low Energy (BLE) – готовим правильно, часть #3 (read/write) Часть #1 (scanning)Часть #2 (connecting/disconnecting)Часть #3 (read/write), вы здесьВ предыдущей статье мы подробно поговорили о подключении/отключении BLE устройств. Эта статья о чтении и записи характеристик, а также о включении-выключен...

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

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

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

Работа и карьера геймдизайнера. Часть 3. Сложный выбор: инди или крупная компания В первом статье «Работа и карьера геймдизайнера. Часть 1. Что за зверь и с чем его едят?» Константин Сахнов рассказал, как геймдизайнеров видят HR и CEO — и в чём заключается разница, работать на какую вселенскую корпорацию добра или в маленькой уютной инди-студии. Во второ...

[Из песочницы] Перепрошивка ограничивающих убеждений. Для чего и что это дает Заложенные в наш мозг убеждения порой могут мешать и становится неким камнем преткновения на пути к реализации задуманного. Поговорим о том, как это происходит с позиции мыслительных процессов. Сейчас это особенно актуальная тема. Все больше и больше создается новых програ...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

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

Как дешево переехать в Европу Почти 6 лет назад я закончил магистратуру в одном из ведущих швейцарских университетов - UNIL. После 3 лет жизни в Швейцарии я решил вернуться в Россию. Нашел высокооплачиваемую работу математиком в хедж фонде, но где-то внутри моего подсознания постоянно были мысли о переез...

Сага о мобильном дизайне, часть 2 С вами снова Максим Никитин, арт-директор ТехноФабрики с сагой о мобильном дизайне. Переходим ко второй части, где позанудствуем на тему удобстваа, внимания, опыта, привычек и прочих скучных вещей. UI/UX. При разработке любого мобильного дизайна все крутится вокруг этих...

Агрегаты в БД — прокси-таблицы Мы заканчиваем мини-серию статей о работе с агрегатами в PostgreSQL:- зачем, как, а стоит ли?- эффективная обработка потока «фактов»- многомерные суперагрегатыИ сегодня поговорим о том, как можно снизить суммарные задержки на вставку множества изменений в таблицы агрегатов з...

Адаптивный или отзывчивый? Разбираем структуру React-компонентов В этой статье мы разберёмся, в чем сложность написания адаптивных компонентов, поговорим о code-splitting-е, рассмотрим несколько способов организации структуры кода, оценим их достоинства и недостатки и попытаемся выбрать лучший из них (но это не точно). Читать дальше &ra...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

Desktop. Не популярный, но все еще живой. Eclipse Rich Client Platform (RCP e4) Всем доброго времени суток. Начнем. Во время своего обучения этой технологии я столкнулся с проблемой, что на весь интернет есть только один нормальный источник информации по этой теме (Lars Vogel). А в нем все написано профи для профи. Поверхностно, без деталей. ...

Сейчас я буду убеждать вас использовать статический анализ в PHP Я помню выход PHP7: появились strict types, скалярные type hint-ы. Мы начали двигаться в сторону языка со статической типизацией, но типизация не ушла в статику. Концептуально все осталась прежним — мы запускаем программу и только в runtime узнаем, что где-то есть неправ...

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

Разработчики Perekrestok.ru. Что мы делаем и кого ищем в команды Сегодня мы хотим поговорить о найме людей в IT-команды онлайн-супермаркета Perekrestok.ru и о том, как устроена наша работа «внутри». Ритейл – отрасль со своей интересной спецификой, а сейчас в том числе и от нашей работы зависит, будут ли тысячи людей каждый день обеспечены...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

О репозиториях замолвите слово В последнее время на хабре, и не только, можно наблюдать интерес GO сообщества к луковой/чистой архитектуре, энтерпрайз паттернам и прочему DDD. Читая статьи на данную тему и разбирая примеры кода, постоянно замечаю один момент — когда дело доходит до хранения сущностей пре...

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

Zynq. Передача данных между процессорным модулем и программируемой логикой Как и обещал в предыдущей статье (Что такое Zynq? Краткий обзор), поговорим о передаче данных между процессорным модулем и программируемой логикой. В предыдущей статье упоминалось четыре способа передачи данных, в статье будут рассмотрены два способа, которые нашли большее п...

[Перевод] Итак, вы хотите оптимизировать gRPC. Часть 1 Часто возникает вопрос о том, как ускорить gRPC. gRPC позволяет реализовать высокопроизводительный RPC, но не всегда понятно как достичь этого быстродействия. И я решил попытаться показать ход своих мыслей при оптимизации программ.Рассмотрим простой сервис "ключ-значение", к...

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

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

Как устроена графика в Linux: обзор различных сред оформления рабочего стола Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов.  Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья...

Расшифровка CAN шины на VW Polo sedan Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе. В статье описаны методики поиска нужных данных в CAN шине автомобиля...

Рекламные баннеры Ростелекома и как с ними бороться Многим уже известно, что Ростелеком при поддержке Mail.ru начал внедрение своих рекламных баннеров на сайтах не защищённых протоколом HTTPS. Защититься от их появления на своём сайте можно переводом его на HTTPS. Но что делать, если у вас нет такой возможности или для вас ...

Малоизвестные факты о штрихкодах — загадочные цифры под штрихкодом Число зверя, штрихи смерти — насколько все это реально? Можно ли зашить в штрихкод видеоролик или фото голой Эммы Уотсон? Бывают ли “неправильные штрихкоды”, и что вообще значит “неправильный штрихкод”? В “Клеверенсе” мы разрабатываем платформу Mobile SMARTS для создания мо...

Функциональное программирование на TypeScript: Option и Either Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» В предыдущей статье мы рассмотрели понятие класса типов (type class) и бегло познакомились с классами типов «функтор», «монада», «моноид». В этой статье я обещал подойти к идее алгебраических...

[Перевод] Связь между C# и C#: REST, gRPC и все, что между Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняш...

Сели и пишем, или что можно сделать с коварством эффекта Даннинга-Крюгера Сегодня среди компаний, чей бизнес плотно завязан на ИТ, наверное, только ленивый не слышал про трансформацию, «agile-изацию» и прочие процессы повышения прозрачности и эффективности разработки. Многие попробовали различные методологии на себе – и что-то из этого получили, с...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Нам и тут хорошо. Как мы наносим Йошкар-Олу на IT-карту России Всем привет! В этой статье хочу поделиться своим опытом развития IT-движухи в Йошкар-Оле и дать советы, которые помогут вам начать развивать сообщество разработчиков в вашем городе. Читать далее

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

Неочевидные факты о коллекциях в Magento 2 Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Сегодня мы рассмотрим коллекции в Magento 2 (далее — M2). Несмотря на кажущуюся простоту реализации и интуитивно понятное назначение, эта сущность таит в себе несколько неочевидных подводных камней, которые влияют на...

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

Найден способ избавления от комплексов по поводу внешности В мире очень мало людей, которые полностью довольны своей внешностью. Если верить статистике, в России живет 70% женщин и 63% мужчин, которые уверены в некрасивости своего лица и тела. Но ученые из испанского города Барселона уверены, что избавиться от комплексов можно, про...

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

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

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Быть тимлидом, ч.1: Люди Всем привет. Меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлик. О роли тимлида сказано и написано много: бесконечное число книг, технических и не очень, тренинги, конференции, каналы и прочее. Проблема в том, что ни одна книга не даёт рецепта «серебрян...

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580 На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как миним...

[Из песочницы] О безопасности в сети Эта статья была написана несколько лет назад, когда блокировка мессенджера Telegram активно обсуждалась сообществом и содержит мои мысли на этот счет. И хотя сегодня эта тема уже почти забыта, я надеюсь что, возможно, это все еще будет кому-то интересно Этот текст появился ...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

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

Первые вакцины от COVID-19. Сравнение российской «Спутник V» и BNT162b2 от Pfizer Девятого ноября американский фармацевтический гигант — Pfizer объявил об успешном завершении третьей фазы клинических испытаний вакцины BNT162b2 против нового коронавируса, и полученных результатах в 90% эффективности.Любопытно, что спустя всего 2 дня после пресс-релиза Pfiz...

20 SEO-мифов, которые должны умереть в 2020 Хабр читают не только разработчики, и не только люди связанные с IT, некоторые из моих клиентов иногда кидали мне ссылки на Хабр, и среди них были такие, которые совсем далеки от IT. Поэтому в этой статье будет максимально простым языком объясняться некоторые аспекты SEO. К ...

Новая работа vs Карантин Менять работу всегда волнительно, но каково выходить на новое место во время пандемии? Герои этой статьи — новички DINS, которые присоединились к команде в период самоизоляции. Они рассказывают о своих опасениях, удаленном онбординге и делятся мнением по поводу перехода на ...

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

Бизнес-модель Остервальдера: что это такое? Стратегическое планирование важно для каждого бизнеса. Один из самых популярных инструментов — бизнес-модель Остервальдера. Он простой и эффективный, подходит как для развивающихся, так и уже давно работающих компаний. В этой статье поговорим о истории появления модели и под...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

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

Теорема Прота Теорема Прота – это детерминированный тест на простоту с полиномиальным временем. Иначе говоря, он даёт гарантированно точный ответ, простое ли исследуемое число или нет, и время его работы ограничено сверху многочленом от размера входа алгоритма. Читать далее

[Перевод] Видеодомофон, основанный на Raspberry Pi Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться рассказом о создании видеодомофона, основанного на Raspberry Pi 3. Устройство работает в паре с iOS-телефоном, отправляя на него Push-уведомления когда кто-то нажимает на кнопку домофона. Система позволяет ...

[Из песочницы] Немного размышлений на тему модульного css и проблемы поддержки кода В чем заключается вопрос? Всем привет, сегодня я хочу поделиться с вами личным опытом написания стилей или проще говоря выложить свое видение на проблему написания css для сайтов. Казалось бы в век развития технологий, когда каждый день мы сталкиваемся с новыми и новыми фр...

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

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

Open-source Antifraud от RBKmoney — на пути к идеалу Привет! Не так давно мы писали в нашем блоге про антифрод и его устройство. В этом посте я хотел бы затронуть критерии идеального антифрода, который бы и клиентам жизнь упрощал, не блокируя платежи и при этом защищая их средства, и платежной системе время и ресурсы экономил...

Рецепт обучения нейросетей Несколько недель назад я опубликовал твит на тему «частые ошибки с нейросетями», перечислив несколько общих ошибок принадлежащих к обучению нейронных сетей. Твит получил несколько больше взаимодействий чем я ожидал (включая целый вебинар :)). Действительно, многие заметили б...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Я бы в продакты пошел: четыре истории о том, как product- мышление помогает в работе Данные — новая нефть: они повсюду и, разумеется, обязывают считаться с ними в принятии решений. Продакты — профессионалы data-based менеджмента: они проверяют гипотезы, проводят качественные и количественные исследования, вводят UX-метрики и думают в сторону масштабирования....

Почему я выбираю Linux? По сути и без клише… Большое вступление Всем привет. В данном материале хочу с вами поделиться мыслями по теме выбора Linux для […]

Устройство CPython. Доклад Яндекса Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython. — Если кратко, какой у нас будет план? Сначала мы поговорим о том, поч...

4. Фишинг в 2020. Пример атаки и обзор решений в мире В рамках заключительной статьи цикла  “Борьба с фишингом” для уходящего 2020 года хотелось бы провести некоторый дайджест и поговорить о популярных решениях по оценкам мирового сообщества. Для тех, кто пропустил предыдущие части, ниже оставлены уже написанные ранее мате...

[Перевод] Структурные шаблоны проектирования в ES6+ на примере Игры престолов Доброго времени суток, друзья! Структурные шаблоны проектирования используются для построения больших систем отношений между объектами с целью сохранения гибкости и эффективности. Давайте рассмотрим некоторые из них с отсылками на Игру престолов. В разработке программног...

Nodens: создание лавкрафтианского робота для мультиплеерного шутера от идеи до релиза Привет! В этой статье я разберу частный кейс создания контента для мобильной игры — как мы делаем это в Pixonic. От поиска идей до появления персонажа в игре — обо всех этих этапах и сложностях, возникших на них, мы поговорим подробно. Если ты — начинающий гейм-дизайнер...

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

Какого цвета металлургия? - Папа, это красная смородина? - Нет, черная.- А почему она белая?- Потому что еще зеленая.Начнем с простого. Цветная металлургия включает в себя все металлы и сплавы, которые не содержат железа или в которых железо не является главным компонентом. Золотые медальоны, зн...

11 факапов PRO-уровня при внедрении Kubernetes и как их избежать Я, Дмитрий Лазаренко, руковожу командой, создающей и внедряющей собственный Kubernetes aaS на платформе Mail.ru Cloud Solutions. Давно работая с внедрением Kubernetes, мы часто сталкиваемся с недопониманием нюансов этой технологии. Хочу рассказать о типичных стратегических п...

Проект arataga: реальный пример использования SObjectizer и RESTinio для работы с большим количеством HTTP-соединений В последние 4.5 года я много рассказывал на Хабре про такие OpenSource проекты, как SObjectizer и RESTinio. Но вот об использовании SObjectizer и/или RESTinio в реальных проектах пока еще ни разу не удавалось поговорить (была лишь одна статья от стороннего автора).Причина пр...

[Из песочницы] Как переиспользовать код с бандлами Symfony 5? Часть 1. Минимальный бандл Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Еще один способ установки и использования Docker в Windows 10 В этой статье мы подготовим окружение для запуска контейнеров в Windows 10 и создадим простое контейнеризированное приложение .NET Читать далее

Сочиняя ПО: Введение Эта статья - часть серии статей "Составляя ПО" про функциональное программирование и различные техники создания программ на JavaScript ES6+, начиная с азов. Оставайтесь на связи, много нового впереди! Композиция: "Действие, заключающееся в составлении единого целого из часте...

Как отличать объекты друг от друга и при чем тут хеш-функции Привет! Я возглавляю направление R&D в компании «ЛАНИТ – Би Пи Эм», которая  специализируется на автоматизации бизнес-процессов. Мы исследуем тренды, готовим образовательные программы для технических сотрудников, ведем собственную продуктовую разработку. Наши наработки у...

Мне кажется, дело не в языке, а в том, как на нем пишут «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребята без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновивши...

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

Моделирование дома в SketchUp и перенос его в Unity 3D На прошлом уроке мы затронули тему самостоятельного создания объектов для игр. В т.ч. была упомянута программа SketchUp, которую мы часто использовали, для создания простых строений. Сегодня, мы создадим здание в SketchUp и перенесем его в Unity. Читать далее

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

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

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

iOS 14 глазами параноика. Как Apple защищает приватность пользователей в новой версии iOS Для подписчиковВпервые за долгое время свежая версия iOS вышла «сама по себе», независимо от нового поколения iPhone. В этой статье мы поговорим о том, что было сделано программистами Apple для защиты частной жизни пользователей, а также о том, что было анонсировано в ранних...

Предвзятый и субъективный взгляд на резюме разработчика Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет. В этой статье мы поговорим о том, как разработчики создают резюме. Я расскажу о том, что меня, как интервьюера, мотивировало и вооду...

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

Новая тема Ubuntu для MIUI 11 удивила всех фанов Продолжаем рассматривать темы для смартфонов Xiaomi с прошивкой MIUI 11. На этот раз поговорим о новинке дизайнера Bruno Cortez. Его тема называется Ubuntu MIUI Theme.

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

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

[Перевод] C# 8 и null-допустимость. Как нам с этим жить Здравствуйте, коллеги! Пришло время упомянуть, что у нас в планах — выпуск фундаментальной книги Иэна Гриффитса по C#8: Тем временем, в своем блоге автор опубликовал две взаимосвязанные статьи, в которых рассматривает тонкости таких новых явлений, как «nullability», «null-...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 2) Это вторая часть расшифровки доклада Ивана Углянского (dbg_nsk) с JPoint 2020, посвященного связи Java с нативным кодом. В прошлой части мы поговорили про традиционный способ связи — через Java Native Interface (JNI), рассмотрели специфичные ему проблемы и оценили производи...

Сколько CPU и RAM вам нужно, чтобы сделать бекап? Помните, как во второй половине 90-х один известный тогда профессор хрипло пел “Бегут года, и грусть, печаль в твоих глазах, а я не знаю что тебе сказать”. Так вот, года действительно бегут, а грусть-печаль в глазах из-за того, что гонка технологий уже достигла таких скорост...

[Перевод - recovery mode ] История возникновения CUPID (критика SOLID) На прошлом виртуальном митапе Extreme Tuesday Club мы обсуждали, не устарели ли SOLID принципы. Не так давно я толкнул шутливую речь на эту тему, так что один из организаторов митапа спросил у меня - раз я несогласен с SOLID, чем бы я его заменил. Так получилось, что я уже д...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

Business Intelligence на больших данных — наш опыт интеграции В вопросах производительности BI обычно приходится искать компромисс между скоростью работы аналитики и объемами данных, над которыми она реализована. Впрочем, существуют способы “убить двух зайцев” сразу, и сегодня я хочу поделиться нашим опытом интеграции Visiology с платф...

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

Программные IP-АТС, E1, DSS-1 и нагрузочное тестирование Всем доброго вечера! Сегодня я решил написать про тестирование протокола DSS-1 в IP-АТС, начнем как всегда с теории, рассмотрим преобразования сообщений из SIP в DSS-1, поговорим про анализаторы протоколов и закончим нагрузочным тестированием. Читать дальше →

Про сильную матрицу и атмосферу в команде разработки Привет, Хабр. Сегодня хотим поделиться с вами интервью с руководителем команды разработки одного из новых продуктов ABBYY. Мы поговорили с ним про найм, принципы построения команды, развитие разработчиков, систему грейдов и другие околопроцессные вещи, которые так или иначе ...

Как работают подсказки в Chromium и что мы сделали с ними в Яндекс.Браузере Давненько я ничего не рассказывал о Яндекс.Браузере, а ведь интерес к нему на Хабре был нешуточный. Пора исправляться. Сегодня хочу поднять тему подсказок в адресной строке. Задумайтесь, сколько раз в день вы вводите что-то в строку своего браузера. Вы набираете слово на к...

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с о...

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

[Перевод] Абстракции в глазах смотрящего Один из самых часто встречающихся мне споров — спор о выборе нужного уровня абстракции при кодинге. Граница между перегруженностью и ненужной многословностью очень размыта, она стала одним из причин бесконечных дебатов. К сожалению, маловероятно, что эти споры будут когда-...

[Перевод] Java и базы данных: обзор библиотек и API Каждый раз при необходимости взаимодействия с базами данных появляются три вопроса: - Какой подход использовать при разработке: java-first или database-first? Писать сначала Java-классы или SQL-запросы? Будет ли использоваться уже существующая база данных? - Каким способом в...

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

«Если уже слили»: как сделать документооборот чуточку безопаснее — базовые ИБ-рекомендации Ранее мы обсуждали неочевидные моменты, связанные с ротацией парольных фраз и персональной ИБ. Сегодня продолжим тему, но поговорим о работе с файлами, а именно о том, как вычислить, кто «слил» конфиденциальную информацию по метаданным и защитить документы компании. Читать д...

Фоторамка на Flutter своими руками Привет! Меня зовут Игорь, я работаю Frontend-директором в компании Wrike. В этой статье хочу поделиться историей создания моего пет-проекта и рассказать, как я сделал электронную фоторамку и написал для нее софт на Flutter, столкнувшись по пути со всеми возможными сложностям...

Delphi 7 на костылях: автоматизация подготовки ресурсов О костылях и велосипедах, неотъемлемой части современной некромантии.Эпиграф: «Пусть это вдохновит Вас на подвиг!» (Бел Кауфман, «Вверх по лестнице, ведущей вниз»).Это история интеграции в процесс разработки одного единственного решения. Решение доведено до конечного результ...

Как переиспользовать код с бандлами Symfony 5? Часть 5. Конфигурация Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

о Redux архитектуре во Flutter приложениях Не так давно вышла статья о чистой архитектуре во Flutter. Хочу осветить тему немного под другим углом и развить тему управления глобальным состоянием с помощью Redux. Читать далее

[Перевод] Почему никогда не стоит использовать Proof of Concept в продакшене Никогда не встречал разработчика, не любящего создавать всевозможные proof of concept (POC). Возможность построить что-то новое с нуля, чтобы протестировать теорию/процесс/технологию… Сама мысль об этом вдохновляет меня. Есть в них что-то, что стимулирует наше творческое ...

Vue для самых маленьких a.k.a небольшой блог по всем канонам Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером. Читать дальше →

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

Что самое удивительное во Вселенной? Поговорим об удивительном свойстве фундаментальных законов физики.

Как вернуться в прошлое и прожить заново? Как изменить событие в прошлом? Что такое время? Громкий заголовок статьи, конечно, не означает, что в ней будут прямо даны способы это сделать. Пардон, если дал ложные надежды. Эта статья - один из первых шагов к пониманию сути времени и вариантам управления им (конечно, имеется в виду не тайм-менеджмент) с уклоном на пра...

[Перевод] Кунг-фу стиля Linux: запуск команд Одна из особенностей Linux- и Unix-подобных операционных систем, возможность мощная, но, в то же время, вызывающая немало путаницы, заключается в том, что в этих системах до одной и той же цели можно добраться разными путями. Возьмём, например, что-то простое, вроде запуска ...

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

Автоматизация рутины в DotA 2 или читы? Привет, в этой статье будут рассматриваться легальные способы получить преимущество перед противником с помощью таких простых средств, как NodeJS, Electron и React, при этом обходя бан стороной. На эксперименты меня вдохновила другая статья Визуализация времени возрождения Р...

Современная инфраструктура: проблемы и перспективы В конце мая мы провели онлайн-митап на тему «Современная инфраструктура и контейнеры: проблемы и перспективы». Поговорили о контейнерах, Kubernetes и оркестрации в принципе, о критериях выбора инфраструктуры и многом другом. Участники поделились кейсами из собственной прак...

[Перевод] 5 приемов и хитростей для работы с SSH и кое-что еще В этой статье мы поговорим о полезных приемах и командах при работе с SSH. А именно: Как использовать двухфакторную аутентификацию для SSH-подключений. Безопасное использование «проброса ключа» (agent forwarding). Завершение зависшей сессии. Оставляем терминал открытым пр...

Последние новости о сделке по покупке TikTok: чего хотят покупатели, влияние властей Китая и США Сделка по покупке корпорацией Microsoft американской части бизнеса соцсети TikTok стала одной из главных саг последнего месяца. На протяжении всего времени переговоров с владеющей сервисом китайской компанией ByteDance серьезное влияние на их ход оказывали высказывания прези...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

Хотите поговорить об этом? О чем клиенты Сбера просят виртуальных ассистентов Сбербанк РФ обнародовал данные о работе семейства своих AI-ассистентов, заработавших в последних числах сентября 2020 г. За полгода своей работы они не только собрали внушительную аудиторию пользователей услуги денежных переводов, но и обрабатывают самые различные гол...

DI в iOS: Complete guide Всем привет, меня зовут Виталий, я iOS-разработчик в юните мессенджера в Тинькофф. Сегодня поговорим о том, что такое DI, зачем он нужен, рассмотрим известные библиотеки для DI и сравним их между собой. Поехали! Читать далее

Извлечь максимум из новостей в интернете, часть 1 Навеяно статьей Почему я по-прежнему пользуюсь RSSЯ сам очень активно использую формат новостей, чем и хотел бы поделиться с сообществом. Читать далее

Новая тема Global Version 11 Plus для MIUI 11 порадовала фанов ярким дизайном Вчера мы писали о теме Global Version 11 для смартфонов Xiaomi с прошивкой MIUI. Сегодня поговорим ещё об одном труде дизайнера color. Называется тема Global Version 11 Plus.

[Из песочницы] Вступление в работу с возвратом пользователя: советы для Hooked-модели Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату. Читать дальше &...

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

Первое впечатление от концептов Решил разобраться с новой возможностью С++20 — концептами. Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало. По сути это типизация для аргументов шаблонов. Основная проблема шаблонов до С++20 — в них мо...

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

[Перевод] Концепции nginx, о которых мне хотелось бы знать много лет назад Nginx — это веб-сервер, в котором используется архитектура «Master-Slave». В nginx имеются обратный прокси-сервер, балансировщик нагрузки, почтовый прокси-сервер и HTTP-кеш. Определение это сложное, полное специальных терминов. Если вы тоже так думаете — значит, эта статья ...

Обзор CMS DRUPAL 9 В этой статье я решил поговорить о создании сайтов на базе CMS Drupal. Работаю я с этой системой давно и считаю ее одной из лучших среди существующих «движков» сайтов. За исключением случаев, когда действительно необходимы какие-то узкоспециализированные решения эту CMS я р...

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

Javascript фреймворк разработки бизнес приложений Мысль о своем фреймворке зародилась когда я еще активно работал с 1С. Хотелось иметь простую и открытую платформу для создания несложных бизнес приложений (простые системы учета, CRM и прочие).Не раз искал open source решения, но ничего подходящего не находил. Весной 2011-г...

[Личный опыт] Удалёнка и жизнь на Пхукете: вечное лето и европейский сервис по азиатским ценам Остров Пхукет в Таиланде — настоящий тропический рай с вечным летом, теплым морем и фруктами круглый год. Фрилансеры и удаленщики часто уезжают сюда на зимовку, но это не единственный доступный сценарий. Мы поговорили с Олего...

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

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

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

[Перевод] 8 наиболее распространенных структур данных в JavaScript Звучит ли это знакомо: «Я начал заниматься веб разработкой после прохождения курсов»? Возможно, вы хотите улучшить свои знания основ информатики в части структур данных и алгоритмов. Сегодня мы поговорим о некоторых наиболее распространенных структурах данных на примере J...

Партнерские отношения и продажа продукта: Курс «Создание программного продукта и управление его развитием" Привет, Хабр! Сегодня в продолжение темы продакт-менеджмента мы поговорим о выстраивании партнерских отношений, поиске каналов и, конечно, о святая святых любого бизнеса — о продажах. В этом посте вы найдете информацию о работе с дистрибьюторами, выстраивании стратегии прода...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

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

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

Основы программирования смарт-контрактов TON (FreeTON) Перед тем как мы начнем писать свой токен, а затем систему смарт-контрактов, давайте проведем краткий обзор важных элементов смарт-контрактов для FreeTON. Читать далее

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

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

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

[Перевод] Окей, Гугл, опубликуй свои секретные ключи DKIM Интернет даже в лучшие свои годы был опасным местом. Иногда архитекторы Интернета находили способы снижения угроз, иногда терпели неудачу. Однако постоянно повторяется ситуация, когда крупная Интернет-компания находит решение, которое на самом деле ухудшает ситуацию почти ...

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

Почему у вас слишком мало друзей: 11 причин Есть ощущение, что не с кем поговорить по душам? В день рождения вас поздравляют только автоматические рассылки по почте? Похоже, вы как-то незаметно растеряли своих приятелей. Что не так? Объясняет психолог и психотерапевт Эми Морин.   1. Вы постоянно жалуетесь Едва вс...

Что не так с интерфейсами SCADA-систем В этой статье хочу рассказать и поделиться своим мнением насчет пользовательских интерфейсов scada-систем и систем диспетчеризации в целом. Основная направленность нашей работы — разработка комплексных систем диспетчеризации инженерных и технических коммуникаций. Проще говор...

На Moscow Python Conf++ приходите поговорить с разработчиками языка Мы строили-строили, и наконец построили: расписание Moscow Python Conf++ собрано, проверено, перепроверено и опубликовано. Не то чтобы работа Программного комитета на этом заканчивалась (за два-то месяца до конференции, ну-ну), но 10 месяцев явно потрачено не зря, и я с нете...

[Из песочницы] IT: Уйти и не вернуться Раньше очень много писали о тренде «войти в IT». Похоже, сейчас набирает обороты обратная тенденция. Все чаще в последнее время можно встретить статьи на тему ухода из IT. В них вполне успешные люди описывают свой опыт и называю причины, по которым они хотят покинуть эту «с...

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

Бог из машины: конвертировать лиды, проверить акварели. МО-кейсы GetCourse Привет, Хабр! Мы – GetCourse, SaaS-платформа для онлайн-школ. В прошлом посте мы поговорили об устройстве онлайн-школ. Сегодня хотим затронуть технический аспект нашей работы и рассказать о задачах, которые перед собой ставим и считаем достаточно сложными. Нам повезло работ...

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

Шесть степеней свободы: 3D object detection и не только В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже - с 3D объектами. Из-за этого многие ML инженеры чувствуют себя неуверенно в этой области: много незнакомых слов, непонятно, куда тут применить старых друзей Resnet и Unet. Поэтому...

[Из песочницы] Субъективный обзор некоторых российских бесплатных образовательных платформ      «Expose the lies that enrage me» (с) Arch Enemy Случается, закончил человек не самый плохой ВУЗ, работает себе без особых проблем, но вокруг постоянно появляется что-то новое, неизведанное и хочется не отстать… А бывает, студент ощущает, что с его ВУЗом что-то не то, ...

Герб Саттер о будущем С++, работе в комитете, фонде C++ Foundation и синтаксическом сахаре Герба Саттера (Herb Sutter) знает любой программист, пишущий на C++. Он автор книг, председатель комитета по стандартизации C++, а также архитектор языка программирования в Microsoft. На C++ Russia 2020 Moscow Герб ответил на вопросы сообщества, заданные Анастасией Казаково...

15 причин подключения приборов учета к системе диспетчеризации потребления энергоресурсов, личное мнение (IoT провайдер) Учет и контроль — вот главная экономическая задача каждого Совета рабочих, солдатских и крестьянских депутатов, каждого потребительного общества, каждого союза или комитета снабжения, каждого фабрично-заводского комитета или органа рабочего контроля вообще.В. И. ЛенинУжаснул...

Кто такой продакт-менеджер? Популярность специальности product manager за последние 3 года выросла в несколько раз. Мы видим много объявлений о поиске менеджера продукта, курсов по по подготовке специалистов, кейсов и т.п. Но далеко не все знают, кто это такой, какие задачи выполняет и за что отвечает,...

Солнечная станция. Тепловизионное и электролюминесцентное тестирование своими руками Обзор типичных проблем, возникающих с солнечными станциями, и на что стоит обратить внимание, пока не стало слишком поздно. Основано на анализе 50+ домашних солнечных станций различного возраста. Читать далее

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

Как добраться до людей, когда тебя нанимает робот Мне жалко своего времени! Тексты вакансий и миловидные девушки, которые приводят меня на собеседования в компании, и раньше были похожи как две капли воды. Но теперь работодатели плодят технологии, которые помогают обращаться ко мне больше и чаще. Я уже не могу спокойно поль...

[Перевод] Алгоритм быстрого и простого объёмного рендеринга Недавно я написал небольшой ShaderToy, выполняющий простой объёмный рендеринг, а затем решил опубликовать пост с объяснением его работы. Сам интерактивный ShaderToy можно посмотреть здесь. Если вы читаете с телефона или ноутбука, то рекомендую посмотреть эту быструю версию....

Человек-маркировщик вместо тестировщика? Стоит ли изучать Selenium в 2020? Продолжение интервью «Кому еще нужен Selenium? Использует ли кто BDD в 2020? Машинное обучение в Selenium» В диалоге участвовали: Всеволод Брекелов и Дарья Манухина(программный комитет конференции Heisenbug); Анна Чернышова, разработчик библиотеки Akita и нового инстру...

Гид по Lateral. Изучаем удаленное исполнение кода в Windows со всех сторон Для подписчиковПроникновение в атакуемую сеть — только первый этап взлома. На втором этапе необходимо в ней закрепиться, получить учетные записи пользователей и обеспечить возможность запуска произвольного кода. В сегодняшней статье мы поговорим о методах, позволяющих добить...

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

Чем занимаются на факультете низкотемпературной энергетики в Университете ИТМО Поговорим о том, что изучают магистры и делают выпускники факультета — бытовых холодильных системах, кондиционерах для архитектурных памятников и криокамерах. Читать дальше →

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

Распаковка исполняемых файлов Статья расскажет о подходах к анализу запакованных исполняемых файлов с помощью простых средств для обратной разработки. Будут рассмотрены некоторые пакеры, которые применяются для упаковки исполняемых файлов. Все примеры будут проведены в ОС Windows, однако изучаемые подход...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

Altair 8800: короткий рассказ о великом компьютере Мир компьютерных технологий велик и многообразен. За 60 с лишним лет, прошедших с появления первых монструозных ЭВМ, произошло много больших и маленьких открытий. Компьютеры переселились из машзалов научных институтов сначала в офисы крупных компаний, а затем — на письменные...

Как QA найти «ту самую» компанию и стать тимлидом Как QA (и не только) найти компанию по душе, как подготовиться к интервью, о чём спрашивать на собеседовании, как «дойти» до тимлида и важны ли soft skills? Об этом мы поговорили с Алексеем Петровым, Head of QA в СберМаркет. Личный опыт в 15 лет работы в IT (Mail.ru, ivi, Fu...

[Из песочницы] Каким станет электронный документооборот после вступления в силу изменений в закон об электронной подписи? Приветствую вас, друзья! Недавно я ознакомился с новым законом, который вносит существенные поправки в сферу электронного документооборота, а именно в 63-ФЗ «Об электронной подписи» (далее — ЭЦП). Внедрение изменений предполагается за счет использования IT-технологий, напр...

Если программист не хочет ничего менять — оставьте его в покое! Для чего разработчику нужен ментор В Европе и США менторство и коучинг давно стали частью жизни. В российском IT наставничество только набирает обороты. Обсудили с Георгием Могелашвили glamcoder, Lead Developer из Booking.com, как менторство влияет на карьеру разработчи...

Пережили 2020-й? Готовимся к 2021-му: Яндекс спросил разработчиков о будущем IT-индустрии В 2020 году айтишники научились жить в условиях неопределённости и привыкли гореть на работе — во время локдауна востребованность онлайн-сервисов резко возросла, а удалёнку попробовали даже те, кто не верил в эффективность работы вне офиса. Мир ещё находится в зоне турбулент...

[Из песочницы] Как удерживать внимание игрока в игре Здравствуйте, меня зовут Энона, я начинающий человек-оркестр. Сегодня я бы хотела поговорить о важности одной игровой характеристики. Она описывает, насколько хорошо игра справляется с тем, чтобы не отпускать внимание игрока ни на секунду. Давайте для простоты назовём эту х...

[Перевод] Разбираемся с not в Python В этой статье из серии про синтаксический сахар в Python я займусь на первый взгляд очень простым синтаксисом, но на самом деле, чтобы разобраться в механике его работы, нужно погрузиться вглубь на несколько слоев. Мы будем говорить о not.Определение звучит на...

[Перевод] Улучшение Spring Mock-MVC тестов Spring Mock-MVC может быть отличным способом протестировать Spring Boot REST API. Mock-MVC позволяет нам тестировать обработку запросов Spring-MVC без запуска реального сервера.Я использовал тесты Mock-MVC в различных проектах, и по моему опыту они часто бывают дов...

Курсы и книги для изучения data science c нуля В статье привожу курсы и книги, которые мне кажутся наиболее оптимальными для изучения машинного обучения/data science c нуля. Стараюсь привести список, который будет наиболее кратким и одновременно даст все знания, необходимые для начала работы на практике, без серьезных пр...

[Перевод] Пол Грэм: «Главная идея в вашей голове» (The Top Idea in Your Mind) Недавно я понял, что недооценивал важность того, о чем люди думают в душе по утрам. Я и раньше знал, что в это время в голову часто приходят отличные идеи. Теперь я скажу больше: вряд ли вы сможете сделать что-то действительно выдающееся, если не будете думать об этом в душе...

Подбираем чехол для Huawei P Smart Plus + Сегодня мы разберем довольно простой вопрос, а стоит ли покупать чехол для Huawei P Smart Plus +. Многие пользователи этот вопрос задают, так как не знают, нужно ли защищать устройство от возможных царапин или нет. Ответ, конечно, очень прост — защищать устройство обязательн...

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

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

Детекция изменений в сцене и сохранение видеофрагментов в формате h264 на Raspberry Pi без декодирования Добрый день. В этой статье я расскажу, далеко не в первый раз, как на Raspberry Pi 3 и более слабых платформах одновременно детектировать движение и сохранять/транслировать видео в формате H264. Я поделюсь с такими же новичками в мире Raspberry Pi, как и я, о том, что узнал...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

[Перевод] Построение инфраструктуры распределенной трассировки Netflix «@Netflixhelps Почему "Король тигров" не идет на моем телефоне?» — подписчик Netflix спрашивает через TwitterЭто пример вопроса, на который инженерам нашей службы поддержки приходится отвечать в попытке помочь подписчику решить его проблему, — а это очень сложно, к...

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

Подключение к платежному сервису — быстро и удобно. Миф или реальность? Часть 2 Всем привет! Совсем недавно мы рассказывали про внутреннюю кухню подключения к платежному сервису: как ускоряем и автоматизируем процессы в части заключения договора. А сегодня мы поговорим о технической стороне вопроса — об интеграции сайтов и сервисов с нашим платежным реш...

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

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

[Перевод] Распределенное обучение с Apache MXNet и Horovod Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных» Распределенное обучение на нескольких высокопроизводительных вычислительных экземплярах может сократить время обучения современных глубоких нейронных сетей на большом объеме данных с не...

Всего лишь меняем модель эмулятора Android устройства Казалось бы, на первый взгляд весьма простая задача. Некоторые читатели могли еще в те бородатые времена лазить по всяким 4пда, рутить свой сенсорный самсунг, менять содержимое файла build.prop и показывать наивным ламерам свой iPhone 15+ Max Pro. Однако, как оказалось, и ка...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

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

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Как переиспользовать код с бандлами Symfony 5? Часть 2. Выносим код в бандл Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Почему мы не живем в постоянном страхе смерти? Кадр из фильма “Во все тяжкое” Персонаж фильма “Во все тяжкое” — преподаватель литературы в университете, которого играет Джонни Депп — узнает что болен раком и жить ему осталось не более шести месяцев. В процессе осознания этого прискорбного факта герой Деппа пр...

[Перевод] 9 тяжелых уроков, которые я усвоил за 18 лет разработки Я начал писать код в моей комнате родительского дома, когда мне было 14. Помню, как читал всё, что мог достать с помощью своего медленного соединения с Интернетом. Затем, когда мне было 20, я подписал первый контракт, став веб-разработчиком и изучая PHP и JavaScript. Мне пот...

Укрощение Горыныча 2, или Символьное исполнение в Ghidra С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть. Добрый день! Прошлого...

[Перевод] Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project. Неожиданное открытие За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принц...

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

CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux В данной статье описана эксплуатация уязвимости CVE-2019-18683 в ядре Linux, которую я обнаружил и исправил в конце 2019 года. Указанный CVE-идентификатор присвоен нескольким аналогичным ошибкам типа «состояние гонки», которые присутствовали в подсистеме V4L2 ядра Linux на п...

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

Олды в ИТ Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный о...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

SEO npm-пакета: почему важно правильно настраивать конфиг и писать тесты Не так давно я опубликовал статью о CLI для React-компонент, который для меня стал первым публичным npm-пакетом. И так как мне хотелось поделиться своими наработками с как можно большим кругом разработчиков я начал изучать разные способы улучшения своей позиции в поисковой в...

Теории вероятностей: готовимся к собеседованию и разрешаем «парадоксы» Каждый год я участвую примерно в сотне собеседований в образовательных проектах JetBrains: собеседую абитуриентов в Computer Science Center и корпоративную магистратуру ИТМО (кстати, набор на программу идёт прямо сейчас). Все собеседования устроены по одному шаблону: мы про...

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

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

DDD, CQRS, Event-Driven, модель акторов и микросервисы Хочу поделиться своим опытом реализации микросервисной архитектуры поверх actor-model фреймоворков, таких как AKKA и Microsoft Orleans. Моя гипотеза: если использовать один стек для реализации микросервисов, то можно: Существенно снизить сложность разработки и объем кода У...

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

7 востребованных языков программирования, которые стоит изучать в 2021 году Тенденции востребованных профессий с гарантируемой работой все больше расширяют сегмент «удаленки» и фриланса. Социологи прогнозируют дальнейший рост в этом направлении. Чтобы иметь высокооплачиваемое, востребованное место, нужно уделить внимание вопросу сейчас. Наиболее поп...

[Перевод] PowerShell — это язык программирования? Является ли PowerShell языком программирования? Совершенно определённо — является. И не обращайте внимание на тех, кто говорит, что это не так. Многие, работающие в сфере программирования, могут просто посмеяться над мыслью о том, что код, написанный для PowerShell — это неч...

[Перевод] Как использовать grok exporter для создания метрик prometheus из неструктурированных журналов Здесь будет перевод 2 постов про grok exporter. Первый перевод: Как использовать grok exporter для создания метрик prometheus из неструктурированных журналов Поговорим о grok exporter. В этой статье я объясню, как можно использовать grok exporter для создания метрик promethe...

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

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

Выключение 3d принтера при завершении печати. Добрый день коллеги! Сегодня хочу поделиться очень простым и надежным способом отключения 3D принтера после завершения печати. Причем этот способ подходит для любого принтера.  Принцип очень прост и дешев в реализации.  Привязываем реле с управляющей обмоткой соответствующей...

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

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

Кейсориум «Банки и финансы: лайфхаки продвижения» На октябрьском онлайн-кейсориуме PR Partner профи поделятся фишками и советами о том, как продвигаться в финансовой сфере. Обсудим нужно ли собственное медиа банку и сколько это стоит. Разберем актуальные кейсы таких банков, как РОСГОССТРАХ...

Стоит ли переходить с Powershell DSC на Ansible и как это сделать Об IaC под Windows пишут мало, потому что DevOps/SRE ассоциируется в основном c Linux и Kubernetes. Мы решили исправить эту ситуацию и сравнить инструменты, которыми можно управлять IaC на базе Windows. Статья будет полезна разработчикам, которые работают с Windows-инфрастру...

Приглашаем на DINS SCALA EVENING: Cassandra4io, Calypso, Higher Kinded Data На митапе Сергей Рублев из DINS расскажет, как они с командой написали легковесную библиотеку с типизированными запросами в doobie-like стиле. Ахтям Сакаев из компании «Метр квадратный» поговорит о Calypso — Scala-библиотеке для удобной работы с BSON. Олег Нижников из Tinkof...

И целого байта мало… (Часть #2) Сегодня поговорим о конкретной работе в области sizecoding. Дело в том, что некоторые релизы не только имеют культовый статус в узких кругах — они прямо и явно воздействовали на умы людей, заставляли учить отладчик, смотреть код, изучать все детали. Было просто непонятно и о...

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

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

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

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

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

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

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

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

Опционы: расчет одношаговой биномиальной модели. Ликбез для гика, ч. 8 Это третья часть рассказа про опционы, где мы поговорим про биномиальную модель, риск-нейтральную меру и разберёмся, как рассчитать цену опциона. Читать далее

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

Что общего между собеседованием в FAANG и гражданской авиацией Куда лучше устроиться: в корпорацию или стартап? Этот вопрос волнует не только разработчиков, но и всех, кто так или иначе связан с IT. Мы поговорили с Булатом Фаттаховым, который сменил Яндекс на развивающийся Evolution Gaming, а затем еще пару других компаний и стран прежд...

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

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

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

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

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

Hi-tech коммуникации, или как мы создаем голосового агента всего на 500 записях На Хабре не раз и не два писали о голосовых роботах, принципах их работы и задачах, которые они способны решать. Соответственно, общие принципы создания таких роботов (их мы предпочитаем называть «цифровыми агентами) понятны многим. И это хорошо, ведь в этой статье мы хотели...

Разработка приложения для обработки видео: на что обратить внимание и при чем тут зумеры Привет, Хабр!Меня зовут Алексей Жуков. Более 10 лет вместе с командой разработчиков я занимаюсь созданием и дизайном приложений и интернет-платформ. В статье хочу поделиться своим видением трендов на рынке видеоконтента. Разберемся в том, что будет после пандемии и что учест...

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

Ребёнок всё время в планшете. Отбираем и прячем или вместе развиваем цифровой интеллект? Всем привет! Эмоциональный интеллект – термин, который уже довольно давно знаком нам, и все мы в курсе, зачем и как его нужно развивать. Понятие «цифровой интеллект» появилось сравнительно недавно, но по мере того, что люди из всех социальных сфер погружаются в digitial-сред...

Выбираем чехол для Huawei P30 Lite Довольно часто пользователи спрашивают о том, какой чехол для Huawei P30 Lite / P30 Lite New Edition стоит выбрать, на что обращать внимание и так далее. На самом деле ответ довольно простой, но в нем масса деталей. Начнем с того, что самый простой способ подбора чехла — под...

[Перевод] Проблемы с DNS в Kubernetes. Публичный постмортем Прим. перев.: это перевод публичного постмортема из инженерного блога компании Preply. В нем описывается проблема с conntrack в Kubernetes-кластере, которая привела к частичному простою некоторых сервисов продакшна. Данная статья может быть полезной тем, кто хочет узнать не...

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

Пентестеры — Ведьмаки мира ИТ Вы замечали, что мир IT очень огромен, но при этом в нем как будто нет места для ИБ, несмотря на то, что довольно много, а порой критично много на самом деле нуждающихся в нём?Многие сейчас создают, развивают продукты, но очень мало кто хочет платить за их безопасность, люди...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

Чего на самом деле ждать при запуске маркетинга на рынке США и как заработать первые деньги Я занимаюсь развитием агентства контент-маркетинга на зарубежных ресурсах уже пять лет из них более двух лет развиваю еще и собственный SaaS-стартап для международного рынка. Таким образом я сам постоянно тестирую существующие методы продвижения на своем же продукте. Ко...

(Не)рушимые законы крутого кода: Law of Demeter (с примерами на TypeScript) Когда я узнал об этих принципах, гибкость моего кода, по ощущениям, выросла х2, а скорость принятия решения по дизайну сущностей х5. Если SOLID – это набор принципов написания качественного кода, то Law of Demeter (LoD) и Tell Don’t Ask (TDA) – это конкретные приемы как доб...

Как найти удаленную работу в США и Европе: списки ~1000 компаний, полезные инструменты для поиска + личный опыт Изображение: Unsplash Вопрос поиска удаленной работы в хороших компаниях из США и Европы актуален всегда – не все хотят переезжать в другую страну, а участвовать в интересных проектах хочется в любое время. В период пандемии, когда перемещение между странами и иммиграция ...

Киберугрозы-2021: прогнозы и перспективы В течение 2020 года мы изучали нескончаемый поток угроз, отслеживали действия киберпреступников по всему миру, анализировали инструменты, тактики и направления интереса. В материале Turning the Tide. Trend Micro Security Predictions for 2021 наши эксперты делятся своим виден...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

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

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

Apple: хотите в iPhone дисплей на 120 Гц? А на 240 Гц не желаете? Продолжая тему патентов от Apple можем поговорить о дисплеях компании для будущих поколений iPhone. Стали известны подробности об еще одном патенте от купертиновцев. В новом документе от Apple описан дисплей, который может менять частоту обновления, увеличивая её в разы.

Apple: хотите в iPhone дисплей на 120 Гц? А на 240 Гц не желаете? Продолжая тему патентов от Apple можем поговорить о дисплеях компании для будущих поколений iPhone. Стали известны подробности об еще одном патенте от купертиновцев. В новом документе от Apple описан дисплей, который может менять частоту обновления, увеличивая её в разы.

Как мы стартовали Vivid Money для iOS Всем привет! Меня зовут Илья. Я - iOS техлид в Vivid Money. Мы больше года занимались разработкой нашего финтех-продукта и теперь готовы поделиться с сообществом приобретенным опытом и знаниями.Это вступительная статья, в которой я поверхностно затрону несколько технических ...

[Перевод] Малоизвестные подводные камни JavaScript JavaScript уже который год дополняется новыми возможностями и синтаксическим сахаром. Но в погоне за прогрессом легко не заметить яму под ногами. В этой статье мы поговорим о малоизвестных, но периодически встречаемых на практике ловушках языка. Читать дальше →

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

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

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

IdentityServer4. Основные понятия. OpenID Connect, OAuth 2.0 и JWT Этим постом я хочу открыть ветку статей посвященную IdentityServer4. Начнем мы с основных понятий. Самым перспективным на текущий момент протоколом аутентификации является OpenID Connect, а протоколом авторизации (предоставления доступа) является OAuth 2.0. IdentityServer4 р...

VMware SD-WAN: обзор решения Этим материалом мы начинаем цикл статей о решении VMware SD-WAN. Сегодня поговорим о том, какие рыночные предпосылки сформировали его появление, какие задачи решает SD-WAN и каковы технические особенности решения VMware. Читать далее

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

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

К чему может привести ослабление уровня изоляции транзакций в базах данных Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

Портирование приложений с QWidget на QML под Desktop Привет, Хабровчане! Последнее время часто встречаю проекты для desktop, которые необходимо портировать с QWidget на QML. Кто-то хочет написать с нуля, кто-то перенести старые наработки. В любом из сценариев это популяризация QML, чему я очень рад. Я решил тоже побыть полез...

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

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

Основные идеи методов шифрования MIMO-OFDM систем на физическом уровне Я попытался раскрыть тему простым языком. Мне кажется, чтобы понять этот материал особых знаний не требуется, кроме умения читать тексты на русском и небольшого знания математики. Возможно, где-то я упустил важные детали или рассказал слишком очевидные вещи, но это все ради ...

Как перестать бояться и полюбить 1-wire Мне очень нравится протокол 1-wire своей простотой и удобством для применения в системах «умный дом». Недавно я писал программную эмуляцию одной микросхемы и погрузился во внутренности этого протокола. Чтобы накопленные знания могли принести пользу не только мне, я решил нап...

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

[Перевод] Умрёт ли FTP? Расцвет и упадок протокола Вот небольшое известие, которое вы могли пропустить, восстанавливая свою жизнь после начала кризиса COVID: из-за того, что вирус перемешал всем карты, Google пропустила выпуск Chrome версии 82. «Да кого это волнует?», — спросите вы. Ну, хотя бы пользователей FTP, или File ...

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

Как превратиться в суперзвезду Zoom-звонков за 15 минут Я работаю продакт-менеджером двух команд в Wrike на удалёнке и каждую неделю провожу примерно 20 часов на созвонах. В таких условиях контекст часто теряется из-за отсутствия физического контакта, а если ещё и камера так себе, то вместо лица человека видишь «кашу» без эмоций....

Как переиспользовать код с бандлами Symfony 5? Часть 3. Интеграция бандла с хостом: шаблоны, стили, JS Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

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

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

От биобетона до биосенсоров. Истинный размах бактериальных биотехнологий На фоне замечательной технологии 3D-принтинга в наши годы слегка потерялось другое инженерное направление – выращивание материалов. Эта исследовательская область до сих пор воспринимается как экзотическая, ориентированная, например, на выращивание кристаллов с заданными свой...

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

Go vs Python. Виталий Левченко Предлагаю ознакомиться с расшифровкой доклада Виталия Левченко Go vs Python Go — волшебное слово, решение всех проблем продакшна разом и одновременно негодная технология без эксепшнов. Истина посередине, поэтому поговорим о конкретных примерах: asyncio vs горутины; производ...

Стандартизация при работе в САПР. Зачем это нужно и как ее контролировать? САПР (система автоматизированного проектирования) – это, в простейшем случае, программа для разработки и оформления проектной документации (чертежей). А для того чтобы чертежи от разных авторов (проектировщиков) были одинаково читаемы и понимаемы производственниками и дру...

Есть ли жизнь за МКАДом? Как мы ищем и готовим разработчиков В этой статье мы хотим поделиться опытом команды разработчиков Codeinside из Пензы о том, как в регионе найти и быстро ввести в строй нового сотрудника. Приглашаем в комментариях описать свой опыт. Вероятно, кто-то из читателей, не связанный с IT, недоумевает: разве найти р...

Как делается косплей. Cоздание костюма Advanced Suit Aйзека Кларка из игры Dead Space 2 Зачем и о чем? На хабре мне не попадалось статей освещающих тему косплея с точки зрения того как делаются все эти костюмы, поэтому я решил это исправить и рассказать о том как я делал косплей на персонажа Айзека Кларка из игры Dead Space 2. Думаю о самом понятии косплея, ег...

Дата и время: трудно, но возможно Некоторые разработчики пишут код, требующий особого обращения с датой и временем — но совершенно не задумываются над этим. А другие разработчики тоже пишут такой код и очень переживают, потому что это действительно непросто. На конференции DotNext Джон Скит поговорил о сложн...

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

[Перевод] Алгоритм Укконена: от простого к сложному Изучая курс Алгоритмы на строках столкнулся с задачей о построении суффиксного дерева. Перейдя по ссылке на дополнительные материалы наткнулся на рекомендацию "просмотреть этот замечательный комментарий на Stack Overflow". Изучив и реализовав по приведённому вольному описан...

Уравнение теории ценообразования. Ликбез для гика, ч. 9 Меня зовут Алексей Ахметшин. Я математик. В этом посте мы поговорим о различных задачах оптимизации, с которыми встречается инвестиционный банк, про функцию полезности и стохастический коэффициент дисконтирования. А также о корреляции рисков и избыточную доходность. Читать д...

Синдром самозванца у айтишников. Немного логики для тех, кто подумывает писать в блоги Imposter Phenomenon – это когда человек считает свой успех или результаты работы удачным стечением обстоятельств и не приписывает их своим стараниям или личным качествам. В результате он не готов об этом говорить и делиться полученным опытом.Среди разработчиков и айтишников ...

На себя или на «дядю»? Открытие своего бизнеса Вот и пятница подкралась незаметно. Самое время для уютной беседы на злободневные темы. Сегодня поговорим про варианты трудоустройства. Как люди приходят к выбору, влияние пандемии 2020 года на взгляды трудящихся. Плюсы, минусы, подводные камни. Весь рассказ основан на реа...

Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies Коллеги, добрый день! Данная статья является отправной точкой в цикле статей по продуктам Positive Technologies. Первая часть будет посвящена MaxPatrol 8, а сегодня в рамках данной статьи мы поговорим о разнообразии продуктов и решений Positive Technologies и их совместно...

Новая тема Colorful Place для MIUI 11 удивила всех фанов В этот раз поговорим о ещё одном продукте трудов дизайнера Rafael Henrique. Тема называется Colorful Place.

Новая тема Unique Storm v11 для MIUI 11 не оставит равнодушными фанов В этой заметке поговорим об одной из тем дизайнера под никнеймом color.

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

Как мы ВИРТУАЛЬНО спланировали работу 140 человек на квартал вперед, находясь в разных точках Земного шара Случалось ли вам работать над проектом, где участвует более сотни человек, несколько компаний, с учетом 10 часовых поясов, разных менталитетов и языков? Хотим поделиться своим опытом планирования работ в проекте, который управляется по методологии SAFe в условиях вынужденной...

Как делают вакцины Появление векторной вакцины Sputnik V внесло некоторую сумятицу в типичное представление о вакцинах как о некой дозе ослабленных или дезактивированных патогенов, внедренных для тренировки иммунитета. Еще больше вопросов породил тот факт, что именно векторная вакцина появилас...

Настраиваем и автоматизируем развёртывание Active Directory В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других: Вмест...

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

[Перевод] Смешиваем OpenJDK и NodeJS: межъязыковые взаимодействия и вертикальная архитектура Привет, Хабр! Давно вынашивали мысль обсудить с вами тему GraalVM, откладывали, пока не нашли, наконец, сегодняшнюю статью, тематика которой серьезно выходит за рамки разбора конкретной виртуальной машины. Автор Майк Хёрн (Mike Hearn) ни много ни мало излагает целую парадиг...

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

Zombie Army 4: Dead War – давай убьем Гитлеров. Опять. Нацисты и зомби. Сложно выбрать, какая из этих тем более заезжена разработчиками игр. Тем не менее, число проектов, посвященных и первым, и вторым, не уменьшается, а одна из студий, британская Rebellion Developments, умудрилась объединить сразу обе шаблонные темы в рамках од...

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

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

[Перевод] Различные типы инвесторов и их мотивации Автор: Аарон Харрис — инвестор, основатель Tutorspree, главный по раунду А в Y Combinator. Если вы хотите привлечь деньги в ваш стартап, чрезвычайно важно понимать мотивации инвесторов. Раньше все было довольно просто — вы получали деньги от венчурных капиталистов (VC), а...

Основы медитации, или как научиться ничего не делать с пользой «Опять те же грабли», — сказал мне жена, когда я в очередной раз задерживался с работы. «Проект интересный, надо доделать», «Сейчас поднажму, потом будет легче», — мой типичный набор ответов на переработки. С удалённой работой перегрузить себя ещё проще — ходить никуда не н...

[Перевод] Символы Unicode: о чём должен знать каждый разработчик Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Зат...

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

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

Как устроены мышцы? И за счет чего они растут Пандемия заставила нас вести менее подвижный образ жизни. Мы закрылись дома, перестали бегать по утрам (я не бегал, но вдруг, в отличие от меня у вас были на это силы). Это поспособствовало накоплению запасов к зиме (или к лету, если вы живете в Австралии), и особенно ударил...

Криптофронт Второй Мировой Войны часть 1 Автор: ForbiddenЕще одна статья про взлом Энигмы?! Конечно нет, мы поговорим обо ВСЕХ шифровальных машинах, активно использовавшихся во Второй Мировой Войне, и, конечно же, поговорим о том, как их пытались взломать.Радиоперехват стал известен с Первой мировой войны, поэ...

Универсальное ТЗ для Wi-Fi, с пояснениями ТЗ должно быть простым, понятным и проверяемым. Вы такое видели? Каких только ТЗ я не встречал за 12 лет в этой теме. Классические пункты — это “бесшовный роуминг” и “устойчивое 100% покрытие всей площади”. Понятно, что все мы хотим прекрасной связи. Какими же словами опис...

Разработка сложных компонентов: деливерим быстро, поддерживаем легко Всем привет, меня зовут Роман Пятаков! Я техлид во фронтенд-команде Lamoda. И сегодня хочу поговорить с вами о разработке сложных компонентов. Lamoda — это технически сложный продукт, которым пользуются 10 миллионов пользователей ежемесячно, насчитывающий более 100 внутрен...

Копирайтинг Привет! На связи академия XARAKTER, и мы с радостью объявляем о нашей следующей встречи с @alexandra.trukhina. Александра, копирайтер с опытом более 7 лет, SMM-специалист, автор курса «Редактура». Она уже обучила более 400 человек и&nbs...

Хабр Викли #37 / Можно ли писать музыку «на коленке», каков идеальный начальник, коронавирус vs ИИ, тяга к звездам Поговорили о низком пороге входа в творческие профессии и Билли Айлиш, о том как должен строить работу начальник, чтобы от него не уходили. И про коронавирус тоже (простите!). А под конец — о том, как Макука Нколосо мечтал о космосе. Если вам есть, что добавить, или хотите ...

[Перевод] Неблокирующие паттерны: атомарные операции и частичные барьеры памяти В первой статье цикла мы познакомились с простыми неблокирующими алгоритмами, а также рассмотрели отношение “happens before”, позволяющее их формализовать. Следующим шагом мы рассмотрим понятие «гонки данных» (data race), а также примитивы, которые позволяют избежать гонок д...

Umka. Жизнь статической типизации в скриптовом языке В своё время посты на Хабре и Reddit о статически типизированном скриптовом языке Umka вызвали весьма активную дискуссию. Прошедшие полтора месяца позволили мне избавиться от некоторых заблуждений, развить язык и дать чуть более вразумительные ответы на вопросы публики. ...

Резьба по дереву против 3D-принтера: одно другому не мешает Резьба по дереву – древнейшее искусство с многовековой историей. И кто бы мог подумать, что через такой вид творчества я приду к сборке 3D-принтеров. Взаимосвязь, конечно же, косвенная. Но все началось со знакомства с учителем по технологии в школе, о котором я упоминал в пр...

[Перевод] Сделайте свое приложение масштабируемым, оптимизировав производительность ORM Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Привет! Я Валерио, разработчик из Италии и технический директор платформы Inspector.dev. В этой статье я поделюсь набором стратегий оптимизации ORM, которые я использую, разрабатывая серв...

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

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

[Перевод] Git, я хочу все отменить! Команды исправления допущенных ошибок Git — удобная, но довольно сложная система. Сложность, прежде всего, в том, что по невнимательности можно допустить ошибку, которую затем сложно или вообще невозможно исправить. Документация Git предоставляет описание множества команд, которые дают возможность исправить о...

Использование Effector в стеке React + TypeScript В этой статье я поделюсь своим кратким обзором внедрения стейт-менеджера Effector в продуктовый проект на стеке React + TypeScript, а также покажу на примере, как легко это можно сделать. Читать далее

Анонс фейковой видеокарты от фаната Nvidia Эта статья не имеет никакой полезной информации и содержит лишь фантазии её автора, Итак в ожидании RTX 3000 серий на архитектуре Ampere, Nvidia выпустит игровую карту с простым наименованием RTX GOLD.

Ловушка шаблонного мышления – как не попасться? Всем привет! Сегодня в нашей рублике «Agile Shorts» мы поговорим о том, что такое шаблонное мышление и как избежать поверхностного подхода в решении серьезных задач. Читать далее

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

[Перевод] Валидация и обработка исключений с помощью Spring Каждый раз, когда я начинаю реализацию нового REST API с помощью Spring, мне сложно решить, как выполнять валидацию запросов и обрабатывать бизнес-исключения. В отличие от других типичных проблем API, Spring и его сообщество, похоже, не согласны с лучшими методами решен...

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

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

Dynamics 365 и Power Platform Meetup в Lamoda — анонс Всем привет! Меня зовут Станислав Гоц, я руководитель отдела внедрения и поддержки ERP систем в Lamoda. Хочу пригласить вас на Dynamics 365 и Power Platform Meetup, который пройдет 11 февраля у нас в офисе. На митапе выступят 5 спикеров, в дискуссионных секциях обсудим темы...

[Перевод] Как реализованы JIT-компиляторы В этой статье мы поговорим о подробностях реализации и работе разных JIT-компиляторов, а также о стратегиях оптимизации. Обсуждать будем достаточно подробно, однако многие важные концепции опустим. То есть в этой статье не будет достаточной информации, чтобы прийти к обосно...

Первый открытый xOwner Club в Райффайзенбанке 5/11 Мы решили начать открыто обсуждать темы управления продуктами IT и FinTech'а и организовать сообщество Raiffeisen xOwner Club. 5 ноября прошла первая встреча, где мы честно поговорили про «People Management в Digital». Первый митап провели в формате коротких дискуссий, где ...

NEST.JS. Работа с ошибками. Мысли и рецепты Одни умные люди говорят: "эксепшены - это зло, используйте монады!", другие кричат: "коды ошибок ещё никто не отменял!", а третьи включают механизм исключений в языки программирования.. Однако, у большинства статей, который попадались мне на глаза есть две относительные проб...

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

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

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

(Почти) бесполезный стриминг вебкамеры из браузера. Часть 2. WebRTC Как-то в одной из старинных и уже заброшенных статей я писал о том, как легко и непринужденно можно транслировать видео с canvas через websockets. В той статье поверхностно рассказывал о том, как захватить видео с камеры и звук с микрофона посредством MediaStream API, как по...

Лучший утюг. Hoover TIM 2500 Сегодня мы поговорим о достаточно интересной теме утюгов — на рынке очень много различных моделей, которые работают и неплохо гладят, но мы то с вами хотим приобрести что-то идеальное, лучшее за свои деньги. Мы специально для этого подобрали список отличных гаджетов, которые...

[Из песочницы] 40 лет анализа больших объёмов данных в Физике Высоких Энергий: интервью с Рене Браном За 40 лет своей карьеры в ЦЕРН (Международная Лаборатория Ядерных Исследований расположенная в Женеве) Рене Бран (Rene Brun) разработал ряд программных пакетов, которые стали широко использоваться в Физике Высоких Энергий. За этот фундаментальный вклад он был недавно награжд...

Опыт создания логотипов с искусственным интеллектом от Студии Лебедева Здравствуйте! С момента открытия миру, что под именем Николая Иронова в Студии Лебедева работала настоящая нейронная сеть, а также последовавших затем большого интервью с создателями Николая и открытия этого инструмента для всех желающих, прошло несколько месяцев. Другие пу...

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

[Перевод] Deepfakes и deep media: Новое поле битвы за безопасность Эта статья является частью специального выпуска VB. Читайте полную серию здесь: AI and Security. Количество дипфейков – медиа, которые берут существующее фото, аудио или видео и заменяют личность человека на нем на чужую с помощью ИИ – очень быстро растет. Это вызывает бе...

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

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

Историческая сага «Грозный» от режиссера Алексея Андрианова Чтобы реалистично воссоздать эпоху 16-го века создатели новой исторической саги готовились долго и основательно. Читать полную статью

Эстимирование дизайна Меня зовут Илона, я Senior Experience Designer в EPAM. Работа для меня удачно совпадает с хобби — в EPAM я проектирую интерфейсы для зарубежных заказчиков, читаю лекции для сотрудников и студентов лабы, менторю дизайнеров. В свободное время преподаю проектирование ...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

Ретроспектива решений прошлого, которое влияет на наше настоящее и будет влиять на будущее Размер крупа лошади два тысячелетия назад определил размер ракетных двигателей сегодня. Задумывались ли вы о том, как каждое наше решение определяет будущее? Иной раз не на один год, десятки, сотни, тысячи лет. Почему мы не можем делать двигатели ракет больше? Почему байт ...

Учет денег Хотел осветить тему, которая мне достаточно интересна и, возможно, кому-то тоже будет полезной – это тема учета денег. Пару слов об актуальности. Раньше я никогда бы не подумал, что бухгалтерия будет мне интересна и тем более, что чем-то подобным буду заниматься я сам. Я п...

[Перевод] Руководство по моделированию угроз для разработчиков В этой статье описаны простые и понятные шаги по внедрению моделирования угроз — подхода к проектированию защищённых систем на основе оценки рисков. В основе подхода лежит определение угроз, чтобы разработчики могли к ним подготовиться. С ростом киберугроз и желания компани...