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

[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...

[Перевод] Исследование глубин аннотаций типов в Python. Часть 1 C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «...

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

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

[Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vu...

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

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени. Давайте рассмотрим команды, которые действит...

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

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

[Перевод] Что записано в this? Закулисье JavaScript-объектов JavaScript — это мультипарадигменный язык, поддерживающий объектно-ориентированное программирование и динамическую привязку методов — мощную концепцию, которая позволяет структуре JavaScript-кода меняться во время выполнения программы. Это даёт разработчикам серьёзные возмож...

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 1 Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода. В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентс...

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

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2 Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone. Читать дальше →

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

[Перевод] 10 малоизвестных возможностей инструментов разработчика Chrome Автор заметки, перевод которой мы публикуем, пользуется инструментами разработчика Chrome почти каждый день. Здесь он хочет рассказать о малоизвестных возможностях этих инструментов. Он говорит, что если бы знал о них раньше, то ему они точно бы пригодились. Читать дальше ...

[Перевод] Electron: разработка настольных приложений с использованием HTML, CSS и JavaScript Можно ли, используя HTML, CSS и JavaScript, создавать настольные приложения? Автор статьи, перевод которой мы сегодня публикуем, даёт утвердительный ответ на этот вопрос. Здесь он расскажет о том, как, применяя веб-технологии и пользуясь возможностями фреймворка Electron, со...

[Перевод] Профилирование кода Go-проекта и решение проблемы с выделением памяти Пожалуй, каждому программисту известны слова Кента Бека: «Make it work, make it right, make it fast». Сначала надо сделать так, чтобы программа работала, дальше — надо заставить её работать правильно, а уже потом можно переходить к оптимизации.  Автор статьи, перевод кото...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

[Перевод] Примеры использования некоторых новых возможностей JavaScript Автор материала, перевод которого мы сегодня публикуем, говорит, что новые возможности JavaScript, которые попали в стандарт ES2019, уже официально доступны в браузерах Chrome, Firefox и Safari, а также на платформе Node.js. Если нужно поддерживать устаревшие браузеры, то во...

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

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

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

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

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

[Перевод] Создаём портативную платформенную игру на микроконтроллере Cortex M0+ Введение (Ссылки на исходный код и проект KiCAD приведены в конце статьи.) Хотя мы родились в 8-битную эпоху, нашим первым компьютером был Amiga 500. Это великолепная 16-битная машина, обладавшая потрясающими графикой и звуком, благодаря чему она отлично подходила для игр....

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

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

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

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

[Перевод] Метрики производительности для исследования невероятно быстрых веб-приложений Есть одно высказывание: «Что ты не можешь измерить, то ты не можешь улучшить». Автор статьи, перевод которой мы сегодня публикуем, работает в компании Superhuman. Он говорит, что эта компания занимается разработкой самого быстрого в мире почтового клиента. Здесь речь пойдёт ...

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

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

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

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

[Перевод] Grid или Flexbox? Мишель Баркер, автор материала, перевод которого мы сегодня публикуем, говорит, что недавнее обсуждение в Twitter, начатое Крисом Койером, заставило её задуматься о том, как веб-разработчики делают выбор между технологиями CSS Grid Layout и CSS Flexbox Layout при разработке ...

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

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

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

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

[Перевод] Профессиональная контейнеризация Node.js-приложений с помощью Docker Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docke...

Геймплейный ролик головоломки Photographs с GDC 2019 Пока Google на GDC делилась планами по революции в игровой индустрии, обычные разработчики традиционно показывали свои игры. Редакторы портала Touch Arcade сыграли в головоломку Photographs от автора 10000000 и You Must Build a Boat, которая выйдет уже 3 апреля. Несмотря на...

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

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

[Из песочницы] JavaScript в 3D: введение в Three.js Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron). Введение Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач...

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

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

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

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1) Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, по...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

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

[Из песочницы] Навигация в кроссплатформенных приложениях: почему NavController победил angular/router в Ionic 4 Всем привет! Меня зовут Никита Жигамовский, программист в KitApp и я хочу рассказать о своем опыте построения навигации в Ionic 4: проблеме, с которой столкнулся, и ее решении. Я занимаюсь разработкой кросс-платформенных решений для мобильных приложений с 2018 года. Рань...

.NET: The Good Parts — от CLR до сообщества Хотите повстречаться с Джоном Гэллоуэем (исполнительным директором .NET Foundation), Павлом Йосифовичем (автором легендарной «Windows Internals» и новых курсов на Pluralsight)? Или может быть, с Алексом Тиссеном — 12-кратным MVP в категории Visual Studio? Или пройти тренинг ...

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

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

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 2 Сегодня мы публикуем вторую часть перевода материала, который посвящён использованию JS-модулей в продакшне. → Кстати, вот первая часть статьи. Читать дальше →

[Перевод] Smem – Отчеты о распределении памяти между процессами и пользователями в Linux И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux». Управление памятью в вопросах мониторинга ее использования – о...

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

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

[Перевод - recovery mode ] Секретные хаки VS Code Не имеет значения, новичок вы или профессионал, удобные инструменты программирования важны для любого человека, который хочет писать код продуктивно. Я подготовил небольшую подборку полезных советов, хитростей и расширений для современного веб-разработчика. Улучшаем вне...

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

[Перевод] Руководство по ML.NET — первое приложение за 10 минут В прошлом году мы представили ML.NET, кросс-платформенную и открытую систему машинного обучения для разработчиков .NET. За это время она очень сильно развилась и прошла через множество версий. Сегодня делимся руководством по тому, как создать свое первое приложение на ml.net...

[Перевод] 14 советов по написанию чистого React-кода. Часть 1 Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что сп...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

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

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

[Перевод] Инструментарий для анализа и отладки .NET приложений Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в коммента...

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

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

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

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

[Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь...

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

[Из песочницы] Как сойти за хорошего программиста Привет, Хабр! Представляю вашему вниманию перевод статьи «How To Fake Being a Good Programmer» автора Stan Sootla. Программисты – это, своего рода, волшебники: слегка потрепанные персонажи-бедняки, которые умеют превращать кофе в строчки кода. Я не владею магией, я всего ...

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

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

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

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

[Перевод] Ленивая загрузка изображений средствами браузера Автор материала, перевод которого мы сегодня публикуем, Эдди Османи из Google, говорит, что уже в Chrome 75 вполне может появиться поддержка нового атрибута элементов <img> и <iframe> loading. Это означает, что данные элементы будут поддерживать стандартные возмо...

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

[Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы ...

В Apple Arcade добавлено 6 новых игр, теперь их ровно 100 Сегодня в Apple Arcade добавлено шесть новых игр, а общее количество тайтлов составило обещанную сотню, пишет Engadget. Discolored от разработчика Shifty Eye: сюрреалистическая приключенческая игра-головоломка от первого лица, которая ставит перед вами задачу восстановить ц...

Habr Weekly #24 / Как провести телефонных мошенников, робот за 800к ₽, конкурс авторов на Хабре, почти российский SSD Если вам есть что сказать на темы, которые мы обсуждали в выпуске, присылайте нам свои мысли голосовым сообщением через телеграм-бота t.me/habrpodcast_bot. Мы выберем несколько мнений и добавим их в следующем выпуске. Если вам удобнее слушать подкасты в телеграме, но вы не...

Студия Happy Doze ищет бета-тестеров для динамичного мультиплеерного 2D-шутера mini PVP Осенью прошлого года на iOS вышел динамичный соревновательный платформер Planet Runners. У его разработчиков в портфолио есть еще один проект, BIT QUAKE, представляющий собой мультиплеерный шутер с видом сбоку. Анонсированная сегодня игра mini PVP – это смесь двух прошлых пр...

Redux. Простой как грабли Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом. TL;DR: базовая логика redux помещается в 7 ст...

Привет от программистов 80-х Современных программистов можно назвать баловнями. К их услугам — мощнейшие среды разработки, множество языков программирования. А всего 30 лет назад учёные и энтузиасты-одиночки писали программы даже на калькуляторах. Осторожно, под катом много фотографий! Читать дальше ...

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

[Из песочницы] Как написать легко описываемый код Привет, Хабр! Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз? Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуа...

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

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

На пути к физическим принципам биологической эволюции. Окончание + полный текст перевода Сокращенный перевод статьи М. Кацнельсона, Ю. Вольфа и Е. Кунина Towards physical principles of biological evolution Mikhail I. Katsnelson, Yuri I. Wolf, Eugene V. Koonin Оригинал статьи (Две предыдущие части уже были опубликованы: начало и продолжение ) Возможна ли конвер...

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

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

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

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

[Перевод] Нейросети и глубокое обучение: онлайн-учебник, глава 1 Примечание Перед вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по п...

[Из песочницы] React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-пл...

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

[Перевод] Node.js-проекты, в которых лучше не использовать lock-файлы Автор материала, перевод которого мы сегодня публикуем, говорит, что одна из проблем, с которыми приходится сталкиваться программистам, заключается в том, что у них их код работает, а у кого-то другого выдаёт ошибки. Эта проблема, возможно, одна из самых распространённых, во...

[Перевод] Руководство по аутентификации в Node.js без passport.js и сторонних сервисов Автор статьи, перевод которой мы сегодня публикуем, говорит, что сейчас можно наблюдать рост популярности таких сервисов аутентификации, как Google Firebase Authentication, AWS Cognito и Auth0. Индустриальным стандартом стали универсальные решения наподобие passport.js. Но, ...

Vivaldi 2.4 — Двигаем кнопки двумя руками Всем привет! Если спросить о том, что является главным для браузера, то многие скажут, что это скорость работы, размер окна просмотра страниц, защищённость данных пользователя и многое другое. Да, всё это верно, но на самом деле главное, что делает браузер по-настоящему п...

Как программист банк выбирал и договора читал Девять лет назад я написал заметку про то, как не быть обманутыми злыми буратинами. Всё, что там написано не потеряло актуальности, и сегодня мы рассмотрим попытку выбрать банк читая бумаги, а не рекламу. В данной заметке рассмотрены ВТБ, Альфа Банк, Авангард. По этим банка...

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

[Перевод] Современное окружение для React Native приложений В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest. Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение. Современные разработки позволяют интегрировать Typescript в ...

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

[Перевод] Рассказ о том, как команда фрилансеров пишет фулстек-приложения на JavaScript Автор материала, перевод которого мы сегодня публикуем, говорит, что GitHub-репозиторий, над которым работал он и ещё несколько фрилансеров, получил, по разным причинам, около 8200 звёзд за 3 дня. Этот репозиторий попал на первое место в HackerNews и в GitHub Trending, за не...

Как убедить всех, что у тебя защищённый ЦОД? Преамбула. Статья носит исключительно информационный характер. Предназначена для потенциальных клиентов ЦОД, которые слышали про 152-ФЗ, 149-ФЗ, хотят потратить бюджетные средства и не знают, что такие схемы бывают. Для удобства восприятия материала автор будет излагать схем...

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

Редакция 3DNews ищет авторов новостей Редакция 3DNews ищет авторов новостей Hardware и Software. Если вы разбираетесь в мире информационных технологий, умеете грамотно, быстро и интересно писать, у вас есть не менее трёх часов свободного времени в день и вам нравится готовить публикации на тему IT — напишите нам...

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

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

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

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

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

[Перевод] Ожидаемые новые возможности JavaScript, о которых полезно знать С момента выхода стандарта ECMAScript 2015 (его ещё называют ES6) JavaScript серьёзно изменился и улучшился. Это очень хорошая новость для всех JS-разработчиков. Более того, теперь новая версия ECMAScript выходит каждый год. Возможно, вы не обратили особого внимания на то, ч...

Вышел CLion 2019.2: поддержка встроенной разработки, отладчик для MSVC, поиск неиспользованных заголовочных файлов Привет, Хабр! Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать ...

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

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

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

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

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

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

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

[Перевод] Интегрируем команды Linux в Windows с помощью PowerShell и WSL Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневно...

Как построить SDN — восемь инструментов с открытым исходным кодом Сегодня мы подготовили для наших читателей подборку SDN-контроллеров, которые активно поддерживают пользователи GitHub и крупные опенсорсные фонды вроде Linux Foundation. Читать дальше →

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

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

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

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

[Из песочницы] SpecFlowMaster: как улучшить качество тестов Делаем правильные вещи Современная разработка не может существовать без автоматизированных тестов. Тесты могут быть написаны очень быстро даже непрофессионалами. Таким образом, у нас есть тесты, все как бы хорошо. Можем ли мы довериться таким тестам? Каково качество наших ин...

[Перевод] Приключения с ptrace(2) На Хабре уже писали про перехват системных вызовов с помощью ptrace; Алекса написал про это намного более развёрнутый пост, который я решил перевести. С чего начать Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет...

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

Конференция Lua in Moscow 2019 В первое воскресенье марта в офисе Mail.ru Group пройдёт третья международная конференция Lua in Moscow 2019. Вас ждут выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT. Lua — уникальный язык программирования, ко...

[Перевод] Готовьтесь: Angular 8 уже близко Автор материала, перевод которого мы публикуем, предлагает поговорить об Angular 8. Здесь будут рассмотрены некоторые особенно горячие темы, поднятые на мероприятиях NgConf и Google I/O 2019. Поэтому, если вы интересуетесь Angular, но по каким-то причинам не видели докладов ...

[Перевод] Какой здесь this? Внутренняя работа объектов JavaScript Фотография: "Любопытный" Liliana Saeb (CC BY 2.0) JavaScript – это мультипарадигмальный язык, который поддерживает объектно-ориентированное программирование и динамическое связывание. Динамическое связывание — это мощная концепция, которая позволяет изменять структуру JavaS...

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

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

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

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

React Hook Router современная альтернатива React Router Вольный перевод публикации How React Hooks can replace React Router. Автор Peter Ekene Eze. С момента появления React Hooks многое изменилось. Возможности, предоставляемые хуками, позволили пересмотреть наш подход к определенным концепциям в React, в том числе и к маршрут...

Google Assistant получил поддержку режима Interpreter В начале января Google рассказала о множестве новых функций для голосового помощника Assistant. В частности, тогда мы узнали о режиме Interpreter, которое поможет в переводе с одного языка на другой. Если точнее, режим предназначен для перекрёстного перевода в случае, к...

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

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

10 материалов о необычных музыкальных инструментах и нетипичных способах извлечения звука В качестве чтения на выходные мы хотели бы предложить вам наиболее популярные материалы нашего «Мира Hi-Fi». Сегодняшний топ-10 посвящен необычным музыкальным инструментам. Здесь есть исторические разборы и статьи о технологиях, предвосхитивших современные семплеры, нейронн...

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

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

[Из песочницы] Сказ о полукольцах Привет, Хабр! Предлагаю вашему вниманию перевод статьи "A tale on Semirings" автора Luka Jacobowitz. Когда-нибудь задумывались, почему сумма типов называется суммой типов. Или, может, вы всегда хотели узнать, почему оператор <*> записывается именно так? И что...

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

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

[Из песочницы] Как я нашел свою первую уязвимость? Предисловие Всем привет. Мне 20 лет. Еще недавно я учился в лицее и готовился поступать в медицинский ВУЗ, а сейчас я — фулстэк разработчик в одной американской компании. На самом деле я очень рад, что с медициной у меня не вышло — программирование было моим хобби, а сейчас ...

«Плюс к карме»: за что критикуют Stack Overflow и почему многие жалуются на токсичность сообщества В сети можно встретить множество публикаций (в том числе в крупных СМИ), авторы которых критикуют Stack Overflow и поведение пользователей ресурса. Рассказываем, что к чему, разбираемся в ситуации, обсуждаем мнения и наиболее распространённые претензии к площадке. Читать д...

[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

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

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

Настройка vscode под stm32 на примере отладочной платы stm32f429i-disco Всем привет! Сегодня рассмотрим настройку удобной и красивой среды разработки для программиста микроконтроллеров с помощью набора полностью бесплатных инструментов разработки. Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop. Подраз...

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

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

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

[Перевод] История четырёхкратного ускорения React-приложения Почти 60% посетителей сайта покидают его в том случае, если его загрузка занимает более 3 секунд. 80% таких посетителей на сайт уже не возвращается. Это говорит о том, что успех веб-проекта не в последнюю очередь зависит от его скорости. Автор материала, перевод которого мы ...

Официально: League of Legends выйдет на iOS в следующем году Когда выйдет League of Legends для iOS Популярная игра League of Legends выйдет на iOS и Android в 2020 году, подтвердили сегодня представители компании-разработчика Riot Games. Впервые слухи об этом появились еще в мае, но теперь создатели игры официально сообщили, что Leag...

[Перевод] Один язык чтобы править всеми Скрытый под слоем кода, томится язык, жаждущий быть выученным. На момент написания этой статьи запрос «программирование какой язык изучать первым» выдаёт 517 миллионов поисковых результатов. Каждый из этих сайтов будет нахваливать один определённый язык, и 90% из них, в кон...

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

[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

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

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

Релиз кросс-платформенного .NET UI-тулкита AvaloniaUI 0.8 Состоялся очередной бета-релиз AvaloniaUI. В релиз вошло большое количество багфиксов, оптимизаций производительности и ряд новых возможностей. Что нового, можно узнать под катом. Читать дальше →

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2) Привет всем, В предыдущей статье мы успешно модифицировали ядро эмулятора игр на Sega Mega Drive / Genesis, добавив в него возможность отладки. Теперь пришёл черёд написания собственно плагина-отладчика для IDA Pro, версия 7.0. Приступим. Читать дальше →

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

В Instagram для Android появилась тёмная тема Тёмные темы оформления интерфейса становятся чрезвычайно популярными, во многом благодаря тому, что Google и Apple добавили тёмные режимы в Android 10 и iOS 13. В то время как Google добавил тёмные темы оформления в большинство своих фирменных приложений, сторонним разработч...

Лучшая программа Fotoshow Компания AMS Software является одной из самых крупных и известных производителей качественного софта. Она является разработчиком самых популярных программ по работе с видео, фото и аудио проектами. Большой популярностью пользуется программа Fotoshow Pro 14.7. На официальном ...

Выведение Action type с помощью Typescript Всем привет! Меня зовут Дмитрий Новиков, я javascript-разработчик в Альфа-Банке, и сегодня я расскажу вам про наш опыт выведения Action type при помощи Typescript, с каким проблемами мы столкнулись и как их решили. Это расшифровка моего доклада на Alfa JavaScript MeetUp. К...

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

Анатомия акустических систем: правда и вымыслы об NXT-излучателях Рад приветствовать всех вновь. Мы возобновляем активность в этом блоге после непродолжительного перерыва. И начну я с поста о сравнительно необычной разновидности звуковых излучателей, которые последние 20 лет применяются для создания акустических систем. Многим также знаком...

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

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

[Перевод] История о V8, React и падении производительности. Часть 1 В материале, первую часть перевода которого мы публикуем сегодня, речь пойдёт о том, как JavaScript-движок V8 выбирает оптимальные способы представления различных JS-значений в памяти, и о том, как это влияет на внутренние механизмы V8, касающиеся работы с так называемыми фо...

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

[Из песочницы] Знакомство с простейшей нейронной сетью и ее пошаговая реализация Как-то раз я наткнулся на книгу под названием «Создай свою нейросеть», автор которой -Тарик Рашид и после прочтения остался доволен, в отличие от многих других методичек по нейронным сетям, которые по-своему, несомненно, хороши, в этой книге все подавалось простым языком c д...

Wireshark 3.x: анализ кода под macOS и обзор ошибок Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap. Здесь заканчивается цитирование ...

JUnit в GitLab CI с Kubernetes Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним...

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

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

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

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

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

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

Наше всё Во многих видах бизнеса, особенно в ИТ, ключевое значение имеют компетенции сотрудников. Избитая, знакомая всем фраза. На сайтах большинства компаний, где присутствует раздел миссии или ценностей, написано что-нибудь вроде «наше главное богатство – это наши сотрудники». Фра...

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

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

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

[Перевод] Cascadeur: будущее игровой анимации Всем привет! Мы — студия разработки Banzai Games. Рады наконец открыть здесь свой блог. Будем писать о наших технологиях, проектах и делиться историями из жизни компании. Первый материал — перевод интервью с основателем студии Евгением Дябиным, которое он дал коллегам из и...

[Перевод] Серверный рендеринг в бессерверной среде Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи....

Экономия на мобильной кросс-платформенной разработке: кейс Skyeng Привет, я Андрей Кучеренко, тимлид мобильной разработки Skyeng. Мы делаем мобильные приложения под iOS и Android. У них одинаковая функциональность и одинаковый с точностью до стилистики интерфейс. Но из-за разных платформ разработка вроде бы одного приложения получается до...

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

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

[Перевод] История создания первой Diablo Больше двадцати лет назад Дэвид Бревик участвовал в создании Blizzard North. Также он сыграл важную роль в разработке хита студии — Diablo. «Оригинальный концепт я придумал ещё в старшей школе», — рассказывает Бревик, посещавший школу в Области залива Сан-Франциско (назван...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

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

[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...

[Перевод] Использование JavaScript-консоли в браузерах Сегодня мы публикуем заметку, посвящённую особенностям использования JavaScript-консоли в браузерах, лежащим за пределами широко известной команды console.log(). Собственно говоря, эта команда представляет собой простейший инструмент для отладки программ, который позволяет в...

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

5 лучших rar- и zip-архиваторов на Android Один из наиболее распространенных типов файлов, с которыми нам приходится иметь дело — это архивные файлы. Вы наверняка видели их раньше, и они обычно встречаются в форматах zip, rar, 7z, tar и других. Смысл использования архивов состоит в том, чтобы поместить много ф...

[Перевод] Как работать с async/await в циклах JavaScript Как запустить асинхронные циклы по порядку или параллельно в JavaScript? Перед тем, как делать асинхронную магию, я хочу напомнить как выглядят классические синхронные циклы. Читать дальше →

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

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

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

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

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

[Перевод] Автор Dwarf Fortress Тарн Адамс рассказывает о разработке игры Одним из лучших способов применения мощных процессоров для развлечений долгое время была Dwarf Fortress — игра, в которой весь мир состоит из символов ASCII, и которая с радостью съест гигабайт памяти и большую долю процессорного времени. Но в отличие от некоторых других и...

[Из песочницы] Amazon: 25 лет успеха на поприще электронной коммерции Привет, Хабр! Представляю вашему вниманию перевод статьи автора «AMAZON: 25 years of success in ecommerce». От гаража до самой дорогой компании мира Понедельник. Утро. Сиэтл. Новые сотрудники Amazon выстраиваются в очереди, чтобы пройти посвящение и пополнить ряды гиганта...

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

[Перевод] Мертв ли Hadoop? Часть 2 Перевод статьи подготовлен специально для студентов курса «Data Engineer». Читать первую часть Никому не нужна Big Data Когда вы услышите «Никому не нужна Big Data», посмотрите на резюме докладчика. Африканский телекоммуникационный оператор, переживающий удивительные уро...

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

Генерация многофазного ШИМ сигнала на TMS320F28027 Давным давно в далекой далекой галактике я написал небольшую статью о специализированных контроллера Piccolo от Texas Instruments, которые предназначены для управления силовыми преобразователями и электроприводом. Данные контроллеры являются очень мощным инструментов разрабо...

На мобильных вышла цифровая версия настольной игры Raiders of the North Sea Компания Dire Wolf Digital выпустила цифровую версию настольной игры Raiders of the North. Это настольная стратегическая игра, действие которой происходит в скандинавском сеттинге — на родине викингов. Вам предстоит собрать отряд, снарядить лодку и отправиться за золотом и ...

[Перевод] Примеры C++ кода до и после Ranges Снова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня. Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотек...

[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...

[Перевод] GraphQL и Golang Технология GraphQL за последние несколько лет, после того, как компания Facebook перевела её в разряд опенсорсных, стала весьма популярной. Автор материала, перевод которого мы сегодня публикуем, говорит, что попробовал работать с GraphQL в среде Node.js и на собственном опы...

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

[Перевод] Многопоточность в Node.js: модуль worker_threads 18 января было объявлено о выходе платформы Node.js версии 11.7.0. Среди заметных изменений этой версии можно отметить вывод из разряда экспериментальных модуля worker_threads, который появился в Node.js 10.5.0. Теперь для его использования не нужен флаг --experimental-worke...

Little Big Workshop – большая фабрика на маленьком столе (Mac) В прошлом разработчики не раз давали пользователям возможность встать во главе собственной фирмы, ресторана, магазина и даже полицейского департамента. Однако авторы новой игры под названием Little Big Workshop решили не просто дать игрокам возможность поуправлять масштабным...

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

[Перевод] Postgres в ретроспективе Предлагаем вашему вниманию перевод статьи Джозефа Хеллерштейна «Looking Back at Postgres», опубликованной в соответствии с международной лицензией Creative Commons «С указанием авторства» версии 4.0 (CC-BY 4.0). Авторы оставляют за собой право распространять эту работу на ли...

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

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Классическая ММОРПГ Mad World готовится к выходу на Android ММОРПГ на Андроид в достатке. Хороших — уже меньше, а действительно заслуживаюших внимания — чуть не по пальцам пересчитать можно. Ряды качественных ролевых игр в онлайн скоро могут пополнится кросс-платформенной Mad World, разработчики которой хотят верн

Концепты VueJS для backend разработчиков — мастер-класс 22 июня 22 июня в конгресс-центр «Альфа» пройдет мастер-класс «Концепты VueJS для backend разработчиков» Ведущий — Сергей Рябенко имеет пятнадцатилетний опыт коммерческой разработки в различных ролях. Работал разработчиком в LinguaLeo и Head of Engineering в SalesLift. Последний г...

[Перевод] Первое знакомство с AssemblyScript Поддержка технологии WebAssembly (Wasm) появилась в браузерах относительно недавно. Но эта технология вполне может серьёзно расширить возможности веба, сделав его платформой, способной поддерживать такие приложения, которые обычно воспринимаются как настольные. Освоение Web...

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

[Перевод] Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту Это перевод недавнего письма из рассылки от игрового инди разработчика Криса Жуковского [1]. Автор успешно выступал на конференциях, в том числе на GDC [2]. Статьи этого автора пользуются заслуженной популярностью на Гамасутре и регулярно переводятся на русские площадки. В д...

Редактор в UX: тру стори, риал лайф Привет, это Наташа, лид-редактор в UX Яндекс.Денег. Я пишу этот текст, потому что больше не могу молчать о своей работе. Раньше про нас думали, что мы копирайтеры. Пишем получше, чем менеджеры. Умеем проверять грамотность. Редактируем, чтобы стало понятнее. Убираем лишние ...

Как Tinkoff.ru автоматизирует аналитику с Zeppelin Tinkoff.ru разрабатывает множество сервисов на рынке финансовых услуг. У нас решают свои повседневные задачи аналитики, разработчики, технологи, менеджеры. Все мы ежедневно генерим идеи, анализируем, разрабатываем и делаем все, чтобы создавать лучший продукт на рынке. Я раб...

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

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

[Перевод] [в закладки] Bash для начинающих: 21 полезная команда Материал, перевод которого мы публикуем сегодня, предназначен для тех, кто хочет освоить командную строку Linux. Умение эффективно пользоваться этим инструментом позволяет экономить немало времени. В частности, речь здесь пойдёт о командной оболочке Bash и о 21 полезной кома...

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

Operating Systems: Three Easy Pieces. Part 1: Intro (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересный на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

[Перевод] Ответственный подход к JavaScript-разработке, часть 1 Цифры говорят нам о том, что рост объёмов JavaScript-кода плохо влияет на производительность веб-проектов. Если так будет продолжаться и дальше, то уже очень скоро при загрузке средней страницы будет передаваться как минимум 400 Кб JS-кода. И это — всего лишь объём передавае...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

Анонсирован Microsoft Web Template Studio Компания Microsoft объявила о выпуске ранней версии кросс-платформенного расширения для Visual Studio Core под названием Microsoft Web Template Studio, которое призвано упростить и ускорить процесс создания полнофункциональных веб-приложений. Web Template Studio использует ...

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

Новое приложение от Microsoft помогает учить язык, используя камеру вашего смартфона Восемь стажеров из Microsoft разработали новый инструмент для изучения языка, который призван помочь людям разных возрастов выучить на нужном языке названия предметов из окружающего мира. Чтобы при помощи приложения, получившего название Read My World, выучить более 1500 сл...

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

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

Google опубликовал руководство по SEO JavaScript-сайтов С советами, как сделать JavaScript-контент более mobile-friendly

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

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

[recovery mode] Расширения Google Chrome для программиста Работа программиста настолько сложна и разнообразна, что в ней просто не обойтись без помощи различных инструментов. Подготовил для вас список полезных расширений для Google Chrome, которые облегчат вашу жизнь и сэкономят время. 1. Code Cola Плагин, который предлагает ши...

Радиация — не помеха зарождению жизни: оптимистичное открытие Мы окружены инопланетными мирами. В соседних звездных системах множество планет, похожих на Землю, с необычными названиями: Проксима b, TRAPPIST-1e, Ross-128b и LHS-1140b. Обитаемы ли эти загадочные планеты? Какие удивительные формы жизни могут населять их? Если раньше учены...

[Перевод] Очень математическая история идеального сочетания цветов Захари Бир создаёт рисунки, используя цветовую палитру от цветовой схемы для Мака Solarized и собственную программу для генерации изображений Geometriq. Пару лет назад я влюбился в цветовую палитру: цвет, чуть темнее белого, выделяемый жёлто-оранжевым и нейтральным голубым...

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

[Из песочницы] Что они думали о программистах Привет, Хабр! Представляю вашему вниманию перевод статьи «What They Thought of Programmers» автора Robert C. Martin. Интересно и познавательно вернуться в прошлое и посмотреть, как программисты были представлены в массовой культуре. Что люди о нас думали? Знали ли они, кто ...

[Из песочницы] Github actions и кросс-платформенное построение Привет, Хабр. Это статья о том как настроить построение на всех платформах с помощью github actions. Читать дальше →

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

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

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

[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...

[Перевод] Что такое сервисная сеть Доброе утро всем! Сегодня мы рады предложить вам перевод статьи, кратко рассказывающей о новом технологическом веянии под названием «Service mesh» (сервисная сеть). Наиболее интересным решением в этой сфере (на наш взгляд) является Istio, но предлагаемая статья интересна, в...

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

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

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

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

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

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

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

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

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

Как проверить cookies на соответствие GDPR — поможет новый открытый инструмент Разработчики базы данных CovenantSQL представили опенсорсную утилиту Cookie Scanner, которая определяет, какие cookies устанавливают сайты и с какой целью. Обсуждаем, зачем понадобился инструмент и как он работает. Читать дальше →

Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка Введение Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse...

Стартовал бета-тест цифровой версии настольной игры Покорение Марса от Asmodee Digital Компания Asmodee Digital – лидер в сфере адаптаций настольных игр в цифровой формат. Сегодня она официально запустила бета-тест одной из лучших настольных игр последних лет — Покорение Марса (Terraforming Mars). В этой игре вам предстоит сыграть за одну из компаний, которая...

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

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

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

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

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

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

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

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

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

«Мы не передавали ее на разработку другой студии»: анонсирована Path of Exile Mobile Diablo Immortal ждут во всем мире. Забудьте о тысячах дизлайков под трейлерами игры на YouTube. Что можно противопоставить армии людей, уверенных, что «знакомое имя на мобилках — это круто» против группы истинных фанатов? Как показал пример Call of Duty: Mobile — ничего. Но ...

С Project Catalyst и правда не всё гладко. Apple готовит изменения Project Catalyst должен был облегчить жизнь разработчиков, но только усложнил её Между iPad и Mac всегда была огромная пропасть. Даже когда Apple попыталась превратить планшет в профессиональный инструмент, выпустив увеличенную версию с поддержкой умного пера, это не сделало...

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam's Lair. Как...

SPA Meetup 5: интеграция Jest с QA, мощный UIKit, библиотеки компонентов, DI для масштабирования, платформенные команды Привет! Это пост-отчёт с митапа Moscow SPA 5, серии встреч для фронтенд-разработчиков, которым интересна тематика веб-приложений (Single Page Application). Вместе с докладчиками из Mail.Ru, Яндекса, ВКонтакте, Тинькофф и Авито мы говорили об интеграции Jest с QA-инфраструкту...

[Перевод] 18 хитростей для работы с Visual Studio Независимо от того, являетесь ли вы новичком или же используете Visual Studio уже в течение многих лет, есть множество советов и хитростей, которые помогут вам стать более продуктивным. Некоторое время мы делились советами в Twitter, используя хештег #vstip, а сегодня собрал...

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

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

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

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

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

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

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

Новое устройство позволяет создавать голограммы при помощи ультразвука Возможно, что фантастика — это не такая уж и фантастика… Исследователи из Университета Сассекса (Великобритания), по всей видимости, являются фанатами серии фильмов «Звездные Войны». Но даже если это и не так, то они создали устройство, которое очень по...

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

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

Выпуск Rust 1.36.0: Трейт Future, стабилизация alloc и MaybeUninit<T> Представляю вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда по разработке языка программирования Rust рада анонсировать новую версию, 1.36.0. Rust — это язык программирования, позволяющий каждому разрабатывать на...

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

Книга «Unity и C#. Геймдев от идеи до реализации. 2-е изд» Привет, Хаброжители! Джереми Гибсона Бонд задумывая эту книгу, ставил перед собой простую цель: познакомить вас со всеми инструментами и передать начальные знания, необходимые для достижения успеха в разработке игр и прототипов. Автор постарался втиснуть в эту книгу макси...

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

JVM TI: как сделать плагин для виртуальной машины Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут...

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

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Блокчейн-компания Bitfury представила набор решений для Lightning Network Ведущий поставщик технологических решений Bitfury Group представил ряд инструментов, призванных способствовать развитию сети Lightning Network (LN), сообщает CoinDesk. Среди них: опенсорсный LN-кошелек, программные и аппаратные решения для приема платежей, предназначенные дл...

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

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

Введение в разработку CatBoost. Доклад Яндекса Меня зовут Стас Кириллов, я ведущий разработчик в группе ML-платформ в Яндексе. Мы занимаемся разработкой инструментов машинного обучения, поддержкой и развитием инфраструктуры для них. Ниже — мой недавний доклад о том, как устроена библиотека CatBoost. В докладе я рассказал...

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

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

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

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

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

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

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

[Перевод] ИИ в 2019 году: текущее положение вещей Этот перевод — часть статьи The Real-World AI issue. Общеизвестный факт — если вы станете повторять любое слово много раз, то в итоге оно потеряет всякое значение, превратится в фонетическое ничто. Это причина того, почему для многих из нас термин «искусственный интеллект...

[Перевод] Самодокументируемый код – это (как правило) чушь Всем привет! Предваряя сегодняшнюю переводную публикацию, сразу отметим, что этот текст задуман как follow-up недавнему дискуссионному материалу "Прекратите усердствовать с комментариями в коде". Нас настолько впечатлила развернувшаяся там дискуссия и 189 комментариев по со...

Анализ кода CUBA Platform с помощью PVS-Studio Для Java программистов существуют полезные инструменты, помогающие писать качественный код, например, мощная среда разработки IntelliJ IDEA, бесплатные анализаторы SpotBugs, PMD и другие. Всё это уже используется в разработке проекта CUBA Platform, и в этом обзоре найденных...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

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

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

UltData(iPhone Data Recovery) — программа для восстановления данных с iPhone и iPad Сегодня владельцы яблочных смартфонов хранят в памяти своих мобильных устройств огромное количество личной информации. При этом многие не забывают о необходимости время от времени делать резервные копии, чтобы защитить свои данные. Однако, как показывает практика, восстанови...

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

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

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

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

Повышаем продуктивность на GitHub: советы для новичков и не только От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя. GitHub — отличный сервис, которым пользуются пусть не все, но ...

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

[Перевод] Первый взгляд на Facebook Libra Подробный обзор от Binance Research долгожданного вхождения Facebook в криптовалютную индустрию. Перевод выполнен командой проекта INDEX Protocol. Сейчас в новостях очень много шумихи вокруг этого проекта, при этом очень мало реальных данных и хороших разборов. Команда Bina...

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

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS» Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создающий экземпляры какого-л...

Почему никогда не поздно начать изучение Java (или других ЯП) Автор статьи: Джон Селавски (John Selawsky). Любви все возрасты покорны. Многие соглашаются с этим выражением, однако мы убеждаем себя, что уже поздно учиться или менять профессию. Почему бы нам не использовать этот подход ко всему, что мы бы хотели достичь, особенно когд...

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

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере Многие сервисы в современном мире, по большей части, «ничего не делают». Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Поэтому неудивительно, что появляются такие языки, как Go...

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

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

Operating Systems: Three Easy Pieces. Part 4: Введение в планировщик (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

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

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

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

[Из песочницы] Тестирование смарт-контрактов Ethereum на Go: прощай, JavaScript Я хочу поблагодарить коллег: Сергея Немеша, Михаила Попсуева, Евгения Бабича и Игоря Титаренко за консультации, отзывы и тестирование. Я также хочу сказать спасибо команде PolySwarm за разработку оригинальной версии Perigord. Это перевод моей статьи, опубликованной впервые...

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

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

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

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2 Сегодня мы представляем вашему вниманию продолжение перевода материала о вреде так называемого «функционального» программирования. Читать дальше →

Лучшие мультиплеерные игры 2018 на iOS и Android: это был лучший год Мобильный интернет по качеству и скорости соединения во многих странах уже сравнялся с местным Wi-Fi, поэтому мобильные игры, созданные, чтобы занять образовавшийся промежуток в 10-15 минут, чувствуют себя уверенно, выходя с упором на мультиплеерные режимы. Самые популярные ...

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

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

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

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

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

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

[Перевод] Приключения с домашним Kubernetes-кластером Прим. перев.: Автор статьи — Marshall Brekka — занимает позицию директора по проектированию систем в компании Fair.com, предлагающей своё приложение для лизинга автомобилей. В свободное же от работы время он любит применять свой обширный опыт для решения «домашних» задач, ко...

[Перевод] Авария Boeing 737 Max глазами разработчика ПО Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе...

[Перевод] «Глубокое обучение с подкреплением. AlphaGo и другие технологии»: анонс книги Всем привет! У нас доступна для предзаказа одна из лучших книг по обучению с подкреплением, в оригинале именуемая "Deep Reinforcement Learning Hands-on" под авторством Максима Лапаня. Вот как будет выглядеть обложка русского перевода: Чтобы вы могли оценить краткое содер...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 2 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня будут рассмотрены примеры развертывания GitHub webhook, периодических сигналов, а также приведено простейшее приложение для отправки сообщений в Slack. Читать дальше →

Habr Weekly #17 / Кредиты Сбера будет одобрять ИИ — страшновато, реклама в open-source продуктах — сомнительно В этом выпуске: 00:14 — К концу 2020 года все кредиты в Сбербанке будет одобрять искусственный интеллект, k_karina 10:43 — Рассказ о том, как популярная JavaScript-библиотека начала выводить в терминал рекламу, ru_vds Читать дальше →

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

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

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

[Перевод] Сравнение потребления памяти различных GUI тулкитов Всем привет! Наша команда разрабатывает IDE для работы с API TestMace. В одной из наших предыдущих статей читатели указывали на непомерно большое потребление памяти electron-приложений. Что ж, настало время цифр :) В данной статье автор оценивает потребление памяти одноокон...

Как интернет влияет на работу мозга? Интернет влияет на нашу память и отношения с окружающими Сегодня ни для кого не секрет, что интернет изменил не только наше общество, но и в какой-то мере каждого из нас. Согласно результатам недавно опубликованного исследования в журнале World Psychiatry, время, проводимое ...

Debug Oriented Programming или печаль в глазах Интегратора Так получилось, что в последние несколько лет я сшиваю Франкенштейнов, а не ваяю милые фарфоровые статуэтки пастушек и трубочистов. Я создаю решения на базе Magento 2. Это значит, что исходный материал у меня — мечта любого археолога. Культурный слой со следами различных "эп...

macOS 10.15 Catalina: без iTunes и с iPad в качестве дополнительного экрана В рамках WWDC 2019 компания Apple официально представила новую настольную операционную систему под названием macOS 10.15 Catalina. В обновлении купертиновцы добавили несколько новых интересных функций, альтернативу iTunes и множество других нововведений.Читать дальше... Pro...

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

Светодиодное враньё невиданных масштабов В магазинах можно встретить множество мощных светодиодных ламп, например «свечки» и «шарики» 9 и 11 Вт. Вот только ламп такой мощности сегодня существовать не может. Читать дальше →

[Перевод] Создание динамических PDF-файлов с использованием React и Node.js Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, ...

[Перевод] Улучшенные четыре правила проектирования ПО Привет, Хабр! Представляю вашему вниманию статью "Four Better Rules for Software Design" автора David Bryant Copeland. David Bryant Copeland — архитектор ПО и технический директор Stitch Fix. Он ведет свой блог и является автором нескольких книг. Мартин Фаулер недавно создал...

Dell Inspiron 14 (5482): экономичный «2 в 1» с хорошими возможностями для апгрейда Выбирать ноутбук за 100 тысяч гораздо проще, чем лэптоп среднего класса за в два раза меньший бюджет. В первом случае компромиссов почти не будет в большинстве предложений. Во втором, напротив, среди множества вариантов нужно найти наименее компромиссный. Конкретно у нас, ко...

5 лучших альтернатив Photoshop на Android У Adobe в Google Play есть несколько фирменных приложений для обработки изображений, которые позволяют делать многое из того, что хотелось бы иметь возможность делать пользователю десктопного Photoshop на своем мобильном устройстве. Однако приложениями Adobe для ОС Android ...

Operating Systems: Three Easy Pieces. Part 5: Планирование: Multi-Level Feedback Queue (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

[Из песочницы] Что такое информация? Исследование How Much Information, проведенное в 2009 году показало, что количество потребляемой в неделю информации с 1986 года выросло в 5 раз. С 250 тысяч слов в неделю до 1,25 миллиона! С тех пор это цифра увеличилась в разы. Далее следуют более ошеломительные показатели...

[Из песочницы] Изучить отзывчивый веб-дизайн за 5 минут Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per. В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на след...

С игровым сервисом Stadia не все так гладко, как может показаться Пока вы это читаете, есть большая вероятность, что я буду играть в какой-нибудь Far Cry 3 на своей консоли. Если вы не играли в эту игру, которая вышла еще в 2012 году, то наверняка когда-нибудь слышали про эту популярную во всем мире серию от студии Crytek. Да, этому тайтл...

Новый Google Pixel рассекретили до премьеры Для смартфонов Google Pixel такие «утечки» до премьеры — не редкость: ранее схожая ситуация была и в случае с Pixel 3, анонсированными осенью. Теперь же Google готовит к анонсу новый Pixel: официальное название новинки пока неизвестно, однако предполагается, что это будет Pi...

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

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

Tick Tock: A Tale for Two – интересная головоломка для двоих Чаще всего разработчики добавляют режим для двух игроков в разные файтинги и аркады. Однако авторы Tick Tock: A Tale for Two пошли по совершенно другому пути.  Во-первых, они добавили режим для двух игроков в головоломку. А во-вторых, они кардинально переработали механику эт...

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

Ударим Java EE автопробегом по бездорожью и разгильдяйству! Интервью с Себастианом Дашнером, коммитером Jakarta EE Сегодня в нашей виртуальной студии Себастиан Дашнер. Вкратце, кто это такой: Lead Java Developer Advocate в IBM; Множество интересных докладов и своих видео на YouTube; Автор книги «Architecting Modern Java EE Applications», Участник Java Community Process: экспертные групп...

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

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

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

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

Operating Systems: Three Easy Pieces. Part 2: Абстракция: Процесс (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

Allure-Android. Информативные отчеты для мобильной автоматизации Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тести...

Это всё, что останется после тебя: криминалистические артефакты шифровальщика Troldesh (Shade) Если вы следите за новостями, то наверняка знаете о новой масштабной атаке на российские компании вируса-шифровальщика Troldesh (Shade), одного из самых популярных у киберпреступников криптолокеров. Только в июне Group-IB обнаружила более 1100 фишинговых писем с Troldesh, ...

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

[Из песочницы] Frontend для backend девелопера Сразу хочу оговорится, что данная статья не предназначена для тех, у кого разработка frontend основная деятельность. Целевая аудитория: разработчики backend которым понадобилось срочно прикрутить web UI или просто интересуются новыми областями, ну и возможно fullstack разраб...

Питер — Insider Dev Tour: инсайдерская конференция для разработчиков от Microsoft 27 июня в Санкт-Петербурге мы проводим Insider Dev Tour. Инсайдерский тур для разработчиков от Microsoft предназначен для специалистов, заинтересованных в получении опыта работы с Microsoft 365 (Windows, Graph, Office, Teams) с использованием новейших технологий разработки, ...

C/C++ из Python Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже. Читать дальше →

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

[Из песочницы] Мифы про удалённых сотрудников, которые мы разрушили сами Привет, Хабр. Я редактор в компании Ratio, мы делаем веб-разработку на заказ и с начала 2018 года все наши сотрудники работают удалённо. От Таллина до Комсомольска-на-Амуре, семь часовых поясов. Наши разработчики всегда трудились из дома, но также был офис в Москве, в кот...

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

ТЕСТ: Кому на самом деле принадлежат известные цитаты? Многие популярные цитаты принадлежат вовсе не тем, кому их приписывают. Говорила ли Мария-Антуанетта фразу «Если у них нет хлеба, пусть едят пирожные»? Советовал ли кому-нибудь Габриэль Гарсиа Маркес не тратить время на тех, кто не стремится провести его с тобой? Попробуйте ...

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

Как я стал докладчиком Percona Live (и несколько интригующих деталей с американской границы) Percona Live Open Source Database Conference — одно из главных мероприятий на календаре мира СУБД. Когда-то всё начиналось с разработки одного из форков MySQL, но потом сильно переросло прародителя. И хотя очень многие материалы (и посетители) всё ещё плотно связаны с тема...

[Перевод] Svelte 3: Переосмысление реактивности Буквально на днях произошло большое событие в сообществе SvelteJS, да и вообще, как мне кажется, для всего современного фронтенда — долгожданный релиз Svelte 3! Посему, под катом перевод статьи автора Svelte и прекрасное видео с его доклада на YGLF 2019. Читать дальше →

[Перевод] 10 Git-команд, которые стоит знать разработчику В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash ...

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

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

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

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

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

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

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

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

Lazarus — пишем компонент для анимации спрайтов Вместо предисловия В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object P...

[recovery mode] Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось. Год назад мы переехали в Канаду и решили, ...

Azure PowerShell: «в основном безвреден» Привет всем. Сегодня у нас на тесте очередной проект Microsoft. По названию статьи можно догадаться, что в этот раз разработчики не смогли порадовать нас большим количеством ошибок. Надеемся, авторов проекта не обидит название. Ведь малое количество ошибок — это отлично, не...

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

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

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

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

[Из песочницы] Восстановление когнитивных способностей 100 пациентов (перевод статьи Дейла Бредесена) Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи Дейла Бредесена, директора отдела нейродегенеративных заболеваний медицинского факультета Калифорнийского университета в Лос-Анджелесе (UCLA), автора «The End of Alzheimer's: The First Program to Prevent...

3D-печать португальской плитки Azulejo в домашних условиях Хотите добавить немного сицилийского колорита в свой интерьер? Для этого не обязательно покупать дорогую узорчатую плитку. Ее можно напечатать на своем 3D-принтере. Ниже мы покажем, как можно сделать в домашних условиях аналог дорогой португальской плитки Azulejo. Материалы...

Fuchsia OS будет поддерживать работу приложений для Android Недавно в Android Open Source Project (AOSP) были обнаружены свежие комментарии, которые раскрывают истинное предназначение репозитория «device/google/fuchsia». Как оказалось, Fuchsia OS будет использовать специально разработанную для нее версию Android Runtime (...

Новая жизнь старых игр: максимально опенсорсный каталог source-портов (Java + PHP) Недавно мне пришла в голову возродить свой старый каталог source-портов и графических модификаций для старых игр. Новая версия должна была стать максимально опенсорсной и открытой, чтобы любой пользователь мог править как содержание сайта, так и его код, а мне бы оставалось ...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

Minecraft для Android устройств Согласитесь, современные мобильные игры далеко двинулись вперед и буквально каждый день на свет появляется множество интересных новинок, однако порой хочется поиграть во что-то необычное, и в то же время очень простое. Сегодня мы бы хотели поговорить с вами о легендарной ком...

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

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

Как реализуется Retentioneering в App in the Air Удержать пользователя в мобильном приложении – это целая наука. Ее основы в нашей статье на VC.ru описал автор курса Growth Hacking: аналитика мобильного приложения Максим Годзи, руководитель подразделения Машинного обучения в App in the Air. Максим рассказывает о разработ...

HolyJS 2019: Разбор задач от компании SEMrush (Часть 1) На прошедшей 24-25 мая в Санкт-Петербурге очередной конференции для JavaScript-разработчиков HolyJS стенд нашей компании предлагал всем желающим новые задачки. В этот раз их было 3 штуки! Задачи выдавались по очереди, а за решение каждой последующей полагался знак отличия ...

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

Обзор слайсера KISSlicer Сколько слайсеров вы знаете? За пару секунд в голове всплывает до 5 самых популярных названий. А ведь их гораздо больше. Сегодня мы подготовили обзор одного из недооцененных слайсеров - KISSlicer. Это быстрая, простая в использовании кросс-платформенная программа. Подробнее....

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

ВКонтакте представила новый способ монетизации сообществ — VK Donut Сегодня, на VK Content Day 2019, команда ВКонтакте представила новые инструменты для авторов и медиа, а также новые возможности для монетизации их творчества.  В качестве единой системы монетизации для любых сообществ ВКонтакте запускает VK Donut. С помощью VK Donut подписчи...

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

Om Nom: Merge от авторов Cut the Rope вышла на iOS и Android Собирая материалы для сайта, я каждый день пытаюсь быть максимально открытым к новому опыту и относиться снисходительно даже к тому, что сам считаю не заслуживающим интереса. Но иногда делать это особенно сложно. Cut the Rope — одна из моих самых любимых мобильных игр. Я пр...

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

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

Конкурс разработчиков плагинов TeamCity Привет, Хабр! Недавно мы запустили конкурс разработчиков плагинов для TeamCity, и вы все еще можете в нем поучаствовать. Правила просты: участники присылают нам плагины до 24 июня, а взамен получают годовую подписку на любую IDE от JetBrains на свой выбор. После того как...

[Перевод] Гибкие таблицы на CSS Grid Просмотр списка лидов («холодных» контактов) Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view). Это мощный компонент, который встреч...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

Авторы Rush Rally 3 выпустили информативный 30-секундный трейлер, релиз 29 марта Новость о скором релизе Rush Rally 3 вызывала радость среди фанатов качественных мобильных гонок. Все предыдущие сообщения разработчиков ограничивались только словами и скриншотами, но сегодня Brownmonster наконец-то выпустили трейлер. Как и стоило ожидать, выглядит он эффе...

Новый движок для новой Call of Duty Одним из заметных событий прошедшей недели стал анонс новой части Call of Duty — ведь Call of Duty: Modern Warfare, ребут одноименного хита 2007 года, будет первой за 14 лет игрой серии, которая работает на новом движке, и к тому же будет поддерживать кросс-плей на PC, PS4 и...

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан...

«Ищите истории, которые драйвят»: подкаст о подкастах, работе редактора и карьере в медиа Это — подкаст с теми, кто создает контент. Гость сегодняшнего выпуска — Дарья Черкудинова — автор подкаста «НОРМ» [Telegram] [iTunes] и главный редактор издания «Секрет фирмы». прослушать интервью с Дарьей в Telegram или в веб-плеере Читать дальше →

[Перевод] TDD: методология разработки, которая изменила мою жизнь На часах 7:15 утра. Наша техподдержка завалена работой. О нас только что рассказали в передаче «Good Morning America» и множество тех, кто впервые посещает наш сайт, столкнулось с ошибками. У нас настоящий аврал. Мы, прямо сейчас, до того, как потеряем возможность превратит...

Руководитель Sekiro: Shadows Die Twice — о прохождении игры, антураже, воскрешении и прочем Руководитель студии FromSoftware Хидетака Миядзаки (Hidetaka Miyazaki) продолжает делиться подробностями насчёт Sekiro: Shadows Die Twice. После многочисленных материалов от Gameinformer, новая информация поступила из интервью главы японскому изданию GAME Watch. На ...

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

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

[Из песочницы] 10 советов для того, чтобы быть хорошим техническим лидером Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead» автора VijayDeveloper. Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технолог...

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

ITIL и новые модные штуки В самом начале 2000-х мне, как и многим другим ребятам, было очень важно узнать: как организовать современный (на тот момент) ИТ-департамент коммерческой компании среднего размера. Скажем, на 50-200 «айтишников». То был не праздный интерес, а вполне реальная зад...

[Перевод] Разбираем Async/Await в JavaScript на примерах Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async...

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

[Перевод] Y Combinator: «Поначалу некоторые из крупнейших технологических компаний выглядят как игрушки» Поначалу некоторые из крупнейших технологических компаний выглядят как игрушки. С классической точки зрения построения бизнеса такого быть не должно. Игрушки для развлечения. Предприятия, особенно огромные, предназначены для зарабатывания денег. Игрушки маленькие и огранич...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

Большие компании о разработке: 11 блогов, которые стоит читать Вы когда-нибудь хотели прочитать о том, как идет разработка в Pinterest, Google, Uber или другой вашей любимой технологической компании?

[Перевод] Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенУ нас есть компонент переключатель...

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

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

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

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

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

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

Как UEBA помогает повышать уровень кибербезопасности Организации, которые хотят добавить расширенные аналитические возможности или возможности машинного обучения в свой арсенал ИТ-безопасности, имеют в своем распоряжении относительно новое решение: систему аналитики поведения пользователей и сущностей – User and Entity Behavi...

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

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

[Из песочницы] Асинхронный PHP и история одного велосипеда После выхода PHP7 появилась возможность сравнительно небольшой ценой писать долгоживущие приложения. Для программистов стали доступны такие проекты, как prooph, broadway, tactician, messenger, авторы которых берут на себя решение наиболее частых проблем. Но что если сделать ...

[Перевод] 39 новых фич, которые будут доступны в Java 12 Из замечательного интервью на Хабре: «Саймон Риттер — человек, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Cont...

[Перевод] Полезные инструменты Python Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса. Когда вы только н...

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

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

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

Открытый вебинар «Разработка высоконагруженных систем на PHP» Добрый вечер! В преддверии старта курса «Backend-разработчик на PHP» мы традиционно провели открытый урок. На нём поговорили о высоконагруженных системах, масштабировании, архитектуре. Детально рассмотрели HighLoad, а также основные подходы и тактики при разработке высоконаг...

Обзор cPanel — веб-консоли для управления сайтами и хостингом Продолжаем серию постов о панелях управления хостингом и сайтами (веб-консолях), которые RUVDS предлагает своим клиентам. Сегодня мы рассмотрим одну из самых популярных панелей cPanel, лицензию на которую можно получить бесплатно на 2 недели, при покупке виртуального сервера...

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

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

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

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

[Перевод] Как Doom попал на Super Nintendo Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём ра...

Простой москвич Levelord: интервью с создателем Duke Nukem RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с главным «по мозгам» Алисы в Яндексе Борисом Янгелем. Сегодня представляем вашему вниманию интервью с Ричардом (Levelord) ...

[Перевод] 3 популярных инструмента для организации непрерывного развертывания (Continuous Deployment) Continuous Deployment (непрерывное развертывание) — особый подход в разработке программного обеспечения, который применяется для быстрого, безопасного и эффективного внедрения различных функций в ПО. Основная идея — создание надежного автоматизированного процесса, позво...

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

Так мог бы выглядеть iPhone 12 Дизайнер представил свое виденье iPhone 12 Каким должен быть iPhone будущего? У каждого свое представление на этот счёт. Одни пользователи хотят добавить экранный дактилоскопический сканер, другие — убрать выпирающую камеру, третьи — полностью избавиться от вырез...

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

Цифровая лирика: мегаподборка песен и клипов о программировании и программистах Широко распространено мнение, что музыкальные способности и талант к программированию взаимосвязаны. Многие профессиональные музыканты питают склонность к точным наукам. Например, Борис Гребенщиков окончил факультет прикладной математики СПбГУ, а гитарист Radiohead Джонни Гр...

Microsoft выпустила шрифт Cascadia Code для программистов Компания Microsoft выпустила новой моноширинный шрифт под названием Cascadia Code, созданный под влиянием Windows Terminal. К слову, внутреннее кодовое название Windows Terminal — Cascadia. Впервые шрифт был представлен на конференции разработчиков Build 2019. Cascadia Code...

Крупнейшее обновление «ВКонтакте». Дизлайки в комментариях, новый способ заработать и многое другое Команда социальной сети «ВКонтакте» провела сегодня мероприятие VK Content Day. На нём представители рассказали о главных новшествах, запланированных в ближайшем будущем.  В ближайшее время команда «ВКонтакте» планирует запустить тем...

[Перевод] Четыре больших ошибки, которые совершал каждый программист Фотограф — Blake Connally, источник — Unsplash Создание программного обеспечения — искусство. Написание кода позволяет нам самовыражаться. И каждый разработчик делает это по-своему. Но индивидуализм не бесплатен — в этой статье я напишу о некоторых самых распространённых оши...

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