Социальные сети Рунета
Пятница, 19 апреля 2024

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

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

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

[Перевод] Разбор задачи с собеседования в Google: синонимичные запросы Это новая статья из разбора задач с собеседований в Google. Когда я там работал, то предлагал кандидатам такие задачи. Потом произошла утечка, и их запретили. Но у медали есть обратная сторона: теперь я могу свободно объяснить решение. Читать дальше →

[Из песочницы] Как я проработала 3 месяца в Я.Маркете и уволилиась Первая попытка Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд разработчика. Я его сделала, вот оно. По условию он...

[Перевод] Разбор задачи с собеседования Google: поиск соотношения Добро пожаловать в очередную из серии статей с разбором задачек, которые я задавал на собеседованиях в Google, прежде чем их запретили после утечки. С тех пор я оставил работу инженера-программиста в Google и перешёл на должность менеджера по разработке в Reddit, но у меня...

[Из песочницы] Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм Задача кажется простой, когда ничего про нее не знаешь и когда решил. В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”. Мне нравится Телеграм заложенными в него возможностями в то...

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

«Разработчик хочет купить самолет через три года. Моя задача ему помочь» — Денис Пушкин о мотивации в Skyeng Недавно мы были в гостях у Skyeng и уже рассказывали, зачем их компании так много продакт-менеджеров. Но разговор был большой и долгий, мы обсудили еще много интересного. Например Денис Пушкин, Head of Product Marketing, рассказал о мотивации в его команде. Как сделать так...

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

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

Добавляем Sign in with Apple на back-end На WWDC 2019 Apple представила новую систему авторизации пользователей — Sign in with Apple. Возникла задача интегрировать её в наш back-end и синхронизировать её с уже существующими методами авторизации при помощи email, Google и Facebook. За задачу взялся наш коллега kuren...

По следам Highload++ Siberia 2019 — 8 задач по Oracle Привет! 24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin ...

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

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

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

Как мы полностью поменяли собеседования Меня зовут Саша, и я руковожу backend-разработкой в Tutu.ru. Сегодня я расскажу, почему и как мы полностью поменяли процесс собеседования кандидатов за прошедший 2018 год. Итак, диспозиция на начало года Мы быстро растем – нам нужно набирать новых сотрудников Сообщество ра...

[Из песочницы] Заметка для фронтендеров: что проверить перед тестированием Всем привет! Так сложилось, что я из той самой службы контроля качества. Недавно наша команда писала большую фичу. Немного порефлексировав, решил создать такую вот статью-шпаргалку для фронтендеров. Она напомнит на что стоит обратить внимание перед передачей задачи в тестир...

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

Как закрывать задачи в баг-трекере Эту статью я написала в рабочем конфлюенсе в 2013 году. И на момент написания этой статьи (2019 год) она все еще была актуальна. Исходно чек-лист записала как напоминание, в том числе и себе. Потому что к задачам приходится возвращаться, в том числе людям, которые их НЕ про...

[Перевод] HTTP/3: от корней до кончиков Протокол прикладного уровня HTTP лежит в основе интернета. Он начал свою жизнь в 1991 году как HTTP/0.9, а к 1999 году превратился в HTTP/1.1, который был стандартизирован Инженерным советом Интернета (IETF). HTTP/1.1 долго всех удовлетворял, но растущие потребности Сети п...

Часть 4. Карьера программиста. Junior. Заход во фриланс Продолжение рассказа «Карьера программиста». Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов. В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов прог...

Самодокументируемый REST сервер (Node.JS, TypeScript, Koa, Joi, Swagger) Про преимущества и недостатки REST написано уже довольно много статей (и еще больше в комментариях к ним) ). И если уж так вышло, что вам предстоит разработать сервис, в котором должна быть применена именно эта архитектура, то вы обязательно столкнетесь с ее документировани...

IR интерфейс, Raspberry и LIRC Моя задача сечас — научиться отправлять команды кондиционерам и другим устройствам в доме. Исходно эти устройства имеют только IR remote control. Для решения этой задачи у меня есть Raspberry Pi и IR transceiver shield. В статье можно найти конфиги, команды, советы и немного...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

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

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

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

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

Automation Day, или как мы наращиваем слой автотестов Как часто, работая в команде, вы сталкиваетесь с ситуацией, когда часть задач по автоматизации тестирования попадает в бэклог и остается в ручном тестировании навсегда? Мы постоянно сталкиваемся с такой проблемой, и причины всегда разные: не успели / не хватило времени, а ...

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

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

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

Семь простых шагов, чтобы стать студентом Computer Science Center 1. Выберите программу обучения. CS центр предлагает очные вечерние курсы студентам и молодым специалистам в Санкт-Петербурге или Новосибирске. Учёба длится два или три года — по выбору студента. Направления: Computer Science, Data Science и Software Engineering. Для жителей ...

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

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

[Перевод] Объяснение задачи на Python с собеседования Салют, хабровчане! В преддверии запуска нового потока по курсу «Web-разработчик на Python» хотим поделиться новым полезным переводом. Поехали! Снова сходив на несколько собеседований и пройдя тестовые задания, я заметил, что интервьюерам нравятся задания наподобие следующ...

5 типовых задач на собеседованиях по JavaScript: разбор и решения От переводчика: опубликовали для вас статью Марии Перна (Maria Antonietta Perna), которая рассказывает о типовых задачах по JavaScript, чаще всего предлагаемых соискателям-разработчикам на собеседованиях. Статья будет полезна, в первую очередь, начинающим программистам. ...

Как запустить java-проект на shell-раннере при пуше в репозиторий GitLab’а Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design. Передо мной стояла задача — внедрить запуск автотестов, написанных на Java Selenium. Я новичок в CI/CD, поэтому столкнулся со множеством проблем. Подробных инструкций в интернете по этой задаче ...

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

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

Чемпионат по программированию: разбираем задачи для фронтенд-разработчиков На днях победители чемпионата по программированию, который завершился в начале лета, получили заслуженные призы. Для этого мы позвали их, а также всех остальных финалистов из топ-20 каждого направления в московский офис Яндекса. Ещё раз поздравляем тех, кто сумел выйти в фи...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

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

Разбор задач Одноклассников на Joker 2019 С 28 по 29 октября в Санкт-Петербурге проходила Joker 2019 – самая большая и хардкорная на просторах России конференция, посвященная Java-разработке. Мероприятие проходило в седьмой раз и как всегда побило рекорд по посещаемости, в этот раз мероприятие привлекло более 2000...

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

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

Ответы на задачи со стенда PVS-Studio на конференциях 2018-2019 Привет! Несмотря на то, что сезон конференций 2019 года ещё в самом разгаре, мы бы хотели обсудить задачи, которые ранее предлагали посетителям нашего стенда. Осень 2019 года мы начали с новым набором задач, поэтому уже можно обнародовать решение старых задачек за 2018 год,...

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

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

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

Как мы делали облачный FaaS внутри Kubernetes и побеждали в Тинькофф-хакатоне Начиная с прошлого года у нас в компании начали организовывать хакатоны. Первое такое состязание прошло весьма успешно, о нем мы писали в статье. Второй хакатон прошел в феврале 2019 и был не менее успешным. О целях проведения последнего не так давно писал организатор. Уч...

Эволюция CI в команде мобильной разработки Сегодня большинство программных продуктов разрабатываются в командах. Условия успеха командной разработки можно представить в виде простой схемы. Написав код, вы должны убедиться, что он: Работает. Ничего не ломает, в том числе код, который написали ваши коллеги. Если ...

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

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

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

Мы два года развивали свою систему мониторинга. Кликай, чтобы… Всем привет! Я уже рассказывал в этом блоге об организации модульной системы мониторинга для микросервичной архитектуры и о переходе с Graphite+Whisper на Graphite+ClickHouse для хранения метрик в условиях высоких нагрузок. После чего мой коллега Сергей Носков писал о самом ...

NLP. Основы. Техники. Саморазвитие. Часть 1 Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе п...

Космики: моделирование эволюции многоклеточных организмов. Отчет за 7 лет Здравствуй, Хабр! В 2012 году я написал пост о своем увлечении — Космики: моделирование эволюции многоклеточных организмов С того момента прошло без малого 7 лет, в течение которых я работал над развитием этого проекта. Сегодня я хочу рассказать немного о том, что научил...

[Из песочницы] Jenkins для Android сборки, с помощью Docker Всем привет! Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для раз...

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

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

Фотогалерея дня: один и тот же кадр, сделанный на Samsung Galaxy S7 edge, Galaxy S8, Galaxy S9+ и Galaxy S10+ Хорошо известный в индустрии инсайдер под ником Ice Universe, который часто публикует интересную информацию из индустрии смартфонов, выложил на своей страничке в социальной сети Twitter несколько фотографий, демонстрирующих эволюцию основной камеры последних нескольких ...

Админ без рук = гиперконвергенция? Это миф, достаточно распространённый в сфере серверного железа. На практике же гиперконвергентные решения (когда всё в одном) нужны много для чего. Исторически сложилось, что первые архитектуры были разработаны Amazon и Google под свои сервисы. Тогда идея была в том, чтоб...

Активное обучение ранжированию Этим постом я открываю серию, где мы с коллегами расскажем, как используется ML у нас в Поиске Mail.ru. Сегодня я объясню, как устроено ранжирование и как мы используем информацию о взаимодействии пользователей с нашей поисковой системой, чтобы сделать поисковик лучше. Зад...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

[Из песочницы] Видеозвонок в браузере на PeerJS. Быстрый старт Приветствую всех читателей Хабра. В этом году довелось писать модуль видеосвязи для одного учебного портала для созвона по видеосвязи прямо на сайте учителя с учеником. Раннее такую задачу решать не приходилось. После недолгих поисков обнаружил, что есть 2 пути: Flash и WebR...

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

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

[Перевод] Решаем задачу из интервью Google на JavaScript: 4 разных способа Когда я занимался изучением производительности алгоритмов, мне попалось вот это видео с мок-интервью Google. Оно не только дает представление, как проходят собеседования в крупных технологических корпорациях, но и позволяет понять, как решаются алгоритмические задачи, при...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало...

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

Как программист в тренажерный зал ходил, и что из этого получилось Мой коллега поделился своей историей, которую я и предлагаю вашему вниманию в качестве лонгрида на уик-энд:) Привет, читатель! Меня зовут Александр Абдуллаев, я тружусь в компании Veeam вот уже 9 лет. Моя карьера в IT за это время сложилась довольно необычно — можно сказа...

[Из песочницы] Что должен знать не технический основатель о разработке ПО Даже самую простую техническую задачу можно реализовать множеством способов. Каждый доступный подход имеет плюсы и минусы, и свою стоимость — можно сделать автоматизацию за копейки, а можно потратить целое состояние. Обычно инженеры и компании по разработке ПО стремятся ре...

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

Эволюция хоррор-игр: от 3D Monster Maze до Half-Life Alyx Мы любим бояться. Недавно провели исследование, чтобы определить, почему нас так тянет ко всяким ужастикам, триллерам и прочим подобным развлечениям? Оказалось, что при опасности в кровь выбрасывается целый коктейль из гормонов, включая адреналин, дофамин, серотонин, эндор...

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

Как мы собирали данные по рекламным кампаниям с интернет-площадок (тернистый путь к продукту) Кажется, что сфера интернет-рекламы должна быть максимально технологичной и автоматизированной. Ещё бы, ведь там работают такие гиганты и эксперты в своём деле, как Яндекс, Mail.Ru, Google и Facebook. Но, как оказалось, нет предела совершенству и всегда есть что автоматизиро...

[Из песочницы] Решаем задачу Best Reverser с PHDays 9 Здравствуйте! Меня зовут Марат Гаянов, я хочу поделиться с вами моим решением задачи с конкурса Best Reverser, показать, как сделать кейген для этого кейса. Описание В этом конкурсе участникам предоставляется ROM игры для Sega Mega Drive (best_reverser_phd9_rom_v4.bin). ...

Как создать крутых боссов. Опыт разработчиков Shadow Fight 3 Где искать вдохновение, как построить процесс между командами, какую механику выбрать и как добиться WOW-эффекта — рассказывает геймдизайнер Banzai Games Дмитрий Аборилов. Вы сталкивались с задачей сделать финального босса игры? Такого, чтобы он надолго запомнился много...

[Из песочницы] KVM (недо)VDI с одноразовыми виртуальными машинами с помощью bash Кому предназначена данная статья Данная статья может быть интересна системным администраторам, перед которыми вставала задача создать сервис «одноразовых» рабочих мест. Пролог В отдел ИТ сопровождения молодой динамично развивающейся компании с небольшой региональной сетью,...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

Samsung открывает бесплатный онлайн-курс по нейросетям в задачах компьютерного зрения Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, чем нормализованный сигнал лучше ненормализованного и почему сигналы вообще стоит пробрасывать? И зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обрат...

Что делать, если для постройки робота не хватает кубиков? Моя предыдущая статья была написана, в первую очередь, для менеджеров проектов и руководителей направления RPA. Эту статью я хотел бы адресовать, в первую очередь, программистам и тем, кому приходится с роботизацией сталкиваться face-to-face. Первые несколько процессов, кот...

Байки из склепа (из 40 лет работы программиста) С ЭВМ (слово компьютер тогда не было в ходу) я столкнулся в году 1977, просто курс такой был на мехмате. Fortran IV, коды М-20, Algol-60, PL/1, сразу после универа попал в программисты (системные программисты!), и пошло-поехало… А несколько лет назад я активно кодировать воо...

Паттерны и антипаттерны обоснования задач Содержание 1. Антипаттерны: плохое обоснование 1.1. Очевидно же 1.2. Мамой клянусь! 1.3. Зайчики обиделись 2. Хорошие паттерны обоснования 2.1. Пруфлинк Ссылка на требования Сами требования Ссылка в интернет Письмо заказчика ROI Статистика 2.2. Единообразие 2.3. Про...

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

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

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

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

[Из песочницы] Тернистый путь в программирование Привет, Хабр. Данная статья ориентирована на школьников 8-10 класса и студентов 1-2 курсов, которые мечтают посвятить жизнь IT, хотя, возможно более «старые» личности найдут ее не менее занимательной. Итак, сейчас я поведаю свою историю и попытаюсь на своем примере предосте...

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

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

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

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

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

CRM с человеческим лицом «Внедряем CRM? Ну ясно, мы под колпаком, теперь только контроль и отчёты», — примерно так рассуждает большинство сотрудников компаний, услышав о том, что скоро работа переместится в CRM. Считается, что CRM — это программа для руководителя и исключительно его интересов. Это н...

[Перевод] Революция или эволюция Page Object Model? Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object. Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы зн...

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

Изменение климата: анализируем температуру в разных городах за последние 100 лет Привет Хабр. Про изменение климата сейчас не говорит только ленивый. И случайно найдя неплохой сайт с историческими данными, стало интересно проверить — как же реально менялась температура с годами. Для теста мы возьмем данные с нескольких городов и проанализируем их с помо...

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

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

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

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

[Перевод] Шпаргалка для стажера: пошаговое решение задач на собеседовании Google В прошлом году последние пару месяцев я потратил на подготовку к собеседованию для стажировки в Google (Google Internship). Все прошло хорошо: я получил и работу, и отличный опыт. Теперь, спустя два месяца после стажировки, я хочу поделиться документом, который использо...

Использование Paging library совместно с Realm На одном из митингов Android-отдела я подслушал, как один из наших разработчиков сделал небольшую либу, которая помогает сделать «бесконечный» список при использовании Realm, сохранив «ленивую загрузку» и нотификации. Сделал и написал черновик статьи, которой почти в неизме...

Задачи с собеседований: является ли строка палиндромом Еще одна популярная задача с собеседований разработчика – нужно определить является ли строка палиндромом. Палиндромом называется строка, которая пишется одинаково слева направо и справа налево (в том числе пустая). При определении “палиндромности” строки д...

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

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

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

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

XLNet против BERT В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка. В публикации они ...

[Из песочницы] Как в Microsoft SQL Server получать данные из Google Analytics при помощи R В этом материале я хочу подробно показать, как можно при помощи R в Microsoft SQL Server реализовать получение данных из Google Analytics (и вообще из любого API). Благодарности: Поскольку я ни разу не маркетолог мне требовалась помощь специалиста. Тестовый кабинет и доступ ...

Чем проще задача, тем чаще я ошибаюсь Эта тривиальная задача возникла в один из пятничных дней и должна была занять 2-3 минуты времени. В общем, как всегда. Коллега попросил поправить скрипт у него на сервере. Сделал, сдал ему и обронил ненароком: «Время спешит на 5 минут». Сервер его, пусть сам и разбирается с...

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

Бэкдор на Node.js: зачем, почему и как это работает Недавно коллеги из Яндекса поделились с нами сэмплом интересного троянца, о чем мы сообщили в этой новости. Такая малварь попадается не часто, поэтому мы решили подробнее ее разобрать, а заодно поговорить о том, почему мы так редко встречаем подобные сэмплы. Читать дальше →

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

Семантический браузер или жизнь без сайтов Мысль о неизбежности перехода глобальной сети от сайтоцентристской структуры к юзероцентристской я высказал еще 2012 году (Философия эволюции и эволюция интернета или в сокращенном виде WEB 3.0. От сайтоцентризма к юзероцентризму). В этом году я попытался развить тему ново...

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

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

Один стендап в Яндекс.Такси, или Чему нужно научить бэкенд-разработчика Моё имя Олег Ермаков, я работаю в команде бэкенд-разработки приложения Яндекс.Такси. У нас принято проводить ежедневные стендапы, где каждый из нас рассказывает о сделанных за день задачах. Вот как это бывает… Имена сотрудников может и изменены, а вот задачи вполне себе реа...

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

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

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

Аналитика как фича: процесс работы с данными в Plesk Всем привет, недавно мы писали о том, как учились быть Data Driven с Симулятором GoPractice! В этом выпуске продолжим тему анализа данных и поговорим о выстраивании процесса работы с аналитикой в команде Plesk. Plesk — сложный продукт с 20-летним бэкграундом и эффективно с...

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

Как я делал desktop-приложение на Flutter (+ bonus) Недавно попалась на глаза новость, что вышел очередной релиз Flutter (1.9), который обещает разные вкусности и, в том числе, раннюю поддержку веб-приложений. На работе я занимаюсь разработкой мобильных приложений на React Native, но с любопытством поглядываю на Flutter. Для...

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

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

Распознавание номеров. Практическое пособие. Часть 1 Все начиналось банально — моя компания уже год платила ежемесячно плату за сервис, который умел находить регион с номерными знаками на фото. Эта функция применяется для автоматической зарисовки номера у некоторых клиентов. И в один прекрасный день МВД Украины открыло дост...

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

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

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

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

Суровая сибирская JVM: большое интервью об Excelsior JET Недавно мы писали о том, на какие ухищрения пошла Alibaba, чтобы сделать себе жизнь с OpenJDK более приемлемой. Там были комментарии вроде «оказывается, пока мы тут страдаем с обычной джавой, китайцы уже сделали себе свою особенную». Alibaba, конечно, впечатляет — но и в Рос...

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

[Из песочницы] Интеграция Jira с GitLab Цель При коммите в git упоминаем в комментарии какую-либо задачу из Jira по имени, после чего происходит две вещи: в GitLab название задачи превращается в активную ссылку на нее в Jira в Jira к задаче добавляется комментарий со ссылками на коммит и пользователя, его со...

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

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

Геометрическое моделирование поверхностей скругления Одна из самых труднорешаемых задач в системах автоматизированного проектирования – скругления при моделировании объектов сложных форм. За построение скруглений, как и за всю геометрию в САПР, отвечает геометрическое ядро. С точки зрения разработчика ядра охватить все вар...

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

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

snap & flatpack — трагедия общин Лонгрид варнинг: вас предупредили, много букв. Уже давно ведётся разработка формата дистрибуции приложений, которые были "свободны" от общесистемных зависимостей. Ubuntu очень, очень активно продвигает свой snap, gnome — flatpack. Оба обещают рай и свободу от rpm/deb. Давайт...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Оружие для VR — [ RAILGUN TUTORIAL] Вступление Задача для оружия была сформулирована одновременно с задачей о персонажах. Оружие изготовлено для sci-fi сетевого шутера под VR платформы. Стиль оружия был выбран под впечатлением дизайна 90-х годов, c небольшим уклоном в Retro design. Проект является VR экспер...

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

Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++ Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGN...

Разбор задач JPoint 2019 Всем привет! Закончилась одна из самых хардкорных конференций по Java – JPoint 2019, она проходила в седьмой раз и как всегда побила рекорд по посещаемости, в этот раз мероприятие привлекло более 1700 специалистов в области Java-разработки. «Одноклассники» принимали уча...

Как браузер помогает товарищу майору Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как ...

iКасса или как мы приручили «цифрового кассира» Эволюция технологий не всегда заметна обычным потребителям: кто там зарелизил 125-е обновление и почему оно лучше 124-го, понятно далеко не всем. Но когда ты заходишь вечером в обычную «Пятёрочку» за хлебом, а перед тобой вместо знакомой Гали оказывается «цифровой кассир», п...

Приручи свою техподдержку Нравится ли вам при выполнении текущих задач отвлекаться на решение “срочных” вопросов в рабочих чатах? Думаем, что нет! Представьте себе ситуацию: вы приступаете к задаче, но вас отвлекает уведомление в чатике, в котором вас срочно просят помочь с вопросом от пользователя...

Webmaster Conference в GooglePlex: интересные тезисы из докладов 4 ноября Google впервые провёл Webmaster Conference в своей штаб-квартире GooglePlex в Маунтин-Вью. Ниже – интересные тезисы из докладов сотрудников компании, которыми поделилась одна из участниц мероприятия Джеки Чу (Jackie Chu) в своём блоге. Структурированные данные Эволю...

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий сп...

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

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

Что почитать про организацию рабочих мест, коворкинги и дизайн пространств для дистанционной работы Получилось так, что с 2012 года я курирую московский Techstars Startup Digest. Это — email-рассылка мероприятий для IT-специалистов, основателей стартапов и маркетологов. Моя задача — отфильтровать непомерно дорогие и рекламные эвенты — в рассылку попадают бесплатные или оч...

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

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

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

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

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

[Из песочницы] Как быстро увеличить размер диска на сервере Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux. Описание задачи Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu. Сейчас подключен диск размером 3...

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

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

Курс лекций «Основы цифровой обработки сигналов» Всем привет! Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе...

[Перевод] Обратное собеседование: какие вопросы задавать компании? Этот текст — перевод репозитория viraptor. Вы можете предложить свои вопросы на английском, в оригинальном репозитории, или на русском — в моём форке, а я постараюсь перевести их и передать автору Обратное собеседование Это список вопросов, который может быть интересен соиск...

Задача N тел или как взорвать галактику не выходя из кухни Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного...

Разработчики ремейка System Shock попросили у Disney разрешения переделать Star Wars: Dark Forces Вот уже больше пяти лет эксклюзивное право на создание игр по «Звёздным войнам» принадлежит Electronic Arts. Однако за всё это время компания воспользовалась им лишь несколько раз (из крупных проектов — только дилогия Star Wars: Battlefront). Немал...

Сиквел фантастического шутера «Эволюция 2: Битва за Утопию» вышел на iOS Эволюция 2: Битва за Утопию— это продолжение довольно популярного шутера от My.com. В Google Play проект вышел еще в прошлом году, сначала для русскоязычных игроков, а потом и во всем мире. Теперь же узнать продолжение истории первой части смогут и пользователи iOS-устройст...

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

Хайлайты и тренды ICCV 2019 Нейросети в компьютерном зрении активно развиваются, многие задачи еще далеки от решения. Чтобы быть в тренде в своей области, достаточно подписаться на инфлюенсеров в Твиттере и читать релевантные статьи на arXiv.org. Но у нас появилась возможность съездить на Internatina...

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

Новогоднее соревнование CS центра 2018 Введение Уже в октябре 2018 мы с радостью вспомнили адвент-календарь с задачами 2017 года (условия здесь) и начали думать, что можно сделать в этом году. Из нескольких достойных идей выбрали вариант, в котором подберём разноплановые «цепляющие» задачи, объединенные красивой ...

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

ок.tech Data Толк #3: мини-интервью спикеров Проект ок.tech Data Толк родился как дискуссионная площадка для специалистов, занимающихся обработкой и аналитикой больших данных. Каждый раз мы подчеркиваем, что основная задача наших митапов – это не доклады, хотя они тоже очень важны, а открытая дискуссия аудитории со с...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

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

[Из песочницы] Пишем никому не нужный эмулятор Доброго времени суток. Довольно давно имелось желание написать эмулятор какого-нибудь процессора. А что может быть лучше, чем изобрести велосипед? Имя велосипеду — V16, от склеивания слова Virtual и, собственно, разрядности. Читать дальше →

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

[Из песочницы] История одной оптимизации MySQL Речь пойдет об оптимизации в MySQL базе данных. Это случилось, когда мы делали систему для email рассылок. Наша система должна была высылать десятки млн. писем в день. Отправка письма — задача не из простых, хотя выглядит все довольно примитивно: Собрать письмо из html кр...

[Перевод] Мой любимый Git-коммит Прим. перев.: Эта публикация британского программиста, ставшая настоящим хитом в англоязычном интернете, ссылается на Git-коммит 6-летней давности. Он был зафиксирован в одном из открытых репозиториев Government Digital Service — службы, занимающейся развитием цифровых услуг...

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

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

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

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

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

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

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

Угадай меня, если сможешь: прогнозирование рейтинга фильма до его выхода Недавно мне на глаза попался датасет на Kaggle с данными о 45 тысячах фильмов с Full MovieLens Dataset. Данные содержали не только информацию об актерах, съемочной команде, сюжете и т.п., но и оценки, выставленные фильмам пользователями ресурса (26 миллионов оценок от 270 ты...

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

[Из песочницы] Ломаем паттерн проектирования — Singleton в PHP Одним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями. Читать дальше →

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

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

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

Почти уволен. Как я построил отдел аналитики Яндекса Меня зовут Алексей Долотов, я 10 лет не писал на Хабр. Отчасти дело в том, что когда мне было 22 года, я начал строить отдел аналитики Яндекса, затем семь лет им руководил, а теперь придумал и строю сервис Яндекс.Таланты. Профессия аналитика даёт массу возможностей. Главное...

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

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

DataArt: российские программисты опережают большинство коллег в скорости решения задач Согласно данным платформы для IT-специалистов Skillotron, российские программисты чаще всего интересуются тремя …

Статически безопасная динамическая типизация à la Python Привет, Хабр. На днях в одном моём хобби-проекте возникла задача написания хранилища метрик. Задача сама по себе решается очень просто, но моя проблема с хаскелем (особенно в проектах для собственного развлечения) в том, что невозможно просто взять и решить задачу. Необходим...

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

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

[Перевод] Большие гипотезы о простых числах доказаны для небольших числовых систем Гипотеза о простых числах-близнецах – один из самых важных и сложных вопросов математики. Двое математиков решили параллельную версию этой задачи для небольших числовых систем. 7 сентября два математика опубликовали доказательство варианта одной из известнейших открытых за...

[Из песочницы] Анализ эмоциональной окраски отзывов с Кинопоиска Вступление Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно р...

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

Существенно ускоряем выполнение задач на примере дополнительной настройки обновленной памяти HyperX FURY DDR4 Выбор оперативной памяти для рабочего или игрового ПК – головная боль для тех, кто хочет одновременно получить максимум производительности и не опустошить свой кошелёк. Нет, сегодня мы не будем в очередной раз говорить «такая-то память стоит столько и является оптимальным вы...

Стипендия Фулбрайта: как и зачем? Здравствуйте, уважаемые хабровчане. Меня зовут Андрей, я химик из Киева, выигравший стипендию Фулбрайта FRDP. Сейчас я прохожу стажировку в штате Мичиган. В этой статье я хочу рассказать мой опыт подачи документов, собеседования и поездки. Читать дальше →

[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...

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

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

[Из песочницы] IT рекрутинг. В поисках баланса процесс/результат 1. Стратегическое виденье Особенностью и ценностью продуктовой компании, основной ее миссией и задачей, является удовлетворенность клиентов, их вовлеченность, и лояльность к бренду. Естественно, через производимый компанией продукт. Таким образом, глобальную цель компании мо...

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

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

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

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

Обзор и тестирование процессорной СЖО ASUS ROG Ryujin 360: следующая ступень эволюции? Линейка систем жидкостного охлаждения Ryujin компании ASUS является следующей ступенью эволюции серии ASUS Ryuo и предлагает интересные возможности в едином исполнении. Интересно, что модель ROG Ryujin 360 не является чем-то принципиально новым: разработчики позаимствовали а...

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

[recovery mode] Почему сотрудники возвращаются? Истории уходивших и вернувшихся Если достаточно долго проработать в одной компании — например, восемь лет (как я, хаха) — неизбежно возникнет желание сходить посмотреть, что же находится по ту сторону привычных стен. Бывает, сядешь на офисной кухне, нальешь чаю и начнешь размышлять о том, что где-то, нав...

[Из песочницы] Чётные числа Фибоначчи Навеяно комментарием под постом Фибоначчи на собеседовании. Пользователь pavellyzhin упомянул следующую задачу на собеседовании (комментарий): Больше года назад откликнулся на вакансию «php-программист», прислали ТЗ и там было задание с Фибоначчи: выбрать все четные числа Фи...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 1 Этот текст предназначен для тех, кто только осваивает программирование. Основная идея в том, чтобы показать этап за этапом, как можно самостоятельно сделать игру à la Wolfenstein 3D. Внимание, я совершенно не собираюсь соревноваться с Кармаком, он гений и его код прекрасен. ...

[Перевод] Go += управление версиями пакетов Статья написана в феврале 2018 года В Go необходимо добавить версионирование пакетов. Точнее, нужно добавить концепцию версионирования в рабочий словарь разработчиков Go и в инструменты, чтобы все употребляли одинаковые номера версий при упоминании, какую именно программу...

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

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

[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...

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

Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов Буквально пару дней назад компания Aurorai передала в опытную эксплуатация систему распознавания дефектов и контроля состояния тележек для локомотивов Ермак. Задача нетривиальная и очень интересная, первым этапом которой было предложено оценить состояние тормозных колодок ...

Организация онлайн-трансляций в особых условиях Всем привет! В этой статье я бы хотел рассказать о том, как IT команда сервиса онлайн-бронирования отелей Ostrovok.ru настраивала онлайн-трансляции различных корпоративных мероприятий. В офисе Ostrovok.ru существует особая переговорная комната – «Большая». Каждый день в не...

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

По заказам Embedded-разработчиков: ищем ошибки в Amazon FreeRTOS Каждый, кто программирует микроконтроллеры, наверняка знает о FreeRTOS, или по крайней мере слышал об этой операционной системе. Ребята из Amazon решили расширить возможности этой операционной системы для работы с сервисами AWS Internet of Things – так появилась Amazon FreeR...

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

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

Почему для нового проекта я взял Robot Framework Недавно я сменил проект — пришел в новую разработку, где до меня не было никакого тестирования, ни ручного, ни автоматического. Условий на инструментарий (за исключением того, что это Python) заказчик не накладывал, так что я сделал собственный выбор. В этой статье я расскаж...

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

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

Спасти программиста Вову: как прошла HighLoad++ для стенда ivi 7-8 ноября на территории Школы управления СКОЛКОВО состоялась крупнейшая профессиональная конференция для разработчиков высоконагруженных систем — HighLoad++. В этом году она прошла в счастливый 13-й раз. Онлайн-кинотеатр ivi и HighLoad++ — давние партнёры, а наш CTO eross в...

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

[Из песочницы] Как самостоятельно имплементировать (Proof of Existence) за 2 шага Всем привет! Я работаю в компании, QuantNet, которая проводит конкурсы алгоритмических стратегий. В недавнем времени передо мной встала важная задача — обеспечить гарантии неприкосновенности даты юзеров (это чрезвычайно важно, так как для корректной проверки эффективностей с...

24 сентября выйдет красивая головоломка Vestigium с задачами на развитие памяти Сегодня мы уже рассказали о головоломке inbento, которая совмещает приятный медитативный геймплей с еще более приятным внешним видом. Но скоро состоится релиз еще одной достойной игры в жанре под названием Vestigium. Она расскажет историю девушки Кири, которая отправляется ...

Facebook тренирует универсальный ИИ в Minecraft Сегодня искусственный интеллект хорошо выполняет отдельные, четко сформулированные и ограниченные задачи, побеждая людей в Starcraft II или го. Но если попросить такой ИИ выполнить какую-либо задачу за пределами этой области знаний, то у него ничего не получится. Создание ИИ...

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

Подборка психологических и нетипичных технических вопросов с собеседований Java-разработчика Как и у всех разработчиков, у меня настал период затишья. Проект подходил к концу, задач практически не было, хотелось выше зарплату, ну и пошла получать свой заветный job offer. Так вышло, что некоторые собеседования занимали 2-3 этапа, и я накопила парад вопросов, кото...

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

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Монтируем iOS под OSX с помощью ifuse На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вы...

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

[Из песочницы] Что спрашивают на собеседовании у джуна, или как я искала свою вторую работу в ИТ Я работаю в сфере IT чуть более 1 года как Test Automation Engineer. Мое базовое образование никак не способствовало этому, поскольку в моем дипломе написано “Логистик-Экономист”. Тернистный путь в IT я начала с бесплатных курсов при одной крупной компании в моем городе, по...

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

Освобождаем руки нескольким аналитикам: API Livy для автоматизации типовых банковских задач Привет, Хабр! Не секрет, что для оценки платежеспособности клиентов банки используют данные из различных источников (кредитное бюро, мобильные операторы и т.д.). Количество внешних партнёров может достигать нескольких десятков, а аналитиков в нашей команде наберётся лишь не...

[Перевод] Почему Senior Developer'ы не могут устроиться на работу Сначала о том, как 5 месяцев назад я проходил собеседование на работу. Меня посоветовал друг, и прошло уже немало времени, с момента как я ответил рекрутеру. Я был поражён, как сильно весь процесс изменился за последние 5 лет. После первичного созвона меня отправили на стор...

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту евр...

10 ярких докладов TechTrain 2018: ИИ для масс, интерфейсы и многое другое Как оценивать, какие доклады на мероприятии оказались лучше? Если собираешь зрительские оценки, задача может выглядеть простой: высчитай для каждого доклада среднее, вот и всё. Но стоит ли, например, учитывать количество зрителей? Если один доклад получил высокие оценки, с...

Шифр ускорением: изучаем акселерометр Android-устройства на примере задания NeoQUEST-2019 Акселерометр — он же G-сенсор — является одним из самых распространенных датчиков на сегодня. Встретить его можно практически в каждом современном гаджете. Акселерометр выполняет довольно простую задачу — измеряет ускорение устройства. Давайте посмотрим, как он это делает ...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

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

[Перевод] 101 совет, как стать хорошим программистом (и человеком) 1. Научитесь гуглить Быть программистом, — значит научиться искать ответы на свои вопросы. Научившись эффективно «гуглить», вы сэкономите много времени, затрачиваемого на разработку. 2. Не обещайте много, но делайте больше, чем обещали Лучше сообщать вашей команде, что вы...

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

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

Как устроена программа Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

Обзор и тест видеокарты ASUS GeForce GTX 1660 Ti Phoenix В прошлых обзорах мы уже рассматривали видеокарты формата mini-ITX с компактной печатной платой и системой охлаждением. В их случае перед разработчиками стоит поистине титаническая задача по разработке уникальных СО и PCB, соответствующих стандартам качества и эффективности,...

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

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

[Из песочницы] Как записаться на курс и… пройти его до конца За последние три года я проходил 3 больших многомесячных курса и ещё пачку курсов покороче. Потратил на них больше 300 000 ₽ и не достиг поставленных целей. Кажется, я набил достаточно шишек, чтобы сделать выводы и в последнем из курсов сделать всё как надо. Ну, и заодно нап...

[Перевод] 5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе. Голос Чуи Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и...

Пишем презентации в LaTeX В процессе подготовки доклада на GolangConf'2019 я использовал LaTeX. Несмотря на некоторые устаревшие вещи, немного необычное поведение, скудную или сложную документацию, я внезапно получил удовольствие. Я не стал "гуру" LaTeX, но я смог делать весьма неплохие слайды. И я х...

Методы распознавания 3D-объектов для беспилотных автомобилей. Доклад Яндекса Беспилотному авто не обойтись без понимания, что находится вокруг и где именно. В декабре прошлого года разработчик Виктор Отлига выступил на «Дата-елке» с докладом о детекции 3D-объектов. Виктор работает в направлении беспилотных автомобилей Яндекса, в группе обработки доро...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

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

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

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

Разрушение Silo через адаптацию VeriSM™ подхода Силосная культура – бич современного бизнеса любого уровня. Главный признак ее возникновения – замкнутость подразделений внутри своих бизнес-процессов, что непременно ведет к смещению фокуса с глобальных задач компании на удовлетворение собственных. Силос по своей сути это б...

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

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

Новейшая SoC Snapdragon 665 во всех тестах опережает SoC Kirin 710 Два дня назад компания Xiaomi представила смартфон Xiaomi CC9e — первый аппарат на рынке с SoC Snapdragon 665. Напомним, данная однокристальная система была представлена в апреле. Она производится по 11-нанометровому техпроцессу и является чуть улучшенной версией ...

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS» В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «...

Параметризация нейросетью физической модели для решения задачи топологической оптимизации Недавно на arXiv.org была загружена статья с не очень интригующим названием "Neural reparameterization improves structural optimization" [arXiv:1909.04240]. Однако оказалось, что авторы, по сути, придумали и описали весьма нетривиальный метод использования нейросети для полу...

Про одного парня История реальная, я все видел своими глазами. Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании. До этого он пробовал разные специальности – 4 ...

Что ты такое? Как мы spoof от human отличали — да еще и победили Недавно прошел ID R&D Voice Antispoofing Challenge, главной задачей которого было создать алгоритм, способный отличить человеческий голос (human) от синтезированной записи (spoof). Я — ML Researcher в Dasha AI и много работаю над распознаванием речи, поэтому и решил поуч...

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

Сравнение BI систем (Tableau, Power BI, Oracle, Qlik) Привет, Хабр! В прошлом году я проводил небольшой конкурс на выбор BI для нашего проекта. Я руковожу направлением BI и аналитики Питерской клинике «Скандинавия». Никакого BI до этого в нашей клинике не было и одна из моих задач была в его создании. Я попросил представителей...

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

Готовим полнотекстовый поиск в Postgres. Часть 1 Эта статья — первая из небольшой серии статей о том, как оптимально настроить полнотекстовый поиск в PostgreSQL. Мне пришлось недавно решать подобную задачу на работе — и я был очень удивлен отсутствию хоть сколько-нибудь вменяемых материалов по этому поводу. Мой опыт борьбы...

Профессиональный рост сотрудников — что это такое и зачем нужно: общаемся с Dodo Pizza, Icons8 и Evil Martians В прошлом году мы запустили оценку работодателей на «Моём круге», где сотрудники могут оценить компании по 12 качествам — от комфортных условий работы до вклада компании в улучшение мира, и по результатам оценки компаний чуть позже опубликовали рейтинг лучших работодателей...

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

Статическое распределение объектов FreeRTOS По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно...

Мониторинг окружающей среды в серверном помещении (Bolid + Zabbix) Наверное самым простым способом для ИТ-специалиста при решении задачи мониторинга окружающей среды в серверном помещении будет использование специализированных контроллеров с выдачей данных по SNMP (например, NetBotz или NetPing). Но для тех кто не боится трудностей и хочет ...

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

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

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

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

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 2/2 Привет Хабр. В первой части были рассмотрены некоторые закономерности развития такого интересного ресурса, как habrahabr. Материал получился длинный, так что продолжение здесь. В этой части мы заодно посмотрим как строить такие картинки, и наконец, завершим нашу статистику ...

Как писать хороший и понятный код: 3 простых способа для программиста От переводчика: сегодня публикуем для вас статью разработчика из Индии Рави Шанкара Рахана. Он рассказывает о том, что стоит делать, если вы хотите научиться писать простой и понятный код. Статья рекомендуется всем начинающим программистам. Написать простой код несложно...

[recovery mode] Как устроена программа летней стажировки Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

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

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

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

История второго места в Russian AI Cup 2018: CodeBall Всем привет! Я студент третьего курса, и в самом начале учёбы в университете я узнал про соревнования по искусственному интеллекту Russian Ai Cup, а позже и Mini Ai Cup, и начал в них активно участвовать, показывая неплохие результаты. В этот раз RAIC выпадал прямо на сесс...

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

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

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Проверка проекта CDK с помощью статического анализатора IntelliJ IDEA Я решил потестировать статический анализатор Java-кода IntelliJ IDEA и с его помощью проверил проект The Chemistry Development Kit. Здесь я приведу некоторые ошибки, которые я нашёл. Думаю, что часть из них характерна для Java-программ в целом, поэтому могут быть интересны. ...

Гоним кота: как заставить котов не гадить на лужайке у дома? Жил был Роберт Бонд — 65-летний программист из Калифорнии. И была у него жена-садовница, которая очень любила свою чистенькую лужайку. Но это Калифорния, там нет двухметровых заборов с системой защиты от котов. На лужайку ходят соседские коты и гадят! Проблему нужно было ...

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

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

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

Pixel tolerance 2 Приветствую всех!Давно хотел поделиться новыми результатами калибровки своего Wanhao d7+, да принтер сломался. Починил, и заодно решил рассказать о ремонте, вдруг кому пригодится.Но обо всем по порядку.Пишу пост, в продолжении предыдущего поста , в котором рассказывал о перв...

Запускаем “десктопное” ПО на микроконтроллере Embox принимал участие в IT фестивале TechTrain. Мы как и в первый раз привезли железки и вживую показали наши достижения. О некоторых мы уже писали на хабре, но мало ли кто не поверил :). Были показаны VoIP телефон, Qt и OpenCV, все на базе STM32F7-Discovery. Кроме стенда ...

Отображение и оптимизация вывода на терминал в вебе Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта: поддержка основных ANSI Escape sequences поддержка минимум 50 000 строк данных отображение данных п...

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

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

А вы все-все за меня мониторить будете? Ага Обычно Хабр используется как информационное решение — кто-то делится наработанной и структурированной информацией, а кто-то эту информацию впитывает (я хотел написать “потребляет”, но это слово маркетологи уже испоганили). Я же, на правах старожила, и учитывая легкую рассл...

Тестовые задания на собеседовании разработчика — есть ли в них смысл? За свою долгую IT-карьеру я успел побывать по обе стороны собеседований и увидеть весь блеск, нищету, маразм и здравые мысли тестовых заданий, выдаваемых на технических собеседованиях разработчиков ПО. Читать дальше →

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

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

5 способов деплоя PHP-кода в условиях хайлоада Если бы хайлоад преподавали в школе, в учебнике по этому предмету была бы такая задача. «У соцсети N есть 2 000 серверов, на которых 150 000 файлов объемом по 900 Мб PHP-кода и стейджинг-кластер на 50 машин. На серверы код деплоится 2 раза в день, на стейджинг-кластере код о...

Артём Галонский, СТО БюроБюро: «Я против такого понятия, как DevOps-инженер» Вы применяете DevOps-подход у себя дома? Вот муж-код деплоится на работу. Жена-инфраструктура готовит яичницу, варит кофе, гладит рубашки. Кот-мониторинг вовремя ускользает из-под ног, сам чистит свой лоток и громким мявом обозначает, когда жена отклоняется от установленного...

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

Школьники в Пензе напишут свой первый код Новички узнают, как пишут программы: дети 8–11 лет будут осваивать Scratch, а подростки 11–16 лет — Python. Ребята, уже знакомые с программированием, примут участие в соревновании по Scratch или Python — «IT-задачник». Участники будут соревноваться, кто найдет больше о...

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

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

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

[Из песочницы] Как собеседовать работодателя? У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер. Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жи...

CLRium #6: Concurrency & Parallelism. Обучение магии распараллеливания задач Наша команда по-настоящему взбудоражена: ведь мы находимся в стадии производства сложнейшего для нас семинара среди всех нами созданных: семинара по многопоточке, конкурентности и прочим смежным вопросам. Мы немного боимся: мы создали целый огромный процесс внутренних соглас...

STABLE CUBE 2 версия . Здравствуйте, читатели 3-D Today. В этой статье хочу представить вам 2 версию стального принтера STABLE CUBE 300x300. Итак, что представляет мой принтер: - Поле печати 300х300х400; - Кинематика H-Bot, CoreXY - Плата управления Lerdge-S; - Возможность установки 2 экструд...

Как решить старую задачу с помощью ML на Python и .Net Бывает, что некоторые задачи преследуют тебя много лет. Для меня такой задачей стала склейка предложений текстов, в которых жестко забит переход на новую строку, а часто еще и перенос слов. На практике, это извлеченный из PDF или с помощью OCR текст. Часто можно было встрет...

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

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

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

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

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

Как я решал соревнование по машинному обучению data-like Привет, Хабр. Недавно прошло соревнование от Тинькофф и McKinsey: https://vc.ru/data-like. Конкурс проходил в два этапа: первый — отборочный, в kaggle формате, т.е. отсылаешь предсказания — получаешь оценку качества предсказания; побеждает тот, у кого лучше оценка. Второй —...

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

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

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

Проектируем космическую ракету с нуля. Часть 2 — Полу-решение задачи двух тел Содержание Часть 1 — Задача двух тел Трюкачество с заменой переменных Приветствую всех! В прошлой части мы с вами получили уравнения движения системы из двух материальных точек, а также некоторую мотивацию на использование этой модели. Теперь же попробуем выжать как мож...

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

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

Использование тепловых потенциалов для анализа территорий Пример расчета теплового потенциала для уличной сети г. Нижнего Новгорода Территория города – сложная, неоднородная система, находящаяся в постоянном изменении. Описать территорию и провести оценку городской среды можно с помощью пространственных объектов (факторов). Факто...

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

У вас завелся ботнет… (или как я начал бояться ФБР) Мне нравятся ботнеты. Нет, не делать (это плохо), а изучать! Сделать ботнет, на самом деле не так сложно (сложно сделать, и при этом НЕ сесть за #). Куда более интересная задача — получить контроль над чужим ботнетом и обезвредить его. Работая в данном направлении, я обнар...

Дизайн интерфейса для игры, рисуем пак иконок Всем привет! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать пак иконок для игры. Ниже вы видите результат. Фиксируем требования к результату Вот к нам прилетела задача примерно такого содержания. В игре начинается событие — вторжение ра...

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

В боевой готовности: Apple перенесет из Китая до 30% производства По данным Nikkei, на днях Apple обратилась к главным поставщикам и сборщикам своей продукции с просьбой оценить последствия переноса 15-30% их производственных мощностей из Китая в Юго-Восточную Азию. Компания совсем не хочет пострадать из-за торговой войны США и Китая.

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

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

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

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

Two Point Hospital: релиз на консолях перенесли на 2020 год Two Point Hospital на PlayStation 4, Xbox One и Nintendo Switch выйдет в первом квартале 2020 года. Это официальное заявление разработчиков. «Наши игроки попросили о версиях Two Point Hospital для консолей, а мы, в свою очередь, хотим по полной реализовать потенциал каждой ...

[recovery mode] Сервим всё Не так чтобы очень давно, в довольно недалекой галактике, на одной провинциальной планетке жили известные потомки обезьян, которые настолько обленились, что решили изобрести искусственный интеллект. «Ну а что?» — подумали они. Хорошо же иметь в советчиках Сверхразум «надмозг...

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

[Из песочницы] За что я ненавижу Eloquent ORM Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, ...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Эволюция обзора спринта в Agile-команде Привет! Меня зовут Анатолий Савченко, я разработчик и по совместительству скрам-мастер в команде сервиса «Автотека». Как вы уже догадались, мы работаем по Cкраму. Каждые две недели мы проводим обзор спринта — встречу, на которой команда и заинтересованные стороны обсуждают, ...

[Перевод] Почему жульничает дружественный ИИ в Ghost Recon Wildlands При создании игр разработчики одержимы желанием создать для игроков интересный и увлекательный игровой процесс: поставить их в новые условия или по-новому взглянуть на знакомые. И иногда для этого необходимо немного сжульничать. Разработчики вносят небольшие изменения в сист...

Приглашаем разработчиков участвовать в хакатоне на PHDays 9 Впервые на Positive Hack Days в рамках кибербитвы The Standoff пройдет хакатон для разработчиков. Действие развернется в мегаполисе, в котором массово внедрены самые современные цифровые технологии. Условия максимально приближены к реальности. У атакующих полная свобода де...

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

Навигация внутри Android приложения Введение При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относят...

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

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

История советских кассетников: эволюция “Десны”, MK-60 made in USA и народные магнитофоны 70-х Продолжая наш цикл о советском аудио, захотелось рассказать о кассетных магнитофонах в СССР. Известно, что в Стране Советов эти устройства стали появляться несколько позже, чем на западе, а исчезли наоборот раньше (производство их было свернуто почти сразу после распада Союз...

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

[Перевод] Интернет вещей… которые плачут по хорошему UI/UX Египетские иероглифы или обозначения кнопок на стиралке? Я думаю, что, чисто теоретически, мы бы уже могли подключить большинство существующих ныне устройств к интернету, этим и порожден растущий интерес к Интернету Вещей (IoT). Получим ли мы от этого большую пользу — уже ...

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

[Из песочницы] Python + Pyside2 или просто «Калькулятор» Привет, Хабр! Меня зовут Саша. Я Junior разработчик. Работаю тестировщиком ПО. В основном я пишу тесты при помощи Python+Selenium, но Python стал настолько интересен, что мне захотелось углубиться в него и выучить как можно больше фреймворков! Я захотел написать десктопное ...

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

Прошивка Anycubic kossel linear plus на Marlin 2.0 Всем привет сегодня хочу рассказать как я прошил свой 3д принтер на новый марлин. О плюсах и минусах я говорить не буду т.к пользуюсь этой прошивкой мало времени.Всё началось с того, что у Дмитрия Сорокина я увидел видео про прошивку Марлином 2.0 платы SKR V1.3, немного поду...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

Мнимая безопасность. Две трети антивирусов для Android не справляются со своей задачей Недавно специалистами по системам безопасности из компании AV-Comparatives было проведено тестирование, которое показало что две трети антивирусных приложений для Android не справляются со своей основной задачей. В ходе тестирования были проверены 250 антивирусов, котор...

Портирование Qt на STM32 Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV. Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи ка...

PHP, почём абстракции для народа? Joy: What is going on? Sadness: We’re abstracting! There are four stages. This is the first. Non-objective fragmentation! Bing Bong: Alright, do not panic. What is important is that we all stay together. [suddenly his abstract arm falls off] Joy: Oh! [Sadness and Joy start ...

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

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

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

[Из песочницы] Таймлапс собственными силами с облачного сервиса видеонаблюдения IPEYE Недавно появилась задача ежедневно формировать таймлапс с пары камер видеонаблюдения, подключенных к IPEYE. Если вам интересно как с этим справился человек с минимальными знаниями питона или вы хотите мне указать на мои ошибки — добро пожаловать под кат… Читать дальше &rarr...

«За месяц стал фуллстек-разработчиком». Студенты рассказывают о стажировке в ABBYY Уже начал свой путь в IT? Или все еще залипаешь в смартфоне в поисках той самой вакансии? Сделать первый карьерный шаг и разобраться, чем хочется заниматься, поможет стажировка. Летом к нашей команде присоединились 26 стажеров – студенты МФТИ, НИУ ВШЭ и других вузов. Они п...

Как мы не выиграли хакатон С 30 ноября по 2 декабря в Москве прошел PicsArt AI hackathon c призовым фондом — 100,000$. Основной задачей было сделать AI решение для обработки фото или видео, которое можно будет использовать в приложение PicsArt. Коллега по работе(на тот момент) Артур Кузин предложил по...

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

Несколько соображений по поводу параллельных вычислений в R применительно к «enterprise» задачам Параллельные или распределенные вычисления — вещь сама по себе весьма нетривиальная. И среда разработки должна поддерживать, и DS специалист должен обладать навыками проведения параллельных вычислений, да и задача должна быть приведена к разделяемому на части виду, если тако...

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

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

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

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

[recovery mode] QtCreator и его использование в качестве IDE для Rust В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с) Что нужно совре...

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

[Из песочницы] Как я не стал программистом в 35 лет С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но во...

[Перевод] Генерация подземелий в Diablo 1 Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес...

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Git это круто! Ваш кэп Это, пожалуй, будет самая короткая моя статья. Более того, сама идея, изложенная в ней, очевидная. Часто в WEB проектах возникают задачи по доставке статики на прод вне релизов. Например, нужно выложить файлы для SPA со всякой маркетинговой лабудой, типа актуальных комиссий...

Дети, математика и R Нынешнее образование в школе все более и более редуцируется. А в оставшейся части акцент все более и более ставится на внешний эффект. «Проектная работа», презентации, вау-эффекты и пр. мишура. Причем зачастую непонятно, кому раздают все эти упражнения — ребенку или родителя...

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

[Из песочницы] Избавляемся от дублей пакетов в бандлах Существует много webpack пакетов находящих дубли в бандле, самый популярный из них duplicate-package-checker-webpack-plugin, но он требует пересборки проекта, а так как стояла задача автоматизировать подбор оптимальной версии пакетов, то и вовсе получилось свое альтернативно...

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

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

[Из песочницы] Разбор решенных задач с чемпионата по программированию от Яндекса (фронт-энд разработка) 2019 Завершилось мое участие в чемпионате по программированию. Я неплохо прошел квалификацию, решив 4 из 6 задач и шел на 20 месте, поэтому были надежды и в финале попасть топ 20. Но к сожалению не удалось попасть даже в топ-100. После драки кулаками не машут, но я смог решить ещ...

Как мы модерируем объявления Каждый сервис, чьи пользователи могут создавать собственный контент (UGC — User-generated content), вынужден не только решать бизнес-задачи, но и наводить порядок в UGC. Плохая или некачественная модерация контента в итоге может уменьшить привлекательность сервиса для поль...

Как мы нашли критичную уязвимость AspNetCore.Mvc и перешли на собственную сериализацию Привет, Хабр! В этой статье мы хотим поделиться нашим опытом в оптимизации производительности и исследовании особенностей AspNetCore.Mvc. Предыстория Несколько лет назад на одном из наших нагруженных сервисов мы заметили существенное потребление ресурсов CPU. Это выгляде...

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

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

Состоялась конференция, посвященная эволюции Process Mining Ведущие мировые и российские специалисты в области Process Mining обсудили практические шаги перехода к «Цифровому двойнику организации» на Всероссийской конференции «Эволюция Process Mining»

[Из песочницы] Константные указатели на указатели на указа… Введение Недавно ко мне подошли с вопросом, «что это и как этим пользоваться?», показав следующий код: extern "C" { void byteMaskDowngrade(byte***const byteMask, const byte *const *const && source) { // какой-то код. } // некоторые фукции. } Эт...

30-31 марта, SIBUR CHALLENGE в Нижнем Новгороде Всем привет! Уже через пару недель, 30-31 марта, мы проведем в Нижнем Новгороде хакатон, посвященный анализу данных. Отбор команд будет идти до 30 марта, задачи нужно будет решать не абстрактные, а вполне себе живые — мы предоставим реальные данные компании для этого. Во...

Математик решил загадку числа 42 Задача звучит следующим образом: может ли любое число от 1 до 100 быть выражено как сумма трех кубов? Если записать формулу 1954 года, то получится следующее: х3 + y3 + z3 = K. K в данном случае — любое число от 1 до 100. Соответственно, нужно было определить все три неизве...

Через тернии к игре мечты — прогресс и эволюция существ Всем привет! Мы продолжаем работать над игрой “мечты” Another Way. Это уже третий пост на эту тему, с предыдущим вы можете ознакомиться по ссылке — Через тернии к игре мечты — месяц спустя. Я не писал о прогрессе чуть более месяца, скопилось много много информации, поэтому...

Вариатор vs государство — Скажите, имею ли я право… — Имеете, имеете! — Да Вы не поняли, я хотел узнать, имею ли я право… — Да точно говорю, имеете! — Да Вы объясните, могу ли я… — А-а-а… Нет, не можете! © (Анекдот о юристах) Предыстория Около года назад я опубликовал статью Вариатор...

Terms of service: 99% пользователей их просто не понимают Источник: Shutterstock Наверное, среди читателей Хабра есть те, кто детально знакомится с условиями предоставления услуг различных сервисов и приложений. Большинство просто ставит галочку там, где это требуется, и начинает работу. Кто-то может назвать это неправильным, но,...

[Из песочницы] «Умный дом» с Яндекс.Алисой Всем привет! Хочу рассказать о том, как одной маленькой девочке захотелось поюзать навыки Алисы, интегрироваться в «умный дом» крутого продукта MySmartFlat, какие встали преграды на пути, и вообще, каково это — быть девушкой — программистом? Создать навык — это просто. За п...

Срочно обновите Chrome. Google просит пользователей обновить браузер из-за найденной уязвимости Компания Google обратилась к пользователям браузера Chrome с просьбой срочно обновить приложение. Chrome обновляет сам, не требуя при этом перезагрузки, но в данном случае она всё же нужна. Суть в том, что компания обнаружила серьёзную уязвимость, которую уже «акт...

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам. CheckiO Проект из Украины «Чекио»...

Уникальное зрелище. Samsung Galaxy Fold проходит испытание на 120 000 раскрытий в режиме онлайн-трансляции Недавно мы писали об испытании гибкого смартфона Samsung Galaxy Fold, в рамках которого аппарат подвергли проверке 120 000 раскрытий. Правда, дефект на экране появился уже после 18 500 раскрытий, но других более не появилось. Коллеги с ресурса CNet решили про...

DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом» Всем привет! Пришла зима, а с ней и задача проверить теплоизолирующие свойства построек загородной резиденции дачи. А тут ещё оказалось, что на известном китайском сайте появились вполне доступные тепловизионные модули. Не собрать ли себе экзотическую и, возможно, даже по...

Загрузка ФИАС в БД на MSSQLSERVER подручными (SQLXMLBULKLOAD) средствами. Как это (наверное) не нужно делать Эпиграф: «Когда у тебя в руках молоток, всё вокруг кажется гвоздями». Как-то давным-давно, кажется – в прошлую пятницу, обходя окрестности офиса, озаботилось окаянное начальство тем, что я провожу время в праздности и созерцании котиков и кошечек. — А не загрузить ли теб...

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

[Перевод] Любопытные извращения из мира ИТ — 5 История первая. Роковые буквы [Оригинал] Когда-то давно Джордж устроился работать в офис Initech. Компания только что арендовала несколько этажей в старом офисном здании, недавно перешедшего из категории «городской упадок» в категорию «элегантные кофейни на первом этаже и ...

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

Workflow Core — движок бизнес-процессов для .Net Core Всем привет! Мы решили поддержать тему миграции проекта, использующего Windows Workflow Foundation на .Net Core, которую начали коллеги из DIRECTUM, поскольку столкнулись с аналогичной задачей пару лет назад и пошли собственным путем. Читать дальше →

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

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

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

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

[recovery mode] Что показывает вольтметр или математика розетки О чем эта статья Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке! Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п...

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

[Перевод] Конференция DEFCON 25. Гарри Каспаров. «Последняя битва мозга». Часть 1 Для меня большая честь присутствовать здесь, но, пожалуйста, не нужно меня взламывать. Компьютеры и так меня ненавидят, так что мне нужно подружиться с как можно большим числом людей в этом зале. Хочу привести один маленький пустяк из моей биографии, интересный для американс...

Патент недели: искусственный интеллект превратит картинки в текст При непосредственном участии Федеральной службы по интеллектуальной собственности («Роспатента») мы решили ввести на сайте рубрику «Патент недели». Еженедельно в России патентуются десятки интересных изобретений и усовершенствований — почему бы не рассказывать о них в числе ...

Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился ...

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

Лаборатория хакера: Ч1. LibSSH auth bypass Я начинаю цикл статей, посвященных разбору задач сервиса pentesterlab. К сожалению, у меня нет Про-версии курса, поэтому я ограничен только списком свободных задач. Каждый кейс — система, содержащая уязвимость, которой необходимо воспользоваться для достижения определенной ц...

Как я написал и издал книгу об МГУ: 10 критических ошибок Три года назад я решил сделать книгу о высотке МГУ на Ленинских горах — большую, иллюстрированную, с привлечением выпускников и т.п. История этой работы — настоящее кино (местами фарс, местами хоррор) с кучей драматических поворотов. Сверхудачный краудфандинг, широкая аудито...

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

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

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

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле? Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile. Фемто — проверенный и надежный мет...

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

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

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

[Из песочницы] Немного о порождающих шаблонах проектирования Тема шаблонов проектирования достаточно популярна. По ней снято много роликов и написано статей. Объединяет все эти материалы «анти-паттерн» Ненужная сложность (Accidental complexity). В результате примеры заумные, описание запутанное, как применять не понятно. Да и главная ...

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

Разработчики рассказали, что не могут перенести Android-приложения на HarmonyOS HarmonyOS — новая ОС от Huawei на замену Android Без чего немыслима никакая современная ОС? Конечно, без экосистемы и софта. Но если спроектировать составные элементы экосистемы такой компании, как Huawei, в общем-то, по силам, то перенести чужое ПО вручную — уже...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

В Яндекс.Вебмастере появился новый знак отличия — «Турбо-страницы» На странице с информацией о качестве сайта в Яндекс.Вебмастере появился новый знак отличия «турбо-страницы». Знак выдается тем сайтам, доля трафика которых приходится на турбо-версии страниц сайта. Знак отличия — это еще один эффективный способ сравнить свой сайт с ...

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

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

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

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

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

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

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

[Из песочницы] Автоматизированное проектирование радиоэлектронной аппаратуры В популярной форме освещаются вопросы автоматизированного проектирования радиоэлектронной аппаратуры (РЭА) на конструкциях печатных плат, основные этапы становления и эволюции систем автоматизированного проектирования (САПР) РЭА, содержание задач автоматизации, организация ...

Крупнейшие заказчики в России — большой куш или головная боль? Опыт AGIMA Строительный магазин (или продуктовый, или детский, или какой-угодно-еще) федерального масштаба выходит на рынок с заказом — разработать веб-проект. Задача может быть интересной технически, страшно прибыльной, но многие разработчики и агентства все равно засомневаются, гот...

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

Оригинальная головоломка Roterra - Flip the Fairytale добралась до Android В начале этого года на iOS вышла головоломка Roterra - Flip the Fairytale. Ее внешний вид, конечно, оставляет желать лучшего, но сам по себе геймплей довольно неплох. Ваша задача — прокладывать путь для отважной принцессы, вращая кубы, из которых состоят местные локации. Ра...

В США может появиться должность агента по управлению конфискованными криптовалютами Служба федеральных маршалов США (USMS) рассматривает целесообразность учреждения должности агента, на которого будет возложена задача по управлению конфискованными биткоинами и другой криптовалютой. Об этом пишет Cointelegraph со ссылкой на опубликованные на прошлой неделе п...

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

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

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

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

WavesKit — PHP фреймворк для работы с блокчейном Waves Мне нравится PHP за скорость разработки и отличную переносимость. Это очень хорошо, когда в кармане всегда имеется готовый к решению задач инструмент. Было довольно обидно, когда при знакомстве с отечественным блокчейном Waves Platform в его арсенале не оказалось готового SD...

Рабочие шестерни для станков. История про два интересных заказа.  Начну с того, что до знакомства с моим первым принтером, никогда не создавал 3д модели, черчение - было в институте на первом курсе - 14 лет назад (как много времени прошло...) ))) Про шестерни, только краем уха слышал, знаю зубчики есть и...

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

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

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

На iOS вышла яркая, но незамысловатая action RPG The Swords of Ditto Это должно было произойти только завтра, но в App Store уже вышла новенькая action RPG The Swords of Ditto от издателя Devolver Digital. Это довольно приятная внешне игра, сделанная по всем канонам жанра: яркий мир с интересными персонажами, исследования, сражения, лут и даж...

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

[Из песочницы] Интервалы: грядущая эволюция C++ Уже скоро появится стандарт C++20, в который, скорее всего, добавят концепцию интервалов (ranges), однако мало кто знает, что они из себя представляют и с чем их едят. Доступных широкой аудитории русскоязычных источников про этого зверя мне найти не удалось, вследствие чего ...

Проектируем космическую ракету с нуля. Часть 3 — Ужепочти-решение задачи двух тел Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Движение в плоскости Осталось сделать последний штрих. Решить это уравнение: где — относительное расстояние между телами. В прошлом выпуске было показано, что при значительн...

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

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

Почему роды в древности проходили намного легче? Австралопитек Люси жила 3,5 миллиона лет назад и относилась к виду Australopithecus afarensis Рождение ребенка — очень радостный и одновременно крайне болезненный процесс для матерей, который может длиться десятки часов. Некоторые женщины сравнивают боль при родах с переламы...

Реакция на холодные письма Меня немного расстроила статья «Оцениваем рекрутёров по холодным письмам». Как по мне, вся проблема высосана из пальца, и все очень похоже на то, что уже описал автор: Иди-ка ты на !@# со своей «токсичностью» Я напишу максимально противоположное большинству мнение, чем ско...

[Перевод] Встречайте Codeception 3.0 Настало время воплотить в жизнь новую мажорную версию Codeception! За годы эволюции и постоянных улучшений мы многому научились, и сегодня представляем вам лучшую версию Codeception. Мы по-прежнему считаем, что простота тестирования важна: чтение, написание и отладка тестов ...

Отец Меган Маркл заявил, что любит дочь и в будущем хочет увидеть внука Поклонники не поверили в искренность слов 74-летнего отца знаменитости. Недавно в Сети появилось личное письмо, которое Меган Маркл написала своему отцу и попросила его перестать общаться с журналистами. В ответ Томас Маркл за круглую сумму «слил» письмо таблоидам, чем очен...

Спустя два года после выхода ПК-версия Resident Evil 7 лишилась защиты Denuvo Разработчики Resident Evil 7 удалили из ПК-версии игры защиту Denuvo. На то, что со страницы хоррора в Steam исчезли упоминания антипиратской системы, обратили внимание в СМИ. Судя по всему, ее удалили утром 28 января. Скорее всего, в Capcom посчитали, что за два года Denuvo...

На iOS вышел стильный детектив A Case of Distrust в сеттинге 20-х годов прошлого века в США Полтора года назад в Steam вышел необычный детектив под названием A Case of Distrust. Игра привлекает всем: от детективной истории в сеттинге 20-х годов США до оригинального визуального стиля, вдохновленного работами дизайнера Сола Басса. Проект получил несколько наград от к...

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

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

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

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

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

«Черная страница» спецназа ГРУ: Как бойцы сдались чеченским боевикам Героическое противостояние террористам в Чечне началось с позора. 22-я бригада специального назначения ГРУ РФ под командованием майора Холодова была высажена в ночь с 31-го декабря на 1-е января 1994 года недалеко от села Комсомольское, Урус-Мартановского района Чечни. Отря...

Испытание футболом. 10-кратный зум смартфона Oppo Reno проверили в полевых условиях В Сети появились фотографии, на которых показываются возможности 10-кратного гибридного зума, реализованного в новом смартфоне Oppo Reno. На прошлой неделе компания Oppo публиковала официальные рекламные фотографии, на которых демонстрировалась данная возможность камер...

Safari 7 и Скотт Форстолл На WWDC’13 Крейг Федериги представил публике новую версию Safari. 22 октября новая версия самого “яблочного” браузера в мире вышла в свет. Ничего удивительного? До 2013 года, все новости про Safari (кроме тех которые показались слишком “вкусными” Стиву Джобсу и которые пре...

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

RubyRussia 2019. Никита Шильников об алгебраическиех эффектах До конференции RubyRussia остается совсем немного времени. У тех, кто не успел получить свой билет, еще есть шанс забрать на сайте один из последних. Никита Шильников на конференции расскажет об алгебраическиех эффектах, а пока можно почитать интервью по теме доклада. Чита...

[Перевод] Пишем Android-приложение на ассемблере Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе. Читать дальше →

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

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

[Перевод] Советы по созданию нестандартных рабочих процессов в GitLab CI Прим. перев.: Оригинальную статью написал Miłosz Smółka — один из основателей небольшой польской компании Three Dots Labs, специализирующейся на «продвинутых backend-решениях». Автор опирается на свой опыт активной эксплуатации GitLab CI и делится накопленными советами для д...

Обзор плюсов и минусов игрового смартфона Xiaomi Black Shark 6/64GB Компания Xiaomi наконец-то выпустила на российский рынок игровой смартфон Xiaomi Black Shark. Он вышел в Китае еще в апреле прошлого года, в январе появился в Европе и теперь вот добрался до России. Здесь у него лишь один формальный конкурент – ASUS ROG Phone. Сможет ли дост...

Битва самых надёжных «китайцев»: Кто лучше – Haval F7 или Geely Atlas? Китайские автопроизводители знают, чем порадовать водителей. Яркое доказательство этому – автомобили Haval F7 и Geely Atlas, которые заслуженно пользуются высоким спросом. На YouTube-канале «Тест Драйвович» вышло новое видео о битве самых надёжных китайцев. Блогер сравн...

Kotlin Native: следите за файлами Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишко...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)