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

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

JSON API – работаем по спецификации В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции. Фронтенд с бэкендом взаимодействуют через API. И от того, какой это API, наско...

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

Админка за 5 минут. Фронтэнд — react-admin, бэкэнд — Flask-RESTful Если нужно на коленке получить быстро админку, где фронтендом будет react-admin, а бэкендом Flask-RESTful api, то ниже минимальный код в несколько десятков строк, чтобы это реализовать. Читать дальше →

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

[Из песочницы] Invidious — альтернативный YouTube-фронтенд «Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+. Читать дальше →

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

Nitter, альтернативный фронтенд для Twitter Nitter — это свободный фронтенд для Twitter, ориентированный на сохранение пользовательской конфиденциальности. Проект написан на языке Nim, и находится в стадии активной разработки, ни одного релиза пока не было. Аналогичным фронтендом для YouTube является Invidious, которы...

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

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают Сегодня расскажу про две возможности Commvault для резервного копирования MS SQL, которые незаслуженно обходят стороной: гранулярное восстановление и плагин Commvault для SQL Management Studio.  Базовые моменты настройки рассматривать не буду. Пост скорее для тех, кто уже у...

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

[Перевод] Angular: состояние дел в 2019 году Сейчас лето — то время года, когда во всём мире проводятся различные конференции и другие мероприятия. Программистов в эту пору буквально заваливает новой информацией, которую обычно бывает довольно непросто усвоить. Вселенная фронтенд-разработки напоминает поезд, который д...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

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

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

[Перевод] Cython: более чем 30-кратное ускорение Python-кода Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу н...

Tic Tac Toe, часть 5: Бэкенд на С++ Boost.Beast, HTTP В этой статье рассмотрим реализацию бэкенда с применением C++ Boost.Beast библиотеки на примере синхронного сервера. Та же функциональность, что и в прошлой статье — получаем от бэкенда случайное число от 0 до 8 включительно. Оказалось, что поднимать контейнер для Beast ничу...

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

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

Как в Яндекс.Практикуме побеждали рассинхрон на фронтенде: акробатический номер с Redux-Saga, postMessage и Jupyter Меня зовут Артём Несмиянов, я фулстек-разработчик в Яндекс.Практикуме, занимаюсь в основном фронтендом. Мы верим в то, что учиться программированию, дата-аналитике и другим цифровым ремёслам можно и нужно с удовольствием. И начинать учиться, и продолжать. Любой не махнувший ...

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

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

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

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

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

О том, что мы реализовали в EWM благодаря вашим советам Это пост о том, как мы доводим до ума English Word Mania — мобильное приложение, которое помогает обогащать лексический запас при изучении английского языка и превращает этот процесс в соревнование. После предыдущей публикации мы получили ценный фидбек от читателей, который ...

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

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

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

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

Как выжать максимум из Computer Science образования Большинство современных программистов получили образование в вузах. Со временем это изменится, но сейчас дела обстоят так, что хорошие кадры в IT-компании все равно приходят из университетов. В этом посте Станислав Протасов, директор Acronis по связям с университетами, расск...

[Перевод] Управляем асинхронностью в PHP: от промисов к корутинам Что такое асинхронность? Если кратко, то асинхронность означает выполнение нескольких задач в течение определенного промежутка времени. PHP выполняется в одном потоке, что означает, что в любой момент времени может выполняться только один фрагмент PHP-кода. Это может показа...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

[По докам] Flutter. Часть 2. Для iOS разработчиков После длительного перерыва я продолжу рассказывать о популярном фреймворке Flutter в формате «вопрос — ответ». Первую статью для Android-разработчиков вы можете найти здесь, а сегодня будет полезный материал для разработчиков под iOS. Если у вас мало времени для самостоятел...

Увеличение видео 1080P до 4К, или Как я научился не волноваться и полюбил апскейл с помощью нейросетей Читая недавно очередную статью про апскейл (Upscale — масштабирование изображения до более высокого разрешения), на этот раз про коммерческий продукт Topaz AI Gigapixel, я оставил комментарий следующий содержания: Жаль, что пост — простой перевод, хотелось бы сравнения с чем...

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

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

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

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

Очередная модернизация FLASHFORGE dreamer Ну вот дорогие друзья я почти дорос до второго своего поста на этом сайте. Есть лишь пара моментов которые мне мешают его опубликовать. Я попытался обсудить это с админом сайта, но он молчит как рыба об лед, я стараюсь, но меня мало лайкают, или вообще не лайкают, просто кач...

Свой конвертер JSON или ещё немного про ExpressionTrees Сериализация и десериализация — типичные операции, к которым современный разработчик относится как к тривиальным. Мы общаемся с базами данных, формируем HTTP-запросы, получаем данные через REST API, и часто даже не задумываемся как это работает. Сегодня я предлагаю написат...

Как мы выбирали и докручивали фреймворк для performance-тестирования Тестировать API и интерфейсы можно по-разному. В связи с открытием широкого доступа к Acronis Cyber Platform мы вынуждены были искать способы проверить сервисы “на прочность” с самых разных позиций. В этом посте ведущий архитектор программного обеспечения Acronis Дмитрий Сал...

[Перевод] Как сделать SFINAE изящным и надежным И снова здравствуйте. Делимся с вами интересной статьёй, перевод которой подготовлен специально для студентов курса «Разработчик C++». Сегодня у нас гостевой пост Адама Балаша (Ádám Balázs). Адам является инженером-программистом в Verizon Smart Communities Hungary и зани...

Что необходимо знать о GDPR в 2019 Сегодня поговорим о “великом и ужасном” GDPR (General Data Protection Regulation) или Общем регламенте по защите персональных данных. Не смотря на то, что закон был принят еще в мае 2018 года, многие компании до сих пор не выполняют всех его требований. Мы встретились с н...

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

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

[Перевод] 19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того,...

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

Android Academy в Москве: Advanced Course Всем привет! Лето — это отличное время года. Подошли к концу Google I/O, Mobius и AppsConf, а многие студенты уже закрыли или вот-вот уже закончат сдавать сессии, все готовы выдохнуть и наслаждаться теплом и солнцем. Но только не мы! Мы долго и упорно готовились к этому м...

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

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

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

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

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

Создаем краудсорсинговые карты помощи на WordPress + shMapper TL;DR мы сделали бесплатный опен-сорсный плагин shMapper, который позволяет создавать карты помощи, а также другие краудсорсинговые карты (с подложкой на Я.К и OSM) на WordPress. Завязка Девять лет назад горела вся центральная Россия. Я написал хабрапост, в котором призвал...

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

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

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

[Перевод] 13 приёмов работы с npm, которые помогают экономить время Каждый день миллионы разработчиков, создавая свои JavaScript-приложения, обращаются к npm (или к Yarn). Выполнение команд наподобие npm init или npx create-react-app стало привычным способом начала работы над практически любым JavaScript-проектом. Это может быть сервер, клие...

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

Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения...

[Из песочницы] Управление подставкой для ноутбука с помощью digispark Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат. Читат...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

[Перевод] Python и быстрые HTTP-клиенты В наши дни, если вы пишете некое Python-приложение, то вам, скорее всего, придётся оснащать его функционалом HTTP-клиента, который способен общаться с HTTP-серверами. Повсеместное распространение REST API сделало HTTP-инструменты уважаемыми жителями бесчисленного множества п...

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

Custom refactoring tool: Swift Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам был...

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

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

Как перестать делать одно и то же Вы любите из раза в раз повторять рутинные операции? Вот и я нет. Но каждый раз в SQL-клиенте при работе с хранилищем Ростелекома приходилось прописывать все джойны между таблицами ручками. И это притом, что в 90% случаев поля и условия соединения таблиц совпадали от запроса...

Что такое Legal Support: рекомендации юристу IT-компании Риск – дело благородное, но при ведении бизнеса деньги любят счет и порядок. Для того, чтобы сохранить теплые отношения с клиентами и вместе с тем уменьшить рисковые факторы, сервисные компании создают свои юридические службы – Legal Support. Мы уже много лет работаем в IT и...

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

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

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

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

[Перевод] JavaScript-движки: как они работают? От стека вызовов до промисов — (почти) всё, что вам нужно знать Вы когда-нибудь задумывались, как браузеры читают и исполняют JavaScript-код? Это выглядит таинственно, но в этом посте вы можете получить представление, что же происходит под капотом. Начнём наше путешествие в язык с экскурсии в удивительный мир JavaScript-движков. Читать...

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

[Перевод] Сверхчеловеческую скорость AlphaStar внедрили как заплатку для ошибки имитационного обучения? Вероятно, все уже слышали, что ИИ под названием AlphaStar от компании Google Deepmind размазал профессионалов в стратегии реального времени Starcraft 2. Это беспрецедентный случай в исследованиях Искусственного интеллекта. Но хочу высказать конструктивную критику по поводу э...

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

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

[Из песочницы] Как зеленый джуниор свой hot-reloader писал Предыстория Пару строк обо мне для общего понимания уровня автора и решаемой проблемы. Меня зовут Евгений и я веб-разработчик зеленый junior frontend developer. Еще какой-то год назад я работал в совершенно другой сфере и только в теории задумывался о смене профессии, но при...

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

Геноцидное государство. Соловьёв попытался применить Холокост в антиукраинской риторике Владимир Соловьёв хитро воспользовался соцсетями и Днём памяти жертв Холокоста для проведения параллели между украинскими политиками и виновниками трагедии еврейского народа. День памяти жертв Холокоста Йом Ха-Шоа, дата которого по Григорианскому календарю может меняться, в...

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

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Nginx VTS Stats, Mockify — mock API, сравнение Wiremock и Mockify В этом посте я хотел сделать демо Nginx VTS + Prometheus + Grafana. Для демо необходимо было чтобы upstream могли выдавать разные http коды. Это могли сделать следующие проекты: Mockify, написанный на Golang, и WireMock, написанный на Java. Небольшое оглавление установка и...

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

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

[Перевод] Учим английский: 7 практических способов расширить словарный запас Одна из важнейших задач при изучении иностранного языка – это не только практика с грамматикой, но и расширение словарного запаса. Чем больше слов вы знаете, тем в большем количестве ситуаций сможете объясниться – даже если у вас большие проблемы с артиклями и формирование...

[Перевод] Garden v0.10.0: Вашему ноутбуку не нужен Kubernetes Прим. перев.: С Kubernetes-энтузиастами из проекта Garden мы познакомились на недавнем мероприятии KubeCon Europe 2019, где они произвели на нас приятное впечатление. Этот их материал, написанный на актуальную техническую тему и с заметным чувством юмора, — наглядное тому по...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

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

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

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

Ansible для управления конфигурацией Windows. История успеха На одной из встреч питерского сообщества .Net разработчиков SpbDotNet Community мы пошли на эксперимент и решили рассказать о том, как можно применять подходы, давно ставшие стандартом в мире Linux, для автоматизации Windows-инфраструктур. Но дабы не доводить всё до голослов...

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

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

Как закалялись бойцы ру->нета. Немного реальной истории Беседуя сегодня с друзьями, начали вспоминать «как все было» в Рунете — причем не со слов политически ангажированных «Ашмановых и прочих приближенных», но как было реально. Подбили на написание статьи. Делать было нечего, написал набросок о чем дальше можно © По сути — р...

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

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

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

[Из песочницы] Авторизация в Apple Pay для самых маленьких Внимание будет уделено конкретному моменту — это получения криптограммы со стороны Apple после того как покупатель прошёл TouchID или FaceID. Языком на бэкенде будет PHP. Меня зовут Александр, я младший PHP-программист компании Moguta, и мне пришлось столкнуться на своем пу...

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

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

[Перевод] PostgreSQL и настройки согласованности записи для каждого конкретного соединения Перевод статьи подготовлен специально для студентов курса «Базы Данных». Интересно развиваться в данном направлении? Приглашаем вас на День Открытых Дверей, где мы подробно рассказываем о программе, особенностях онлайн-формата, компетенциях и карьерных перспективах, которые ...

[Из песочницы] Типизация REST API для фронтенд разработчика Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL. В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по нап...

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

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

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

[Из песочницы] Сборка transport-пакета без установки MODX Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :). Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самог...

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

Логирование HTTP запросов в Spring Boot с использованием Бобины Приветствую, дорогие друзья! Сегодня я хочу продемонстрировать потрясающий пример того, как Бобина может помочь в очень распространённой ситуации — логирование HTTP запросов и ответов в Spring Boot. Даже больше! Мы будем логировать только сообщения HTTP в отдельные файлы. Чи...

[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019) CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors О нас Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос...

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

«Шакал»: сжимаем фронтенд Привет! Я — Ваня, лид платформенной команды в Тинькофф Бизнес. Мое любимое занятие — открывать вкладку DevTools и проверять, сколько весят артефакты сайта. В этой статье расскажу, как мы сократили вес приложения на 30% силами платформенной фронтенд-команды за один день без ...

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

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

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

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

История одного «разработчика» или как новичку написать приложение для iOS Итак май 2018 года. Предпринято 7 попыток за 7 лет начать программировать что-то под iOS. И каждый раз одно и тоже: то Objective-C что-то страшное и не понятное, то нету идеи. И дальше Hello World, раз в год, вообщем дело не заходило… В этот раз новый Xcode и новый для ме...

Как дебажить фронтенд и бекенд: пошаговая инструкция Привет, Хабр! Представляю вам перевод статьи "How to debug javascript in Chrome quick and easy ". В этом посте мы научимся дебажить JavaScript на фронт- и бекенде с помощью Chrome DevTools и VS Code. Читать дальше →

[Перевод] Как мы изменили состояние «всегда на связи», чтобы предотвратить профессиональное выгорание Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Миссия Intercom заключается в том, чтобы сделать бизнес в интернете персонализированным. Но персонализировать продукт невозможно, когда он не работает как надо. Работоспособность к...

Моменты жизни Стивена Вольфрама — создателя Mathematica, Wolfam|Alpha, A New Kind Of Science и много чего ещё Оригинал поста в моём личном блоге Мне посчастливилось лично познакомиться со Стивеном Вольфрамом на Первой Российской конференции «Wolfram технологии», которая проходила в 2013 г. в СПбГУ. После мы пересекались на телемосте Стивена в Digital October. Записи этих выступлен...

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

UICollectionViewLayout для пиццы из разных половинок Чтобы сделать пиццу из половинок мы использовали два UICollectionViewLayout. Рассказываю о том, как мы написали такой лейаут для iOS, с чем столкнулись и от чего отказались. Читать дальше →

PHP Russia 2019: свой «стадион» для языка первой лиги На нашем рынке нет конференции, которая была бы посвящена PHP. А это все равно что футбольный клуб первой лиги без своего стадиона. Ведь в России PHP на втором месте по числу вакансий для программистов (позади 1C, но впереди Java). У него разветвленная экосистема и гигантска...

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть четвертая. Общие понятия обработки Начав писать про стратегии обработки, я понял что творю «обезьяний набор» — пошаговое руководство даже не для чайников, а для идиотов, мои шаги повторить можно, сделать свои по образцу тоже, но понимания не добавляется. В свое время, когда я внезапно решил стать фрезеровщико...

Стажировка в IT: взгляд руководителя Набор на летнюю стажировку в Яндекс продолжается. Он идёт по пяти направлениям: бэкенд, ML, мобильная разработка, фронтенд и аналитика. В этом блоге, в других блогах на Хабре и за его пределами можно найти немало инсайда про то, как проходит стажировка. Но многое в этом пр...

The state of CSS В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технол...

Зачем вам хелпдеск, если уже есть CRM?  Какое корпоративное ПО установлено в вашей компании? CRM, система управления проектами, хелпдеск, ITSM-система, 1С (тут точно угадали)? У вас есть чёткое ощущение, что все эти программы дублируют друг друга? На самом деле, пересечение функций, действительно, бывает, многие в...

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

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

С Днём Рождения, Хабр ❤ Привет, Хабр! Я тебя знаю очень давно — с 2008 года, когда я, тогда ещё ни разу не айтишник, открыл тебя по какой-то шальной ссылке. Знаешь, как это было? Открыл, ничего не понял, закрыл. Потом ты стал попадаться всё чаще и чаще, я присмотрелся, вчитался, через год ушёл в ИТ...

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

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

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

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

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

[Из песочницы] Кросспостинг постов из Instagram в паблик VK на Python Предисловие Решил выйти на новый рынок сбыта, тем более, целевая аудитория моего интернет-магазина, не имеющая аккаунтов в Instagram, давно интересовалась появлением дубликата в VK. Идея хорошая, но постов на странице сотни, соответственно вручную работать ctrl+c ctrl+v не...

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

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

[Из песочницы] Дизайн интерфейса для игры, рисуем кольцо Хавеля из Dark Souls 3 Здравствуйте, дорогие друзья! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать кольцо Хавеля из игры Dark Souls 3. Перед вами результат, которого я добился примерно за полтора часа работы в фотошопе. Дизайнера интерфейсов периодически пр...

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

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

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

Настройка сервера для развертывания Rails приложения при помощи Ansible Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документац...

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

Оракул существует Или общий алгоритм по проблеме останова может существовать. Но, как всегда, есть нюансы. Если интересно прошу под кат. Читать дальше →

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

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

Терраформируй это: обзор Terragenesis В App Store/Google Play можно найти самые разные игры, поэтому я не сильно удивился, когда в одном из профильных чатов меня спросили, знаю ли я игру о терраформировании небесных тел. Посмотрев ее, решил написать небольшой обзор, потому что игра, на мой взгляд, хоть и не без ...

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

Как живут и работают в Ульяновске Ранее наши сотрудники уже выступали на мероприятиях в Краснодаре и Самаре, а я рассказывал об IT-жизни в этих городах. На этот раз наша команда летит в Ульяновск, чтобы совместно с Panda Meetup 19 октября провести PHP-митап. Но прежде чем отправиться в путь я решил узнать,...

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

Мобильные отчеты на Oracle BI EE 12c — на раз, два, три. Методология из курса Oracle BI EE 12c CAD У многих компаний — пользователей продукта Oracle BI 12c есть общая проблема: их разработчики по разным причинам не хотят связываться с мобильной разработкой отчетов. На наших курсах по BI этот вопрос в новой версии был освещен достаточно полно, поэтому мы выкладываем факти...

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

Design на CodeFest. Но это не точно Каждый год мы начинаем обсуждение программы CodeFest с вопроса, будет ли дизайн-секция в этом году? Будет, но это не точно. И каждый год мы заканчиваем CodeFest словами: «Классно, что всё-таки сделали дизайн-секцию — на неё столько менеджеров пришло!» Дело в том, что мы ...

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

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

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

Книга «GraphQL: язык запросов для современных веб-приложений» Привет, Хаброжители! У нас вышла книга по языку запросов GraphQL. Мы решили поделиться переводом главы «Анатомия запросов GraphQL» «Снежный клык» (Snowtooth) — выдуманный горнолыжный курорт. Ради примеров в данной главе мы сделаем вид, что это настоящая гора и мы там работ...

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

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

Дайджест интересных материалов для мобильного разработчика #310 (5 — 11 августа) Очередной выпуск рассказывает про морок функционального программирования, солидный Swift для солидных программистов, дорожную карту Android-разработки, стабильность модного приложения, путаницу переключателей и многое другое. Читать дальше →

Приглашаем на VK Hackathon 2019. Призовой фонд этого года — два миллиона рублей С 27 по 29 сентября мы проведём пятый VK Hackathon в петербургском выставочном зале «Манеж». В этом году на хакатоне будут 600 участников, общий призовой фонд в два миллиона рублей и дополнительное вознаграждение за доработку проектов после финала. Если вы любите дух соревно...

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

[По докам] Flutter. Часть 1. Для Android разработчиков Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучени...

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

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

CI\CD для стартапа: какие есть инструменты, и почему ими пользуются не только крупные и известные компании Разработчики CI\CD-инструментов часто указывают в качестве клиентов крупные компании — Microsoft, Oculus, Red Hat, даже Ferrari и NASA. Казалось бы, что такие бренды работают только с дорогими системами, которые не сможет позволить себе условный стартап из пары разработчиков...

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

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

Темизация UI kit: как мы подружили SCSS с CSS Variables Всем привет, меня зовут Виталик, я senior фронтенд-разработчик Skyeng. Наша команда делает онлайн-платформу Vimbox для изучения английского языка. Примерно год назад мы с дизайнером доделали небольшой UI kit, искоренивший хаос в интерфейсе и кодовой базе. Оказалось, что в к...

AMA с Хабром v.9.0. Подкаст, конференция и концепты Как, опять конец месяца?! В смысле «лето через пару часов?!». На самом деле, май вышел коротким, но тем не менее мы успели сделать несколько интересных обновлений, подготовили небольшую, но насыщенную конференцию по бэкенду и готовы с вами поболтать — традиционно в последнюю...

В анализаторе все должно быть прекрасно: и функциональность, и интерфейс… Изучаем новый интерфейс Solar appScreener 3.1 Как говаривал Генри Форд, все можно сделать лучше, чем делалось до сих пор. Вот и мы так подумали, когда приступили к работе над версией 3.1 нашего анализатора защищенности приложений. Нам ОООЧЕНЬ хотелось сделать наш продукт не только самым крутым по функциональности: напри...

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

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

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

Evrone и DataArt проведут в Воронеже серию митапов Первая встреча, посвященная языку Ruby, пройдет 20 апреля в отеле Ramada Plaza. На следующей, в начале июня, речь пойдет о машинном обучении, далее — два митапа о Java и фронтенд-разработке и большая итоговая конференция. Компания Evrone известна, прежде всего, проведени...

Америке нужен гей: Демократическая партия США представила потенциального кандидата в президенты Президентские выборы 2020 года уже совсем не за горами и если представляющий Республиканскую партию Дональд Трамп чувствует себя достаточно уверенно, то у Демократов дела идут далеко не так хорошо. Им срочно нужен кандидат, который сможет сплотить под своими знаменами всех п...

С чего начиналась монополия, или немного возни с IBM PC 5150 For English press One У каждого любителя старого железа есть фетиш. Зачастую на территории восточной (да и части западной тоже) Европы это ZX Spectrum, замечательный компьютер, который, впрочем, не оставил значительного наследия. Другое дело — IBM PC 5150. Этот компьютер ...

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

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

Uibook — инструмент для визуального тестирования React-компонентов с медиа-запросами Всем привет! Меня зовут Виталий Ризо, я фронтенд-разработчик в «Амплифере». Мы сделали Uibook — простой инструмент для визуального тестирования React-компонентов с реальными медиа-запросами. Расскажу, как он работает и чем может быть полезен вам. Читать дальше →

Как попасть в топ Google в ЕС/США в нише разработки и найти клиентов с большими бюджетами Пост лучше всего подойдет разработчикам «one-man-company» или командам. Я расскажу, как достаточно легко и просто (при отсутствии или минимальном бюджете) попасть в топ поисковой выдачи в развитых странах в нише разработки и перестать бороться за клиентов в СНГ, которые хотя...

Принципы документирования и локализации, или как получить хорошую локализацию минимальными затратами Всем привет! Меня зовут Денисов Александр. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC). В этой статье расскажу о тех проблемах, с которыми мы сталкивались при локализации NCC на английский и нем...

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

Из-за тёмной темы Thunderbird пришлось запускать анализатор кода «Приключение» с почтовым клиентом Mozilla Thunderbird началось с автоматического обновления на версию 68.0. Заметными особенностями этой версии было вот что: больше текста добавляется во всплывающие уведомления и тёмная тема по умолчанию. Повстречалась ошибка, которую захоте...

[Из песочницы] Знакомимся с микросервисным фреймворком Moleculer Привет, %habrauser%! Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer. Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, ск...

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

Топ 10 ошибок в C++ проектах за 2018 год Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых пр...

Где послушать про Apache Ignite и GridGain в октябре Сделали канал для анонсов офлайн и онлайн мероприятий русскоязычного сообщества Apache Ignite в телеграме. Присоединяйтесь к @apacheigniteRus. Кстати, если вы давно хотите, чтобы разработчики Apache Ignite и GridGain про что-нибудь рассказали, а они всё не рассказывают, дайт...

DataGrip 2019.2: Управление соединениями, поиск по данным, фильтрация в навигации Привет! Рассказываем о том, что мы сделали в DataGrip за четыре месяца. Если вы используете поддержку баз данных в других наших IDE, этот пост для вас тоже. Читать дальше →

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

bear_hug: игры в ASCII-арте на Python3.6+ Для своих игр в ASCII-арте я написал библиотеку bear_hug с очередью событий, коллекцией виджетов, поддержкой ECS и прочими полезными мелочами. В этой статье мы посмотрим, как с её помощью сделать минимальную работающую игру. Читать дальше →

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

Scala + MXNet = Микросервис с нейронкой в проде В интернете есть огромное количество руководств и примеров, на основе которых вы, дорогие читатели, сможете «без особого труда» и с «минимальными» временными затратами написать код, способный на фото отличать кошечек от собачек. И зачем тогда тратить время на эту статью? О...

Третье сентября Третье Сентября, а также события и явления, описанные в этом посте — локальный мем подкаста Разбор Полётов. Вдохновлено этим постом Олега. Олсо, вас предупреждали. Мем с песней Шуфутинского и Барухом форсится уже несколько лет подряд и порядком поистрепался, на сам мем запи...

#Мнение: Почему новый iPod Touch нужен Apple Буквально на днях стало известно о том, что Apple разрабатывает новый iPod Touch. А почему бы и нет? Даже сейчас этот выглядит как идеальный iPhone, с потрясающе тонким корпусом и низкой ценой. Когда начали появляться первые слухи об iPhone 6, многие говорили, что его корпу...

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

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

Михаил Ларионов, Circles.is: о карьере в Facebook, предпринимательстве, создании сообществ и продуктовом мышлении Я поговорил с Михаилом Ларионовым, который сделал фантастическую карьеру от разработчика инди-игр в России до руководителя разработки платформы Facebook Messenger в Калифорнии. Теперь Миша делает свои продукты про то, что ему по душе — например, про развитие сообществ. Это ...

Вебинары Dell Technologies: все подробности о нашей обучающей программе Друзья, привет! Сегодняшний пост будет не длинным, но, надеемся, для многих полезным. Дело в том, что уже довольно давно компания Dell Tehnologies проводит вебинары, посвященные продуктам и решениям бренда. О них мы и хотим сегодня вкратце рассказать, а также попросить уважа...

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

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

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

Альпинисты в Зафасадье. Как работают промальпы на башне Лахта Центра В дискуссии к прошлому посту в фокус внимания попали промышленные альпинисты, которые сейчас работают на башне Лахта Центра. И вот мы решили подробнее рассказать об этих парнях, чей волнительный труд заставляет испытывать одновременно и острую зависть, и мысль – «Да ну, ни з...

Пьеса для механического руководителя Рассмотрим классический сюжет, многие из нас уже сами успели побывать на этой сцене… Директор Менеджер Тимлид Разработчик HR Директор: Коллеги, я собрал вас, чтобы обсудить ситуацию с набором на позицию «разработчик front-end». Читать дальше →

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

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

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

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

Graceful degradation. Доклад Яндекс.Такси Сервисы необходимо писать так, чтобы минимальная функциональность сохранялась всегда — даже если откажут критически важные компоненты. Илья Сидоров, руководитель одной из команд продуктовой разработки бэкенда Яндекс.Такси, объяснил в своем докладе, как мы даем пользователю з...

Как живут фрилансеры: дизайн книжных обложек, собственное производство рюкзаков и работа в путешествиях Героиня нового выпуска интервью с Фрилансим — Наташа Байдужа, дизайнер и человек-пароход. За годы фриланса успела пожить в Москве, Одессе, Черногории, придумать свою марку рюкзаков (сшить и продать первую партию), написать детскую книгу, сделать бесчисленное множество иллюст...

В новой версии Firefox блокируется автоматическое воспроизведение медийного контента Mozilla на днях представила Firefox 66, который можно было бы назвать рутинным обновлением, если бы не одно важное нововведение. А именно блокирование автоматического воспроизведения видео и аудио, чем грешат многие сайты. Если открыта пара вкладок, еще ничего — можно бы...

Как организовать разработку и поддержку блога на WordPress в 2К19 году и не налажать Заранее думать о масштабировании, по максимуму использовать стандартные решения Wordpress, сделать тему WP своими руками, заботиться об удобстве верстальщика, упороться по мобильности — и обновить блог компании так, чтобы его любили читатели, редакция и руководство. У нас по...

Бета тест: Devdiction для разработчиков – платформа для обучения английскому языку Всем привет! Я разработчик, тружусь в одном из лондонских стартапов. По работе часто приходится собеседовать удаленных разработчиков из стран СНГ и наблюдать за процессом отбора. Это очень интересный опыт, который дал мне понимание, что хорошее умение говорить на английском ...

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

Концепция персистентной ткани для контроля IT-инфраструктуры Всем привет. Расскажу вам про микросервисы, но немного с другой точки зрения, чем Вадим Мадисон в посте «Что мы знаем о микросервисах». Вообще я считаю себя разработчиком баз данных. При чем же тут микросервисы? В Авито используются: Vertica, PostgreSQL, Redis, MongoDB, Tara...

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

[Из песочницы] Рендеринг 3D графики с помощью OpenGL Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают графические конвейеры, и что они из себя представляют. В этой статье не будет точных ...

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

Джефф Безос объявил о планах покорения Луны Два часа назад в переполненной аудитории в паре кварталов от Белого дома глава Amazon выступил перед журналистами, чиновниками, руководителями компаний и группой восхищенных школьников, чтобы рассказать детали своего плана о возвращении людей на Луну к 2024 году. Безос хоч...

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

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

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

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

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

[Перевод] Создание дизайн-документа миссии повествовательной игры на примере Last of Us Я всегда начинаю с того, что задаю много вопросов и провожу активные исследования. За свою карьеру я успел поработать над множеством сиквелов уже существовавших франшиз. Лучшее, что ты можешь сделать в этом случае — полностью освоить жанр игры и изучить мир. Среди прочих пр...

В очередной раз о НОД, алгоритме Евклида и немного об истории алгоритмов вообще. Конечно, с примерами на Swift Алгоритмы – одна из центральных тем в программировании, они повсюду (особенно на собеседованиях, ха-ха). (Разве можно обойтись в таком посте без «баяна»?) Одним из самых известных является так называемый алгоритм Евклида – пожалуй, самый распространенный способ нахождения...

[Из песочницы] Пишем бот для рыбалки в игре Albion Online на языке Python Всем привет, я являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде». И еще меньше игр в жанре MMORPG. Однако, где-то пол года или год назад я узнал ...

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

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

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

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

[Перевод] Веб-компоненты: 9 проектов, о которых стоит знать в 2019 году Автор материала, перевод которого мы сегодня публикуем, полагает, что если вы собираетесь использовать при проектировании интерфейсов своих приложений веб-компоненты и подыскиваете подходящую библиотеку, независимую от UI-фреймворков, вам стоит взглянуть на те проекты, о кот...

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

TDE в Apache Ignite: история major feature в большом open source проекте Многим организациям, в особенности финансовым, приходится иметь дело с различным стандартами безопасности — например, с PCI DSS. Такие сертификации требуют шифрования данных. Прозрачное шифрование данных на диске Transparent Data Encryption реализовано во многих промышленных...

Линейка Agilex — 10-нм FPGA Intel Буквально вслед за 10-нм процессорами Ice Lake Intel выпускает новое поколение своих FPGA, также производимых по 10-нм техпроцессу. Новая серия получила наименование Intel Agilex; по традиции, идущей со времен Altera, она разбита на несколько классов устройств для различных ...

Fancade — приложение для создания собственных миниатюрных игр на мобильных Martin Magni – автор популярной головоломки Mekorama – выпустил свой новый проект Fancade. Пока что он доступен только в Google Play в режиме пробного запуска. Если вы хотите получить доступ и на iOS, напишите автору в Discord – ссылку него и другие полезные материалы можно ...

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

Windows, PowerShell и длинные пути Думаю, вам, как и мне, не раз приходилось видеть пути вида \!!! Важное\____Новое____\!!! Не удалять!!!\Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративны...

[Из песочницы] Как работает конфигурация в .NET Core Давайте отложим разговоры о DDD и рефлексии на время. Предлагаю поговорить о простом, об организации настроек приложения. После того как мы с коллегами решили перейти на .NET Core, возник вопрос, как организовать файлы конфигурации, как выполнять трансформации и пр. в новой ...

Насколько большие Ваши яйца? Добрый день, дорогие пользователи habr.com! Сегодня православные христиане празднуют Пасху, и мне кажется, что многие задаются вопросом: «Какой же объём у куриного (страусиного, перепелиного и т.д.) яйца»? Это действительно интересная математическая задача, которую мы с Вами...

Дайджест интересных материалов для мобильного разработчика #316 (16 — 22 сентября) Очередной дайджест и очередная порция самых интересных материалов из мира мобильной разработки — живое видео Одноклассников, маленькая собственная Unity, неработающий компилятор Huawei, портал разработчиков KaiOS и многое другое. Читать дальше →

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

Изменение поведения как продукт: Мари Кондо поднимает раунд $40M с Sequoia (и еще пара историй «лидеров мнений» в тэке) Знаете такую книжку «Магическая уборка» (англ.: «The Life-Changing Magic of Tidying Up») Мари Кондо? Это крайне популярный среди домохозяек (но не только) томик про изменение поведения, замаскированный под набор эссе об уборке и организации своего дома. Если в двух словах,...

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

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

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

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

[Перевод] Неизменяемых коллекций в Java не будет – ни сейчас, ни когда-либо Всем привет! Сегодня вашему вниманию предлагается перевод вдумчиво написанной статьи об одной из базовых проблем Java — изменяемости, и о том, как она сказывается на устройстве структур данных и на работе с ними. Материал взят из блога Николая Парлога (Nicolai Parlog), чей...

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

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

RS-485 на отечественных микроконтроллерах от фирмы Миландр Несколько дней назад я имел неосторожность завуалированно пообещать запилить пост про Миландр… Ну что ж, попробуем. Как вы, вероятно, уже знаете, существует российская компания Миландр, которая, среди прочего, выпускает микроконтроллеры на ядре ARM Cortex-M. Волею судеб я ...

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

То, что нужно знать о проверке чека App Store (App Store receipt) В StackOverflow по-прежнему появляется много вопросов о валидации App Store чеков, поэтому мы решили написать статью на эту тему в формате вопросов и ответов. Читать дальше →

Как технологии изменят бизнес в 2019 году Вместо менеджеров с вашими клиентами общаются роботы, а продавать и принимать оплату вы можете прямо в мессенджерах. Рассказываем об инструментах нового «Битрикс24.Дубай».

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

Бесплатная музыка в Интернете. Стоит ли переплачивать? Вы помните времена, когда для того, чтобы послушать ту или иную музыкальную композицию, приходилось покупать аудиокассеты, CD-диски? Времена меняются, технологии развиваются невероятными темпами и сегодня нет необходимости тратить деньги для того, чтобы послушать свои любимы...

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

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

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

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

Legacy-сервисы в вашей инфраструктуре Привет! Меня зовут Паша Черняк, я ведущий разработчик в QIWI, и сегодня я хочу поговорить о неизбежном. О Legacy. Начнем с вопроса: что такое Legacy-сервис? Legacy-сервис — это сервис, которого разработчик не касался уже неделю/месяц/год? Или это сервис, который был написан...

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

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

Травим данные с travajs В своем предыдущем посте я описал основные моменты при разработке другой opensource библиотеки. Забыл упомянуть еще один: если никому не рассказывать про библиотеку, какая бы нужная она ни была, скорее всего никто про нее так и не узнает. Итак, встречайте trava.js — сочна...

[Перевод] React и Vue: сильные стороны Здравствуйте, коллеги. Мы возобновляем наши переводные публикации. Сегодняшний текст анонсирует давно назревшую новинку по веб-разработке, посвященную ультрасовременной библиотеке Vue.js. Учитывая, что у нас в ассортименте имеется сразу три отличные книги по React, а также ...

Что такое UI и UX дизайн? Что в них общего и что различного? Всем привет! Предлагаем вам изучить простой в освоении материал, чтобы лучше понять разницу между дизайном пользовательского интерфейса (UI) и пользовательским интерфейсом (UX) UI-дизайн и UX-дизайн — два наиболее часто запутанных и противоречивых понятия, использующихся ка...

WebAssembly: что и как Эта статья основана на моём выступлении на конференции ITSubbotnik, прошедшем 2 ноября 2019 года в Москве. Вообще я бэкенд программист, но меня заинтересовала эта технология, она позволяет использовать мои знания бэкенда на фронте. Проблема Начнём с проблемы, которая решает...

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

Почему некоторые мобильные игры становятся настолько успешными? В Google Play больше миллиона игр, все они разнообразны, но почему-то лишь единицы становятся успешными. Индустрия мобильных игр получает в год 63,2 миллиарда долларов, и это огромные цифры. Основной доход, конечно же, приходится на крупные проекты, такие как PUBG или Fortn...

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

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

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

Корректный ASP.NET Core Специально для любителей книг "С++ за 24 часа" решил написать статью про ASP.NET Core. Если вы раньше не разрабатывали под .NET или под какую-то аналогичную платформу, то смысла заходить под кат для вас нет. А вот если вам интересно узнать что такое IoC, DI, DIP, Intersept...

JPoint 2019: бесплатная онлайн-трансляция, вечеринка и многое другое 5-6 апреля, то есть уже на этих выходных, пройдёт JPoint 2019 — международная Java-конференция для опытных Java-разработчиков. Если вы не смогли поучаствовать, вживую или онлайн, то у нас есть сюрприз: бесплатная трансляция первого зала. Точнее, первый день и первый зал + к...

[recovery mode] Успехи и неудачи при создании своего проекта (стартапа) Привет, друзья. Решил сегодня написать не о конкретном техническом решении, а о том, зачем эти технические решения вообще нужны. Слово «Стартап» уже порядком набило оскомину, поэтому буду употреблять «Свой проект». В статье будет много философии и аналитики. Так как без этог...

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

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

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

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

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

[Перевод] Как написать сопроводительное письмо при поиске работы в США: 7 советов На протяжение многих лет в США была распроcтранена практика требовать претендентов на различные вакансии не только резюме, но еще и сопроводительное письмо (cover letter). В последние годы важность этого аспекта начала снижаться – уже в 2016 году сопроводительные письма тр...

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

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

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

Часть 5/2 корп. 1: Перекрёсток проспекта RocketChip и скользкой дорожки инструментации В предыдущих четырёх частях велась подготовка к экспериментам с RISC-V ядром RocketChip, а именно, портирование этого ядра на «нестандартную» для него плату с ПЛИС фирмы Altera (теперь уже Intel). Наконец, в прошлой части на этой плате получилось запустить Linux. Знаете, что...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

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

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache ...

Элементарно, Watson: вы интегрируетесь с Voximplant Работа с естественными языками (NLU, NLP) – зона активной конкуренции между IT-гигантами. Равно как и развитие ИИ. Ну и, соответственно, пересечение этих множеств – тоже горячая ниша, за которой интересно наблюдать и осваивать новое. Voximplant давно подружился с гугловским...

[Перевод] «Алгебраические эффекты» человеческим языком Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех. Вы слышали об алгебраических эффектах? Мои п...

ATtiny13 против ПЛК, или как получить 14 I/O от контроллера с 8 ногами Прежде чем приступить, хотел бы предупредить рьяного читателя. То, что я описываю, делать нельзя по многим причинам, эти причины вам радостно укажут в комментариях, и я ни коим образом не призываю так делать. И ни в коем случае я не утверждаю, что описанным ниже устройст...

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

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

5-6 причин прийти на GolangConf Если вы бывали на HighLoad++, то знаете о традиционном митапе по Go. Активисты, интересующиеся Go, занимали зал на пару часов, представляли небольшие доклады, обсуждали насущные темы, холиварили. Были на HighLoad++ и отдельные доклады по Go. Теперь, нам кажется, что Go-сооб...

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

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

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

[recovery mode] О важных “невидимых" вещах — доверии, культуре и ценностях Я — Head of Product в RealtimeBoard. Я люблю дерзкие цели и постоянно думаю о том, где нас ждут новые горизонты, как улучшить результаты, как завтра стать лучше, чем мы были вчера. И ещё я много думаю о том, насколько важна в этом увлекательном путешествии команда. Мы много ...

Detox и Appium: автоматизированный тест интерфейса в React Native Незнакомая мобильная среда Я, возможно, также как и вы, пришел к React Native как разработчик JavaScript нежели как разработчик нативных мобильных приложений. Абсолютно новый мир со своими нюансами и хитростями. Одной из самых важных тем для изучения станет тестирование. ...

[Перевод] Что нового в RxJS v6.5 В этом посте мы поговорим о новых возможностях и доработках последней версии RxJS 6.5.0. Читать дальше →

Из Groovy ушёл Cédric Champeau‏ В проекте Apache Groovy перестаёт участвовать один из ключевых участников сообщества, само имя которого у многих ассоциировалось с этим языком. Уходит Седрик Шампо, известный в первую очередь как автор статического компилятора Groovy. Если рассмотреть причины ухода в том ...

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

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

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

Oh, My Code: Как работает MAPS.ME MAPS.ME — карты №1 для путешественников. Сегодня это 110 млн установок по всему миру, возможность добавлять авторские туристические маршруты и самостоятельно менять карты. Как работает уникальный проект для путешественников, рассказывает его руководитель Евгений Лисовский. ...

Бэкенд, машинное обучение и serverless — самое интересное с июльской конференции Хабра Конференция Хабра — история не дебютная. Раньше мы проводили довольно крупные мероприятия Тостер на 300-400 человек, а сейчас решили, что актуальными будут небольшие тематические встречи, направление которых можете задавать и вы — например, в комментариях. Первая конференция...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

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

Искусственный интеллект на примере простой игры. Часть 2 В этот раз выбрана игра «Змейка». Создана библиотека для нейросети на языке Go. Найден принцип обучения, зависимый от «глубины» памяти. Написан сервер для игры между разработчиками. Читать дальше →

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 8. Настройка свитча Добро пожаловать в мир свитчей! Сегодня мы поговорим о коммутаторах. Предположим, что вы – сетевой администратор и находитесь в офисе новой компании. К вам подходит менеджер со свитчем «из коробки» и просит его настроить. Возможно, вы подумали, что речь идет об обычном элект...

До чего дошел прогресс. Всем доброго вечера,а кому то и ночи. Вот наконец то,спустя месяц как я стал чудесным обладателям 3д принтера Anet A6 дошли руки до первого моего поста в жизни.Я родился в СССР и не привык писать посты мы тогда писали сочинения и изложения,ну ладно речь сейчас не об этом это...

Asus готовит пару интригующих смартфонов: Zenfone Max Plus M2 и Zenfone Max Shot Если смотреть на статистику аналитических агентств, Asus сегодня — не самый крупный вендор смартфонов. Но у компании есть несколько таких устройств, которые пошли в массы очень хорошо. Если компания продолжит выпускать подобные гаджеты, то у неё есть все шансы значительно ...

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

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

Школа разработки интерфейсов: разбор заданий для Минска и новый набор в Москве Сегодня открылся новый набор в Школу разработки интерфейсов Яндекса в Москве. С 7 сентября по 25 октября пройдёт первый этап обучения. Студенты из других городов смогут в нём поучаствовать дистанционно или очно — компания оплатит дорогу и проживание в хостеле. Второй, он же ...

Как изменения в Google Play повлияют на ASO В середине марта прошла конференция Game Developers Conference (GDC 2019), на которой Google представила обновления своего Google Play Store. Обновление нацелено на совершенствование процесса разработки приложений и игр под Android и поддержку общего роста рынка мобильных иг...

Какие смартфоны получили Android 10 Android 10 — уже вышла. Осталось только скачать За что пользователи любят Google Pixel? Нет, не только за чистый Android, хотя и он для многих имеет определяющее значение. Раньше купить Google Pixel означало гарантировать себе получение всех обновлений раньше, чем они ...

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

[Из песочницы] Развёрнутый ответ на комментарий, а также немного о жизни провайдеров в РФ Сподвиг меня на этот пост вот этот вот комментарий. Привожу его здесь: kaleman сегодня в 18:53 Меня сегодня порадовал провайдер. Вместе с обновление системы блокирования сайтов, у него под бан попал почтовик mail.ru С утра дергаю техподдержку, ничего сделать не могут. Пров...

Как мы в Parallels покоряли Sign In with Apple Думаю у многих уже после WWDC 2019 на слуху Sign In with Apple (кратко SIWA). В материале я расскажу с какими конкретно подводными камнями пришлось столкнуться при интеграции этой штукенции в наш лицензионный портал. Данная статья не совсем для тех, кто только решил разобр...

ДУ с внешним триггером для камер SONY HDR на ESP8266 Компания SONY, решив показать себя на рынке экшен камер, выпускает линейку устройств HDR. Поманив клиентов привлекательной начинкой — хорошая матрица, быстрый процессор, цейсовская оптика и электронный стабилизатор изображения при маленьком весе, компания показывает свое «и...

[Перевод] Фильму «Офисное пространство» 20 лет: как он изменил наши рабочие места В 1999 году фильм мастерски спародировал одновременно рутинную и нелепую офисную жизнь. Что с тех пор поменялось? "Офисное пространство" стал характерным фильмом, высмеивающим корпоративную банальность. В феврале ему исполнилось 20 лет, и если пересмотреть его сегодня, ста...

Обновление* Ethereum «Constantinople» откладывается из-за найденной в последний момент потенциальной уязвимости *многие называют это событие «hard fork»-ом, но «Виталик» против. Долгожданный релиз Constantinople должен был состояться 17 января, в 4AM UTC, однако, в очередной раз жестоко обломав несметную армию разработчиков countdown счетчиков этому не суждено будет сбыться. Читать ...

Почему больше не выпускают смартфоны на Windows: откровения Билла Гейтса В своем недавнем интервью основатель Microsoft Билл Гейтс рассказал о причине того, почему на смартфонах так распространена система Android, а не Windows. Все дело в сорванной десять лет назад сделке.

[recovery mode] Gradle + LLVM Этот небольшой пост может оказаться полезен тем, кто хотел бы быстро начать работать с LLVM, не заморачиваясь с закачкой исходников и просторойкой фреймворка. Кто не хотел бы ковыряться в малопонятных скриптах CMake-а чтобы добиться ожидаемого результата, ну и наконец, прост...

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

[Перевод] Как работает Flutter Как Flutter работает на самом деле? Что такое Widgets, Elements, BuildContext, RenderOject, Bindings?.. Сложность: Новичок Вступление В прошлом году (прим: в 2018), когда я начал свое путешествие в сказочный мир Flutter, в Интернете было очень мало информации по сравнению с...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Внедряем Sign in with Apple в свое iOS приложение На WWDC 2019 Apple в очередной раз нарушила покой iOS разработчиков — представила новую систему авторизации пользователей Sign in with Apple. Теперь все iOS приложения, которые используют сторонние системы авторизации (Facebook, Twitter, etc.), должны в обязательном порядке ...

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

Google пообещала решить проблему спама в Календаре. Наконец-то! Я календарь переверну Спам уже давно воспринимается как неотъемлемое явление современного интернета, которое постепенно перекочевало из почты в календари. Ни у «Календаря iCloud», ни у «Google Календаря» нет от него защиты, а потому их пользователи вынуждены либо мириться с ...

[Перевод] (Не очень) скрытые издержки общей кодовой базы iOS и Android До недавнего времени у Dropbox была техническая стратегия использовать общий код C++ для мобильных приложений iOS и Android. Идея понятна: написать код один раз на C++ вместо его дублирования отдельно на Java и Objective C. Мы приняли эту стратегию ещё в 2013 году, когда гру...

У дизайнера новая идея? Что может быть проще Привет, хабровчанин! Дизайнеры люди идейные, а заказчики с их бизнес-требованиями, тем более. Представь, что ты сваял свой самый лучший UIkit на свете на самом крутом %вставить свое% JS фреймворке. Казалось бы, там есть все, что нужно проекту. Теперь-то ты сможешь пить коф...

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

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

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

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

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

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

devleads — поговорим о профессиональном выгорании Привет! В рамках проекта devleas мы с ребятами решили сделать подкаст для всех неравнодушных к менеджменту в IT-сфере — тимлидов, руководителей разработки и им подобных. Кто мы: Я, Илья Царев, руководитель мобильной разработки Альфа-Банка. Илья Кузнецов, imJustik, iOS-ти...

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

[Перевод] PowerShell в роли инструмента для пентеста: скрипты и примеры от Varonis Хакеры любят использовать PowerShell для запуска «fileless malware» — бестелесных вредоносных программ, которые не являются традиционными бинарными файлами с компилированным вредоносным кодом, и по этой причине подчас не могут быть обнаружены антивирусными решениями. Powe...

[Перевод] Почему для открытия меню Windows читает один файл сто тысяч раз? «Проводник тратит 700 мс на то, чтобы открыть контекстное меню панели задач. 75% этого времени он выполняет 114 801 операцию считывания из одного файла, средний объём считываемых данных 68 байт. Мне стоит написать пост об этом, или достаточно саркастичного твита?» За комп...

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

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

Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами Я повесил у себя в подвале боксерскую грушу, приклеил на нее стоковое фото типичного менеджера и запихал внутрь динамик, чтобы он проигрывал фразы, которые меня злят. Например, груша говорит: «Бизнесу не нужен твой идеальный код. Ему нужно решить проблему так, чтобы прибыл...

Разработка долгостроя Exiles of Embermark приостановлена, авторы работают над кликером Dungeoning Многообещающая RPG Exiles of Embermbark разрабатывается уже много лет. У нас на сайте можно найти посвященные ей новости за 2016 год, где предполагалось, что уже осенью стартует бета-тест, а затем и релиз. Спустя 3 года проект так и не вышел, а сегодня разработчики объявили,...

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

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

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

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

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

Huawei Mate 20 не идет ни в какое сравнение с Xiaomi Mi 9, о чем заявил лично глава Xiaomi Сегодня компания Xiaomi представила флагманский смартфон Xiaomi Mi 9, который был практически моментально распродан. Что бы компания ни говорила об увеличении объема поставок, по факту найти смартфон в свободной продаже пока нельзя. Исполнительный директор Xiaomi Лей Цз...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

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

Некоторые аспекты оптимизации LINQ-запросов в C#.NET для MS SQL Server LINQ вошел в .NET как новый мощный язык манипуляции с данными. LINQ to SQL как часть его позволяет достаточно удобно общаться с СУБД с помощью например Entity Framework. Однако, достаточно часто применяя его, разработчики забывают смотреть на то, какой именно SQL-запрос буде...

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

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

[Перевод] Грокаем DLR Предисловие переводчика Это скорее вольный пересказ, а не перевод. Я включил в эту статью только те части оригинала, которые имеют непосредственное отношение к внутренним механизмам работы DLR или объясняют важные идеи. Примечания будут заключены в квадратные скобки Многие...

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

Выпуск Rust 1.37.0: Profile-Guided Optimization, неименованные константы и cargo vendor Представляем вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.37.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное...

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...

MIDI-router на Raspberry Pi Хочу рассказать о том, как решить проблему, которая наверняка знакома любителям аппаратных синтезаторов. Что делать, если хочется состыковать MIDI-контроллер и синтезатор, но у одного из них есть только USB разъем и нет MIDI? Причем, по понятным причинам хочется все это сдел...

[Из песочницы] Мой опыт подготовки к экзамену JIRA Administrator ACP-100 Приветствую! В апреле 2018 успешно сдал экзамен по JIRA ACP-100, в октябре 2018 сдал экзамен по confluence ACP-200. Решил написать пост о том, как я готовился к экзамену JIRA ACP-100, дать советы для тех кому эта тема может быть интересна. Я опишу процесс своей подготовки к...

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

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

Безликий код убьет программирование, и ничего мы с этим не сделаем Во время очередного спора знакомый озвучил мысль, которая меня очень сильно задела. «В большинстве популярных ЯПов существует очень много разных путей сделать одно и то же. Это приводит к проблемам. А вот в Go всё не так. Философия языка такова, что на Go разные разработчик...

Стажировка Sberseasons: Python, UX/UI, Data и ещё много чего для студентов Привет, Хабр! Этот пост написан специально для студентов. Если вы уже состоявшийся профессионал, лучше посмотрите, как в gif’ках выглядит жизнь Open Source разработчика, а если вы студент, да еще с ИТ-шной специальностью, добро пожаловать под кат. Чем хороша наша программ...

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

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

Askozia. Как работает Autoprovisioning Plug & Play При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему. Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil. Основные достоинства автоматической настройки ...

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

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

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

[Перевод] Что такое качественная idle-анимация? Разработчики делятся своими любимыми примерами Создание связи игрока с персонажем, раскрытие подробностей его личности, чтобы он был для игрока уникальным — сложная задача, и как решить её всего несколькими простыми движениями? Анимации ожидания (Idle animations), эти небольшие всплески движения, когда игрок ненадолго ...

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

Куда пропали лайки в Instagram и как их посмотреть Лайк, репост, подписка – эти слова знакомы, наверное, каждому, кто хоть раз был в интернете. Меньше чем за 10 лет они превратились из меры качественного контента в обязательный атрибут успешной личности и даже товар, который с удовольствием продают и покупают. Дошло до того...

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

О чём писать в White Paper и как её использовать для продвижения ИТ-продукта? В начале 2019 года один ИТ-клиент поставил передо мной задачу — написать White Paper (она же «белая книга», официальная публикация, «вайт пейпер» и т. д.). А я никогда этого раньше не делал, хотя контент-копирайтингом занимаюсь давно. Решил поискать в Рунете — одна «SEO-вода...

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

[Екатеринбург, анонс] Митап для Java-разработчиков Мы уже писали, что такое JUG.EKB и зачем проводим митапы для Java-разработчиков. Сегодня анонсируем очередную встречу. Читать дальше →

SP701 + PCAM-5C + 15 Минут+ VITIS = Easy MIPI на FPGA Аннотация Интерфейс MIPI сегодня становится всё более популярным интерфейсом для подключения камер и дисплеев. По этой причине всё больше отладочных комплектов на основе FPGA содержат на борту соединители интерфейса MIPI – как для подключения камер(ы) и дисплея(ев). Для того...

[Из песочницы] Google Camera — хайп или замена зеркалки? Все мы знаем про популярное приложение Google Camera (дальше GCam). О нем говорят везде: 4PDA, XDA, на всех официальных форумах о телефонах. Практически каждый владелец устройства пытается найти на свой девайс GCam, потому что их телефоны уже не имеют поддержку производителя...

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

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

[Из песочницы] Опыт переезда iOS Developer в Германию по визе на поиск работы Добрый день, дорогой читатель! В этом посте я бы хотел рассказать о том, как я переехал в Германию, в Берлин, как нашел работу и получил Голубую Карту, и какие подводные могут ожидать людей, решивших повторить мой путь. Я надеюсь, что моя статья будет полезна тебе, если ты ...

Преобразование полигональных моделей в граничное представление: алгоритм и примеры кода В большинстве систем проектирования (САПР) основным представлением моделируемого объекта является граничное представление геометрии или B-rep (Boundary representation). Но все чаще пользователям САПР приходится иметь дело с полигональными моделями, например, полученными в ре...

Функции Android, которые Apple скопировала в iOS 13 Одна из претензий, которую фанаты Apple предъявляют любимой компании, состоит в том, что ее руководство перестало следовать заветам Стива Джобса. Якобы с приходом Тима Кука на пост генерального директор Apple изменила своим традициям, сформированные на собственном опыте ее ...

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

[Перевод] Трудно быть мейнтейнером проекта Open Source Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой пр...

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

Риски Open Banking Волны цифрового шторма накрывают всё больше секторов экономики, формируя новую реальность. Финансовая отрасль не стала исключением: страны одна за другой разрабатывают и внедряют революционный подход к работе кредитных учреждений — концепцию открытого банкинга или Open Ban...

Павел Финкельштейн о Kotlin в production на jug.msk.ru 13 марта 2019 года в офисе компании КРОК прошла очередная встреча сообщества московских Java-разработчиков jug.msk.ru, на которой Паша Финкельштейн рассказал о своём опыте использования языка программирования Kotlin. Читать дальше →

Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной раб...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

[Из песочницы] Идея, как можно предоставлять сотрудникам временный доступ к ресурсам клиента, не светя лишний раз пароли Небольшая предыстория После лекции на HighLoad++ 2017. Я посмотрел этот доклад, “Как мы админа увольняли”, в записи. Докладчик сказал, что все web компании испытывает проблемы с паролями, и у меня появилась идея как это решить. Скорее всего кто-то уже сделал, но, если честно...

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

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

Tutu.ru backend meetup Приглашаем бэкенд-разработчиков обсудить кайф и боль серверной разработки в четверг, 19 сентября, в 19.00. Программа: 18:30 — 19:00 — регистрация 19:00 — 21:30 — доклады и свободное общение. ​​​В перерывах между докладами можно выпить кофе и перекусить пиццей. Читать дал...

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

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

Что такое DevOps Определение DevOps очень сложное, поэтому приходится каждый раз запускать дискуссию об этом заново. Только на Хабре тысяча публикаций на эту тему. Но если вы это читаете, то наверняка знаете, что такое DevOps. Потому что я — нет. Привет, меня зовут Александр Титов (@osminog)...

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

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

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

Как мы дорабатываем продукт под конкретного клиента Итак, мы продали клиенту программный B2B продукт. На презентации ему все нравилось, но в ходе внедрения выяснилось, что кое-что все-таки не подходит. Можно конечно сказать что нужно следовать “best practice”, и изменить себя под продукт, а не наоборот. Это может сработат...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 12. Углубленное изучение VLAN Сегодняшний урок мы посвятим продвинутому изучению VLAN. Прежде чем начать, напомню еще раз, чтобы вы не забывали делиться этими видео с друзьями и ставить лайки на нашем канале YouTube и в группе на Facebook. Сегодня мы изучим три темы: Native VLAN, VTP (VLAN Trunk Protocol...

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

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

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

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

«Изолировать интернет намного легче и дешевле, чем обеспечить его работу в случае внешней блокировки» Интервью с экспертом из крупнейшего телеком-оператора о законе об изоляции рунета Чтобы разобраться, какие будут последствия у недавно принятого закона об изоляции рунета, мы (авторы проекта «Россия 404») поговорили с Юрием, руководителем департамента технического обслуживан...

[Перевод] Измените свой образ мышления, работая с SwiftUI На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки ...

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

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

28 октября, Екатеринбург — QAчественное общение Привет! В этот раз — Екатеринбург. На очередном митапе для тестировщиков будет три доклада от наших ребят, бесплатный вход для тех, кто заранее зарегистрировался, и онлайн-трансляция (появится в этом же посте в день митапа). Доклады и адрес — под катом. Читать дальше →

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

Robotic Process Automation — новый взгляд на старые технологии Если сегодня приходишь в МФЦ по любому вопросу, уйма времени уходит на ожидание: пока сотрудник введёт информацию из разных документов в требуемые формы, поставит какие-то галочки, отправит какие-то запросы… А представьте себе прекрасное будущее: так же приходишь в МФЦ, да...

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 21. Дистанционно-векторная маршрутизация RIP Тема сегодняшнего урока – RIP, или протокол маршрутной информации. Мы поговорим о различных аспектах его применения, о его настройке и ограничениях. Как я уже говорил, тема RIP не входит в учебный план курса Cisco 200-125 CCNA, однако я решил посвятить этому протоколу отдель...

This content is not available in your country: новости, которые вы не сможете узнать из России Один из самых простых способов заблокировать ту или иную информацию (читай — тот или иной ресурс) — это запрет доступа к нему по географическому признаку. Сама блокировка может быть связана с самыми разными причинами — если это медиасервис, то чаще всего это вопросы с ли...

[Перевод] Lombok возвращает величие Java Мы в Grubhub почти во всём бэкенде используем Java. Это проверенный язык, который за последние 20 лет доказал свою скорость и надёжность. Но с годами возраст «старичка» всё-таки начал сказываться. Java — один из самых популярных языков JVM, но не единственный. В последние...

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

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

Управляем Windows Server из Windows Admin Center В данной статье мы продолжаем рассказывать про работу с Windows Server Core 2019. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows Server ...

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных ...

DevConfX::Management – доклады управленцев простыми словами Привет, Хабровчане! Очень скоро пройдет юбилейная, десятая конференция DevConf. В рамках секции менеджмента эксперты поделятся своим опытом и своими знаниями в сфере управления. Представляем вашему вниманию некоторые из докладов секции: Страх и ненависть работы в высокотехн...

Вышли на пенсию — обсуждаем когда-то популярные аудиогаджеты, которые уже «устарели» Три года назад журнал Time опубликовал рейтинг устройств, изменивших мир. В него попало большое количество аудиогаджетов, например плееры Sony и Apple iPod. Но сегодня многие из них уже устарели. Говорим об аудиоустройствах, которые в свое время наделали много шума. Читать...

«Волшебное слово» для работодателей – опыт ИИБС НИТУ «МИСиС» Если верить порталу HH.ru, то специалисты по Big Data, сложным информационным системам, прочие архитекторы IT-решений и PLM- консультанты – сегодня одни из самых завидных женихов. Извиняюсь, востребованных и высокооплачиваемых профессионалов. Big Data Engineers, к примеру, п...

Шутер с контентом на 40 минут Bright Memory Mobile доступен на iOS по цене 299 рублей Месяц назад мы рассказывали о шутере Bright Memory, разработкой которого занимается всего один разработчик. Изначально это ПК-проект в режиме пробного запуска, который перебрался на мобильные по одной простой причине — у разработчика закончились деньги на работу над ним. Он...

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

[Перевод] О [[trivial_abi]] в Clang-е Наконец-то я написал пост про [[trivial_abi]]! Это новая фирменная фича в транке Clang-а, новая по состоянию на февраль 2018. Это вендорское расширение языка C++, это не стандартный C++, она не поддерживается транком GCC, и нет активных предложений WG21 включить её в станда...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

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

Личный опыт. Как мы подключали международную телефонию: сравнение 6 виртуальных АТС Не так давно я столкнулся с необходимостью выбора виртуальной АТС. В бизнесе моей компании произошли кое-какие изменения: появились новые услуги, в том числе направленные не только на сегмент b2b, но и на b2c. А с появлением частных клиентов оказалось и что многие люди по-...

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

[recovery mode] Как я отказался от Ruby в пользу Python, работая над бэкендом Перевели для вас статью Бенуа Зен, разработчика ПО в компании Sqreen. Бенуа работает над backend веб-сервиса и недавно перешел с Ruby на Python. В 2008 году, когда я еще учился на разработчика ПО, два моих друга решили основать компанию, назвав ее Feedbooks. Их целью бы...

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

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

[Перевод] 20 лет RollerCoaster Tycoon: интервью с создателем игры 31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году. Сегодня мало кто помнит имя шотландского программиста ...

[Из песочницы] Механизм контроля версий базы данных в GIT (управление дампами MySQL) Привет, любители Хабра! Сегодня я решил поделиться своим вариантом бекапа данных из MySql и рассказать о том как его можно использовать для контроля версий в Git. И если вам интересно узнать, как можно контролировать состояние базы данных на всех этапах разработки, или прост...

[Из песочницы] Динамическое изменение схемы JSON в Go с помощью gob Значимо изменить маршализацию структуры в json можно только через метод MarshalJSON(), написав там полную реализацию маршализации. Как именно? На это документация Go ни ответов, ни рекомендаций не даёт, предоставляя, так сказать, полную свободу. А как воспользоваться этой св...

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

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

С Днём работника технической поддержки 1 августа — день работника технической поддержки в России (международный — 16 мая). Упоминаний о нём не так много и он не так популярен как день программиста, но почему бы и нет? Техническая поддержка, саппорт, справочная служба — эти ребята отвечают на тысячи сложных, прост...

Selenium, Selenoid, Selenide, Selendroid… Что все это значит? Привет, Хабр! В мире автоматизации новичку ориентироваться довольно сложно. Приходится узнавать множество понятий, разбираться в особенностях существующих инструментов. Например, вот: Selenium, Selenide, Selenoid, Selendriod — что это, чем отличается? Да и можно ли их сравн...

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

Двухфакторная аутентификация на сайте с использованием USB-токена. Теперь и для Linux В одной из наших предыдущих статей мы рассказывали про важность двухфакторной аутентификации на корпоративных порталах компаний (https://habr.com/ru/company/aktiv-company/blog/412809/). В прошлый раз мы продемонстрировали, как настроить безопасную аутентификацию в web-серве...

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

Правда о железнодорожных тормозах: часть 1 Кинетическая энергия «Сапсана» на максимальной скорости — свыше 1500 мегаджоулей. Для полной остановки вся она должна быть рассеяна на тормозных устройствах Было дело, просили меня поподробнее раскрыть эту тему именно здесь, на хабре. Здесь публикуется довольно много обзор...

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

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

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

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

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

[Перевод] Почему я отказался от работы в AWS Когда я говорю об AWS, то стараюсь быть объективным. Если они сделали что-то хорошее, я рассказываю об этом — и люди мне верят, потому что я обязательно дам знать, когда они сотворят какую-то фигню. Сегодня такой случай. 26 июля 2019 года Amazon подала в суд на бывшего м...

Что почитать по PHP на русском? PHP — один из самых популярных языков программирования. А ещё это язык, для изучения которого не так просто найти качественную книгу. Что ж, мы вместе с командой GeekBrains заглянем в интернет-магазин и посмотрим, что стоящего можно найти сегодня по PHP на русском языке. Ч...

Работа с сервисом Managed Databases от Digital Ocean в .NET Core В том время, как у других облачных платформ уже давно есть свои решения для баз данных, Digital Ocean в этом сегменте до сегодняшнего дня ничего не предлагал. Но 14 февраля, в день всех влюбленных, компания решила сделать подарок своим клиентам и в режиме Limited Availabil...

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

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

3-ий Тест Тьюринга: условия участия и призы победителям Месяц назад мы рассказывали о том, что собираемся провести очередной Тест Тьюринга на русском языке в рамках конференции по искусственному интеллекту Opentalks.AI 14-16 февраля. Зарегистрироваться на конкурс ещё можно успеть сегодня, 12 февраля, до 23:59 по московскому време...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 4. Межсетевые устройства Сегодня мы узнаем о межсетевых устройствах и рассмотрим все устройства, которые требуются для вашей программы CCNA. У нас в Cisco имеется множество устройств, но для успешной сдачи экзамена вам достаточно будет знать всего о трёх устройствах. В конце этого видеоурока мы расс...

ТЕСТ: Сумеете ли вы поладить с непростым клиентом? Общение с клиентами — дело не из простых. К каждому нужен особый подход. «Внесите правочки», «Мне не нравится», «Срочно переделать» — ух, от таких фраз и нервный тик может начаться! Проверьте, получится ли у вас найти общий язык с самыми привередливыми заказчиками и с ловкос...

[Перевод] Как опубликовать консольную утилиту на PyPI за 1 минуту Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 201...

Шестерни в Box2D Добрый день, дорогой читатель! Это уже четвертая статья по Box2D. И здесь я предложу готовое решение для программистов. Мне самому нужны были шестерни для моего проекта, и я сделал 4-х, 6-и, 12-и и 24-х зубчатые колеса. Код занял 2115 строк, 4 дня работы. И я хочу поделиться...

Виртуальный Джинн на 8 марта — или как удивить своих сотрудниц в самый весенний день Завтра по всему миру мы будем отмечать самый женский день в году. И это прекрасно! Но это значит, что сегодня — день, когда мы поздравляем наших дорогих сотрудниц. И каждый год мы (мужская часть трудового коллектива) думаем, как бы сделать это по-особенному… Цветы, вечерни...

Резюме того парня Друзья, нам с вами несказанно повезло. Тот парень еще не уехал, и я выпросил у него резюме. Не потому, что хочу взять его на работу — не тот я человек. Просто мне кажется, оно стоит того, чтобы быть опубликованным. Хотя бы потому, что в нем 22k букв. Вы еще где-нибудь такой ...

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

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

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

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

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

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

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

Student Talks: Аналитика. Материалы для начинающих 25 апреля мы провели очередной митап Avito Student Talks, в этот раз он был посвящён аналитике: карьерному пути, Data Science и продуктовой аналитике. После встречи мы подумали, что её материалы могут быть интересны самой широкой аудитории и решили ими поделиться. В посте — ...

«Электрический штат» — теперь однозначно Обложка книги Electric State. Источник: Amazon Думаю, многие знают цифрового художника Саймона Сталенхага, рассказывающего в своих работах немного странную, но завораживающую историю приключений девочки и жёлтого робота в некоем постапокалиптическом\киберпанковом мире. Не...

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

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

Энергия, тепло и вода: часть вторая Рассмотрим следующий этап развития схемы умного дома из подручных средств :) (продолжение, первая статья тут). Решаемые задачи: Защита от протечек + Удалённое управление + Знать состояние ввода воды (перекрыто или открыто) Знать давление и температуру теплоносителя в кон...

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

Как накормить миллионы китайцев за полчаса Привет! На связи команда инноваций Х5 Retail Group #x5lab. Новые технологии в ритейле – прорывные кассы самообслуживания, мониторинги очередей, роботы на распределительных центрах, терминалы лояльности и многое другое – это к нам. Но сегодня мы хотим рассказать не об этом, а...

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

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

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