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

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

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

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

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

[Перевод] Для программиста shell так же необходим, как умение читать Грамотное владение shell — один из самых важных навыков, которыми вы как программист должны обладать. Unix shell — одна из самых мощных идей, реализованных в коде, и она должна стать вашей второй натурой. Ни один другой инструмент и близко не сравним с возможностью быстрого ...

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

Чем разработчик от кодера отличается Самый плохой разработчик — тот, который всё делает по ТЗ. А самый лучший код — не написанный.«Моя задача — писать код, я разработчик!» — да, это очень удобная позиция. Но людям, которые не только программируют, но ещё и общаются с коллегами, организуют собственную работу и п...

Английский для айтишника: учебники, словари и подкасты, которые помогут вам выучить язык Привет, Хабр! Я собрала ряд материалов, которые помогут в изучении английского в сфере информационных технологий. Помните, что у каждой из профессий в сфере IT есть специфическая лексика. Учить все и сразу — не рационально. Тем не менее есть довольно широкий список базовой ...

Отечественный процессор — так каким он должен быть? Предыдущая статья про микропроцессор Эльбрус вызвала живой отклик читателей Хабра. Изначально я планировал написать только статью о технических проблемах VLIW-архитектур на конкретном примере Эльбруса и имел мало желания углубляться в вопрос дальше, ввиду его куда большой ск...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

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

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Профессия СТО Недавно наш СТО Евгений Россинский пообщался с ведущими подкаста «Подлодка» про роль СТО. По мотивам этого общения мы подготовили две статьи с основными вопросами о СТО — как им стать и каково им быть, как его найти и сколько это стоит. Читать далее

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

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

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

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

Обзор программы JPoint 2021: воркшопы, Spring, «игра вдолгую» Близится новый JPoint, и мы готовы подробно рассказать о его программе. В этом посте мы разделили доклады по тематическим блокам: можно и быстро понять «что вообще будет», и узнать конкретику. А во вступлении упомянем отдельные моменты: Пришла весна, то есть самое время п...

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

[Перевод] API как продукт: как монетизировать свою работу, когда разбираешься только в бэкенде В этой статье я перескажу свой опыт создания, развёртывания и продажи API на специализированном маркетплейсе. Мне не пришлось делать вебсайт или придумывать, как внедрить решение для обработки платежей – я просто написал код и развернул API. Чтобы создать стартап, нужна к...

[Перевод] Что под капотом компиляторных оптимизаций GraalVM? Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи...

Под капотом сортировок в STL Стандарт С++ почти никогда не указывает, как именно должен быть реализован тот или иной std алгоритм. Дается только описание того, что на входе, что на выходе и асимптотические ограничения по времени работы и памяти. В статье я постарался прикинуть, какие математические алг...

[Перевод] Вопросы для собеседования по хукам React В данной статье приведены примеры вопросов и задач по React Hooks для собеседования Читать далее

Заметки Дата Сайентиста: с чем начать и нужно ли оно? TL;DR это пост для вопросов/ответов про Data Science и о том, как войти в профессию и развиваться в ней. В статьей я разберу основные принципы и FAQ и готов отвечать на ваши конкретные вопросы — пишите в комментариях (или в личке), я постараюсь на все ответить в течение нес...

Защита авторских прав на ваши Pet-projects Что делать, когда вы получили претензию, требование или иск по вашему проекту от работодателя или партнера с требованием передать все материалы? Как вы можете защитить свои проекты в этом случае или сильно заранее, для профилактики? Много ли разработчиков разбираются в этом?...

О поиске утечек памяти в С++/Qt приложениях Каждый программист, работающий с языком С++, должен уметь находить утечки памяти. Язык С++ - сложный язык, делать ошибки легко, а находить их бывает муторно. Особенно это касается утечек памяти. Ситуация с отловом утечек памяти только усугубляется, если в коде С++ использует...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

Взломщики «черного ящика»: чем занимаются системные аналитики в Lamoda Всем привет! Меня зовут Александра Камзеева, я руководитель направления системного анализа в IT PMO в Lamoda. За полтора года мы выросли с 3 до 22 человек.Такой стремительный рост и подтолкнул нас на вопрос: «Кто такой системный аналитик и какую роль он выполняет именно в La...

В 1С нет разработки, но есть Разработчики. Моё расследование Есть на свете такая профессия – разработчик 1С. Нет, не так… Есть на свете такая должность – разработчик 1С. Вакансии на эту должность есть. Люди на этой должности сидят, деньги получают. За ними охотятся, т.к. считается, что разработчик 1С – это прям чего-то о-го-го какое.О...

Умный аналитик – глупый разработчик vs. глупый аналитик – умный разработчик Или как понять, когда остановитьсяКак-то раз мой коллега, лид разработки, после затяжного спора о том, что должно быть в системной спецификации, подошел ко мне и спросил:— Скажи, а зачем нам вообще нужны аналитики?— И действительно, зачем? – подумал тогда я и написал заявлен...

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

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

[Из песочницы] Репетитор: издержки профессии 1) О чём статья Мне бы хотелось поделиться опытом, связанным с опыте преподавания индивидуальных занятий ученикам средней школы студентами. В данной сфере я работаю уже два года, за это время работал с 9 учениками. Статья адресована в первую очередь тем, кто собирается начат...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

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

Как работают профайлеры в Ruby и Python? Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик Python». Всем привет! В качестве аперитива к профайлеру на Ruby я хотела рассказать о том, как работают уже существующие профайлеры на Ruby и Python. Также это поможет дать ответ на вопрос, к...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

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

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

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

Как НЕ стать геймдизайнером (Game Designer) Геймдизайнерами не рождаются, геймдизайнерами становятся В этой статье я расскажу о том, что необходимо делать, чтобы не стать геймдизайнером, что ожидают студии от кандидатов-геймдизайнеров, какими бывают тестовые задания и как не надо их выполнять, какие вопросы задают на ...

Профессия СТО, часть 2 Недавно наш СТО Евгений Россинский @eross пообщался с ведущими подкаста  “Подлодка” про роль СТО. По мотивам этого общения мы подготовили две статьи с основными вопросами о СТО - как им стать и каково им быть, как его найти и сколько это стоит. Сегодня мы публикуем втор...

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

Каждому 3D принтеру — по рельсам Давно хотел написать статью о своём положительном опыте переделки 3D принтера с линейных стержней на рельсы, похоже время пришло. В ходе этой статьи расскажу, что и как я делал, возможно, мой опыт кому-то поможет перевести свою рабочую лошадку на рельсы. Читать дальше &ra...

Администрирование Informatica PowerCenter в деталях, часть первая Посвящается моему коллеге и наставнику по Informatica Максиму Генцелю, который умер от COVID-19 21.01.2021 Привет! Меня зовут Баранов Владимир, и я уже несколько лет администрирую Informatica в «Альфа-Банк». В статье я поделюсь опытом работы с Informatica PowerCenter. IPC ...

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

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

[Перевод] Кто такие DevRel, зачем они нужны и какие вопросы могут решить для бизнеса Привет! Меня зовут Женя Голева, я занимаюсь developer relations с 2016 года, и постоянно вижу профессиональных чатах холивары о нашей работе. Люди спорят, кто такие деврелы, кто занимается не деврелом, а какие виды деврелов наоборот имеют право на существование и очень ...

Пересаживаем NXP-шный пример для Teensy 4.1 на язык C++ В предыдущих статьях мы освоили внедрение примеров из NXP-шной среды разработки MCUXpresso в плату Teensy 4.1. Однако у тех примеров, с которыми мне довелось повозиться (а я работал с USB-примерами), есть один существенный (с моей точки зрения, разумеется) недостаток. Все он...

[Из песочницы] Product Manager & Product Designer: поиск сходств и отличий Меня зовут Ростислав Салата, я работаю в киберспортивной организации без малого три года. Пришел в компанию на должность проектировщика интерфейсов, дорос до UX-лида, и в настоящее время являюсь продуктовым менеджером. Задачи продуктового менеджера и подход к работе у нас ...

Цифровые люди Samsung Neon не отберут у вас работу На выставке CES 2020 компания Samsung представила, наверное, свой самый необычный продукт — Neon. Сама Samsung не дала внятного термина, описывающего данную разработку, но в целом Neon — это цифровой человек с искусственным интеллектом. При этом Neon не буд...

IELTS на 8.0 за 10 дней Друзья, привет! Хочу рассказать как за 10 дней подготовилась и сдала IELTS на 8.0, потратив 95 баксов.Многие писали о международных языковых экзаменах. Я посмотрела свежие статьи по теме. В итоге, оглядываясь назад, самыми полезными мне кажется пара публикаций, которые не пр...

[Перевод] Люди подозревают, что технологии — отстой, потому что они на самом деле отстой Джей Ситтер в своей статье "Люди подозревают, что технологии — отстой" пишет о людях, которые продолжают использовать технологии, несмотря на серьезные неприятности, такие как очень тусклый экран или постоянные всплывающие окна, и ничего не делают с этим. Он дела...

[Перевод] Исповедь CTO: путь развития технического директора в стартапе О важности саморазвития основателей в быстрорастущих стартапах написано немало. Как правило, тексты подобной тематики посвящены роли CEO. Общие советы по лидерству могут быть полезны и для других ролей, но мне не удалось найти материалов, которые могли бы помочь основателя...

И еще один сервис проверки паспортов или опять вопрос сколько гигабайт в одном мегабайте Какое-то время назад появилась возможность уделить внимание языку Go и удачно на глаза попалась публикация «Паспортный контроль, или Как сжать полтора гигабайта до 42 мегабайт» . В статье кратко, но информативно, рассказывается о тестовой задаче по разработке сервиса проверк...

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

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

Как научиться программированию на Python? За последние несколько недель популярность онлайн-курсов и сектора онлайн-обучения в целом выросла почти в 4 раза. Почему? Во-первых, сейчас многие находятся на самоизоляции, и чтобы окончательно не потерять голову от безделья, пытаются занять себя чем-то полезным (и правил...

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

Чек-лист — как тестировать поиск Я посмотрела, как тестируют поиск начинающие тестировщики, и решила написать этот чит-лист проверок. Это такая серебряная пуля, которую можно применить на любом проекте, лишь немного варьируя под себя, под свой проект.Поиск — он же есть практически в каждой системе. Поэтому ...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

Почему не все тестовые задания одинаково полезны: разбор одного фееричного провала Всем привет, это PsyHaSTe и сегодня я хотел бы рассказать о том, куда меня занесла нелегкая в процессе оптимизации и рефакторинга кода решения тестового задания из статьи товарища novar (кто пропустил — рекомендую ознакомиться). Какие проблемы были у этого решения? Почему в...

Знакомство с Debezium — CDC для Apache Kafka В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить...

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

[Перевод] 9 метрик, которые могут иметь значение для современных команд по разработке ПО Перевод статьи подготовлен в преддверии старта курса «Team Lead 2.0». Как я отмечал в статье «Why metrics don’t matter in software development unless you pair them with business goals", выбор метрик нужно продумывать очень тщательно, чтобы дать ответы на вопросы, кот...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

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

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

Кто такой DocOps-инженер Привет! Меня зовут Наталья и я DocOps-инженер в компании Yadro.Я планирую выпустить цикл статей об этой профессии на примере Yadro. Первая статья носит обзорный характер, последующие будут более техническими и содержать примеры реальных кейсов, с которыми приходится сталкива...

«Вам звонок». Как выстроить отношения между QA и техподдержкой Каждый из нас сталкивался с технической поддержкой. Кто-то с ней взаимодействует по работе, кто-то по своей должности совмещает тестирование и поддержку, а кто-то стоит перед вопросом — взаимодействовать или делать самому? Мы расскажем, как это сделано у нас в Юле. Читать ...

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

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

Особенности практического использования различных алгоритмов Многорукого бандита Большинство статей про алгоритмы, используемые для решения задачи многорукого бандита, очень академичны. Они пестрят формулами, графиками и статистическими таблицами. При этом как будто подразумевается, что у нас есть неизменяемый набор ручек для дёргания и n→∞ попыток. В эт...

[recovery mode] ООП: Кто взял Измаил? Вопрос принадлежности методов объекту Данная статья посвящена разбору вопроса о том, какому именно объекту ООП должен принадлежать метод, осуществляющий взаимодейстие между несколькими сущностями. Это распространённая тема для холиваров. Например: Не используйте ООП. Никогда. Это ошибка. На эту тему есть много...

Tarantool vs Redis: что умеют in-memory технологии В этой статье я хочу сравнить Redis и Tarantool. У меня нет цели сделать громогласный вывод «Tarantool лучше!» или «Redis круче!». Я хочу понять их сходства и отличия, разобраться, для каких задач какую технологию выбрать. Потому что это очень близкие на первый взгляд вещи,...

[Перевод] Домен, поддомен, ограниченный контекст, пространство задач/решений в DDD: четко определены Domain-Driven Design — это, как правило, подход к проектированию систем программного обеспечения, который предполагает создание общего языка между экспертами домена и разработчиками системы. В число известных правил DDD входят Use a Ubiquitous Language и Make The Implicit Ex...

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

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

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

Mikrotik и VLAN Сразу оговорюсь, что данная статья про Router OS, а не Switch OS. На мой взгляд, работа с VLAN в Mikrotik освещена хуже всего. Да, конечно есть набор статей на эту тему, но лично я когда их все читал... У меня не складывалось глубокого понимания, как именно это всё работает...

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

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

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

5. Часто задаваемые вопросы по Check Point Maestro (FAQ) Мы опубликовали уже 4 статьи (1, 2, 3 и 4) по Check Point Maestro, где довольно подробно расписали предназначение и различные сценарии использования этого продукта. В связи с этим, нас довольно часто и много спрашивают по поводу данного решения. Большинство задает примерно...

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

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

[Из песочницы] Теория цвета, контраст Многие говорят, что цвет — это чисто субъективная вещь и в ней нет каких то правил или принципов. На самом же деле, как и в любой науке, здесь есть место и теории. Цвет помогает дополнить тот смысл и идею, которые вы хотите вложить в свою работу, и правильное его использован...

OAuth 2.0 -> OAuth 2.1. Что дальше? Архитекторы ничего не выдумывают. Они трансформируют реальность. Алваро Сиза Виэйра Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно. Но, как обычн...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

Как программисту стать писателем или как написать эту статью? О, статьи — их тысячи! Их пишут сейчас в огромных масштабах все, кто только пожелает. Но как начать их писать, если вы программист? Каким должно быть введение и как не погубить текст? И это только малая толика того, на что эта статья не ответит! Шучу-шучу… Конечно, мы затрон...

Отарки: социал-дарвинизм интеллектуалов Председатель комиссии. Вы читаете на нескольких языках, знакомы с высшей математикой и можете выполнять кое-какие работы. Считаете ли вы, что это делает вас Человеком? Отарк. Да, конечно. А разве люди знают что-нибудь еще? (Из допроса отарка. Материалы Государственной комисс...

Не боги горшки обжигают Дима: Читал эту статью? habr.com/ru/post/483592 (Разработчики — никакая не элита, а голые короли индустрии). Что скажешь? Я: Прочитал эту статью вчера Я: В двух словах моё мнение целиком не выразить Я: Это, скорее, тянет на получасовой разговор. Минимум Дисклеймер Несмотря ...

Подписка на JetBrains Academy: готовимся к запуску и отвечаем на вопросы Привет, Хабр! Недавно мы объявили, что ранний доступ к JetBrains Academy завершается и платформа переходит на модель подписки. Это важный шаг для продукта. Поэтому мы постарались получить как можно больше обратной связи и собрать как можно больше вопросов. Здесь мы постараем...

ML собеседование не в Яндекс: делаем нормально Наверное как и большая часть Хабра я вчера проглядел эту статью — "Собеседование в Яндекс: театр абсурда :/". Она занятная и чего уж таить греха, я чувствовал такие же "нотки", когда ходил в Яндекс на собеседование на роль… менеджера несколько лет назад....

Цифровые люди Samsung Neon не отберут у вас работу На выставке CES 2020 компания Samsung представила, наверное, свой самый необычный продукт — Neon. Сама Samsung не дала внятного термина, описывающего данную разработку, но в целом Neon — это цифровой человек с искусственным интеллектом. При этом Neon...

Менеджер-передаст В конце статьи есть краткое содержание, если лень читать весь текст. Есть на свете интересная профессия, денежная, несложная и очень распространенная профессия – передавать информацию. Люди, ею занимающиеся, принципиально делятся на две категории: секретари и менеджеры. С ...

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

[Перевод] Обсерватория Аресибо была для меня всем. Но я не смог спасти ее В удалении от крупных населенных пунктов, скрытая от посторонних глаз туманом и холмами, многие десятки лет работала крупнейшая в мире обсерватория Аресибо. Это было чудо инженерии. Зеркало радиотелескопа, 350-тонная «тарелка» в форме чаши, была собрана из примерно 40 000 п...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

Борьба за покорение космоса — триллер времен холодной войны Олимпийский девиз:«Быстрее, выше, сильнее!», вполне применим к событиям 60 летней давности, когда человечество вступило в гонку за покорение внеземного пространства. Однако у спортсменов-профессионалов есть и другой девиз: физкультура — лечит, спорт — калечит, и это высказ...

Тесты, деньги и техдолг (сказ из жизни одного Java-проекта) Дорогой друг, эта статья отчасти о тестировании, а отчасти о деньгах и жизни. Я написал её после того, как в очередной раз пришлось рассказывать новому сотруднику команды о том, как мы пишем тесты, когда и почему мы это делаем. Теперь я просто буду давать на эту статью ссы...

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

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

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

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

Уйти во фронтенд после декрета, стать синьором в Gitlab и core team member Vue.js Наш новый формат — прямые эфиры с успешными разработчиками и айтишниками, на которых вы можете задать вопрос профессионалу и получить ответ из первых рук развивается дальше. 25 мая на ваши вопросы будет отвечать Наталья Теплухина, Vue.js core team member, GoogleDevExpret ...

Хакатон на 200 человек — что нужно для организации Знаете, почему проекты в крупных компаниях делаются по полгода? Потому что один из самых медленных процессов — это общение с заказчиком для выявления деталей его потребностей. Простое уточнение ТЗ (на гвозди или на клей надо крепить) может занимать до трёх месяцев. Я сейча...

DevOps, балет и ниндзя: маленькие истории про начало IT-карьеры Давайте вспомним, как мы вообще пришли в IT? Кто-то завидовал черепашкам ниндзя, кто-то хотел переделать любимую игру, кто-то случайно пришел в кружок радиолюбителей, а кто-то вообще собирался заниматься балетом, — пути, приводящие человека в IT-индустрию, неисповедимы; може...

NGFW для малого бизнеса. Новая линейка CheckPoint 1500 Security Gateway После публикации статьи прошло уже более двух лет, модели 1400 серии на сегодняшний день убраны из продажи. Пришло время для изменений и новшеств, эту задачу CheckPoint постарался реализовать в 1500 серии. В статье мы рассмотрим модели для защиты небольших офисов или филиа...

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

[Перевод] Почему об этом стоит задуматься всем: ответы на самые актуальные вопросы о коронавирусе Covid-19 Автор статьи Dave Troy — исследователь онлайн-дезинформации и лжи, а также эксперт в области расчётов, связанных со статистикой болезней. В последнее время он отвечал на многие вопросы о Covid-19 в социальных сетях, пытался опровергнуть заблуждения и ложь. Здесь приведены на...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Amnesty International проигнорировала жалобу адвокатов Винника Греческое подразделение международной правозащитной организации Amnesty International никак не отреагировало на жалобу адвокатов россиянина Александра Винника, подозреваемого в отмывании по меньшей мере $4 млрд через биткоин-биржу BTC-e. Об этом заявила греческий адвокат Вин...

Работа с IPv6 в PHP Недавно мы получили статус LIR и /29 блок IPv6. А следом возникла необходимость вести учёт назначенных подсетей. И коль скоро наш биллинг написан на PHP, пришлось немного проникнуться вопросом и осознать, что этот язык — не самый дружелюбный в плане работы с IPv6. Под катом ...

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

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

[Из песочницы] IIoT — или как помочь сотрудникам использовать свой мозг по назначению Если на любое предприятие направить ревизора, который начнет измерять эффективность работы его сотрудников, то на большинстве таких предприятий его заключение будет неутешительным — это факт. А вы задумывались, почему так происходит? Как часто мозг наших сотрудников рабо...

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

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

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

«Лэт ми спик фром май харт» © Во время проведённого на этой неделе вебинара в чате возникло обсуждение вопроса «Нужен ли перевод ITIL4?». Опять. К сожалению, трансляция была прервана, поэтому не успели обсудить этот вопрос. Но, поскольку дискуссия возникает не первый раз, выскажусь здесь. Также в конце д...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

[Перевод] 50 вопросов по Docker, которые задают на собеседованиях, и ответы на них Docker, первый выпуск которого был еще в 2013 году, — весьма удобный инструмент для сборки пакетов, поставки и запуска приложений в «контейнерах». Большинство крупных компаний, например, Google, Amazon и VMware рассматривают Docker как зрелую технологию для контейнеров, поэ...

Мама, я хакер. Или как, где и чем я пользуюсь для того чтобы им стать сегодня Здравствуй, читатель.Это моя первая статья на данном ресурсе и надеюсь она будет полезной для всех ребят, которые задались вопросами и целью - "Как мне стать хакером?", "Как мне самостоятельно учиться и где это делать?", "С чего начать свой путь?", "Где мне найти нужную инфо...

[Из песочницы] 6 Современных шаблонов проектирования архитектуры в области ПО Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern-Day Architecture Design Patterns for Software Professionals" автора Tanmay Deshpande. Многие современные приложения необходимо создавать в масштабах предприятия, иногда даже в масштабах Интернета. К...

Панель корреляции на QtQML/Quick Всем привет! Я — тимлид команды по разработке десктопных приложений в компании Роджии Европа. Мы разрабатываем программные решения для нефтегазовой отрасли. Так получилось, что в нашем флагманском продукте StarSteer нет панели корреляции — классического инструмента проводчик...

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

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

[Из песочницы] Разбираемся с модулем ШИМ на tms320 Добрый день. Какое-то время назад я прочёл, что какому-то человеку захотелось изучить поглубже вопрос про ePWM модуль на мк tms320f28xxx, поэтому я решил, почему бы и мне не написать статью на эту тему, в которой я постараюсь подробно разжевать этот модуль на примере tms320f...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

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

Чего боятся тимлиды и почему им пора перестать это делать Я уверен, где-то существует книга «Как подсидеть тимлида». Она передается из рук в руки, из команды в команду и содержит советы типа: «Тимлид никогда не уволится по своей воле, потому что это не работа, а сказка! Его нужно сломать», или «Если ваш тимлид уехал в отпуск, напиш...

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

[Из песочницы] О команде ракетчиков, которые смогут Немного о себе Так случилось, что я после школы поступил учиться в Московский авиационный институт (МАИ) на 601 кафедру, аэрокосмический факультет. Учился я проектированию космических аппаратов и разгонных блоков. С 2004 года я пошёл работать в проектный отдел КБ «Салют» (ФГ...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

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

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Как ролевые игры помогли мне стать техническим директором Как построить успешную IT-компанию, которая:• Делает топовые проекты по производительности и безопасности?• Работает на федеральном уровне и зарубежных рынках?• Имеет одну из лучших систем организации труда?• Подготовила сотню специалистов, которые вышли на IT-рынок?Это все ...

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

Пишем простейший GitHub Action на TypeScript Недавно я решил немного привести в порядок несколько своих .NET pet-проектов на GitHub, настроить для них нормальный CI/CD через GitHub Actions и вынести всё в отдельный репозиторий, чтобы все скрипты лежали в одном месте. Для этого пришлось как следует изучить документацию,...

[Из песочницы] Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кр...

«Бунт в стенах Кремля!» Как Депутаты пытаются избавиться от правительства РФ? Против Собянина и Мишустина выступили даже градоначальники. Депутат Мосгордумы адвокат Евгений Ступин написал заявление в СК против мэра Москвы Сергея Собянина с требованием призвать его к уголовной ответственности. Причиной такого поступка стало «создание» очереди при вход...

[Перевод] Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly) Чтобы повысить производительность web-приложений, используйте WebAssembly в связке с AssemblyScript, чтобы переписать критически важные для производительности компоненты web-приложения, написанные на JavaScript. «И это действительно поможет?», — спросите вы. К сожалению, ...

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

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

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

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

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

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

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

Как запрет в США популярного мессенджера WeChat повлияет на все смартфоны Наверное, не осталось в мире владельца смартфона, который не пользовался бы мессенджерами. Это удобно для ежедневного общения, поддержания контакта в течение дня и передачи файлов. Самым популярным в мире мессенджером по разным оценкам является WhatsApp, но есть и другие. Н...

Строим Telegram-бот в Яндекс.Облаке Сегодня из подручных материалов мы соберём в Яндекс.Облаке Telegram-бот с использованием Yandex Cloud Functions (или Яндекс-функции — для краткости) и Yandex Object Storage (или Объектное хранилище — для ясности). Код будет на Node.js. Однако, имеется одно пикантное обстоя...

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

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

Как реляционная СУБД делает JOIN? Статья о том, как реляционная СУБД может выполнить JOIN. Для лучшего понимания мы попробуем своими руками написать такую же реализацию на языке C#. Что позволит нам лучше вникнуть в детали. А чтобы было не совсем скучно - мы зададимся вопросом производительности. Что работае...

Как тратить меньше времени на обучение стажеров-аналитиков и повысить его качество Привет, Хабр! Мы – аналитики команды облачного ИТ-сервиса. Наши клиенты – это бизнесмены, которые используют service desk решение. Мы много с ними общаемся и решаем их проблемы, делаем статьи и вебинары о продукте и занимаемся его развитием. Найти сотрудника, который смог ...

Совещания — это просто. Три совета из практики на каждый день Согласно PMI 90% времени руководитель проекта тратит на общение с заинтересованными сторонами. Цель такого общения — обсудить и принять решение по ряду вопросов. Собрание посвященное обсуждению каких-либо вопросов является определением совещания. Продолжая логическую цепо...

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

Временные ограничения для внешних интерфейсов ПЛИС Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временны́е ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легк...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

Методы организации DI и жизненного цикла приложения в GO Есть несколько вещей, которыми можно заниматься вечно: смотреть на огонь, фиксить баги в легаси-коде и, конечно, говорить о DI — и всё равно нет-нет, да и будешь сталкиваться со странными зависимостями в очередном приложении. В контексте языка GO, впрочем, ситуация чуть слож...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

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

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

Почему мой NVMe медленнее SSD? В данной статье мы рассмотрим некоторые нюансы подсистемы ввода-вывода и их влияние на производительность. Пару недель назад я столкнулся с вопросом, почему NVMe на одном сервере медленнее, чем SATA на другом. Посмотрел в характеристики серверов и понял, что это был вопрос...

Требования ACID на простом языке Мне нравятся книги из серии Head First O`Reilly — они рассказывают просто о сложном. И я стараюсь делать также.Когда речь идёт о базах данных, могут всплыть магические слова «Требования ACID». На собеседовании или в разговоре разработчиков — не суть. В этой статье я рас...

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

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

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

Какие современные профессии самые странные Редакция Вопросы и ответы 01.08.2021, 09:08 Какие современные профессии самые странные Сегодня многие люди зарабатывают на жизнь, например, ведением блога. Этим уже никого не удивишь. Но на рынке труда начинают появляться и более стран...

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

Кадровые изменения в Xiaomi Бывший вице-президент Lenovo Group Чанг Ченг отмечает свое новое назначение: отныне он вице-президент Xiaomi. Об этом сегодня на своей странице в сети Weibo объявил сам глава компании Лэй Цзюнь. В рамках своей новой должности Чанг Ченг будет отвечать за планирование мобильны...

Первый парсер на деревне Сегодня мы померяемся парсерами. Точнее, померяем эффективность разных вариантов JavaScript-парсеров на примере одной простой задачи преобразования строки конкретного формата в объект. Вопросы сложностей организации многопоточности в JavaScript оставим за рамками этой стат...

[Перевод] Что покупать для глубокого обучения: личный опыт и советы использования GPU Перевод статьи Тима Деттмерса, кандидата наук из Вашингтонского университета, специалиста по глубокому обучению и обработке естественного языка Глубокое обучение (ГО) – область с повышенными запросами к вычислительным мощностям, поэтому ваш выбор GPU фундаментально определи...

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

Заметки посредственного специалиста из мира программирования о профессии Моя дебютная статья – набор всяческих мыслей, которые местами связаны друг с другом, местами не очень. Все они навеяны моим личным опытом и довольно субъективны. Успел поработать я только в продуктовых ИТ-компаниях, для других областей многое наверняка будет мимо.Частый вопр...

SMARTtech: Покупка и установка антивируса. Где, как и зачем?! В этой статье будет дан ответ на вопрос почему антивирус — это важно. И почему это актуально в 2020 как никогда ранее. Почему не каждый защитник поможет вашему ноутбуку, куда могут привести взломанные программы и что делать потом?

[Перевод] Чему я научился, проработав два года разработчиком ПО в Microsoft Так как завершается второй год моей работы разработчиком ПО в Microsoft India, логично будет порассуждать о том, чему же я научился за последние два года. Я пришёл в Microsoft сразу после учёбы в колледже, Indian Institute of Technology Guwahati, и эта работа стала моим пе...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

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

Базы данных. Тенденции общемировые и в России Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя со...

Что такое LLVM и зачем он нужен? Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать ...

Сколько зарабатывают на инфо сайтах и Ютуб-каналах в конце 2019 года Насколько я понял, всем похуй на всю эту манную кашу, что я расписал в прошлом посте. Корпоративы, отпуска, вся хуйня, мозг не работает. И вот ночью я вам решил написать, а сколько же блядь зарабатывают на инфо сайтах на конец 2019 года. Тут цифра примерно 40 рублей с 1000 у...

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

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

[Перевод] Задача, которую предлагали разработчикам на собеседованиях в Reddit: разбор и решение от сотрудника компании Впервые я столкнулся с техническими собеседованиями еще в 2012 году, когда искал свою первую работу в IT. Я выслушал условия задачи, нацарапал решение на доске, ответил на несколько вопросов и ушел, весь перепачканный черный маркером. В то время я совершенно не представлял, ...

Project Loom: виртуальные потоки в Java уже близко Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь бессовестно использовать теперь без ссылки на первоисточник. Со своей сто...

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

[Перевод] Как pod в Kubernetes получает IP-адрес Прим. перев.: эта статья, написанная SRE-инженером из LinkedIn, в деталях рассказывает о той «внутренней магии» в Kubernetes — точнее, взаимодействии CRI, CNI и kube-apiserver, — что происходит, когда очередному pod'у требуется назначить IP-адрес. Одно из базовых требований...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

[sobjectizer] Можно ли написать один обработчик сразу для нескольких типов сообщений? И если нет, то как быть? Сегодняшняя статья написана по следам недавнего вопроса, который можно сформулировать следующим образом: "Можно ли в SObjectizer написать обработчик, который бы обрабатывал сразу нескольких типов сообщений?"Вопрос интересный.Автор вопроса любезно описал свой сценарий: ему ну...

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

[Из песочницы] Геймификация личной продуктивности Предисловие Думаю, многие встречали статьи по различным методикам увеличения своей продуктивности, но в действительности мало кто придерживается строгой дисциплины и ежедневно выполняет необходимый ToDo план. Я один из таких. Но так или иначе вопрос личной эффективности меня...

STM32 Часть 3: Первый Проект Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, чел...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Долой циклы, или Неленивая композиция алгоритмов в C++ "Кто ни разу не ошибался в индексировании цикла, пусть первый бросит в деструкторе исключение." — Древняя мудростьЦиклы ужасны. Циклы сложно читать — вместо того, чтобы сразу понять намерение автора, приходится сначала вникать в код, чтобы понять, что именно он де...

[Перевод] Аарон Шварц: Как я нанимаю программистов Об Авторе: Аарон Шварц — американский интернет-активист, программист, писатель, хактивист. Умер за свободу информации. В 12 лет создал сайт Info, где каждый мог писать о том, что знает (а другие могли дополнять и комментировать). Это был предвестник Википедии. В 14 лет Шва...

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

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

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

[Из песочницы] Null safety в Dart Привет, Хабр! Представляю вашему вниманию перевод статьи «Announcing sound null safety» автора Filip Hracek с моими комментариями: Null safety — безопасная работа с пустыми ссылками. Далее по тексту для краткости и по причине устойчивости термина будет использоваться англий...

[Перевод] Пять самых сложных языков программирования на свете У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания большинства программистов. Они называются эзотерическими языками программирования (или эзо...

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

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

В Intel вернётся ещё один именитый ветеран Ещё один ветеран Intel возвращается в родную гавань. Санджай Натараджан (Sanjay Natarajan) покинул компанию в 2015 году после того, как проработал в ней 22 года. Перед уходом из Intel он занимал пост вице-президента отдела технологий и производства. С 2017 года Натараджан яв...

INVESTMENT-READY Или что следует иметь в виду, создавая стартап. //при чем здесь котик? Что за странный вопрос ?? ПРЕДИСЛОВИЕ Прочел несколько постов от людей, которые провалили стартапы и давали советы на тему чего не следует делать (сорри, хотел дать на них линки, но потерял). Собир...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

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

Пишем свой Google, или асинхронный краулер с rate limits на Python Меня зовут Александр, я руковожу backend-разработкой в КТS. Сегодня расскажу, как написать асинхронный краулер.Такая задача часто встречается на практике, когда нужно реализовать периодическую синхронизацию/обкачку между сервисами. Статья написана по мотивам вебинара, к...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Apple заблокировала обновления приложения WordPress, заставив внести в него поддержку покупок Появился очередной пример натянутых отношений Apple с разработчиками. Основатель WordPress Мэтт Малленвег (Matt Mullenweg) написал в Twitter, что его бесплатное приложение для iOS какое-то время не получает обновлений, потому что компания была заблокирована в App Store. Hoch...

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

План начинающего тестера: от “Войти в IT” до “Я — Инженер!” Всем привет! Меня зовут Валентин и я работаю инженером по тестированию в компании Exness. Очень часто слышу вопрос о том, насколько сейчас возможно стать тестировщиком программного обеспечения. В этой статье я постараюсь ответить на данный вопрос. Читать дальше →

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

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

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

21 апреля Live! Badoo Localization Meetup Всем привет! Я Алексей Тимин, отвечаю за техническую часть системы локализации в Badoo. У нас 150 000 фраз и текстов, переведённых на 52 языка для нескольких приложений. У каждого приложения свои особенности аудитории, определенный стиль общения с пользователем, версии дл...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

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

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

7 фразовых глаголов с take и 30 их значений. На первый взгляд все просто, но на второй — нет В одном из прошлых материалов мы рассказали вам о фразовых глаголах, в которых есть слово get. Статья была принята очень хорошо, поэтому мы решили сделать еще одну. На этот раз с глаголом take.Мы насчитали минимум 65 фразовых глаголов и их значений с take — и не исключено, ч...

Легенды и мифы процессора Эльбрус в примерах В ответ на мою статью про тупиковость развития линейки процессоров Эльбрус в качестве базовой платформы для отечественных general-purpose CPU, пользователь @alexanius (Алексей Маркин) написал свою статью-ответ, где привёл возражения моим тезисам. Дабы не превращать дискуссию...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

3D-аркада в браузере: как мы сделали игру на React + Redux Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать и...

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

[Перевод] Как начинающий Data Scientist вроде меня может набраться опыта Я прошел несколько курсов, а что делать дальше? На днях я получил письмо от Мануэлы со следующим вопросом: «Как начинающий data scientist вроде меня может набраться опыта?» Вопрос отличный. За вопросом следовало: «Я закончила несколько курсов и проектов, некоторые работ...

Освободи свой Android — алаверды О чём это? Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. ...

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

[Перевод] Double or Nothing Фотография Esteban Lopez с Unsplash.comЕсли вы выбрали C++ в качестве языка программирования, то учить его придётся всю жизнь. Смиритесь. Или выбирайте другой язык.Чего только стоят новые стандарты, появляющиеся каждые 3 года. И каждый раз с какими-то полезными нововведениям...

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

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

[Перевод] А вы можете решить эти три (обманчиво) простые задачи на Python? С самого начала своего пути, как разработчика программного обеспечения, я очень любил копаться во внутренностях языков программирования. Мне всегда было интересно как устроена та или иная конструкция, как работает та или иная команда, что под капотом у синтаксического сахара...

52 системы управления проектами для командной работы в разных сферах Привет, Хабр! Вам приходила мысль сделать свою систему управления проектами и задачами? Нам да! И мы делаем YouGile. Знаете, в чем самая большая сложность? Выбрать и сфокусироваться на одном востребованном направлении продукта. Вообще такая задача есть везде, но тут она...

[Перевод] Всегда старайтесь быть н̶е̶заменимым Есть хорошая жизненная философия, которой можно придерживаться на рабочем месте, — это «постоянно быть готовым увольняться» («always be quitting»). Это не значит думать о том, чтобы уйти с работы. Но вести себя так, как будто вы можете уйти в кратчайшие сроки. Парадоксально,...

[Перевод] Почему не стоит читать статьи о том как стать специалистом по Data-science за несколько месяцев Когда я приступила к изучению дата-сайенс (сейчас автор статьи CAN | Geoscience BSc undergrad student | Software Dev graduate), — прим. перев.), я читала практически каждую статью по этой темпе, которая попадала в мои руки. В большинстве случаев это были вдохновляющие стать...

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

Процесс создания игровой 3D модели Hard Surface Решил я тут написать небольшую (огромную) статью, о том как я делаю игровые модели. В общем начал я делать это оружие, и пришла такая мысль, что можно попробовать описать весь процесс, вдруг кому-то пригодиться. Это не только моя первая статья, ещё и моя первая работа в каче...

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

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

FineReader, Tesseract и EasyOCR или нужно ли срочно менять инструмент для OCR По сравнению со старшими товарищами, EasyOCR очень молодой проект, но с большими амбициями. В статье приводится сравнение качества работы, удобства работы, особенности установки и производительности трёх инструментов.Одна из популярных задач в аудиторской практике – рас...

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

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

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

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

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

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

[Перевод] Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Здесь вы получите ответы на важные вопросы о жизни, вселенной и всем таком в Linux с улучшенной безопасностью. «Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…» ―Ду...

Наблюдательный пост пессимиста: технические и концептуальные решения в системе мониторинга Lamoda Всем привет! Меня зовут Александр Афенов, я работаю в Lamoda. Эта статья по мотивам моего доклада с HighLoad 2019, запись которого лежит тут. Раньше я был тимлидом, и в моем ведении была пара критикал-сервисов. И если в них что-то шло не так, это останавливало реальные бизн...

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

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

Еще раз про try и Try По вопросу обработки ошибок уже множество статей написано и все равно возникают вопросы и споры. Я не стану рассматривать все способы и языки, но хотел бы остановится на исключениях в JVM и сравнить их с функциональным подходом (`Try`/`Either`) на примере Scala.Эта статья та...

[Перевод] Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%. С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

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

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

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

[Перевод] 4 технических решения, которые делают API сервис успешным Есть API, которые в целом «как-то работают», но имеют проблемы с безопасностью, документацией или валидацией данных. Автор статьи объясняет, почему в современных реалиях это недопустимо, и даёт рекомендации по исправлению недостатков.   API — это программный интерфейс взаим...

Тим Кук не собирается оставаться в Apple ещё 10 лет С понедельника об этом пишут и говорят электронные и бумажные СМИ всего мира: Тим Кук собирается уходить из Apple. В интервью Каре Свишер из The New York Times он сам в этом признался. Во всяком случае, он этого не отрицал. Заканчивая интервью, она спросила Тима, собирается...

[Перевод] 20 психологических уловок в дизайне продуктов Совершенствование продуктов с применением когнитивных искажений и моделей убеждения. Несколько лет назад коллега из моей бывшей компании (BlaBlaCar) познакомил меня с игрой Mental Notes. Разрабатывая какую-либо функцию, мы вместе с несколькими менеджерами по продукту, дизай...

Большая роль «маленького разговора» О чем вы обычно думаете, когда встречаете кого-то впервые на работе / в лифте или когда вам предстоит сложный телефонный разговор с недовольным клиентом? Большинство носителей английского языка ответили бы: small talk. Как говорится, “Good beginning is half the battle!” (Хор...

Из техлида в менеджеры продукта: чем поможет бэкграунд разработки и стоит ли переходить именно вам Меня зовут Марина Перескокова. Я проработала в Яндексе 10 лет, и из стажёра-разработчика выросла до руководителя службы разработки фронтенда. За это время получилось поработать над JS API Яндекс.Карт, поруководить фронтендом сервиса yandex.ru/maps и покодить движок для векто...

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

Docs as Code. Часть 2: получаем документацию из кода Продолжаем рассказывать о применении на практике принципа работы с документацией как с кодом. В этот раз разберём получение спецификации Swagger напрямую из комментариев к коду API. В статье рассматривается роль технического писателя в процессе адаптации команды к использо...

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

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10...

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

Как издать компьютерную книгу и не сойти с ума Каждый год в ноябре я отмечаю своеобразную веху — очередную годовщину с момента выхода моей первой книги о компьютерных технологиях в издательстве «Питер». Эта книга уже давно отпраздновала совершеннолетие — в нынешнем году ей исполнилось 19. С той поры я написал еще 45 кн...

Аутентификация в .NET Core gRpc с помощью JWT В этой статье я расскажу об особенностях аутентификации API в gRpc сервисах с помощью JWT. Я предполагаю, что вы знакомы с JWT и заголовками HTTP, с их использованием в .NET Core WebAPI, поэтому не буду обсуждать эти детали. Когда я пытался реализовать аутентификацию в gRpc,...

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

История IT. ООП Мою предыдущую статью «История IT. Когда компьютеры были большими…» мы завершили концом 80-х, когда произошло два знаменательных события. Во-первых, появился ООП и объектный язык C++. А во-вторых, появились персоналки, и это принципиально изменило задачи, стоящие перед IT-ра...

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

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

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

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Apple подтвердила разработку нового продукта, а также сообщила о перестановке кадров Apple объявила сегодня о серьезных перестановках в своей команде разработчиков оборудования и инженеров. Дэн Риччио (Dan Riccio) был назначен вице-президентом компании по техническим вопросам, а Джон Тернус (John Ternus) сменит его на посту старшего вице-президента по р...

Лучшая мышка для работы. Xiaomi Mi Wireless Mouse Black USB Выбрать мышку для игр сложно, а для работы — вдвойне тяжелее. Дело в том, что у разных пользователей разные потребности, разные задачи, разные рабочие места и, что самое главное, у всех отличается бюджет на создание идеального набора периферии. Мы постарались сегодня угодить...

Как мы запустили программу на Java без JavaVM Всем привет! В этой статье мы расскажем о том, как технология GraalVM Native Image помогла нам решить ряд задач в одном из наших новых продуктов, написанном на Java, расскажем о проблемах, с которыми столкнулись в ходе применения этой технологии, и о том, как эти проблемы ре...

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

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

Бизнес-эксперт и программирование. Совмещать нельзя разделять Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях. Вообще же, про data...

Действительно ли управление ИТ-продуктами – это управление продуктами? «Странный вопрос!» – подумал я. Но я стараюсь быть осторожным в своих суждениях. Некто спросил меня, считаю ли я, что управление ИТ-продуктами – это действительно управление продуктами? Это не было провокационным вопросом, но я подозреваю, что сейчас многие из те...

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

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

[Перевод] Эксплуатация большой распределённой системы: чему я научился Читая различные каналы и рассылки, я часто встречаю статьи о конкретных «болях» и проблемах, возникающих при росте компании, когда надежность и масштабируемость выходят на первый план. Эта статья — иная. Здесь нет подробного разбора конкретных архитектурных решений или пош...

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

[Из песочницы] Как помнить всех в лицо, или эффективный поиск лиц в большой базе О себе Здравствуй, Хабр! Меня зовут Павел, я работаю техническим директором в компании, занимающейся производством IoT устройств. Производим много чего — начиная от контроллеров для умных домов, заканчивая умными приборами учёта на своём запатентованном протоколе сенсорных с...

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

Мы поступили в универ и сами показали преподам, как учить студентов. Теперь собираем самые большие аудитории Замечали, скажешь человеку слово “универ”, как он сразу погружается в душные воспоминания? Там он тратил свою молодость на бесполезные предметы. Там он получал устаревшие знания, и там обитали преподы, давно слившиеся с учебниками, но ничего не понимающие в современной IT-...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

[Перевод] Коронавирус: почему надо действовать прямо сейчас Вступление Учитывая всё, что происходит с коронавирусом, может оказаться очень сложно принять решение, что делать прямо сейчас. Стоит ли подождать, пока станет больше информации? Надо ли предпринять что-то уже сегодня? Если да, то что? В этой статье со множеством графиков, ...

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

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

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

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

Транслируй меня полностью Вы когда-нибудь работали с Entity Framework или другим ORM и получали NotSupportedException? Многие люди получали: InvalidOperationException: Error generated for warning 'Microsoft.EntityFrameworkCore.Query.QueryClientEvaluationWarning: The LINQ expression could not be tra...

Обратная связь или 1 to 1, как не допустить ошибки Данная статья была написана специально для студентов курса «IT-Recruiter» от OTUS. Автор статьи: Елена Ленсу. Все говорят, что обратная связь важна и что нужно быть корректными друг к другу, но давайте разберемся, зачем это нужно. Встречи один на один являются важным ин...

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

[Из песочницы] Как достичь своих целей? Привет, Хабр! Представляю вашему вниманию перевод ранее опубликованной на Хабре статьи «How to achieve goals?». 5 жизненных советов, которые помогут вам достичь своей желаемой цели. Конечно же, не обязательно выполнять их все в указанном порядке. Но самое важное — не просто...

[Из песочницы] Какие вопросы задают Junior iOS разработчику на первых собеседованиях Что хотят услышать работодатели? Что вы должны знать? В интернете пишут много, но на деле человеческий фактор играет свою роль и вас ловят на простых вопросах к которым вы не были готовы. Здравствуй, Хабр. За недавние 7 месяцев обходил собеседований, где-то больше 20. Все он...

Зачем знать индустрию, в которой работает твоя компания? Всем привет!Неоднократно сталкивался в ИТ-сообществе с мнением, что разработчикам бы работу работать, а не “вот это вот все”. Под “этим всем” скрываются видео и круглые столы от менеджмента, разъясняющие стратегию компании, полезные тренинги от HR, всякая социальная активнос...

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

[Перевод] PEP 572 (Выражения присваивания в python 3.8) Привет, Хабр. В этот раз мы рассмотрим PEP 572, который рассказывает про выражения присваивания. Если Вы до сих пор скептически относитесь к оператору ":=" или не до конца понимаете правила его использования, то эта статья для Вас. Здесь вы найдёте множество пример...

Python и Ruby под нагрузкой: высокое искусство некромантии Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатыв...

[Перевод] Data Science — это пузырь? У нас в SkillFactory, как в школе, которая специализируется на обучении дата-сайентистов и дата-аналитиков, внимательно подходят к вопросу восприятия самой профессии как самими студентами, так и их нанимателями. О требованиях к профессии Data Analyst и путанице в вакансиях...

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

Электронная книга своими руками на STM32H750 от А до Э В этой статье я хочу поделиться опытом разработки электронной книги с использованием недорогого контроллера STM32H750VB, распространенных дискретных компонентов и относительно недорогого дисплея E-Ink. Статья будет большой, так как приведены будут все процессы от постановки...

Введение в моделирование динамики квадро-, гекса- и октокоптеров Что бы разбавить зубодробительную математику лекций Козлова Олега Степановича "Управление в технических системах", публикуем здесь пример применения знаний из этих лекций на практике. В данной статье, Александр Щекатуров, ученик Олега Степановича описывает создан...

[Перевод - recovery mode ] Убрать лишнее [очищаем график от ненужного] Искусство сокращения для аналитика данных. В этой статье минимум слов, ведь важно попрактиковаться в искусстве упрощения. Удаление ненужного — критически важно для эффективной работы с данными. Как сказал Антуан де Сент-Экзюпери: «Ты осознаешь, что достиг совершенства не т...

[Перевод] Thunderbird, RNP и важность хорошего API Недавно мне довелось побеседовать с разработчиком Thunderbird о проектировании API. В ходе этой беседы я поделился соображениями о RNP, новой реализации OpenPGP, которую Thunderbird недавно стал использовать вместо GnuPG. Собеседник скептически отнесся к моему тезису о т...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Как перестать беспокоиться и начать верить A/B-тестам Когда вы разрабатываете продукт, каждая новая итерация — это риск уронить метрики и потерять пользователей. Тем не менее иногда, особенно на начальных этапах, компании неосознанно идут на этот риск — меняют продукт, полагаясь только на свои инстинкты и гипотезы. Мы в Badoo ...

[Перевод] Как и почему я перестал покупать новые ноутбуки Статья написана на ThinkPad X60s 2006 года. Когда я работал независимым журналистом (или трудился в офисе, если угодно), я всегда думал, что мне нужен хороший компьютер, и что я должен платить за качество. В период с 2000 по 2017 год я пользовался тремя ноутбуками, на кот...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

Регистры сведений. История одного «велосипеда» В этой статье я разбираю один конкретный класс объектов в системе 1С:Предприятие 8. Тема, конечно, узкая. Но, так как здесь мы имеем очень хороший пример очень плохой архитектуры, я думаю, многим будет интересно. В том числе и тем, кто далек от 1С. Со своей стороны я постара...

Анонс: как писать статьи в IT-журналы и блоги Завтра, 23 ноября, в 20:00 в наших соцсетях выступит Андрей Письменный, главный редактор Xakep.ru. Андрей начал карьеру в ИТ-журналистике в 2006 году, когда параллельно с учебой в техническом вузе начал писать для «Компьюленты» — одного из первых онлайн-СМИ в России. Вско...

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

[Перевод] Реализация технологии SSO на базе Node.js Веб-приложения создают с использованием клиент-серверной архитектуры, применяя в качестве коммуникационного протокола HTTP. HTTP — это протокол без сохранения состояния. Каждый раз, когда браузер отправляет серверу запрос, сервер обрабатывает этот запрос независимо от других...

Создал свой Lego Jeep в 3d Всем привет! Первая статья с повторением рекламы Яндекс получила хороший отклик от читателей Хабра, поэтому я решил написать про свой более новый проект. В этот раз я решил собрать свою собственную модельку LEGO. Я знаю про программы для создания кубиков, например, BrickLink...

Как выбрать психолога/психотерапевта? В прошлой статье и в канале, который веду о психологии и soft skills в IT (PSYvIT) часто поднимается вопрос — как выбрать психолога? На что смотреть? Что важно помнить? Я уже писала об этом в небольших заметках, но решила подробно раскрыть эти рекомендации в статье. Итак: к...

Путь к ООП: Взгляд инженера Дисклеймер Статья не предполагает какой-то принципиально новый взгляд на вещи, кроме как с точки зрения изучения этого материала с «абсолютного нуля». Материал основан на записях примерно 7-летней давности, когда мой путь в изучении ООП без IT-образования только начинался...

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

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

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Kubernetes, микросервисы, CI/CD и докер для ретроградов: советы по обучению Кажется, тема «зачем нужен Kubernetes», уже раздражает. Хочется сказать: «все кому надо — давно уже поняли», однако я разделил бы технических (и околотехнических) работников на тех, кто «понял и знает как использовать», и тех, кто «понял, но хочет знать, как сделать знания а...

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

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

Вакцинация для чайников глазами айтишника За последнюю неделю я достаточно часто отвечал на вопросы о вакцинации, что подвигло меня написать небольшой F.A.Q. для чайников без сложной терминологии с ответами на наиболее частые вопросы про прививку от коронавируса. С помощью этой небольшой статьи я объяснял своим роди...

Gtk, OpenGL и все-все-все Не так давно мне пришлось столкнуться с использованием OpenGL в Gtkmm версии 3. В данной статье я постараюсь изложить детали имплементации стандартного виджета для OpenGL-графики. Читать дальше →

Создаём с нуля высоконагруженное приложение на Tarantool В 2013 я пришел в Mail.ru Group, и я решал задачу, в которой мне нужна была очередь. Есть много разных инструментов для построения очередей, но я решил для начала узнать, что уже имеется в компании. Услышал, что есть такой продукт — Tarantool. Узнал, как он устроен, и мне п...

[Из песочницы] Практическое применение Kotlin в стартапах и энтерпрайзе Disclaimer: Я не имею никакого отношения к JetBrains, не получаю денег от продвижения Kotlin или от написания данной статьи. Весь материал — это лишь отражение моего личного опыта. Выбор того или иного языка (и вообще любого инструмента) как правило продиктован как объективн...

Пишем PBX на Perl для Yate Когда-нибудь я напишу что-то в духе "Как я стал программистом в 40 лет". Но точно не сегодня, к тому же мне давно уже не 40 и программистом я себя не считаю. А рассказать я хотел бы о своём опыте разработки PBX для собственных нужд. В качестве VoIP движка используется Yate, ...

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

[Перевод] Отзывчивый веб-дизайн и учёт высоты окна браузера Знаю, что у многих появится вопрос о том, почему у этой статьи такой необычный заголовок. Как связаны «отзывчивый веб-дизайн» и «высота окна браузера»? Пожалуй, этот заголовок кажется необычным из-за того, что под «отзывчивым дизайном», как правило, понимают проектирование с...

И целого байта мало… (Часть #1) Дамы, господа, сегодня отличный день! Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а так же пару популярных статей по этому вопросу. Од...

[Перевод] Ядерная война, скорее всего, не приведёт к вымиранию человечества Многие люди заявляли, что полномасштабная ядерная война, скорее всего, приведёт к вымиранию человечества. Я всесторонне изучил этот вопрос и пришёл к заключению, что даже полномасштабный обмен ядерными ударами с очень небольшой вероятностью (менее 1%) приведёт к вымиранию вс...

[Из песочницы] Что такое собеседование и зачем оно? Поводом для написания размышлений ниже послужила статья «Нужны ли резюме в IT?». Так как тема в статье мне близка и интересна, я решил написать своеобразный ответ. На мой взгляд, статья ошибочна и полна ошибок и заблуждений, причем концептуального уровня. Конечно, изложенно...

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

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

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

ELK, SIEM, Open Distro: Составление отчетов Чтобы защитить вашу корпоративную сеть от угроз и атак, вы всегда должны выполнять тест на уязвимости в своей системе. Для того, чтобы их исправить. Итак, как вы понимаете, работа с отчетами очень важна для любого SOC, потому что она дает обзор уязвимостей, которые могут быт...

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

Онлайн-курс Теплицы: как читать и писать об IT Команда Теплицы социальных технологий приглашает журналистов и других профессионалов медиарынка на мини-курс «Как читать и писать об IT». Онлайн-курс пройдет с 29 сентября по 2 октября 2020 года. О чем курс?  Цикл из четырех вебинаров знакомит слушателей с актуальными...

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

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

Есть ли жизнь без Auto Layout? Технология Auto Layout появилась в 2012 году, но споры и дебаты о том, как правильно верстать интерфейс, не утихают до сих пор. Использовать ли Auto Layout интерфейс в билдере или в коде? Верстать без него на фреймах или вообще использовать что-то стороннее? Тема такая горяч...

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

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

Новости Yii 2020, выпуск 6 Всем привет! Почти три месяца прошло с последнего выпуска новостей. От нас почти ничего не было слышно. Мы работали. После расширения команды Yii 3 я больше занимаюсь управлением, ревью, проектированием и обсуждениями, чем непосредственно кодом. Получается неплохо. В общем т...

Сам себе Роскомнадзор. Как я заблокировал соцсети У меня отключена лента Фейсбука и Вконтакте, нет подписок в Инстаграме, Ютубе и Твиттере. При этом я ниоткуда не удалялся, в монастырь не уходил и продолжаю вести нормальную жизнь человека 2020 года. Надевайте шапочку из фольги и присаживайтесь поудобнее, я расскажу о своё...

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

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

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

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

[Перевод] Поиск лучшего фронтенд-инструмента 2021 года Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и п...

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

Как оценить уровень владения Английским языком На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оцени...

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

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

Про сайт, Яндекс, Seo и будущее Говорю что сейчас происходит и что будет дальше. Знаете, что сделает Яндекс в ближайшие месяц?!  Он отменит комиссию агентствам.  Зачем это сделает Яндекс?! А ведь нужно каждый квартал показывать перед инвесторами рост прибыли. Все скидки давно отменили, цену клика повысили ...

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

Белковый тестировщик Тестировщики для контроля качества продуктов применяют средства автоматизации, анализаторы сетевого трафика, инструменты отладки… а также головной мозг для выполнения, так называемого, «ручного тестирования». Данное словосочетание неудачно по той причине, что процесс тестиро...

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

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

Любимые пазлы не разбирайте. Подборка головоломок для украшения дома Все собирали головоломки. Кто-то — в детстве, кто-то продолжает и сейчас. Наверняка, поставив на место тысячную деталь, вы ловили себя на мысли: «А что я буду делать с пазлом, когда сложу?» Человеку практичному о таком даже думать больно. Индустрия решила эту проблему нес...

Что такое service mesh, когда внедрять, альтернативы Istio и другие ответы экспертов с АМА-сессии Слёрм по service mesh Публикуем сессию вопросов и ответов по service mesh. Сессия прошла в рамках подготовки к интенсиву Слёрм по service mesh. На Youtube есть запись. Эксперты отвечали на самые популярные вопросы по технологии service mesh и вопросы участников мероприятия. Ключевые вопросы АМ...

[Перевод] Почему центр пикселя должен быть в (0,5; 0,5) Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то...

Хакеры переходят на «экзотические» языки программирования Цель, которую преследуют вирусописатели, заключается вовсе не в изучении новых языков программирования. Для них это необходимость - они прибегают к использованию Go, Rust и других в первую очередь для того, чтобы экспертам в сфере информационной безопасности было сложнее выя...

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

QA — специалист по пожарной безопасности вашего проекта На конференциях и в неформальных беседах на работе нет-нет да и возникает разговор о важности работы QA-инженера и его роли в проекте. Это может быть и робкий вопрос коллеги-программиста «А, может, выпустим без QA?», и объёмный доклад. Проблема, как мне кажется, связана с т...

ML и DS оттенки кредитного риск-менеджмента | EAD или деньги в дефолте Привет, Хабр! Новая статья цикла о моделировании в задачах управления кредитным риском (предыдущие статьи смотрите здесь и здесь)  посвящена EAD — компоненте, отражающей размер задолженности заемщика перед банком в момент дефолта. Как спрогнозировать сумму кредитного тре...

Книга «Байесовская статистика: Star Wars, LEGO, резиновые уточки и многое другое» Привет, Хаброжители! Нужно решить конкретную задачу, а перед вами куча непонятных данных, в которой черт ногу сломит? «Байесовская статистика» расскажет, как принимать правильные решения, задействуя свою интуицию и простую математику. Пора забыть про заумные и занудные уни...

[Перевод] JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году? Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой инду...

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

Когда у вас сберовские масштабы. Использование Ab Initio при работе с Hive и GreenPlum Некоторое время назад перед нами встал вопрос выбора ETL-средства для работы с BigData. Ранее использовавшееся решение Informatica BDM не устраивало нас из-за ограниченной функциональности. Её использование свелось к фреймворку по запуску команд spark-submit. На рынке имелос...

Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоеву… Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоеву и Максиму Коновалову Атака на Игоря Сысоева, выдающегося программиста и создателя Nginx, продукта, распространяемого под свободной лицензией, то есть доступного каждом...

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

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

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

Свежий фиксы починить работает почти помочь герой карма много: как мы исправили проблемы с логином на AliExpress Мы запустили блог на «Хабре» совсем недавно, и в комментариях к первой же статье было много вопросов о том, когда и как мы планируем устранять проблему с логином на сервисах AliExpress. И сегодня я расскажу, что вообще пошло не так, как мы чинили баг(и), с чем уже удалось сп...

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

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

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

Tagged Unions в PHP (примерно как в Rust) В предыдущей статье я писал про добавление enums в PHP8.1. Голосование прошло успешно, так что можно считать, что вопрос решенный. Однако та реализация enums — лишь часть глобального плана. Сегодня мы рассмотрим следующий пункт, tagged unions, по-русски это переводится как &...

Азбука SOC OT. Почему классический SOC не защитит АСУ ТП Ни для кого не секрет, что основной опыт и экспертиза в тематике SOC в России (да в принципе и в мире) сосредоточена преимущественно на вопросах контроля и обеспечения безопасности корпоративных сетей. Это видно из релизов, докладов на конференциях, круглых столов и так дале...

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

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

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

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

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

Должны ли Facebook, Twitter и другие нарушать свободу слова? Пусть они и ответят Вопрос свободы слова и цензурирования в современном обществе стоит максимально остро. В свое время, когда мы писали что-то на форумах, админ нас банил и у нас не возникало вопросов за что, так как, скорее всего, действительно что-то было не так. Именно поэтому, когда дело о...

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

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

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

Человек-оператор тоже человек Создаем и тестируем User-friendly Interface для промышленностиНа связи Datana. Уже несколько лет мы занимаемся цифровизацией промышленности, Индустрией 4.0. Эта статья о разработке UI цифровых советчиков для металлургического комбината. Свой опыт мы облекли в формат инструкц...

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

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

В Москве обновят Wi-Fi в наземном транспорте Как пишет "КоммерсантЪ" со ссылкой на источник, сервис перестанет работать с 1 марта, новый тендер не объявлен. В "Мосгортрансе" изданию подтвердили, что с 1 марта сервис будет временно недоступен в электробусах, автобусах, троллейбусах и трамваях.Контрак...

[Перевод] Полируем UI в Android: StateListAnimator Привет, Хабр! В преддверии старта курса «Android Developer. Professional» мы подготовили для вас перевод еще одного интересного материала. Большую часть времени разработки нашего Android-приложения мы тратим отнюдь не на работу над пользовательским интерфейсом — мы просто...

Сравниваем грейды IT-инженеров крупных зарубежных компаний: Google, Facebook, Uber и Booking Бывают компании, где нет четкой линейки карьерного роста. Разработчиков максимум делят на джунов, мидлов и сеньоров, но требования к каждому уровню разнятся даже в отделах одной фирмы. У гигантов IT-индустрии все не так — у них ес...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20 Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не нап...

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

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

[Перевод] Джоел Спольски: роль геймификации в успехе Stack Overflow В 2010 году успех Stack Overflow привел к тому, что в нас захотели вкладываться венчурные капиталисты.  Фирма, которая в итоге стала нашим спонсором, называлась Union Square Ventures. Ее владельцы признались, что их настолько привлекал концепт геймификации, что они вклады...

Cчетчик газа в Home Assistant без паяльника Не так давно мне пришел счёт за газ от которого стало не по себе, и я решил интегрировать обычный счетчик газа в свой умный дом на базе Raspberry Pi + Home Assistant, чтобы прогнозировать стоимость расходов и получать предупреждения сразу же как только расход начинает превыш...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

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

[Из песочницы] vuex + typescript = vuexok. Велосипед, который поехал и обогнал всех Доброго времени суток. Как и многие разработчики, я в свободное от работы время пишу свой относительно небольшой проект. Раньше писал на react, а на работе используется vue. Ну и что бы прокачаться во vue начал пилить свой проект на нем. Сначала всё было хорошо, прямо-таки ...

Так Apple делает свой автомобиль или нет? Автомобиль Apple мог выглядеть как-то так, но Tesla всех опередила Суть проекта Titan (Apple Car, iCar) доподлинно известна очень немногим. О ней не знает почти никто даже из тех, кто непосредственно участвует в этом проекте. Что создают в рамках этого проекта – автомобиль, ...

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

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

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

Бесплатный сервис хранения ссылок Знаю, что “хабра-народ” сейчас очень негодует, что стало очень мало технических статей, Хабр “не торт” и т.п. поэтому напишу сразу – это не техническая статья.Цель статьи – поделиться удобным бесплатным сервисом хранения ссылок. Конечно, можно было бы написать подробное техн...

Пишем дизассемблер виртуальной машины из игры Clock Tower (PS1/PC) для IDA Pro Всем привет. Тут такое дело: ещё одна моя реверсерская мечта сбылась - я написал процессорный модуль для IDA Pro с нуля, за два дня! Если вы когда-то тоже хотели написать свой модуль, но боялись начать - думаю, моя статья сможет помочь.В качестве кода, который требуется диза...

OnePlus 8 позволяет видеть некоторые предметы почти насквозь Вы говорите, что в мире технологий из-за коронавируса слишком мало новостей? Ну, ок, держите одну. Как вам новость о том, что камера OnePlus может смотреть сквозь предметы и рассматривать их как под рентгеном? Оказывается, такое не просто возможно, а это действительно есть ...

Найдите IT-помощников и победите кризис. Волонтёры объединились в группу помощи против COVID-19 Сообщество IT-волонтеров переходит на оперативный режим работы и объединяется в группу «IT-волонтеры против COVID-19» для быстрой помощи некоммерческим проектам и низовым инициативам. Если ваша НКО уже переживает кризис из-за пандемии, IT-специалисты готовы помочь и реши...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

Max Patrol SIEM. Обзор системы управления событиями информационной безопасности Введение Друзья, добрый день. Данную статью я хочу посвятить такому продукту, как MaxPatrol SIEM компании Positive Technologies уже более 17 лет разрабатывающей инновационные решения в области кибербезопасности. В ней я постараюсь кратко описать основные задачи и меропр...

Релокейт-обзор: 10 стран для переезда ИТ-специалиста В нашем блоге мы много пишем о вопросах поиска удаленной работы и релокейта. Мы регулярно собираем личные истории российских инженеров, разработчиков, дизайнеров и продакт-менеджеров, в которых они рассказывают о том, как им живется на новом месте. И все равно регулярно ...

Почему мы перешли на Selenide, попутно написав более 200 новых автотестов Привет, я автоматизатор тестирования на одном из проектов крупной компании. В этой статье я расскажу, почему мы приняли решение перейти с Serenity на Selenide. Задача у нас масштабная, и хотя изменение технологического стека заняло определенное время, впоследствии оно с лихв...

Работа с СОМ-портом на Си в linux Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь. Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с ...

Что нужно знать о популярных фреймворках Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Group, Front-end, ABBYY. Студенты недавно задали мне вопрос: «Что лучше: Angular или React?». Я начал отвечать и понял, что мне понадобится для этого статья. Позже я понял, что и одной...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

PVS Studio.VS.Статический анализ GCC 10. Независимый минитест После появления переводной статьи про Статический анализ в GCC 10, и ожидаемой реакции присутствующих здесь представителей разработчика коммерческого статического анализатора PVS-Studio, у меня возник вопрос: «Почему же представители отказываются проверить свой продукт на та...

Чернобыль ч.12. О том, как юристы, учёные и власти отвечали на два вечных вопроса Автор: Александр СтаростинДва вечных и главных вопроса русской культуры "Кто виноват?" и "Что делать?" можно задать в любой ситуации и в любой момент времени. Несомненно, ответы на них - это важнейшие исходные пункты дальнейшего развития всего происходящего. Для поиска этих ...

Проверяем сервисы для удаленного общения и видеоконференций на собственном опыте Все больше компаний переходят на гибридный формат работы: сотрудники проводят в офисе лишь несколько дней, решая большую часть задач из дома. В «Онланте» (входит в группу компаний ЛАНИТ) работали удаленно еще до того, как пандемия внесла свои коррективы. Эта статья — обзор с...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

Пишем telegram бота на языке R (часть 4): Построение последовательного, логического диалога с ботом Если вы уже ознакомились с предыдущими тремя статьями из данной серии, то вы уже умеете писать полноценных telegram ботов с клавиатурой. В этой статье мы с вами научимся писать бота, который будет поддерживать последовательный диалог. Т.е. бот будет задавать вам вопросы, и ...

Что должен уметь специалист по Data Science? Будущее за наукой о данных За последние несколько лет технологии интегрировались с многими бизнесами, что сформировало новые профессии, которые стали очень востребованными на рынке. Одним из таких направлений стало Data Science: специалисты в этой области сейчас нарасхват, и...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

Ржавеем дальше. Как появился Rust и можно ли на нём WEB? Моя предыдущая статья про rust вызвала положительную реакцию и большое количество обсуждений о том что да как с rust. Мне исключительно приятно видеть что вам понравился этот материал. В комментариях я встретил много вопросов типа «А можно ли использовать rust для WEB?» Лако...

ЕГИССО — моя личная боль от ПФР В своей предыдущей статье я устраивал вопрос о том, стоит ли рассказывать о данном продукте от ПФР. Перевес оказался существенным, но я из-за смены должности, режима работы, отсутствия отпуска за 2019/2020 года и частых переездов по региону так и не написал данную заметку. П...

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

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

Какие языки программирования учить? Чем больше освоишь, тем круче будешь Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в...

[Перевод] Актуальность принципов SOLID Впервые принципы SOLID были представлены в 2000 году в статье Design Principles and Design Patterns Роберта Мартина, также известного как Дядюшка Боб. С тех пор прошло два десятилетия. Возникает вопрос - релевантны ли эти принципы до сих пор?Перед вами перевод статьи Дя...

[Перевод] Пустобрёх GPT-3: генератор языка от OpenAI понятия не имеет, о чём говорит Тесты показывают, что популярный ИИ пока ещё плохо разбирается в реальности С тех пор, как OpenAI в мае впервые описал свою новую систему искусственного интеллекта (ИИ) GPT-3, генерирующую текст, сотни новостных изданий, включая и MIT Technology Review, написали множество ...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

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

[Перевод] Билл Гейтс: Что вам нужно знать о вакцине от COVID-19 Инженер, бизнесмен и филантроп Билл Гейтс стал объектом атаки сторонников абсурдных теорий заговора, утверждающих, будто он причастен к созданию коронавируса. В своём блоге создатель крупнейшего в мире частного благотворительного фонда размещает аналитические обзоры, делится...

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому ...

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

С поста главы маркетинга Apple ушёл Фил Шиллер — приятель Джобса и один из главных идеологов компании Легенда индустрии и компании Apple, Фил Шиллер (Phil Schiller) покинет свой пост старшего вице-президента по маркетингу компании и уступит это место одному из своих заместителей, Грегу Джозвиаку (Greg Joswiak). Об этом Apple сообщила во вторник, 4 августа. Шиллер продолжит р...

Официально начался обратный отсчет до шестой годовщины создания Creality 3D Шестая годовщина Creality 3D под названием «Изменение мечты. Мечта Плюс» состоится уже в апреле в городе Шэньчжэнь. Это мероприятие будет посвящено, как понятно по названию, путям достижения мечты, планированию будущего.Так как начало этого года было тяжелым для многих людей...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

Пишем простой WYSIWYG-редактор с помощью ProseMirror Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор п...

История архитектуры Dodo IS: ранний монолит Или каждая несчастная компания с монолитом несчастлива по-своему.Разработка системы Dodo IS началась сразу же, как и бизнес Додо Пиццы — в 2011 году. В основе лежала идея полной и тотальной оцифровки бизнес-процессов, причем своими силами, что еще тогда в 2011 году вызывало ...

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

Антирейтинг 2021 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2021 год. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы). Читать дальше →

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

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

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

Как управлять состоянием в Angular по мере роста приложения Допустим, перед вами стоит задача написать фронтенд-приложение. Есть ТЗ с описанием функционала, тикеты в баг-трекере. Но выбор конкретной архитектуры лежит на вас. Порой трудно заранее понять, какая архитектура будет удачной, а какая нет. Особую сложность представляет орга...

Оживляем гексапода. Часть первая В прошлой статье мы поделились опытом создания гексапода с использованием технологии 3D печати. Теперь речь пойдет о программной составляющей, которая позволила его оживить. Первоначально планировалось изложить всю информацию в одной статье, но в процессе написания стало по...

21 метод UX-исследований: какой выбрать Нравится тебе оно или нет, но при создании ИТ-продукта никак не обойти тему проверки UX на прочность. Любой специалист, которому хоть сколько-нибудь не наплевать на свою работу, хочет, чтобы результаты потраченных человеко-часов были по достоинству оценены конечным пользо...

5 спорных моментов, убранных из Scrum Сам по себе фреймворк Scrum уже давно перестал быть инновацией. Появившись задолго до подписания Agile-манифеста, Scrum сегодня неразрывно связан с миром гибких подходов. Основой фреймворка уже довольно давно является «Руководство по Scrum» (Scrum Guide). С момен...

Bison, dynamic linking и… обработка BMP изображений В этом посте я постараюсь раскрыть тему написания несложного модульного приложения на языке C89 для обработки 24-битных BMP изображений, использующего в своей работе простой скриптовый язык.Если вы заинтересованы в разработке языков или вам необходимо быстро разобраться как ...

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

Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем. Расскажем о...

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

Машина опорных векторов в 30 строчек В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть...

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

Как «озадачить» всех инженеров и не перемудрить с правами доступа. Опыт Cloud4Y Наша компания постепенно расширяется, у нас работает всё больше инженеров. А когда их много, надо как-то распределять права и доступы. Почему это важно? У нас есть большое количество скриптов по мониторингу, обслуживанию и т.п., которые обслуживаются просто по крону. Но всег...

[Перевод] Пишем движок полнотекстового поиска на Go Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, соо...

Платформа данных в Леруа Мерлен. Part 2. Обновления 2021 года: Flink и Superset Всем привет!«Данные – это новая нефть» – вам наверняка доводилось уже не раз слышать эту фразу. Впервые в 2006 году эту идею озвучил математик Клайв Хамби в своем блоге, но с тех пор она не потеряла популярности и сейчас её можно услышать почти из каждого утюга. Особую актуа...

Как я подружил BPMN и Bitbucket Привет, Хабр! Я техлид в компании ДомКлик. В основном занимаюсь backend-разработкой. Мне периодически приходится погружаться и во front-разработку, но этого не происходило уже более двух лет. Сегодня я расскажу, как мне пришлось заняться front-разработкой для создания плагин...

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

[Из песочницы] Любительское ракетостроение, как я делаю ракеты и мои ошибки на которых я учусь (part 1) Написанное в этой статье не является инструкцией к применению. Вы всё делаете на свой страх и риск. Соблюдайте технику безопасности Читать дальше →

Подключение к платежному сервису — быстро и удобно. Миф или реальность? Мы знаем, как важно быстрое подключение онлайн-платежей и для совсем нового бизнеса, и для уже давно работающего. Ведь каждый день простоя — это упущенные потенциальные возможности. Но подключение эквайринга — не самый простой процесс. Для этого компании нужно заключить дог...

Языку программирования Python исполнилось 30 лет Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources. Работа над языком вела...