Социальные сети Рунета
Среда, 28 октября 2020

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

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

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

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

Динамическое определение класса в Python Под динамическим определением объекта можно понимать определение во время исполнения. В отличие от статического определения, которое используется в привычном определении класса с помощью ключевого слова class, динамическое определение использует встроенный класс type. Абстр...

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

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

[Перевод] Используете ли вы цифровой блок клавиатуры? Отдаём дань уважения классическому стандарту клавиатур. Ушедший реликт старой вычислительной эпохи? Или необходимая для повышения продуктивности вещь? Давайте разбираться. Разбираясь с барахлом в моём домашнем кабинете – а в последнее время я точно не один занимаюсь подобн...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

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

Статическое тестирование безопасности опенсорсными инструментами Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сег...

[Перевод] Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов Начало: сборка, система ввода, дисплей. Продолжение: накопитель, аккумулятор, звук. Часть 7: Текст Завершив со слоем кода Odroid Go, мы можем приступить к созданию самой игры. Начнём с отрисовки на экране текста, потому что это станет плавным введением в несколько тем, ...

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

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

Что общего между Putout и Rulegurd? Недавно наткнулся на статью про статический анализатор Ruleguard и хотел написать к ней комментарий, но получилась статья. Интересно, что похожие идеи могут в одно время прийти разным людям, пишущим на разных языках. Я работаю над статическим анализатором Putout, и обратил в...

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

[recovery mode] Разработчики — никакая не элита, а голые короли индустрии ЛОЛШТО? Пожалуйста, не поймите меня неправильно. Я профессиональный разработчик с 30-летним стажем. Я могу читать и понимать почти двадцать языков, полных по Тюрингу. Я могу писать ясный и выразительный код на доброй дюжине из них. В языках, которые я действительно люблю и и...

[Перевод] Используем Chrome DevTools профессионально И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели 11 советов для тех, кто использует Chrome в качестве среды разработки. Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструмент...

Зачем идти на конференцию ESCAPE? 15-17 сентября пройдёт конференция ESCAPE для ИТ-специалистов — конференция об essential skills. Мероприятие продлится три дня и будет проходить онлайн. Организаторы позаботились о вашем расписании и сделали возможным регистрацию на отдельные доклады, чтобы вы могли не забив...

Мониторинг Node.js-приложения Здравствуйте! Меня зовут Ренат Саматов, я возглавляю фронтенд-направление в линейке продуктов Витрина. Большая часть наших проектов рендерится на сервере. Сегодня мы побеседуем об одном из важнейших аспектов SSR-приложения: о мониторинге. Даже в 2020-м мониторинг Node.js-...

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

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

DevOps’ный C++ и «кухонные войны», или Как я начал писать игры во время еды DevOps’ный C++ и «кухонные войны», или Как я начал писать игры во время еды «Я знаю, что ничего не знаю» Сократ Для кого: для IT-шников, которые плевали на всех разработчиков и хотят поиграть в свои игры! О чем: о том, как начать писать игры на C/C++, если вдруг вам это над...

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

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

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

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

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

Consul + iptables = :3 В 2010 году у компании Wargaming было 50 серверов и простая сетевая модель: бэкенд, фронтенд и файрвол. Количество серверов росло, модель усложнялась: стейджинги, изолированные VLAN с ACL, потом VPN с VRF, VLAN c ACL на L2, VRF с ACL на L3. Закружилась голова? Дальше будет в...

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

Сравнение современных статических и роторных ИБП. Статические ИБП достигли своего предела? Рынок ИТ индустрии является самым большим потребителем источников бесперебойного электропитания (ИБП), используя примерно 75% всех производимых ИБП. Ежегодный мировой объем продаж оборудования ИБП во все типы ЦОДов, включая корпоративные, коммерческие и сверхбольшие, составл...

Цепи Маркова и Пайтон — разбираемся в теории и собираем генератор текстов Понимаем и создаём Хорошие новости перед статьей: высоких математических скиллов для прочтения и (надеюсь!) понимания не требуется. Дисклеймер: кодовая часть данной статьи, как и предыдущей, является адаптированным, дополненным и протестированным переводом. Я благодарна ав...

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не использу...

[Перевод] Низкоуровневое программирование микроконтроллеров tinyAVR 0-series Вы — 8-битный или 32-битный программист? Мы, в компании OMZLO, сосредоточили основные усилия на новых 32-битных ARM Cortex-чипах (STM32 и SAMD), которые, в сравнении с более старыми 8-битными микроконтроллерами (Micro Controller Unit, MCU) обычно предлагают больше RAM, бол...

[recovery mode] Почему ICQ потерял древнего пользователя после покупки Mail.Ru История о том как я внезапно потерял свой элитный 5* ICQ просто потому-что Mail.Ru выкатили обновление! Пишу сюда по скольку тут сидят представители Mail.Ru Group и возможно они что-то с этой несуразной чепухой в логике работы их клиента ICQ да сделают. Ведь то что попрост...

[Из песочницы] sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи) Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функ...

[Перевод] Собеседования по алгоритмам: теория vs. практика tl;dr За последние десятилетия мода на собеседования программистов менялась несколько раз, и каждая из них выглядит нелепо в ретроспективе. Либо мы наконец-то нашли настоящий секрет эффективных собеседований, либо увлеклись очередным модным течением, которое через десять-два...

AWS Lambda in Action. Часть 2: знакомимся с инструментами разработки и тестирования Этот гайд — результат личного опыта разработки и тестирования Serverless-приложений, а также маневрирования между «костылями» и «велосипедами» при попытках их протестировать. Когда я только начинал заниматься разработкой Serverless-приложений, во всем приходилось разбирать...

Павел Клеменков, NVIDIA: Мы стараемся уменьшить разрыв между тем, что data scientist умеет, и тем, что он должен уметь Стартовал второй набор студентов магистерской программы по data science и business intelligence Ozon Masters – а чтобы решиться оставить заявку и пройти онлайн-тестирование было проще, мы расспросили преподавателей программы о том, чего стоит ожидать от обучения и работы с д...

КОМПАС-3D v18 Home. Мини-курс проектирования под 3D-печать. От основ моделирования к 3D-проектированию сверху вниз Во многих статьях про 3D-печать подробно разбирается работа 3D-принтера и процесс печати, а создание 3D-модели описывается одной фразой, как будто это элементарное действие (что, конечно, совсем не так). Мы сделали мини-курс по 3D-моделированию, который учитывает особенности...

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

[Перевод] Как использовать простую утилиту для поиска уязвимостей в программном коде Graudit поддерживает множество языков программирования и позволяет интегрировать тестирование безопасности кодовой базы непосредственно в процесс разработки. Источник: Unsplash (Markus Spiske) Тестирование — важная часть жизненного цикла разработки программного обеспечени...

Бесплатные образовательные курсы: фронтенд-разработка Порядочный фронтендер знает HTML и CSS, разбирается во фреймворках и библиотеках, понимает, что находится «под капотом» на серверной стороне. Плюс, обязательно умеет работать с контролем версий, использовать графические редакторы, разбираться в шаблонах разных CMS. Сегодн...

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

Проектирование на системном уровне. Часть 3: Связь System Composer и тулчейна MathWorks В первых двух частях туториала мы рассматривали построение архитектуры системы и проектирование на системном уровне и заодно посмотрели на System Composer. Сама по себе архитектура системы — это отлично, но надо сделать так чтобы она была связана с разработанной системой. От...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

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

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

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

[Из песочницы] Ableton не нужон: подключаем Ableton Push 2 к VCV Rack Создание музыки, в последнее время, проходит примерно тот же путь что фотография 10 лет назад: у каждого появляется своя зеркалка и аккаунт в инстаграме. Музыкальная индустрия этому очень рада, ведь такой интерес приносит много денег. Каждый день появляются новые VST плагин...

Топ-10 мемов прошедшего десятилетия Обычно мы рассказываем о том, что и как используем в своей работе над приложением iFunny. Но сегодня особенный день — 1 апреля, День смеха, и этот день мы считаем своим профессиональным праздником. Ведь мы «пилим» самое смешное из всех развлекательных приложений — приложение...

[Перевод] Прослушиватели событий и веб-воркеры Недавно я разбирался с API Web Workers. Очень жаль, что я не уделил время этому отлично поддерживаемому инструменту раньше. Современные веб-приложения очень требовательны к возможностям главного потока выполнения JavaScript. Это воздействует на производительность проектов и ...

Оптимизация производительности фронтенда. Часть 1. Critical Render Path Здравствуйте. Меня зовут Ник, я фронтенд разработчик (жидкие аплодисменты). Кроме того, что я пишу код, я преподаю в Школе программистов hh.ru. Записи наших лекций от 2018-2019 учебного года можно посмотреть на youtube В этом году у меня была лекция про оптимизацию производи...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

VoiceOver на iOS: решение типовых проблем Когда берёшься адаптировать приложение для незрячих, часто что-то идёт не так: то порядок собьётся, то фокус не туда встанет. С другой стороны, есть UX, который легко пропустить, потому что не знаешь про возможные проблемы. В этой статье будем разбираться с типовыми проблема...

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование» Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптималь...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

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

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

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

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

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

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

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

О работе ПК на примере Windows 10 и клавиатуры ч.2 В этой части мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до CPU, будет очень много картинок и это не последняя часть. Я буду рассказывать об этом с точки зрения программиста который пишет в режиме пользователя — пользовательские програмы, web...

[Из песочницы] Как я умный аквариум делал (backend) Пролог Работая программистом в одной из больших и успешных компаний Москвы, я не переставал совершенствовать свои навыки программирования и проходил различные курсы на платформе Udemy. Конечно просто смотря курс и повторяя все за автором было скучновато, да и были моменты к...

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

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

О входной и выходной апертуре, световых схемах и равномерности потока. Добрый день, коллеги!Мой первый принтер был ванхао D7 с раструбом… Когда я его покупал я еще ничего не знал ни о световых схемах, ни о точности, ни даже о понятии «апертура»… Я просто купился на рекламу «точность 47 мкм». Я наивно думал, что точность принтера и зерно матрицы...

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

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

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

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

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

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

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

Могучие Typescript Декораторы — как работают, во что компилируются и для каких прикладных задач применимы Каждый Ангуляр разработчик видел декораторы в тайпскрипт коде. Их используют, чтобы описать Модули, сконфигурировать Dependency Injection или настроить компонент. Другими словами, декораторы используются, чтобы описать дополнительную информацию, или метаданные, для фреймворк...

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

«Они буквально крадут еду»: сборщики сервиса Instacart в США начали использовать ботов, чтобы забирать крупные заказы В компании говорят, что разбираются и от ботов страдает лишь малая часть сборщиков.

Swagger в RBK.money — про наши внешние API Хочешь сделать что-то полезное и рабочее — сделай его так, чтобы другие люди могли этим полноценно пользоваться, нормально это ревьювить, да и вообще вспоминать тебя добрым словом, а не темной стороной своего словарного запаса. Для этого, кроме того, чтобы просто хорошо дела...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

[Перевод] Илон Маск против лидаров: Псевдолидар Tesla давно мечтает сделать камеры, работающие не хуже лидара. Если ее мечта осуществится, это сильно поможет конкурентам. Всем хорошо известно, что думает Илон Маск о применении лидара (технологии трехмерного изображения) в беспилотных автомобилях. Он не планирует исполь...

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

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

Data Scientist: воспоминания о жизни до карантина и надежды на будущее Привет, Хабр! Сидеть в самоизоляции немного грустновато, хотя у нас работа и не прекращалась. Из дома работается неплохо: всегда под рукой печеньки, кот и безлимитный доступ к холодильнику. Но всё же иногда накатывает тоска по старым добрым временам. Вы спросите, о чем во...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

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

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

Как работать с комментариями на Ютуб-канале Когда вы создали Ютуб-канал, то на ваш ролики будут писать комментарии. Если комментарии одобрительные к видео, то вы разумеется их оставляете. Но, что делать если комментарии негативные?! Что с ними делать?! Я расскажу про себя  про то что я делаю на своих каналах, в социал...

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

Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? Всем привет! В преддверии старта продвинутого курса «Разработчик IOS» мы публикуем перевод второй части статьи про неоморфизм с помощью SwiftUI (читать первую часть). Темная тема Прежде чем мы начнем разбираться с тем, как мы можем улучшить доступность неоморфизма, давай...

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

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

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

Время первых 6 августа 1991 года Тим Бернерс-Ли запустил первый в мире веб-сайт на первом в мире веб-сервере, доступном по адресу http://info.cern.ch/ Ресурс определял понятие «Всемирной паутины», содержал инструкции по установке веб-сервера, использования браузера и т.п. Этот сайт также...

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

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

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

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

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

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

Коммитите в опенсорсе, работая разработчиком? Разбираемся с правами (привет, nginx) Ситуация с правами на код в Российской Федерации довольно интересная: по закону разработчик (физлицо) защищён очень и очень сильно. Нужно как-то весьма прилично косякнуть, чтобы оказаться неправым. А вот работодателю нужно довольно много и кропотливо бегать с бубном и бума...

[Личный опыт] Amazon vs Microsoft: чем отличается процесс собеседований в крупных ИТ-компаниях Привет, Хабр! Меня зовут Паша Доронин и бóльшую часть жизни я работаю в индустрии переводов и локализации. Я долгое время проработал в компании Smartcat, где прошел путь от аналитика до менеджера по продукту. Несколько месяцев назад я переехал в Дублин и решил заняться дал...

Форензика, SQL-инъекция и многострадальный котик: разбор задания №3 online-этапа NeoQUEST-2020 Сегодня рассмотрим самое противоречивое задание NeoQUEST-2020: первая его часть является рекордсменом по количеству прошедших его участников, а вторая часть покорилась лишь единицам. Что же в нем такого особенного? Разбираемся под катом! Читать дальше →

[Перевод] Объясняем p-значения для начинающих Data Scientist’ов Я помню, когда я проходил свою первую зарубежную стажировку в CERN в качестве практиканта, большинство людей все еще говорили об открытии бозона Хиггса после подтверждения того, что он соответствует порогу «пять сигм» (что означает наличие p-значения 0,0000003). Тогда я ни...

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

Как жить и работать дальше, если вам поставили психиатрический диагноз Привет, Хабр! Меня зовут Сания Галимова, я 6 лет в рекламе, два из них — руковожу отделом маркетинга в IT-компаниях и уже 4 года пью психотропные препараты по назначению психиатра. Раньше мне было очень трудно заканчивать проекты и даже просто удержаться на одном месте ра...

Рука Бога. Помощь по талонам Вообще, Рука Бога – это один из самых знаменитых футбольных голов в истории, исполненный аргентинцем Диего Марадоной на 51-й минуте четвертьфинального матча чемпионата мира по футболу 1986 года против сборной Англии. «Рука» — потому что гол был забит рукой. Мы, в своей кома...

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

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

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

[Перевод] CSS-функции min(), max() и clamp() Поддержка CSS-функций сравнения min(), max() и clamp() появилась в Firefox 8 апреля 2020 года. Это означает, что данные функции теперь поддерживаются во всех основных браузерах. Эти CSS-функции расширяют наши возможности по созданию динамических макетов и по проектированию б...

Используем Zap Baseline Scan для непрерывного сканирования сайта на уязвимости Некоторое время назад возникло желание реинкарнировать свой Wordpress-блог. Параллельно возникло желание упорядочить и систематизировать накопленные знания для сдачи экзамена ECSA. Все это привело меня к развертыванию блога на отдельно стоящем сервере. Через некоторый пром...

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

[Перевод] Может, нам слегка успокоиться с JavaScript? У меня очень странная проблема с браузером. Скрипты на некоторых страницах просто не работают, пока не пройдёт около 20-ти секунд. Что бы вы ни собирались предложить — да, я уже думала об этом, и нет, не помогло. Я рассказываю об этом не в надежде, что кто-то подскажет с от...

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

Опять про BLE, температуру и датчики Xiaomi Не так давно, удалось мне обзавестись известными датчиками температуры и влажности от Xiaomi. Эти датчики заслуженно приобрели широкую известность, так как при своей достаточно низкой цене, достаточно удобны в использовании, а также умеют передавать свои показания по протоко...

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

[Из песочницы] Восемь важных привычек программиста «Человек может стать человеком только путем воспитания. Он — то, что делает из него воспитание» И. Кант На мой взгляд, эта цитата очень подходит программистам. По сути, программист – это ведь не просто специалист, который хорошо разбирается в технических вопросах. Программи...

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новая электроника Всем привет! Разработка гексапода активно продолжается и пришло время показать кардинальные изменения в конструкции и планы по прошивке. Появилась большая пауза в выходе новых статей в результате длительного проектирования новой электроники и корпуса. В принципе об этом и б...

Полупрофессиональные компактные камеры Canon PowerShot G7 X Mark III и G5 X Mark II: инструмент фотографа, который всегда под рукой Сегмент полупрофессиональных компактов Canon PowerShot серии G так сильно разросся за время своего существования, что в разнообразии камер можно просто потеряться. Но каждый сможет найти в нем камеру под свои задачи. В статье мы разбираемся с двумя последними новинками и их ...

[Перевод] Убийства во имя армии США и видеоигр Армия США давно использует видеоигры для обучения и вербовки Два неожиданных союзника: армия США и индустрия видеоигр. Кто бы мог подумать? [перевод статьи из журнала Ars Technica от декабря 2008 г.] Разные подразделения армии США часто появляются в видеоиграх с самого мом...

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

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

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

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

[Перевод] Проектирование заголовочных частей сайтов с использованием CSS Flexbox Когда я, изучив основы HTML и CSS в 2014 году, занялся разработкой сайтов, сложнее и страшнее всего для меня было создание их заголовочных частей. Тогда технология Flexbox была ещё достаточно новой, поэтому мы вынуждены были использовать старые методы — вроде float-позициони...

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

[Перевод] Разбираемся с алгоритмом коллапса волновой функции После появления DeBroglie и Tessera меня много раз просили объяснить, как они работают. Генерирование может выглядеть как волшебство, но лежащие в его основе правила на самом деле просты. Читать дальше →

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

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

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

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

Почему баллы DxOMark — это булшит (на примере Xiaomi Mi 10 Pro) Многие скептически относятся к тестам DxO, но до недавнего времени я не понимал причин такого отношения. Мне казалось, что это авторитетная организация, которая честно тестирует все смартфоны. Но всё не так просто. И в данном материале на примере Xiaomi Mi 10 Pro я попытаюс...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Тестирование Flutter-приложений: инструменты, преимущества, проблемы Привет! Меня зовут Мария Лещинская, я QA-специалист в Surf. Наша компания разрабатывает нативные приложения с 2011 года, а с 2018-го мы занимаемся ещё и разработкой под Flutter. В этом материале сравним возможности тестирования нативных и кроссплатформенных приложений. Я по...

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

Обидно за мнения про статические анализаторы кода Инструменты статического анализа кода ушли далеко вперёд. Это вовсе не те "линтеры", которые активно применялись 20 лет тому назад. Однако многие по-прежнему относятся к ним, как к очень простым инструментам. Обидно. Обидно, как за методологию анализа кода в целом,...

Глава Apple сравнил iPhone с 12-летним ребенком Тим Кук (Tim Cook), генеральный директор компании Apple, не считает, что индустрия смартфонов достигла своего пика. Более того, он уверен, что до достижения максимума возможностей в этой индустрии пройдет еще много лет. Во время недавнего интервью он сказал: «Я не...

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

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

[Из песочницы] Большой туториал по обработке спортивных данных на python Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не пр...

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

SLS vs STARSHIP: Почему существуют обе программы? Everyday Astronaut 1 МАЯ 2020, TIM DODD, EVERYDAY ASTROUNAVT ВЕБ-ВЕРСИЯ: FLORIAN KORDINA И JOEY SCHWARTZ Пару слов от меня зачем и почему. Мне нравится американский космический журналист — Тим Додд. За его энтузиазм и дотошность при рассмотрении темы. Можно критически относиться к его оценкам...

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

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

Опыт использования Artillery Sidewinder x1 в течении полугода Всем доброго времени суток.Вот ссылка на мой же обзор данного принтера. Обзор был выпущен 30 мая. На тот момент принтером я владел уже наверное с месяц. Покупал через авито в магазине Nicesky (так на авито называется магазин, впоследствии узнал уже, что это tevo3dprinter.ru)...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

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

Методы борьбы с legacy-кодом на примере GitLab Можно бесконечно холиварить о том, является ли GitLab хорошим продуктом. Лучше посмотреть на цифры: по итогам раунда инвестирования оценка GitLab составила 2,7 млрд долларов, в то время как предыдущая оценка была $1,1 млрд. Это означает бурный рост и то, что компания будет н...

Зачем вам чужие ошибки? Исправляем уязвимости в сторонних библиотеках Любое ПО содержит уязвимости, причем они появляются на разных этапах его жизненного цикла. Полностью избавиться от уязвимостей в коде достаточно сложно, но можно, как минимум, сократить их количество. Для этого используются средства SAST, DAST и IAST – статический, динамичес...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Настройка автовыравнивания фазы в дифференциальных парах в САПР Cadence Allegro Иногда даже любимые программы могут доставить мучения — особенно если не знаешь, как правильно настраивать ту или иную функцию. В редакторе печатных плат Cadence Allegro есть такая офигенно полезная опция, High Speed, которая ооочень помогает в трассировке скоростных сигнало...

[Перевод] Emacs — 6 трюков для продуктивной работы Ранее я уже писал об использовании Emacs в качестве C++ IDE и другом техническом оснащении. Однако, я не обращал особого внимания на то, что использую Emacs и для работы много с чем ещё. Честно говоря, я не смог бы пользоваться этим редактором в полной мере, не будь в нем во...

[Перевод] Джоэл Спольски: как началась эпоха Stack Overflow (эссе 2018 года) Всем привет! Много чего произошло с тех пор, как я, 18 лет назад, писал посты в блоге об эргономичных стульях Aeron. Некоторые из тех записей настолько старые, что уже сами могут идти получать первое высшее. О, и еще: скоро Stack Overflow исполняется 10 ...

work&dev fun(damentals) #2 Софтскилы — это хорошо. Просто кто-то их неправильно понял Разбираясь с тем, как нанимать людей и на что смотреть при отборе, я сделал для себя несколько выводов, которые и так много где описаны. Человек должен подходить твоей компании по культуре. Мне не довелось повидать компаний где сидят коллектив neckbeard ребят, не общаются и ...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Гореть, но не сгорать – гореть, чтобы светить Привет, хабровчане. В преддверии старта курса «Team Lead 2.0», хотим поговорить о профессиональном выгорании. О профессиональном выгорании хотя бы краем уха слышал каждый второй, но по-настоящему понять, что это такое необходимо, чтобы сохранить самое важное, что у нас ес...

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

Мне больше не нужен компактный смартфон Как я понял, что мне не нужен компактный смартфон Я много лет в качестве основного устройства использовал старый добрый iPhone 6. Однако пришло время обновлять свой гаджет, и я решил приобрести восстановленный iPhone 7. Однако, почитав комментарии пользователей на AppleInsid...

Почему я решил продать свой смартфон Huawei и больше никогда не иметь с дел с этим брендом Год. Вот уже год, как я пользуюсь смартфоном Honor View 20 от Huawei. За это время я испытал самую широкую палитру чувств к своему аппарату – от искреннего удовлетворения до недовольства. Однако смена настроений не была одномоментной, проходя скорее градиентом в течение все...

[Из песочницы] Кастомные SwiftLint Rules Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet...

Я отключил автокоррекцию на iPhone и продержался без неё всего 1,5 часа У вас бывало, чтобы автокоррекция на iPhone выводила вас из себя, исправляя то, что исправлять в принципе не нужно? Думаю, да. Потому что у меня бывало и не один раз. Конечно, в последнее время пользоваться этим механизмом стало проще, потому что Apple сделала его более лог...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

Blitz.Engine: Ассетная система Прежде чем разбираться в том, как работает ассетная система движка Blitz.Engine, нам необходимо определиться с тем, что такое ассет и что именно мы будем понимать под ассетной системой. Согласно Википедии, игровой ассет — это цифровой объект, преимущественно состоящий из о...

[Перевод] Скрытая цена CSS-in-JS-библиотек в React-приложениях В современных фронтенд-приложениях технология CSS-in-JS пользуется определённой популярностью. Всё дело в том, что она даёт разработчикам механизм работы со стилями, который удобнее обычного CSS. Не поймите меня неправильно. Мне очень нравится CSS, но создание хорошей CSS-ар...

Разбираемся с Custom Tooling в Argo CD Спустя некоторое время после написания первой статьи, где я ловко управлялся с jsonnet и гитлабом, я понял что пайплайны это конечно хорошо, но излишне сложно и неудобно. В большинстве случаев требуется типовая задача: "сгенерировать YAML и положить его в Kubernetes&qu...

Типобезопасные матрицы на Haskell Типобезопасные матрицы — извечная тема. О нужности их спорят, а для реализации списков с длинной на уровне типов пишут целые языки. Мне показалось странным, что на Haskell до сих пор нет ни одного варианта, который удовлетворял бы вменяемым критериям удобства и безопасности....

Закладки — есть ли предел? Всем привет! Не секрет, что скорость работы браузера очень часто является критическим параметром при выборе пользователей. При этом скорость эта напрямую зависит от объёма данных, обрабатываемых браузером. В частности — сейчас речь идёт о закладках. Это удобный инструмент...

[Перевод] Разработка инструмента командной строки: сравнение Go и Rust Эта статья посвящена разбору моего эксперимента по написанию небольшого инструмента командной строки с использованием двух языков, в программировании на которых у меня не особенно много опыта. Речь идёт о Go и Rust. Если вам не терпится увидеть код и самостоятельно сравни...

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

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

Так все же, зачем нужен make? Все началось, казалось бы, с простого вопроса, который сначала ввел меня в ступор — "Зачем нужен make? Почему нельзя обойтись bash скриптами?". И я подумал — Действительно, зачем нужен make? (и самое важное) Какие проблемы он решает? Читать дальше →

Почему я не буду пользоваться онлайн-кинотеатрами Всем привет! Меня зовут Леонид, я — разработчик сайта Поиск VPS. Некоторое время назад ко мне в обратную связь писало немало пользователей, которые просили помощи в подборе виртуального сервера для организации онлайн-кинотеатра. Естественно, планировалось использовать VPS то...

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

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

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

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

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

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

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

Как переехать в Индию всей семьей и не быть избитым палками на карантине Индия – это страна, где надо всем властвует сердце. Шантарам Часто успех в нашем сознании связан с жизнью в Европе или Америке, но никак ни с Индией. От окружения постоянно слышишь черно-белые высказывания: либо там бедно и грязно, либо красиво и много туристов. Выход один ...

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

Как заставить код выполняться за одинаковое время? Способы от Яндекс.Контеста Недавно мы объявили на Хабре, что начинаем принимать заявки на Яндекс.Алгоритм и другие треки чемпионата по программированию Yandex Cup. Уже много лет онлайн-соревнования Яндекса и других компаний проходят на платформе Контест. Меня зовут Павел Тыквин, я один из разработчико...

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

Как понять, что ты — фрезеровщик? Фрезеровщики – отличные ребята. Я с ними много тусовался в цехе, когда проходил практику и писал диссертацию. Позже я понял, что фрезеровщиков полно везде. Всё, что делает фрезеровщик на работе – стоит за фрезерным станком и фигачит детали. В обед ходит покушать, иногда пос...

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

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

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

[Перевод] Математическая логика, способная помочь проверить на коронавирус больше людей Быстрое тестирование пациентов во время пандемии имеет огромную важность. Но когда тестов на COVID-19 [в Британии] не хватает, или тестирование идёт медленно – нельзя ли придумать способ улучшить этот процесс? Я, как математик и инженер, задал себе вопрос – может ли теорет...

Видеоурок Теплицы: обзор защищенного браузера Vivaldi Большая часть людей достаточно консервативны и на предложение попробовать что-то новое с их стороны обычно следует вопрос, – а зачем? Зачем, например, пользуясь достаточно простым и удобным браузером Chrome, переходить на новый Vivaldi? Вова Ломов также задался этим вопросо...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

Ручка Регулировки Стола Собираю себе принтер и решил напечатать удобные ручки для регулировки стола. Файлы можно скачать тут Сделал под обычную гайку М3 и М4, а так же М3 и М4 под латунную гайку которую нужно вплавить. На свой принтер я вплавил М4 латунные гайки те, что у меня не дешёвые но у них п...

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

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

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

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

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

[Из песочницы] Создание тайлов из растровых карт Как-то я озадачился вопросом создания карт, пригодных для использования в OsmAnd и OpenLayers. О ГИС я тогда вообще не имел ни малейшего понятия, поэтому разбирался со всем с нуля. В статье расскажу о результатах своих «исследований», составим алгоритм преобразования произв...

Google стало стыдно за Android, и я её понимаю Много лет подряд Google на ежеквартальной основе публиковала в интернете статистику распространения разных версий Android. Несмотря на то что она предназначалась для разработчиков и давала им понять, под какие сборки ОС стоит оптимизировать приложения, пользователи тоже с н...

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

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

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Как работает дисковая подсистема в OpenNebula В последнее время я получаю достаточно много вопросов по поводу организации стораджа в OpenNebula. В виду своей специфики она имеет аж три разных типа хранилища: images, system и files. Давайте разберёмся зачем нужен каждый из них и как их использовать чтобы планировать раз...

[Перевод] Программирование только классами В моем посте Implementing numbers in "pure" Ruby ("Разрабатываем числа на "чистом" Ruby") я обозначил рамки, которые разрешали использовал базовые вещи из Ruby вроде оператора равенства, true/false, nil, блоки и т.п. Но что, если бы у нас вообщ...

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

[Перевод] Вы уверены, что пишете объектно-ориентированный код? Мы, PHP-разработчики, горды тем, что пишем на ООП-языке (можно легко здесь заменить PHP на C#, Java или другой ООП-язык). Каждая вакансия содержит требования про знание ООП. В каждом собеседовании спрашивают что-нибудь про SOLID или трех "китов" ООП. Но когда дело ...

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

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

Вот почему смартфоны Poco — это просто переименованные аппараты Redmi. Представитель компании всё объяснил Формально отделившийся ранее от Xiaomi бренд Poco, как мы знаем, выпускает в основном переименованные смартфоны Redmi. Исключение пока составил лишь Poco X3, а вот последняя новинка — Poco C3 — это лишь переи...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

Отец Linux больше не программирует. Линус Торвальдс рассказал о своей деятельности Линус Торвальдс (Linus Torvalds), легендарный отец-основатель Linux, побеседовал с вице-президентом VMware Дирком Хонделом (Dirk Hohndel) на конференции Open Source Summit/Embedded Linux Conference Europe.  В ходе беседы Торвальдс рассказал о своей деятельности и ...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

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

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

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

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

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

Эльза для дочки Дочка попросила сделать ей Эльзу из мультфильма холодное сердце. Год назад я уже печатал одну Эльзу для неё. Но что бы ее покрасить надо немного больше Скила чем у меня есть сейчас. Так как она достаточно маленькая. А тут попалась модель с очень хорошей детализацией. Думаю е...

10 вопросов, на которые наука до сих пор не нашла ответов Как зародилась первая жизнь? Одиноки ли мы во Вселенной? Что из себя представляют сны? Давайте рассмотрим десять важных вопросов, на которые наука не получила чёткого ответа — по крайней мере, на данный момент. Что есть сознание? Мы знаем, что обладаем сознанием ...

[Перевод] Анализ графики Red Dead Redemption 2 Одна из моих любимейших игр, Red Dead Redemption, в 2018 году вернулась с приквелом для консолей. В 2019 году её выпустили для PC, и мне наконец удалось поиграть в неё; меня сразу же поразила её графика. Однако я расстроился: мне едва удавалось играть при средних настройках ...

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

Древности: чем хуже, тем лучше или особенности Sound Blaster Pro 2 В предыдущей статье я постарался описать весь спектр звуковых карт эпохи MS-DOS, но не то, чтобы сильно в этом преуспел. С конца восьмидесятых до середины девяностых многие производители экспериментировали с технологиями синтеза звука, воспроизведения цифровых записей, ранни...

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

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

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

Я перегорел, уже как 2 года Сложно такое осознать, я думал, меня настигнет эта участь несколько позже, когда мне будет хотя бы 30+ и я буду каким-нибудь крутым разрабом в известной компании, но мне 26 и я в NoName конторе. Я долго пытался понять, почему все именно так и кажется пазл сложился. Хочу ...

Зачем PocketBook 627 чехол и как его выбрать Очень часто пользователи спрашивают о том, как правильно подбирать аксессуары для электронных читалок, на что обращать внимание и все в таком духе. Мы решили ответить на этот вопрос максимально понятно, чтобы пользователь, который очень хочет приобрести себе защитный аксессу...

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

Как я Дота-лигу открывал. Часть 3 Читать сначала: Как я Дота-лигу открывал. Часть 1 Продолжение: Как я Дота-лигу открывал. Часть 2 Ответвление: Как я продолжил дело Дота-лиги Год 2008-й, середина осени. В результате вооруженного переворота у меня отобрали лигу, и теперь я стал абсолютно свободен от каких-...

Нельзя так просто взять и «перепрошить» свой гаджет Энтузиаст добавил в калькулятор Wi-Fi-модуль и получил претензию от правообладателей. Рассказываем о проекте и разбираемся в ситуации. Читать дальше →

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

[Из песочницы] User flow: как создаются популярные приложения и сайты Всем привет! Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений. На базе своего опыта в сфере информационных технологий и экспертизы...

[Перевод] Бенуа Мандельброт на TED: «Фракталы и искусство изломов» Большое спасибо. Прошу прощения за то, что я сижу. Я очень старый человек. Моя сегодняшняя тема в определённом смысле весьма особенная, потому что она очень древняя. Изломы – неотъемлемая часть человеческой жизни, они есть всегда. Об этом писали древние. Эта вещь по боль...

Была ли жизнь до Audio CD? Программный декодер PCM В прошлой статье мы рассказали про динамические QR коды, которые записывали на VHS кассеты. Эпидемия PCM зацепила и меня, так что пришло время поковырять этот формат. Читать дальше →

[Из песочницы] Как я делал Telegram-бота для работы с сетью Добрый день! Я поделюсь с Вами интересным опытом по созданию мобильного инструмента для работы с сетью. Предисловие Я отработал несколько лет в провайдерах, начиная с маленького — до федерального. Придя в «Федерала» я столкнулся с большим количеством рутины, и появилось ж...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

[Из песочницы] На что ещё способны шаговые моторы? — Забивать голы в настольном хоккее Создавая своего первого робота (Робот для настольного хоккея), а именно механическую часть, узнал много интересного для себя, чем и хочу поделиться. Примерно половину знаний я «нагуглил» или подсмотрел на Youtube, а вторую половину получил на практике, методом проб и ошиб...

[Из песочницы] Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern R. Text Mining. Rap Популярность многих современных рэп исполнителей остается для меня и других приверженцев “старой школы” большой загадкой. Постоянные споры о том, кто лучше, чьи текста интереснее, чья музыка разнообразнее занимают умы многих интернет-пользователей. Чтобы ...

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

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

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

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

Как менялся рынок BI и почему мы решили создать свою BI платформу Я работаю в «Инфосистемы Джет» около 7 лет, большую часть из которых проектировал и внедрял BI-решения и системы, на них построенные: ситуационные центры, информационно-аналитические системы и всё, что создано, чтобы собирать и анализировать данные. За это время у меня нак...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

Можно ли писать скрипты на C++? Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гугл...

Памятка «Улучшение качества связи Wi-Fi» На Хабре уже есть много качественных статей с подробным объяснением того как работает Wi-Fi и как его настраивать. Однако у всех этих статей есть, как минимум, несколько недостатков мешающих их дать как руководство к действию условному соседу в многоэтажке или повесить расп...

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

Поиск работы в Сингапуре: галеры, карьерные агентства и много собеседований Меня зовут Андрей Вогулкин, я — fullstack developer. Работал 3 года фронтенд-разработчиком в стартапе, 4 — Oracle-разработчиком в телекоме, сменил 4 страны. В этой статье на примере нескольких кейсов расскажу о том, как я искал работу в одной из 4 стран — в Сингапуре: где ис...

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

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

Awesome-лист своими руками или GitHub вместо блокнота Привет, Хабр! Наверное, у каждого из нас есть такой файлик, куда мы припрятываем что-то полезное и интересное для себя. Какие-то ссылки на статьи, книги, репозитории, мануалы. Это могут быть закладки в браузере или даже просто открытые вкладки, оставленные на потом. Со врем...

MLOps: DevOps в мире Machine Learning В 2018 году в профессиональных кругах и на тематических конференциях, посвященных AI, появилось понятие MLOps, которое быстро закрепилось в отрасли и сейчас развивается как самостоятельное направление. В перспективе MLOps может стать одной из наиболее востребованных сфер в I...

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

Laravel–Дайджест (14–20 сентября 2020) Меняем функционал Laravel UI на Laravel Fortify и кастомизируем Jetstream. Пишем SaaS-приложение. Взлом админки Laravel Nova. Разбираемся с Blade UI Kit. Читать дальше →

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

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

DagazServer: Как всё устроено По всей видимости, я не самый правильный фронтэдщик. Большую часть сознательной жизни я занимаюсь базами данных и немного бакэндом. Любовь к настольным играм — вот что заставило меня связаться с web-разработкой. Новый, совершенно незнакомый мне язык программирования — JavaSc...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

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

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

Валидация ассетов в Unity3D Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе. Но у неё есть и слабости. Одна из них ― человеческий...

Как я покупал принтер WANHAO, а потом на абгрейд и диагностику сдавал. Добрый день!    Я не писатель, а больше читатель, поэтому наверное получится скомкано, но тут прям наболело, хочется выговориться да и предупредить остальных.    В общем купил я  wanhao duplicator 6 plus у официалов из Москвы в сентябре прошлого года. Прикинул, что раз тут, ...

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

Управление зависимостями JavaScript Всем привет! Меня зовут Слава Фомин, я ведущий разработчик в компании DomClick. За свою 16-ти летнюю практику я в первых рядах наблюдал за становлением и развитием JavaScript как стандарта и экосистемы. В нашей компании мы используем JavaScript, в первую очередь, для продви...

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

Разбираемся в рекурсии Привет, Хабр. Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления. Зачем это надо? Рекурси...

Отец Linux больше не программирует. Линус Торвальдс рассказал о своей деятельности Линус Торвальдс (Linus Torvalds), легендарный отец-основатель Linux, побеседовал с вице-президентом VMware Дирком Хонделом (Dirk Hohndel) на конференции Open Source Summit/Embedded Linux Conference Europe.  В ходе беседы Торвальдс рассказал о своей деятельн...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

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

Что не так с Хабром Ловлю себя на мысли, что все меньше и меньше читаю Хабр специально, теперь чаще просто из поиска попадаю или в рекомендациях выскакивает. Начал думать — почему? Ведь раньше были и подписки и прочее. Пришел к такому выводу: Очень длинные статьи, при этом часто очень замудр...

Золотое кольцо скучнейших экскурсий: как это пытаются исправить Привет! Мы сейчас всерьёз упарываемся по развитию внутреннего туризма. Обычно я пишу про эту часть работы не на Хабр, но на днях появился один крутой пример, по которому можно отследить интересное продуктовое мышление и UX-подход. В реальном мире. В общем, компания внезапно ...

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

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

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

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

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

Топ-12 самых интересных ИТишных динамических инфографик Динамические (развернутые во времени) гистограммы очень прикольные. Есть в них особая драма, борьба, накал страстей. Плюс к этому анимация дает особое понимание происходящего. все течет, все изменяется, неизменны только перемены… Инфографика/видеографика/динамическая статис...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

Бот для мониторинга веб-сервисов за полчаса: telegram + bash + cron Иногда нужно быстро сделать мониторинг для нового сервиса, а готовой инфраструктуры/экспертизы под рукой нет. В этом гайде мы за полчаса реализуем инструмент для мониторинга любых веб-сервисов, используя только встроенные средства ubuntu: bash, cron и curl. Для доставки оп...

[Перевод] Чем программирование сегодня отличается от программирования 20 лет назад? Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью. Вот часть изменений в случайном порядке, которые я заметил в программировании за последние 20 лет: Многие концепции, которые были лишь теоретически...

ВКонтакте, МФТИ и ВШМ СПбГУ создали курс по машинному обучению для преподавателей информатики ВКонтакте совместно с МФТИ и ВШМ СПбГУ запускает бесплатный образовательный курс для преподавателей информатики. Они узнают основы машинного обучения и смогут использовать новые знания в своей работе. Также среди тем — управление IT-проектами и мотивация учеников. Педагоги, ...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

[Перевод] Как помочь pandas в обработке больших объёмов данных? Библиотека pandas — это один из лучших инструментов для разведочного анализа данных. Но это не означает, что pandas — это универсальное средство, подходящее для решения любых задач. В частности, речь идёт об обработке больших объемов данных. Мне довелось провести очень и оче...

Chrome расширение для скрытия отвлекающих рекомендации на YouTube YouTube можно использовать не только для развлечений, но и для обучения чему угодно. Рекомендации на YouTube очень полезны, так как подсказывают релевантные видео к текущему, но и опасны потому что содержат ещё и в принципе интересные и отвлекающие ролики (не на тему видео)....

Apple представила специальную версию сайта iCloud.com для iPhone и Android Спустя 8 лет Apple всё-таки решилась выпустить мобильную версию iCloud.com Несмотря на то что Apple всегда стремилась обеспечить удобство своих пользователей при взаимодействии с фирменными сервисами, иногда в Купертино – осознанно или нет – всё-таки допускают осечки. Но одн...

Восстановление данных в современной инфраструктуре: как один админ бэкапы настраивал Я всегда считал, что одна из основных проблем при использовании систем резервного копирования — свойственный этому процессу консерватизм. Причин для него огромное количество, начиная с того факта, что первый бэкап был сделан ещё в 1951 году. При этом наличие бэкапов, которые...

[Из песочницы] Антипаттерны работы с базами данных Привет, Хабр! Представляю вашему вниманию перевод статьи «Database: Anti-Patterns» автора Sergey Kozlov. Если вы храните данные, это критически важная часть вашего приложения. Можно легко и быстро задеплоить исправление бага на новом сайте знакомств, чтобы фермер Джо из сев...

[Перевод] Чем меня разочаровал Typescript и стоит ли он того? Прежде чем начать, хочу упомянуть, что я фанат TypeScript. Это мой основной язык программирования для фронтенд проектов на React и для любой бекенд работы, которую я выполняю в Node. Я полностью за Typescript, но есть моменты, которые меня беспокоят и про которые я и хотел...

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

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

[Перевод - recovery mode ] Простое обнаружение проблем производительности в PostgreSQL Существует ли в мире очень большая и крупная база данных, которая время от времени не страдает от проблем с производительностью? Держу пари, что их не так уж много. Поэтому каждый DBA (администратор базы данных), отвечающий за PostgreSQL, должен знать, как отслеживать потен...

[Перевод] Полунаучное руководство по размещению WiFi-роутера WiFi – как недвижимость; три главных фактора, влияющих на его качество – это местоположение, местоположение и местоположение С верхним этажом нашего испытательного дома проблем почти нет – хотя, как и многие дома, он страдает от ужасного расположения роутера, далёкого от ег...

Новый фронтенд Одноклассников: запуск React в Java. Часть II Мы продолжаем рассказ о том, как внутри Одноклассников с помощью GraalVM нам удалось подружить Java и JavaScript и начать миграцию в огромной системе с большим количеством legacy-кода. Во второй части статьи мы подробно расскажем о запуске, сборке и интеграции приложений...

[Перевод] Реверс-инжиниринг чипа компьютера Commodore Предыстория и первые пробы В своём старом посте я писал, что работал над реверс-инжинирингом чипа PLA компьютера Commodore 128. Теперь я почти завершил этот процесс, поэтому настало время поделиться своими открытиями. Это был очень интересный проект, потому что я не особо м...

Huawei считает выживание своей главной задачей в 2020 году Huawei будет выживать в 2020 году 19 мая Google заявила о прекращении сотрудничества с Huawei. Это означало в том числе запрет на использование сервисов Google в устройствах китайского производителя. А началось всё еще раньше, когда 15 мая Министерство торговли США запретило...

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

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

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

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

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

Обучение программированию 2019, или в поисках идеальной программы: Последовательность Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию. Предисловие Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподава...

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

Собираем C++ с bazel Введение и мотивация В последнее время на Хабре появляются посты про то, что cmake и c++ — друзья, приводятся примеры, как собирать header-only библиотеки и не только, но нет обзора хоть сколько-нибудь новых систем сборки — bazel, buck, gn и других. Если вы, как и я, пишете ...

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

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

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

[Перевод] Как избежать простоя в работе Kubernetes-кластера при помощи PodDisruptionBudgets Защита pod’а от выселения при помощи Pod Disruption Budgets в Kubernetes Это четвертая и заключительная часть нашего пути (прим. пер. — ссылка на первую статью) для достижения нулевого времени простоя при обновлении Kubernetes-кластера. В предыдущих двух частях мы фокусиров...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

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

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

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

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

Еще один принтер. Часть 2. Корректировки конструкции, ось Z. Спасибо всем за комментарии с советами, замечаниями и мнениями, они очень помогают, потому что сам не всегда знаешь, в какую сторону нужно думать/искать и где какие грабли ждут. Большинство комментариев было на две темы: почему профиль 60х60 и почему кинематика ультимейкера....

Лучшее место для досуга casino ya888ya Сегодня каждый имеет возможность узнать, что такое азартные развлечения, посетив казино Ya888ya. Больше это не то, о чем нельзя говорить, к чему нельзя прикасаться, и тем более пробовать. Ведь каждый помнит, что раньше азартные заведения были наземного типа. Это были прокуре...

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

Обзор «Кровная вражда: Ведьмак. Истории» на Nintendo Switch — Прекрасный подарок всем фанатам ведьмацкой саги «Ведьмак» нынче – мировая франшиза с быстрорастущей армией поклонников. У кого-то Геральт ассоциируется с книгами Анджея Сапковского, у кого-то – с трилогией видеоигр от CD Projekt RED, а у кого-то теперь – с новым сериалом от Netflix. И если вы относите себя к настоящим фан...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

[Перевод] DDR5? Да мы и с DDR4-то едва познакомились В январе 2020 на выставке CES представили память с максимальной скоростью DDR5 от SK Hynix. По слухам, Micron и другие производители тестируют похожие устройства. Пока их нельзя достать по обычным каналам, однако поскольку и материнских плат для них ещё нет, это не проблем...

[Перевод] Клон Doom в 13 килобайтах JavaScript В прошлом году я участвовал в соревнованиях JS13K 2019, на которых людям предлагается разрабатывать игры в менее чем 13 КБ кода на JavaScript. Я участвовал с клоном Doom, который назвал… «Ещё один клон Doom» (Yet Another Doom Clone). Поиграть в него можно здесь. Исходный к...

Старая Windows превзошла Windows 10 С каждым годом людей, которые не разбираются в электронике, становится все больше и больше. Главная причина такого положения дел состоит в том, что компьютеры, планшеты, ноутбуки и прочие гаджеты использует все больше людей, но если Сообщение Старая Windows превзошла Window...

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

[Перевод] Реализация эффектов при помощи рисования вершин Какое-то время назад я наткнулся на интересный пост X: Rebirth – Geometric Lensflares на сайте simonschreibt.de В этом посте автор рассказал о том, как игра X: Rebirth использует техники рисования вершин для создания эффектов lens flare. Почему это интересно? Потому что сов...

Как изменится ваша жизнь с появлением щенка: 7 главных страхов начинающих собаководов Собаки приносят много радости, но воспитывать их — большая ответственность. Разбираемся вместе с Pedigree®, как найти общий язык с новым любимцем.

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

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

[Перевод] Повышаем квалификацию с лучшими инструментами для web-разработки на React Вы можете стать более ценным специалистом, изучив лучшие инструменты для разработки веб-приложений на React. Большинство резюме работодатель отклоняет, просто пробежав их по диагонали. Это немного обескураживает, правда? Так что очень важно, чтобы он сразу увидел нужные е...

[Из песочницы] Путь в программисты (С++) Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось. О программировании к октябрю 2017 я знал ровно столько, сколько сейча...

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

Основы параллельного программирования в Swift: часть 1 Ян Олбрич разбирается с основами параллельного программирования в Swift.

[recovery mode] Менеджер проекта в тисках. Почему так и что с этим делать Заметка из двух частей: почему в тисках и что с этим делать. Дано Начальство — наделяет полномочиями и спрашивает с него за результат, который, напомню, создал не он. ПМ — сам не выполняет задачи, организовывает работу других. Команда — выполняет задачи. Как думаете, ...

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

[Перевод] Для edge-серверов десятого поколения Cloudflare выбирает процессоры от AMD Ежедневно через сеть Cloudflare Network проходит более миллиарда уникальных IP-адресов; она обслуживает более 11 млн HTTP-запросов в секунду; она находится на расстоянии не более 100 мс от 95% интернет-населения. Наша сеть раскинулась на 200 городов в более чем 90 странах,...

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

Светов — «цензура Яндекса менее страшна, чем цензура государства» // Мы обречены #11 Хотелось бы сидеть и думать только о работе и отдыхе — но ведь хрен дадут. Кругом черте что. Одни сумасшедшие запрещают слова и заставляют переписывать проекты, чтобы код никого не обидел. Другие сумасшедшие просто выдумывают обвинения и сажают народ по тюрьмам.  М...

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

[Перевод] Пентест Active Directory. Часть 1 Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». У меня было несколько клиентов, пришедших ко мне перед пентестом с уверенностью в том, что они были в хорошей форме, потому что их анализ уязвимостей не показал кр...

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

[Из песочницы] Распознавание символов методом наименьшего расстояния Левенштейна В последнее время задача распознавания символов в прикладных программах не представляет особой сложности — можно использовать множество готовых OCR-библиотек, многие из которых доведены почти до совершенства. Но все же иногда может возникнуть задача разработать свой алгоритм...

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

Установка Titan экструдера на Tronxy XY-2 PRO Решил установить Titan на свой принтер. После некого выбора - решил выбрать родной от Tronxy. Думал крепления подойдут. На сайте производителя спрашивал - все ли подходит - получил ответ - ДА. Итак, приехал Titan. Долго крутил в руках и понял, что крепления с титана надо сни...

Почему самолеты оказались лучше махолетов На картинах художников XVII-XVIII веков, описывающих наше будущее, можно иногда увидеть махолеты. Тогда люди представляли, что человек когда-нибудь сможет летать, как птицы. Летать мы научились, вот только способ полета оказался совсем другим. Сегодняшние самолеты разгоняют ...

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

Справочная: разбираемся с принципами SOLID Расскажем, кто их придумал и в чем они заключаются. Также поговорим о критике этого подхода — о том, почему некоторые разработчики отказываются следовать SOLID-методологиям. Читать дальше →

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

Философия в IT как вершина созидания жизни Доброго времени суток, Хабрачане! С большим удовольствием, представляю вашему вниманию свою новую статью об искусстве в мире IT! Мою прошлую статью вы активно читаете, комментируете и голосуете за неё. Спасибо вам за это! Как благодарный автор, я постарался учесть все ваши ...

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

[Из песочницы] Моделирование звука гитарных нот с помощью алгоритма Карплуса-Стронга на python Знакомьтесь, эталонная нота ля первой октавы (440 Гц): Звучит больно, не правда ли? Что еще говорить о том, что одна и та же нота звучит по-разному на разных музыкальных инструментах. Почему же так? Все дело тут в наличии дополнительных гармоник, создающих уникальный тембр...

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

Мир без корутин. Костыли для программиста — asyncio 1. Введение Тот, кто научился летать, ползать уже не будет. Но не должно быть и высокомерия к тому, кто «летать не может» в принципе. И то и другое вполне норма. И то и другое уважаемо и почетно. Для человека — это, как выбор профессии: вы, условно, либо летчик, либо шофер. ...

midi-bluetooth клавиатура на esp32 Несколько лет тому назад ко мне в руки попала компактная драм-машина от небезызвестных teenage engineering. Тогда меня очень поразила идея — использовать печатную плату как часть корпуса и элемент дизайна устройства. С тех пор мне хотелось тоже собрать аналогичное по стилис...

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

Состоялся релиз Paladin's Story: Fantasy RPG на iOS и Android Ранее мы уже писали о том, что инди-разработчики из студии Plunder Games собираются выпустить свой проект в жанре RPG под названием Paladin's Story: Fantasy RPG. Летом им требовались бета-тестеры, чтобы отточить игру перед её официальным релизом. Этот день наконец-то настал ...

Размеры катушек разных производителей пластика. Доброго времени суток, Уважаемые!Буду краток. Есть у меня файлик, в который я заношу данные, проходящих через мои руки катушек с филаментом. Ну и решил я им поделиться с общественностью. Тем более, что вопросы по этому поводу тут неоднократно проскакивали.Оригинальный файл, ...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

[Из песочницы] Кажется, мой iPhone забыл пароль от корпоративной Wi-Fi сети Всем привет! Уже и не думал что вернусь к этому кейсу, но Cisco Open Air Wireless Marathon подтолкнул меня вспомнить и рассказать про личный опыт, когда чуть больше года назад мне довелось потратить довольно много времени над изучением проблемы с беспроводной сетью на базе ...

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

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

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

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

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

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

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

Где теперь брать графику для Mac? Apple разругалась с Blackmagic Еще совсем недавно Apple рекомендовала использовать для усиления графических возможностей Mac исключительно яблочные решения. Почти яблочные. Внешние графические процессоры Blackmagic eGPU и Blackmagic eGPU Pro компании Blackmagic Design в корпусах, разработанных дизайнерам...

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

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

История нашего open source: как мы сделали сервис аналитики на Go и выложили его в открытый доступ В настоящее время практически каждая компания в мире собирает статистику о действиях пользователя на web ресурсе. Мотивация понятна — компании хотят знать как используется их продукт/веб сайт и лучше понимать своих пользователей. Конечно на рынке существует большое количеств...

Аудитория Apple TV+ достигла 33 миллионов зрителей. Откуда такой успех Apple TV+ стал настоящим рекордсменом по скорости роста аудитории Когда Apple только представила, но не запустила Apple TV+, фанаты и инвесторы находились в приподнятом настроении. Ну, наконец-то, компания взялась за развитие по-настоящему нового и перспективного проекта. Од...

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

Игровой 27-дюймовый IPS-монитор Alienware AW2720HF: условно безрамочный экран, разрешение Full HD, частота обновления до 240 Гц Внешне монитор Alienware AW2720HF привлекает внимание условно безрамочным экраном, аккуратным дизайном и настраиваемой многоцветной статической или динамической подсветкой. По набору характеристик данный монитор можно обоснованно отнести к игровым. Кроме как для игр, его мож...

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

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

GoLang и OpenCV (OpenVino && Cuda) Всем доброго времени суток. На хабре (да и вообще в интернете) уже не мало статей о работе с OpenCV на Go. Готовый код — это конечно интересно, а более подробную информацию об установке драйверов приходится собирать по кусочкам — постараюсь объединить все нужные телодвижени...

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

Бомба: Sony выпустила совместно PlayStation 5 и PlayStation 5 Pro Интерес людей по всему миру к видеоиграм стремительно растет, и далеко не всем хочется использовать компьютеры из-за фактической сложности их освоения, ведь необходимо разбираться с драйверами, обновлять ОС и совершать другие действия, чтобы просто играть Сообщение Бомба: S...

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

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Что установлено на моём iPhone в 2020 году Что установлено на моём iPhone? Всем интересно, какие приложения используют другие владельцы смартфонов. И именно поэтому я решился на написание данного материала. По правде говоря, с недавнего времени я решил существенно сократить использование телефона по одной простой при...

Как разработчики приложений из Google Play обманывают вас В Google Play масса приложений, чьи разработчики вас обманывают Google никогда особенно не давалась защита пользователей Android. Да, компания старается доказать обратное, каждый месяц выпуская по обновлению безопасности с исправлением уязвимостей, но проблема в том, что у н...

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

Количество частных инвесторов на Московской бирже превысило 3,5 млн человек Фото: Московская биржа / Facebook Согласно данным свежей статистики, количество частных инвесторов на российском фондовом рынке превысило 3,5 млн человек. С начала года брокерские счета для торговли на Московской бирже открыли 1,6 инвесторов. Разбираемся в том, почему уве...

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

[Из песочницы] Программируй себя. Как найти работу в IT Я работаю Software Engineer в Farmers Insurance. Мой отдел занимается внедрением чат-бота в структуры бизнеса и его усовершенствованием для уменьшения нагрузки на службу поддержки компании. Сейчас один из моих проектов — анализ сообщений от клиентов и предсказание интента ...

Runtime Type Safety in Typescript (Возможна ли удобная проверка типов в рантайме) Относительная простота и доступность Javascript, относительная легкость входа в него предопределила на многие годы вперед его популярность. Некоторые языки программирования существенно повлияли на развитие всей отрасли в целом. Так, например SmallTalk стал неким прадедушкой ...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Что может сказать о вас ваш смартфон? Что о вас скажут другие? Людей очень часто упрекают за то, что они выбрали тот или иной смартфон. Если у вас не iPhone, то вы обязательно человек без определённого места жительства в глазах других людей. Однако Android-смартфоны стоят не дешевле, а некоторые даже дороже iPho...

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

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

Хабр Викли #40 / Мозилла спасает интернет, в геймдеве кончились идеи, и зачем изучать исходники классических программ Обсудили как Мозилла переформатирует себя, чтобы выжить в мире больших мальчиков и девочек — Хрома, Сафари и Edge. Поразмышляли, почему все ударились делать ремейки, и поностальгировали о былых крутых играх. Наши разработчики рассказали, зачем изучать старинные исходники. Оп...

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

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

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

Новый Flying Bear Ghost это 5? или все же 4S Plus? Когда я в прошлом году стал обладателем 3D-принтера Flying Bear Ghost 4S, то был безумно счастлив. Это был пусть не идеальный принтер, но все его недостатки были настолько терпимыми, что он практически в неизменном виде дожил до этих дней. Почитать о нем можно в обзоре "Flyi...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Перевод] Почему я отказался от кросс-платформенных решений в мобильной разработке Позвольте мне с вами кое-чем поделиться. Мне нравится идея кросс-платформенной разработки. Возможность использовать один набор инструментов для всех моих задач — это мечта. Кто не хотел бы использовать только один инструмент, чтобы успешно выполнять свои задачи? Пиши один ра...

Почему мы используем платформу ARM в промышленном оборудовании Сегодня почти каждый из нас использует устройства на базе ARM-процессоров — это смартфоны, телевизоры и даже холодильники с кофеварками. Несколько дней назад в прессу просочились слухи, что компания Apple объявит о переходе с платформы X86 на ARM на своих ноутбуках. Мы в...

CucumberTalks: избегаем антипаттернов и пишем выразительные сценарии Фреймворк Cucumber используют как часть bdd-подхода к разработке, так и как отдельный инструмент для автотестов. 40+ млн скачиваний обеспечили фреймворку богатый опыт использования, но актуализировали поверхностное отношение к этому инструменту. Разбираем популярные огуреч...

Сергей и «программирование лучше секса» Небольшая зарисовка-комментарий к статье «Программирование лучше секса» Самодостаточная, можно читать без ознакомления с оригиналом. — Сергей, можно вопрос? Сергей, не отвлекаясь от экрана… — Ну, задавайте. — Объясните, почему вы ТАКОЙ? Почему вам важнее написать эту ...

[Перевод] Алан Кей: История SmallTalk (1960-1969) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

«Яндекс.Браузер» — лучший браузер для Android, но я всё равно выбираю Google Chrome Какой браузер для Android лучше? Наверное, это самый популярный вопрос после «Какой смартфон выбрать?». Почему-то пользователи в большинстве своём уверены, что штатный софт по определению не может быть хорошим, а значит, его нужно заменить на что-то альтернативное. Нередко ...

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

Запущено первое в мире кадровое агентство для роботов "Агентства по подбору талантов необходимы, чтобы предложить правильную роль человеку или роботу с подходящим талантом, - пояснил один из учредителей компании Форест Гибсон (Forest Gibson). - Они являются посредниками, которые помогают в такого рода взаимодействиях. Мы с...

Конференция AnalogBytes Conference: Роскомнадзор, СМИ, хайлоад и все-все-все Доброе утро, Хабр! Продолжаем рассказывать про нашу конференцию AnalogBytes, до которой остались последние два дня — она пройдёт уже в четверг. Расписание сформировалось, последние участники круглых столов подтверждаются — в общем, всё идёт по плану. Несколько человек сп...

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

[Перевод] Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов HAProxy Data Plane API – это программа, которая работает вместе с HAProxy, чтобы вы могли полностью настроить балансировщик нагрузки HAProxy во время выполнения. Эта функция позволяет исполь...

Now you see us. Раскрываем секреты успеха международной IT-конференции в эпоху пандемии Не так давно — в июне месяце — невзирая ни на что, вновь состоялась ежегодная IT-конференция VeeamON. Впервые она проходила в онлайн-формате, впервые билеты на нее были абсолютно бесплатны, а “раздатку” можно было получить прямо на дом. В общем, очень много всего нового, неп...

Артефакты для UX-ёров и команды: что это, зачем нужны и как выбрать Зачем нужно это знать? Я UX-дизайнер в большой продуктовой компании, и я очень не люблю правки, а вы уже пролистываете дальше, потому что «так нельзя, ты не художник» и «ничего нового, никто не любит». Я ценю сво...

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

Проведена разборка смартфона iPhone SE 2020 iPhone SE 2020, выпущенный в апреле текущего года, попал в руки блогеру-испытателю JerryRigEverything.Некоторое время назад блогер публиковал видео с испытанием прочности iPhone SE 2020, а в новом ролике мы видим разборку новинки.Одной из впечатляющих особенностей смартфона,...

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

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

PostgreSQL Antipatterns: убираем медленные и ненужные сортировки «Просто так» результат SQL-запроса возвращает записи в том порядке, который наиболее удобен серверу СУБД. Но человек гораздо лучше воспринимает хоть как-то упорядоченные данные — это помогает быстро сравнивать соответствие различных датасетов. Поэтому со временем у разработ...

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

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

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

Апокалипсис грядёт Есть такая проблема — в 2038м году количество секунд с начала эпохи Unix Time перевалит за величину signed int и исчезнет. Это как проблема 2000 года, только намного сложнее, потому что для неё нужно менять типы данных. Так вот… в MySQL уже четырнадцать с половиной лет виси...

Apple показала функцию редактирования сообщений в iMessage iMessage, который Apple запустила в 2011 году, для меня был самым первым мессенджером, если не считать ICQ. Telegram тогда ещё не вышел, а пользоваться WhatsApp, хоть я о нём и слышал, особенного желания у меня не было. Однако со временем стало понятно, что iMessage уже не ...

Надо помолчать Нет, не пРомолчать, просто помолчать. Недолго, максимум — несколько минут. Нет, не чтобы собраться с мыслями. И не всем :) Сейчас объясню. На работе я часто обсуждаю сложные задачи с коллегами. Например, про дизайн языка в Котлине или про стратегию продукта в Альтере. И м...

Потроха IPsec, меримся с TLS 1.3, ГОСТ и Go Приветствую! Очень хочется рассказать про устройство современного стэка IPsec протоколов ESPv3 и IKEv2. IPsec, как мне кажется, незаслуженно обходится многими стороной и детального разбора его работы, его протоколов и возможностей я не видел на русском языке. Кроме того, сде...

[Перевод] Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения) Tree of Dragons II by surrealistguitarist Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчи...

Язык программирования Mash http://mash-project.org https://github.com/RoPi0n/mash-lang Mash? Это язык императивный язык программирования с динамической типизацией, сборкой мусора, ООП и поддержкой многопоточности. Интересно? Тогда под кат! :) Читать дальше →

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

Может ли ФБР взломать iPhone без помощи Apple? Не совсем ФБР не могут взломать iPhone без Apple, и это правда Вы заметили, что Apple постоянно кому-то противостоит? Как правило, это в основном защита от нападок со стороны, но факт остаётся фактом. То Spotify закатит истерику из-за того, что Apple, видите ли, взимает комиссию за тр...

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

[Перевод] Программирование игры для embedded-устройства на ESP32 Часть 0: мотивация Введение Я искал для себя хобби-проект, над которым можно было работать вне моих основных задач, чтобы отвлечься от ситуации в мире. По большей мере меня интересует программирование игр, но также мне нравятся embedded-системы. Сейчас я работаю в игровой ко...

Читатели AppleInsider.ru рассказали, сколько оперативки должно быть в iPhone Почему-то всегда было принято считать, что iOS неважен объём оперативной памяти. Поэтому, когда аппараты на Android имели уже по 2 ГБ, в Купертино по-прежнему ограничивалась 512 МБ. Не то чтобы владельцам iPhone не хотелось большего, но поскольку никаких проблем в работе да...

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

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

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

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

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

Режиссёр Тайка Вайтити рассказал, что не так с клавиатурой MacBook Клавиатура «бабочка» — одна из главных проблем современных MacBook, считает режиссёр Тайка Вайтити Существует масса фанатов Apple, которые считают, что их долг перед компанией состоит в том, чтобы идеализировать всё, что бы она ни делала. Они с готовностью оп...

Как Windows 10X будет динамически менять обои для Рабочего стола Microsoft не много говорила о Windows 10X после ее анонса в октябре 2019 года, но слухи и утечки раскрыли новые детали модульной операционной системы Microsoft. Недавно в отчете сообщалось, что Windows 10X может поставляться с MacOS-подобной динамической функцией обоев Apple...

AirPods Pro, Apple TV+ и много денег: почему акции Apple достигли рекордной цены После наступления нового года на американских биржах возобновились торги. В ходе одной из первых торговых сессий акции Apple достигли рекордной цены в $300 за штуку. В итоге капитализация производителя iPhone выросла до $1,33 трлн, что позволило обойти извечных сопернико...

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

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

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

[Из песочницы] Unity, ECS, Actors: как поднять FPS в своей игре в три раза, когда оптимизировать уже нечего → Что такое ECS → Что такое Actors Не раз слышал, как хорош шаблон ECS, и что Jobs и Burst из библиотеки Unity — решение всех проблем с быстродействием. Чтобы не добавлять каждый раз слово «наверное» и «может», рассуждая о быстродействии кода, решил проверить всё лично. М...

Продуктовый дизайн без дизайнера Я работаю в КОРУС Консалтинг СНГ 3 года, и за это время поучаствовала в проектировании девятнадцати B2B сервисов. Проектирование взаимодействия ассоциируется обычно с Axure, InVision, Moqups, Framer, (вставьте ваш любимый вариант), но мои инструменты — это HTML, SCSS и Ang...

Apple объявила о сплите акций: что это такое и чем грозит инвесторам Компания из Купертино в конце июля 2020 года объявила о сплите акций. Этот шаг приведет к падению акций в цене. В нашей новой статье разбираемся в том, зачем это нужно Apple, и как повлияет на инвесторов в ее акции. Читать дальше →

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

[Из песочницы] Российский SCRUM. Бессмысленный и беспощадный Доброе время суток, уважаемый Хабр! Я программист «старой школы», с опытом работы более 20 лет. Участвовал в разработке многих проектов, большая часть из которых довольно известные и успешные. В некоторых проектах занимал руководящие должности, достиг неплохого уровня зарпл...

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

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

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

Приватность by design, или как создать приложение, чтобы не вылететь с маркетов Все слышали новость о том, что Фэйсбук «выбросил» десятки тысяч приложений из-за проблем с приватностью. Это ставит перед разработчиками много вопросов, на которые надо срочно искать ответы: ● Как создать «безопасное» приложение? ● Что такое вообще эта ваша приватность? ● И ...

Новый HAProxy Data Plane API: два примера программной конфигурации Новый HAProxy Data Plane API: два примера программной конфигурации Используйте HAProxy Data Plane API для динамического управления конфигурацией балансировщика нагрузки с помощью HTTP-команд. Читать дальше →

Малыш йода Доброго времени суток, друзья.Вот дошли руки до покраски "малыша Йоды". Красить особо не умею, косяков много.Но зато обкатал новые краски и влажную палитру. Краски использовал Vallejo Game Color, адгезия замечательная укрывисто834x739.4 (Оригинал: 2222x1970)сь прекрасная, цв...

Книгообзор: Голден Кришна. «Хороший интерфейс — невидимый интерфейс» Сегодня предлагаем обзор книги автора с чудесным именем Голден Кришна, одно время работавшего на должности ведущего дизайнера Samsung. Эта небольшая, на 250 страниц книга, вышедшая в 2016 году, стала бестселлером и рекомендуется не только дизайнерам, но и вообще инженерам, п...

Как реализовать динамическую диаграмму для Vue на основе SVG Бывает, что на сайте, в корпоративной IT-системе или другом ПО нужно отображать круговые диаграммы с какими-либо данными. Например, это может быть таймер для отсчета времени или индикатор, сколько товаров продано в той или иной категории. Если это статическое изображение, ко...

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

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

Посмотрим на новинки с Али 3 Всем доброго времени суток.В этой статейке хочу показать и обсудить ещё несколько интересных товаров с Али. На самом деле это достаточно интересно вести такую рубрику. Есть хоть с кем обсудить некоторые позиции и возможно помочь с выбором)1. Creality CP-01Очень и очень интер...

Как бесплатно перенести свои любимые треки в Spotify, используя Javascript Все любители музыки в России с нетерпением ждали выхода Spotify на наш рынок. Когда наконец это случилось, перед пользователями встала проблема переноса музыки из других сервисов. Лично у меня за годы накопилась огромная коллекция музыки на разных платформах: Яндекс.Музыка, ...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

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

[Перевод] Ещё пять идей, как прокачать свое мастерство разработчика (декабрь 2019) Цель публикации — подкуинуть несколько идей, что можно повторить, чтобы повысить свое мастерство front-end разработчика. Это просто идеи, без исходников и туториалов, что немного усложняет задачу, но прививает более самостоятельный подход к обучению. Предыдущий полный списо...

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

[Перевод] Прости, React, но я так больше не могу Недавно мне попалась фраза «усталость от JavaScript», «JavaScript fatigue», и я мгновенно понял, что это — про меня. Последние несколько лет я делал всё возможное для того чтобы поспевать за новшествами экосистемы React, и, если брать выше, за новшествами JavaScript, где из...

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

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

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

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

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

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

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

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

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

[Перевод] Почему я выбрал Next.js, а не Gatsby, Gridsome или Nuxt? Мы, выбирая фреймворк для нового веб-проекта, обычно склонны останавливаться на инструментах, с которыми знакомы, не обращая внимания на то, насколько хорошо они подходят для этого проекта. Я же пробую поступать с точностью до наоборот. Всякий раз, когда у меня возникает так...

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

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

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

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

Карма — это отчуждение от авторства Я иногда прихожу на хабр, пишу на нём статьи. Иногда эти статьи попадают в TOP хабра. Но всякий раз ухожу в тот момент когда у меня отчуждают авторство. Читать дальше →

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

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

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

[Перевод] Автономные автомобили на open source (Статья Forbes 2019 года ) Брэд Тэмплтон с ранней версией Стэнфордского робокара. Об авторе: Брэд Тэмплтон — инженер-программист, евангелист робоавтомобилей с 2007 года, работал над Гуглокаром в его ранние годы. Основатель ClariNet, почетный председатель Electronic Fronti...

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

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

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