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

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

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

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

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

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

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

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

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

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

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

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

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Давайте посмотрим, как менялся Google Play Каким был Google Play и насколько он хорош сегодня? Ранее я уже опубликовал статью, где подробно рассмотрел, каким был Google Play и как менялся. В этом материале я попытаюсь поделиться, скорее, своими ощущениями от магазина и тем, как они менялись с обновлениями. Я всегда х...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

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

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

[Из песочницы] Как писать хорошие комментарии к коду: «зачем», а не «как» Привет, Хабр! Представляю вашему вниманию перевод статьи «Writing good comments: the why, not the how» автора Jack Franklin. Комментирование кода в программистской среде нередко считается пустой тратой времени или неким сигналом о том, что код можно и улучшить. Вот цитата...

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

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

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

Зачем Apple готовит разные процессоры для iPhone и iPad Утечка это, или чьи-то фантазии – уже почти все равно. Хорошие новости всё как-то не случаются и не случаются, и кажется, что уже ничего хорошего не произойдет. И вдруг из китайской провинции Хэнань, где находится один из заводов принадлежащих TSMC, кто-то нам сообщает, что...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

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

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

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

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

[Из песочницы] Перевод статьи «Почему квантовый интернет должен быть построен в космосе» Привет, Хабр! Представляю вашему вниманию перевод статьи "Why the quantum internet should be built in space" из MIT Technology Review. Физики считают, что лучший способ распространения квантовой сети по всему земному шару — огромное созвездие орбитальных спутников...

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

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

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

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

[Из песочницы] Почему разработчики такие медленные: распространенные проблемы и их решения Привет, Хабр! Представляю вашему вниманию перевод статьи Why Development Teams are Slow: Common Software Jams and Solutions автора Эрика Эллиота. Если вы больше любите слушать, чем читать, то в аудио формате перевод доступен на Яндекс.Музыке и в Apple Podcasts Давайте ра...

Магия виртуализации: вводный курс в Proxmox VE Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экон...

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

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

[Перевод] Платный доступ к статьям (Примечание переводчика: 5 июня была опубликована статья "Problems With Paywalls", сейчас на ее месте стоит заглушка со словами: «NYT угрожает раскрыть моё имя, поэтому я удаляю блог. Вот мои объяснения». Я, MagisterLudi, сейчас делаю проект «Ontol» (прототип, кан...

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

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

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

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

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

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

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

[Перевод] Как работает Spring Boot Auto-Configuration Глубокое погружение в мир аннотации Spring Boot @Conditional с проработанными примерами реализаций классов доступа к БД Mongo и MySQL. В моем посте «Почему Spring Boot?» было рассмотрено создание Spring Boot приложения, из которого вы едва ли сможете понять, что происходит з...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

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

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

Новая функция Android 11 стала головной болью для разработчиков Scoped Storage? Боль или не боль? Android 11 — достаточно крупное обновление. Google планирует показать его уже в мае этого года, а само обновление начнет распространяться уже в сентябре. Главными нововведениями станут улучшенная темная тема, упрощенная передача файлов...

C++ Russia: как это было Если в начале пьесы вы говорите, что на стене висит код на С++, то к концу он должен непременно выстрелить вам в ногу. Бьярне Строуструп С 31-го октября по 1-е ноября в Петербурге прошла конференция C++ Russia Piter – одна из масштабных конференций по программированию в Ро...

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

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

[Из песочницы] 5 причин, по которым моушн дизайн помогает вам общаться с людьми Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Reasons Motion Graphics Help You Connect With People» автора Katy French. Оригинал статьи: Katy French | Перевод статьи сделал моушн дизайнер Игорь Царёв Мы большие поклонники моушн дизайна. Это не потому, что о...

[Перевод] Знакомимся с Web Animations API Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Charlie Gerard «Exploring the Web Animations API». Знакомимся с Web Animations API Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми брау...

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

Mein Linux На Хабре в последнее время появилась серия холиварных статей: Семь причин, почему Линукс Главная причина, почему не Linux (от автора предыдущей статьи) Главная причина, почему все-таки Linux В этих статьях и комментариях к ним много говорили о коммунизме, цельности системы, ...

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

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

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

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

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

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

Переделка CNC 3018 Pro на рельсы. Личный опыт. Часть 1 Дамы и господа, здравствуйте!Опишу тех. процесс доработки станочка. Так же предложу варианты (если это возможно) для упрощения доработки. Основной посыл данного поста - не бояться работать руками!Технология переделки не моя, акцентирую на этом внимание.При написании статьи я...

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

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

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

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

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

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

Владелец продукта превращается... Мы живём в эпоху DevOps. Предприятия организуют непрерывную интеграцию / непрерывную поставку (CI / CD). Традиционные команды превращаются в междисциплинарные и саморганизующиеся. Они намного быстрее разрабатывают и выпускают новые функции. С их помощью функциональные колодц...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

[Из песочницы] [Перевод] От пиратства к опенсорс: моя история Привет, Хабр! Предлагаю Вашему вниманию перевод статьи "From piracy to open-source: my story" автора Jakob Attkinson. Я рос с компьютером с 6 лет. Хотя я и был рожден в довольно небогатой семье, мой отец осознавал мощный потенциал технологий и хотел быть уверенны...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

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

Показаны прототипы складных и сворачиваемых телефонов Складные телефоны стали для многих уже нормой, но Galaxy Fold или Z Flip не являются единственным источником правды. Гибкие экраны позволяют разработчикам фантазировать, поэтому очевидно, что на этом мы не остановимся, и стоит ожидать чего-то более интересного. Например, по...

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

[Из песочницы] Что такое NFC и как он работает. Освежим основы? Здравствуйте, пользователи Хабра! Я представляю вашему вниманию перевод статьи «What is NFC and how does it work» под авторством Robert Triggs. Вроде, казалось бы, зачем автору оригинала писать на эту тему в 2019-м, а мне переводить на пороге 2020? Сегодня NFC обрело свою ре...

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

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

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

Самое интересное в PHP 8 PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор. Все доклады Дмитрия тольк...

Смотрим новый лэптоп Microsoft Surface Pro X на процессоре ARM Оцениваем производительность нового Surface Pro X Microsoft уже достаточно давно разрабатывает и выпускает 2-in-1 ноутбуки-планшеты, однако до недавнего времени все они работали на процессорах Intel с архитектурой x86. Всё изменилось не так давно с выходом ноутбука Surface X...

[Перевод] Смешиваем OpenJDK и NodeJS: межъязыковые взаимодействия и вертикальная архитектура Привет, Хабр! Давно вынашивали мысль обсудить с вами тему GraalVM, откладывали, пока не нашли, наконец, сегодняшнюю статью, тематика которой серьезно выходит за рамки разбора конкретной виртуальной машины. Автор Майк Хёрн (Mike Hearn) ни много ни мало излагает целую парадиг...

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

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

Мониторинг СХД IBM Storwize при помощи Zabbix В данной статье мы немного поговорим о мониторинге СХД IBM Storwize и других СХД, поддерживающих протоколы CIM/WBEM. Необходимость такого мониторинга оставлена за скобками, будем считать это аксиомой. В качестве системы мониторинга будем использовать Zabbix. В последних ве...

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

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

Apple выпустила iOS 13.4 beta 5 для разработчиков Несколько минут назад компания Apple выпустила пятые бета-версии iOS 13.4, iPadOS 13.4, tvOS 13.4 и macOS 10.15.4 для пользователей с учётными записями разработчиков. Несмотря на то что в этой пачке должен присутствовать ещё один апдейт – watchOS 6.2, — Apple почему-т...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

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

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

[Перевод] Протокольно-ориентированное программирование в Swift 5.1 Протоколы — фундаментальное свойство Swift. Они играют важную роль в стандартных библиотеках Swift и являются обычным способом абстракции кода. Во многом они похожи на интерфейсы в других языках программирования. В этом руководстве мы представим вам подход к разработке прил...

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

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

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

[Из песочницы] Что такое Flutter и почему вы должны изучать его в 2020 году Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gaël Thomas. Что такое Flutter? Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google...

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

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

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

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

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

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

[Перевод] Почему интернационализация и локализация имеют значение Хабр, отличного всем времени суток! Скоро в OTUS стартует курс «Python Web-Developer»: мы приглашаем на бесплатный Demo-урок «Паттерны Page Controller и Front Controller: реализация в Django» и публикуем перевод статьи Nicolle Cysneiros — Full Stack Developer (Labcodes). Сог...

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

[Из песочницы] Все, что вы должны знать о std::any Привет, Хабр! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek. С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объек...

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

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

[Из песочницы] Падение популярности PHP: не все так однозначно? Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer). Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продо...

[Перевод] Как подготовиться к интервью в YCombinator Один из первых наборов YC. Когда я готовился к интервью зимнего класса 2018 года, я пересмотрел все доступные источники по теме и провел около 20 практических интервью с выпускниками YCombinator. Ниже собрано воедино все, что я узнал. Это руководство – моё личное видение,...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

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

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

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

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

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

[Из песочницы] Обязанности администратора Salesforce: Что должно быть сделано и когда Привет, Хабр! Представляю вашему вниманию перевод «Salesforce administrator responsibilities: What needs to be done and when» автора David Taber. Что администратор Salesforce делает весь день, неделю или месяц? Вот общее краткое изложение. Salesforce администраторы отвечаю...

В iPhone 12 снова будет Lightning и “чёлка”? Про этот концепт, кажется, можно забыть Пока эти устройства загадочны и никому неизвестны, они такие, какими их рисует воображение энтузиастов. Достоверно про iPhone 12 известно немногое: они, скорее всего, будут представлены публике в сентябре этого года. Они будут поддержи...

Как я понял, что мне пора менять iPad на новый Я пользуюсь iPad уже очень давно. Моей первой моделью был iPad 2, за ним – iPad 3, после него первый iPad mini и так далее. То есть, по сути, я старался менять планшеты практически каждый год, а иногда и того чаще. Сказывалось регулярное расширение функциональных возможност...

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

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

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

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

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

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

Что сейчас известно о проекте спутникового интернета Apple для iPhone Для чего Apple нужен свой спутниковый интернет? Про этот “секретный проект”, которым в Apple занимается “примерно 12 инженеров”, рассказал Тим Кук. Речь идет о создании спутниковой системы связи для iPhone в обход операторов связи. iPhone способны поддерживать двустороннюю с...

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

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

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

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

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

Сгореть и вернуться из пепла или люди-фениксы История о том как “сгорают” в распределенных командах. Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах. Один из таких проектов — PaySuper. Проект дл...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

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

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

Самые провальные продукты 2019 года Mate 30 Pro не имеет сервисов Google Чем нам запомнился 2019 год? Конечно, большими событиями, ведь именно в этом году стали появляться в продаже первые гибкие смартфоны и первые 5G-смартфоны. Но не обошлось и без неудачных продуктов, которые мы рассмотрим в этом материале. ...

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

Какие устройства Apple получат обновления до iOS 14 Ожидается, что Apple объявит о следующей версии iOS и iPadOS на своей ежегодной конференции WWDC в июне и это означает, что люди хотят знать, будут ли их устройства поддерживаться для обновления ОС. После несколько ошибочного релиза iOS 13 Apple, возможно, решила продолжить ...

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

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

Как сделать чтение ежедневной привычкой? Результаты многочисленных исследований свидетельствуют о том, что чтение способствует развитию эмоционального интеллекта и является отличной тренировкой для мозга. Согласно данным опроса ВЦИОМ, 53% россиян — то есть каждый второй — читает книги. Но даже несмотря...

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

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

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

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

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

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

Игры от Илона Маска для детей 8-14 лет (играем всем Хабром в комментах) Илон Маск сделал школу Ad Astra «для своих», а недавно команда этой школы стартовала онлайн-школу за $7500 (занятия онлайн раз в неделю). Там я нашел несколько игр, которые показались мне очень интересными. А давайте всем Хабром поиграем? Пишите свои ответы в опросах и ...

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

Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле Привет, Хабр. Итак, в прошлый раз мы эмпирически доказали, что на хаскеле можно довольно легко написать этакий игрушечный wc, который при этом существенно быстрее реализации wc из GNU Coreutils. Понятное дело, что это не совсем честное сравнение: наша программа не умеет ниче...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

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

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

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

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

Secret Neighbor наконец-то портировали на iOS, Сосед идёт вас искать Secret Neighbor — мультиплеерная игра, где вы должны или убегать от Соседа, или ловить непутёвых детей. Им надо находить ключи, чтобы открыть дверь в подвал; по слухам там находится похищенный ребёнок. В свою очередь Сосед может использовать маскировку, расставлять ловушки, ...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Актуальна ли Tizen OS в 2020 году? Актуален ли смартфон на Tizen в 2020 году? Операционная система Tizen начала своё существование в далеком 2011 году, когда LiMo Foundation и Linux Foundation официально заявили о запуске платформы Tizen с открытым исходным кодом для широкого спектра устройств. Возможность ра...

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

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

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

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

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

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

OnePlus может показать сразу несколько новых продуктов кроме OnePlus 8T Мы все уже привыкли к тому, что OnePlus выпускает в год по два смартфона. Точнее, два семейства смартфонов. Один получает порядковый номер, а второй — приписку в виде буквы ”Т”. Так будет и в этом году. Сомневаться в выходе OnePlus 8T не стоит, так как компания уже ти...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

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

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

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

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

Нормально же сидели. Зачем Xiaomi полезла в складные гаджеты? Помните свои ощущения, когда Samsung показал первый складной смартфон в мире? Что вы тогда испытали? Чувство гордости от того, что живете в это чудесное время? Может быть, острое желание разбить копилку и купить этот гаджет? Хотя, мне кажется, это было что-то типа недоумени...

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

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

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

Красивый концепт WordPad в Windows 10 В настоящее время происходит обновление Windows 10 с применением Fluent Design, а это означает, что приложения постепенно получают новый визуальный стиль. Тем не менее, одно из приложений, не получающих обновлений, является WordPad, который по-прежнему остается одним из самы...

3D игры в Инстаграм на Javascript, или траектория полета колбасы После первой статьи о программировании игр в масках Инстаграм ко мне обратился заказчик с просьбой создать игру в Инстаграм для его пиццерии. Эту игру планировалось использовать для целей продвижения бизнеса. Я, конечно, понимаю, что, судя по количеству просмотров первой с...

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

Huawei Mate 40 может выйти намного раньше обычного. Но зачем? Многие из тех, кто разбирается в технике, знают, что Huawei показывает крутые смартфоны два раза в год. Весной мы узнаем о новинках серии ”Р”, а осенью нам показывают линейку ”Mate”. Каждая из них сама по себе интересна, и из года в год компания старается придерживаться гра...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

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

Почему Android без сервисов Google — не Android Huawei стала первой компанией, которую лишили доступа к сервисам Google. В отличие от всех остальных китайских брендов, которые не покупают лицензию на Google Mobile Services по собственной воле, Huawei банально не имеет права это сделать из-за действия американских санкций...

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

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

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

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

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

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

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

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

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

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

Apple разрешила производителям добавлять сторонние устройства в Локатор на iOS Несмотря на то что Apple уже успела выпустить как минимум три функциональных обновления для iOS 14 и приступить к испытаниям четвёртого, не все обещанные нововведения вышли в релиз. Как минимум одна функция, заявленная на прошлогодней конференции WWDC, по-прежнему остаётся ...

Почему я полюбил увеличение экрана iPhone Увеличение дисплея делает использование компактного iPhone комфортнее Я владею смартфонами Apple на протяжении нескольких лет. В 2013 году приобрел свой первый iPhone, им оказался 5s. Уже тогда экран 5s казался не таким большим, но всё еще удобным. К слову, до сих пор габари...

Google выпустила 3 приложения, которые помогут избавиться от зависимости от смартфонов Google выпустила 3 приложения для любителей цифрового благополучия Google особенно подходит к вопросам психологического состояния владельцев Android-аппаратов. Ей важно, как себя чувствуют клиенты, именно поэтому компания в Android 9 добавила функцию цифрового благополучия, ...

[Перевод] Джон Ромеро о Doom: 25 лет Rip & Tear Быстрый. Брутальный. Хардкорный. Беспощадный. Это Doom. «Doom – ‘nuff said!» Именно так должен выглядеть постмортем одной из самых важных игр в истории. Doom написал историю игр, Doom — это поп-культура, Doom — имя, символизирующее скоростные, хардкорные и беспощадные шуте...

В поиске вопросов, или как создать новый отладчик Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь мож...

Сравнивали Haskell и C++, а сравнили jump и cmov В статье [ссылка] было заявлено, что производительность Haskell кода превзошла код на С++. Что сразу вызвало интерес, т.к. и то и другое может генерироваться LLVM компилятором, значит либо Наskell может давать больше хинтов компилятору, либо что-то не так с С++ реализацией....

Как iOS 13.3 меняет производительность и автономность iPhone iOS 13.3 можно смело устанавливать, если вы еще этого не сделали iOS 13 стала, пожалуй, одной из самых неоднозначных версий операционной системы от Apple. С одной стороны, с её выходом, конечно, в Купертино начали радовать пользователей регулярными обновлениями, выпуская по ...

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

[Из песочницы] Мое решение — лучшее Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «My solution is the best!» автора John Hotterbeekx. Недавно я смотрел выступление одного докладчика об архитектуре. Беседа вышла увлекательной, концепция и идея определенно имели смысл, но выступающий не понравился. Чт...

Как сделать резервную копию Android перед тем, как сбросить настройки Хотя многие из нас хранят большую часть наших личных данных в облаке в различных сервисах, таких, как Dropbox, Gmail и Google Photos, или пользуются потоковыми сервисами, некоторые персональные данные все равно будут храниться локально. Если вам надо будет сбросить настройк...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

Huawei вынуждена будет променять TSMC на SMIC? Отношения между правительствами США и Китая в последнее время далеки от дружественных и обострились на фоне обвинений Пекина в сокрытии истинных масштабов распространения коронавируса. Со своей стороны, китайцы отвергли претензии Белого дома, заявив, что «обновляют ста...

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

Google объяснила, почему Android до сих пор не умеет делать скриншот всей страницы Функциональность Android всегда была шире, чем у iOS. Шторка уведомлений, пункт управления, виджеты, замена штатных приложений сторонними – все эти и многие другие возможности появились на Android раньше и только потом, спустя время, перекочевали на iOS. Так продолжалось до...

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

Почему Google не стоит лезть на рынок премиальных смартфонов Google стоит зациклиться на среднебюджетных телефонах Google — компания захватившая Интернет с помощью программного обеспечения. Она предлагает сервисы, которыми пользуется, вероятно, каждый человек. Это Поиск Google, Android, Google Play и так далее. С выходом Nexus в...

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

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

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

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

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

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

Учёт собственных публикаций Если вы используете публикации на различных сайтах и в СМИ как один из инструментов продвижения, то рано или поздно перед вами возникнет вопрос их систематизации. Тогда же появляется и обратная связь, которая обычно включает в себя: просмотры; комментарии с разным эмоционал...

Что обязательно должно быть в Samsung Galaxy S30 До выхода Samsung Galaxy S30 (или S21, что мне нравится намного больше) осталось примерно полгода. Кажется, что это еще очень не скоро, но не спешите так думать. Это как раз то время, за которое можно все продумать и внести коррективы в прототипы устройства нового поколения...

[Перевод] Как линейное время превращается в Windows в O(n²) Недавно я столкнулся с многоминутными задержками на моей рабочей станции. После расследования выяснилось, что причина проблемы заключалась в блокировке, которая могла длиться по пять минут, во время которых источник блокировки в основном крутился в цикле из девяти инструкци...

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

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

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

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

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

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

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

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

В Android 11 Google отберет у пользователей свободу использования камеры В новой версии Android пользователям будет сложнее делать хорошие фотографии! Эту новость можно было назвать и так — это тоже было бы правдой. Главное, что теперь возможности каждого, у кого установлен Android 11, будут чуть более скудными. Скорее всего, это связано с...

Как собрать ПК с Алиэкспресса На сайте Alimpopo.ru своими открытиями и опытом делятся эксперты в покупках на известной торговой площадке Алиэкспресс. Данный интернет – ресурс вмещает в себя большой объем информации и позволяет всем своим посетителям получить подсказки и грамотные рекомендации относительн...

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

Лучший корпус 2020 года. AeroCool P7-C0 COUGAR MX330-G Black В последнее время многие производители компьютерных корпусов стали забывать о том, что корпус должен быть не только красивым и стильным, но еще и практичным — у него все должно быть хорошо с продувом воздуха, с дополнительными функциями. У корпуса CO...

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

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

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

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

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

Справочник security-архитектора: обзор подходов к реализации аутентификации и авторизации в микросервисных системах Контейнеризация, CI/CD, оркестрация, микросервисы и agile-процессы – это облако тегов, которое теперь находится в словаре security-инженеров. Микросервисная модель и сопутствующие технологии привели к многообразию подходов в реализации архитектуры безопасности современных ре...

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

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

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

Killa Design: 3D-печать зданий будущего Последние два десятилетия архитекторы имеют больше свободы в проектировании, чем когда-либо, и это возможно, благодаря передовым инструментам САПР и их методам построения. Проекты становятся более органичными, сложными и динамичными, что позволяет архитектурным компаниям рас...

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

Galaxy S20 раскрыл главную проблему смартфонов 2020 года В чём главный недостаток смартфонов 2020 года Не так давно в Сети появились фотографии, на которых запечатлён Galaxy S20. Линейка смартфонов Galaxy S, куда входит Galaxy S20, S20 Plus и S20 Ultra, должна стать следующей флагманской линейкой от компании Samsung. Главной особе...

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

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

Почему бесплатные VPN опасны? У каждого своя история о том, как он первый раз встретился с VPN. Многие просто пользовались им на постоянной основе, а другие даже не поняли для чего это вообще нужно. Тем не менее VPN позволяет не только спрятаться в сети, но и обойти многие региональные запреты, и даже с...

Путеводитель по Metasploit. Разбираем примеры использования знаменитого фреймворка Для подписчиковMetasploit Framework — самый масштабный и распиаренный из всех фреймворков для эксплуатации и постэксплуатации. Однако вводной статьи по нему в «Хакере» не было, а если и была, то так давно, что не считается. Я расскажу, как именно этот фреймворк использует мо...

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

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

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

[Из песочницы] Играем музыку из Mario на системном динамике Предисловие Привет, Мир! Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной рабо...

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

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

Найдено подтверждение, что Poco X2 (Pocophone X2) готовится к ... В этом году Xiaomi обособил бренд Poco, который неплохо поработал на подъем популярности китайской компании, выпустив всего один смартфон. Теперь Poco начнет, что называется с чистого листа и уже наверняка приготовлен план по выпуску новинок. Говорить о том, что смартфо...

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

Может ли эпидемия CoVID-2019 стать сезонной как грипп и ОРВИ? В то время как эпидемия коронавируса разрастается в более чем 64 странах мира, некоторые ученые не исключают, что CoVID-201 с нами надолго. Напомним, что новый коронавирус это не только близкий родственник атипичной пневмонии SARS и ближневосточного MERS, но и ОРВИ. А эпиде...

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

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

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

[Перевод] Service Mesh: что нужно знать каждому Software Engineer о самой хайповой технологии Прим. перев.: Service mesh — явление, которое ещё не имеет устойчивого перевода на русский язык (более 2 лет назад мы предлагали вариант «сетка для сервисов», а чуть позже некоторые коллеги стали активно продвигать сочетание «сервисное сито»). Постоянные разговоры об этой те...

Пробная партия чипов для iPhone 12 отправлена в Apple Как в Apple тестируют чип A14 (на самом деле нет) Аналитики из Тайваня узнали (вычислили?), что TSMC отправила в адрес Apple пробную партию 5-нм чипов, и что это – именно система-на-чипе, которая появится в iPhone 12 в сентябре этого года. Партия относительно небольшая, но в...

[Перевод] Привлечение и удержание художников в open-source играх Автор оригинальной статьи — Jetrel. Художник, который активно участвует в проектах Open Source игр. Несколько лет назад он был «арт-директором» игры Battle for Wesnoth. Кроме того, он сделал львиную долю арта для Frogatto and friends и продолжает работать над этой игрой. По...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

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

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

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

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

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

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

Microsoft ♥️ Python Традиционно считается, что Microsoft хорошо поддерживает языки программирования на платформе .NET: C# или F#. Но это не совсем так — облако Azure поддерживает целый спектр языков, среди которых Python занимает почетное место. А если речь заходит о машинном обучении, то Pytho...

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

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

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

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

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

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

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

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

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

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

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

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

iOS 14 может подсказать, насколько надежны ваши пароли на сайтах В дополнение к переработанному главному экрану с виджетами, библиотеке приложений и таким функциям, как CarKey, в iOS 14 и iPadOS 14 также появились важные усовершенствования в «Связке ключей» iCloud. Теперь в разделе «Пароли», помимо, собственно, самих паролей, есть отдель...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

Ушла эпоха: Apple официально прекратила поддержку Flash в Safari А кто вообще использует Flash в 2020 году? Еще три года назад Apple заявила, что окончательно откажется от поддержки Flash до конца 2020 года. iPhone и iPad уже давно работают без него, однако на Mac пользователи до сих пор могут установить Flash самостоятельно, если испытыв...

iOS 13.4 запретила звонки по FaceTime на старые устройства iOS 13.4 и macOS 10.15.4, релиз которых состоялся неделей ранее, содержат довольно неприятную особенность. Она состоит в запрете на совершение звонков по FaceTime между старыми и новыми устройствами. То есть пользователи, чьи iPhone, iPad или iPod Touch работают под управле...

The Suicide of Rachel Foster готовится к релизу в феврале В последнее время действительно серьезных сюжетных игр очень мало, так как придумать крутую историю и воплотить её в жизнь удаётся далеко не всем. Тем не менее, на рынке видеоигр все еще есть проекты, которые могут заставить вас задуматься и напрячь извилины в поисках ответа...

[Перевод] Создайте свой собственный симулятор Q# — Часть 1 Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очен...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

[Перевод] Влияние Ethernet на сетевые технологии в 2020 году Перевод статьи подготовлен специально для студентов курса «Сетевой инженер». Набор на курс уже открыт. НАЗАД В БУДУЩЕЕ С ОДНОПАРНЫМ ETHERNET 10 МБ/С — ПИТЕР ДЖОНС, ETHERNET ALLIANCE И CISCO В это трудно поверить, но Ethernet 10 Мбит/с снова становится очень популярной темой...

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

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

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

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

Пользователи Android 11 массово жалуются на проблемы с Android Auto Тот, кто пользовался чем-то подобным, скорее всего, согласится, что очень удобно синхронизировать смартфон с автомобилем. Даже просто подключение по Bluetooth с возможностью набора номера с головного устройства — это уже хорошо, а если говорить о системах, вроде CarPl...

Рецепты PostgreSQL: шаблонизатор mustach Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом. Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе...

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

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

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

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

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

Возможно Windows 10 версии 2004 получит название May 2020 Update Начиная с самого начала 2017 года, Microsoft взяла на себя обязательство обновлять Windows 10 два раза в год – весной и осенью. С 2017 года Microsoft выпускает новые версии Windows 10 каждые шесть месяцев, а следующая версия Windows 10 должна появиться в апреле-мае. В настоя...

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

Баг Safari в iOS 13 позволяет любому просматривать историю браузера пользователя Не делитесь своими файлами с кем попало В iOS 13 и macOS Catalina была найдена новая уязвимость, которая позволяет практически любому получить доступ к истории браузера Safari другого пользователя. По непонятным причинам Safari Web Share API, который отвечает за меню «Подели...

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

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

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

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

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать В 2017 двое ученых, канадец John Aycock и британка Tara Copplestone, опубликовали анализ классической игры Entombed для игровой приставки Atari 2600. Механика этой игры, выпущенной в 1982, крайне проста: археолог, управляемый игроком, должен пробраться по прокручивающимся ...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

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

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

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

Каким должен быть Huawei P40 и почему он так важен для компании Несмотря на то, что установить сервисы Google, которые больше полугода назад отобрали у Huawei из-за конфликта с властями США, возможно и в целом тут нет ничего сложного, я пока не готов покупать эти смартфоны. Дело даже не в этой процедуре и не в каких-то технических минус...

Как сделать иконки на Android квадратными Квадратные иконки выглядят очень необычно Если раньше еще можно было спорить о том, что круче в плане внешнего вида операционной системы — Android или iOS, то сейчас обе «оси» выглядят одинаково хорошо, имея свои достоинства и недостатки. Однако Зеленый Робот...

4 полезных совета по работе с Safari на iPhone и iPad Панель интеллектуального поиска в Safari представляет собой гибрид старой адресной строки и панели поиска, объединенных в одно универсальное место для ввода текста и перехода по ссылкам. Это очень удобно, поскольку можете получить доступ к поисковой системе по умолчанию, ис...

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

[Перевод] Как мы оптимизировали наш DNS-сервер с помощью инструментов GO В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала. Наш авторитетный DNS-сервер используют десятки тысяч веб-сайтов. Мы ежедневно отвечаем на миллионы запросов. В наши дни DNS-атаки становятся все более и более распрос...

[Перевод] Сертификация Microsoft в онлайн — вы, ваше пространство и ваш компьютер На момент написания этой статьи (апрель 2020 года) большая часть мира находится дома для сдерживания распространения COVID-19. В связи с этим было закрыто большинство центров тестирования, что нарушило планы многих людей по прохождению сертификации Microsoft. К счастью, у ва...

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

Зачем нужно калибровать аккумулятор и как это сделать Давайте разберемся, как и зачем нужно калибровать аккумулятор смартфона. Часто ли у вас бывало такое, что смартфон работал, но выключался при остатке заряда 30-40 процентов и более? Если вам это знакомо или, например, вы сталкивались с проблемой уменьшения емкости батареи, в...

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

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

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

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

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

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

[Перевод] Стратегия Apple: почему iPad не оправдал ожиданий Выдержка из статьи The Verge: 10 лет назад Стив Джобс вышел на сцену, чтобы представить миру iPad. По его же признанию, планшет стал устройством из третьей категории между смартфоном и ноутбуком. В то время нетбуки доминировали в секторе персональных компьютеров… У Apple бы...

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

Apple скоро может отказаться от процессоров Intel в компьютерах Mac Кажется, Apple пора отказываться от Intel В 2020, если верить экспертам и аналитикам, Apple должна (просто обязана) представить чип собственной разработки для персональных компьютеров и первый (или даже первые) компьютеры на его основе. У Apple просто нет другого выхода. Int...

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

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

Google сделает управление вкладками в Chrome удобнее В Google Chrome изменится механизм управления вкладками Несмотря на то что Google Chrome явно не лишён недостатков, превзойти его по уровню распространения не удалось ещё никому. Ни Safari с его антитрекинговыми механизмами, ни Opera с функцией безопасного веб-сёрфинга, ни т...

Почему 120 Гц экраны станут трендом 2020 года 120 Гц экраны — тренд 2020 года? Чем 120 Гц экран отличается от обычного? Всё просто: обычный экран работает на частоте 60 Гц. Таким образом, если игра на смартфоне будет выдавать 70 кадров в секунду, пользователь этого попросту не заметит. Именно поэтому в киберспорте...

iPhone SE 2 получит Touch ID в боковой кнопке? iPhone SE 2 не должен быть слишком крутым, и Apple как никто другой знает это Несмотря на то что оригинальный iPhone SE никогда не был мировым бестселлером, его сиквел оказался, пожалуй, самым обсуждаемым смартфоном Apple за последние годы. Ещё бы, ведь получить флагманский ...

Как работает курсор в iPadOS и чем он отличается от компьютерного Вчера Apple обновила iPad Pro и выпустила новую клавиатуру Magic Keyboard для iPad со встроенным трекпадом. Вместе с этим компания анонсировала поддержку полноценного курсора — почти как в MacBook или вашем компьютере на Windows. Было не совсем понятно, каким образом это бу...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

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

В России хотят заставить регистрировать устройства ... Периодически в головах российских чиновников рождается идея введения системы идентификации смартфонов по IMEI. Об этой затее говорят с 2018 года, и она преподносится как борьба с «серыми» мобильными устройствами. Неоспоримое благо — возможность дистанционно...

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

Моделируем поведение Quartus-проекта на Verilog в среде ModelSim В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат. Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще ...

Коронавирус мутировал в 30 новых штаммов Пока коронавирусный апокалипсис медленно но неизбежно становится рутиной, сам вирус SARS-CoV-2 продолжает развиваться. И, к сожалению, у него хорошо получается. Как пишет Futurism.com, со ссылкой на South China Morning Post, новые исследования показывают, что вирус SARS-CoV...

Обновление Windows 10 May 2020 Update начнётся на следующей неделе По слухам, обновление Windows 10 May 2020 Update появится в конце мая и может быть запущено уже на следующей неделе. Microsoft уже предоставила обновление May 2020 Update OEM-производителям, разработчикам и тестерам ПК в канале Release Preview своей программы бета-тестирован...

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

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

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

Как установить Гугл Камеру почти на любой смартфон Google Camera — одно из главных программных чудес для Android-устройств. Для смартфонов серии Google Pixel это и вовсе ”Святой Грааль”, которым компания не спешит делиться со всеми. Правда, многие пользователи все равно устанавливали себе GCam и пользовались ей вместо...

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

[Перевод] Как и по каким причинам провалились мои первые 5 стартапов До того, как Loki.ai стал финансово устойчивой компанией, я потерпел неудачу с первыми 5 стартапами за 5 лет. Я периодически получаю письма от людей, у которых были отклонены заявки по стажировкам и работе, а некоторые и вовсе были уволены. Они попросили дать совет на тему ...

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

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

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

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

Пользователи iPhone 11 пожаловались на проблемы с GPS iPhone 11 страдают от проблем с работой GPS, но не у всех К хорошему привыкаешь быстро. Именно поэтому никто даже внимания не обратил на то, что запуск iPhone 11 прошёл относительно гладко. Если сравнивать его с iPhone XS, который из-за сбоя в программном обеспечении из коро...

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

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

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

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

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

Что стоит сделать Google с Android в 2020 году Android может быть лучше Давайте немного поразмышляем над тем, как Google может изменить политику распространения версий Android. Уже сейчас в Сети появляется информация о том, что нового появится в Android 11. И новые функции — это всегда хорошо, но один из пользовате...

Qualcomm представила новый датчик 3D Sonic Max, который может серьезно повысить безопасность смартфонов В прошлом году компания Qualcomm придерживалась подхода, отличного от остальной индустрии смартфонов, когда она анонсировала встроенный в дисплей сенсор 3D Sonic. Вместо того, чтобы полагаться на оптическое изображение вашего пальца для аутентификации, система 3D Sonic испол...

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

Уникальный случай: AMD существенно ускорила Radeon RX 5600 XT до выхода. Для конкуренции с подешевевшей GeForce RTX 2060 Как мы узнали вчера, компания Nvidia снизила цену на видеокарту GeForce RTX 2060 до 300 долларов. Теперь этот адаптер всего на 20 долларов дороже новейшей Radeon RX 5600 XT, что ставит последнюю под угрозу, так как адаптер Nvidia должен быть быстрее. Судя по всему, AMD ...

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

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

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

На YouTube заработали новые ограничения в отношении детей Команда популярного сервиса Youtube ввела в действие новые требования для видео, ориентированного на детей. Изначально новая политика конфиденциальности в отношении детей была разработана в ответ на требования Федеральной торговой комиссии США (FTC).  Тепер...

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

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

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

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

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

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

Scara-робот. Epic fail. Доброго времени суток, уважаемые печатающие.С момента написания последнего поста, в котором я повествовал о сборке 3d-принтера с кинематикой Scara, прошло больше времени, чем должно было пройти. Если кому интересно, то у меня отмазки следующие: •    после недели попыток на з...

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

Google Stadia скачали больше миллиона человек. Много ли это? В прошлом году компания Google запустила новый сервис, задача которого состоит в том, чтобы пользователи могли играть в крутые игры даже на простеньком смартфоне. Пользователи долго ждали такого ”подарка” от Google, и когда дождались, начали массово скачивать это приложение...

Redmi 9 на подходе — c более мощным процессором и аккумулятором большой емкости Пока Xiaomi готовится официально представить флагман Mi 10, Redmi работает над своими новинками. Первой будет Redmi K30 Pro, а потом должны выйти бюджетные хиты Redmi 9 и Redmi Note 9. Случится это не раньше, чем через пару месяцев, но в распоряжении источника уже есть ...

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

Древности: Roland MT-32, альтернативный звук для DOS-игр Не во всех играх под DOS есть настройки звука. Например, в Lemmings все просто работает. Или нет. Но там, где настройки все же имеются, они выглядят примерно так: Когда я играл в «Принца Персии» в девяностые, моим единственным выбором была верхняя строчка, по причине отсу...

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

Windows 10: 5 лет назад 1 октября 2014 года Microsoft выпустила первую публичную сборку Windows 10 под названием Windows Technical Preview. Заметьте, что в названии не фигурирует цифра 10. Возможно разработчики еще тогда хотели от нее отказаться и вообще от нумерации Windows или просто компания реш...

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

Huawei выпустила бету Harmony OS для смартфонов раньше времени. Что о ней говорят тестеры Несмотря на то что Huawei представила Harmony OS около полутора лет назад, с тех пор не только не появилось ни одного смартфона, который бы работал на новой платформе, но даже её саму не видел никто, кроме Huawei. Однако этой осенью компания объявила, что запустит бета-тест...

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

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

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

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

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

Кто будет первым смартфоном на Snapdragon 865 Plus. Galaxy Note 20? Компания Qualcomm уже приучила нас к тому, что выпускает ”плюсовую” версию своего процессора ближе к выходу нового чипа. Пусть подряд такое встречается только второй раз, но к хорошему привыкают быстро. Такая практика помогает компаниям выпускать устройства на актуальных пр...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Почему AMOLED-экраны «выгорают», и как с этим борются производители? Как производители решили проблему с выгоранием? Не так давно я стал обладателем смартфона Xiaomi Mi 9 Lite, устройство оснащено superAMOLED-экраном, и это, то что меня волновало перед его покупкой. Я сильно сомневался, ведь AMOLED-экраны имеют определенные недостатки. Во-пер...

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

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

Пользователи Mac с чипом M1 жалуются на быстрый износ SSD. В чём дело? Компьютеры Mac на M1 получились очень мощными и производительными (не говоря уже о времени автономной работы), но, как и в случае с любым новым устройством, без «болячек» здесь не обошлось. И если большинство проблем Apple уже исправила с помощью обновлений macOS, то с ново...

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

Почему на телефоне не получается смотреть животных в 3D от Google Помните свой первый AR? Это был совершенно новый опыт. Даже если это было что-то невнятное в плохом качестве, оно все равно было вписано в реальный мир. Это действительно было интересно и необычно. Сейчас мы уже немного привыкли к этому, но все равно всегда рады поиграться ...

[Перевод] Дизеринг 2: ряд золотого сечения, синий шум и highpass-and-remap В предыдущей части я рассмотрел определение дизеринга и объяснил, как он изменяет характеристики погрешностей простой 1D-дискретизации и функций. В этой части я рассмотрю синий шум, но сначала давайте взглянем на ряд чисел, который я использовал в предыдущей части, и котор...

IDA Pro: работа с библиотечным кодом (не WinAPI) Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от ...

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

Коронавирус мутировал и стал еще более заразным И снова тревожные новости о COVID-19: ученые выявили новый штамм коронавируса SARS-CoV-2, который стал доминирующим во всем мире и, по-видимому, более заразен, чем предыдущие штаммы, которые распространились в первые дни пандемии. К такому выводу пришли авторы нового исслед...

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

Почему iPad с Magic Keyboard не заряжается? Отзывы пользователей Одной из особенностей новой клавиатуры Magic Keyboard для iPad Pro стала возможность заряжать планшет с помощью разъема Smart Connector. Это позволяет подключить кабель для зарядки только к самой клавиатуре (для него сделали специальный порт сбоку), а не тянуть еще один про...

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

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

[Перевод] Можно ли доверять медицинским советам ботов? Доктора пока не уверены в этом Компания Babylon Health, капитализация которой оценивается в $2 млрд, предлагает услуги чатбота, дающего медицинские советы на основе описываемых симптомов. Его использовали уже 1,7 млн раз. Однако эксперты волнуются, что он работает не совсем так, как обещают в рекламе. Хэ...

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

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

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

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

Работаем дома №2. Как создавать команды в Microsoft Teams и управлять ими Для удаленной работы вам и вашей компании нужна программа, которая максимально поможет организовать весь процесс. Одной из таких платформ является Microsoft Teams. Читайте также: Работаем дома №1. Коронавирус закрыл офисы. Как организовать удаленную работу? Что такое Microso...

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

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

Google выпустит новый Chromecast Ultra на базе Android TV Не знаю, как вы, а я в последнее время очень активно пользуюсь телевизионными приставками, вроде Google Chromecast и AppleTV 4K. Они мне кажутся просто отличным способом потребления видеоконтента, будь то эфирное вещание, сервисы или просто отзеркаливание контента со смартф...

Инновационная Microsoft Windows 10 Core OS снова обнаружена Сотрудники Microsoft обновляют свои профили в LinkedIn, чтобы упомянуть инновационный проект Windows Core OS. В прошлом году пост о работе в LinkedIn показал, что новая модульная версия Windows 10 может использовать компоненты с открытым исходным кодом. В посте о работе, кот...

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

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

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

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

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

[Перевод] Почему Facebook позволит переносить данные юзеров в другие сервисы В марте 2019 года Washington Post опубликовала статью Марка Цукерберга, где он призвал государство регулировать индустрию технологий и упомянул деталь, заставшую некоторых врасплох: Регулирование должно гарантировать принцип переносимости данных. Если вы предоставите инфо...

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

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

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

В Apple рассказали, почему MacBook Pro на чипе M1 оказался мощнее MacBook Air Команда инженеров и проектировщиков Apple, работавших над созданием процессора M1, не ожидала, что его результативность окажется настолько выдающейся. В компании понимали, что ARM-чипы – это новое слово в развитии аппаратного обеспечения компьютеров, но они и представить се...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

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

Microsoft показала, как работает её первый смартфон на Android Surface Duo — складной смартфон, состоящий из двух отдельных смартфонов. Кому это нужно? Нежелание Microsoft работать с Android сильно отбросило её в своём развитии, не позволив выступать на мобильном рынке хотя бы на равных с Google, не говоря уже о более востребованн...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

[Перевод] Питонистический подход к циклам for: range() и enumerate() Автор заметки, перевод которой мы сегодня публикуем, хочет рассказать о некоторых особенностях использования циклов for в Python. Цикл for — это один из краеугольных камней программирования. С этими циклами будущие программисты знакомятся в самом начале учёбы и, после пер...

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

[Перевод] Зависимые типы в Haskell: почему это будущее разработки программного обеспечения В Serokell мы занимаемся не только коммерческими проектами, но стараемся изменить мир к лучшему. Например, работаем над улучшением главного инструмента всех хаскелистов – Glasgow Haskell Compiler (GHC). Мы сосредоточились на расширении системы типов под впечатлением от рабо...

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

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

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

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

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

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

[Перевод] Предсказание стоимости биткоина по новостям на Python Перевод статьи подготовлен в преддверии старта курса «Machine Learning» от OTUS. Задача В этом руководстве мы используем датасет Bitcoin vs USD. Вышеприведенный датасет содержит ежедневную сводку цен, где колонка CHANGE – это изменение цены в процентах от цены за п...

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

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

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

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

Закон Конвея и его важность при создании команд Закон Конвея (Conway’s Law) имеет большое значение для понимания тех сил, что возникают при формировании команд, и того результата, который они могут оказать на команды в условиях длительного и автономного, неуправляемого и некорректируемого воздействия. И, как следствие, дл...

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

CES: В графических процессорах AMD Navi может появиться трассировка лучей Генеральный директор компании Лиза Су рассказала, что нового в семействе Radeon появится в 2020 году. В рамках международной выставки потребительской электроники CES 2020 компания AMD представила графическую карту Radeon RX 5600 XT с новой архитектурой Navi RDNA, предназн...

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

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

Почему у Apple TV+ могут быть проблемы из-за ухода главы Disney Глава The Walt Disney и один из лучших друзей Стива Джобса, Боб Айгер, объявил о своём уходе с поста главы компании. По мнению Рика Маршалла, обозревателя сетевого ресурса Digital Trends, без Айгера Disney будет уже не та. Боб Айгер останется в Disney до конца его контракта...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

Освободи свой Android Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android. В момент выхода этой статьи я как-то не обратил на неё внимани...

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

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

[Перевод] Forge of Empires из AS3 в Haxe. Постмортем В комментариях к переводу доклада с HaxeUp Sessions 2020 Hamburg — Зимний отчет о состоянии Haxe — был задан вопрос о том, зачем нужен Haxe. На него, конечно же, ответили там же, в комментариях. Предлагаемый вашему вниманию перевод еще одного доклада с прошедшего HaxeUp долж...

Автооключение на Anet A8 В свое время задумался над реализацией функции автоматического выключения принтера по окончанию печати. Находил материалы по этому поводу, но помню там было что-то мудреное, а я решил сделать все применительно к своим суровым реалиям, т.е. на стоковом (в плане прошивки) Anet...

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

Сможет ли Huawei выйти из кризиса без Google Уже больше полугода Huawei работает в условиях санкций, которые на нее наложило правительство США. Можно сказать, что компания находится в кризисе. Тут стоит вспомнить, что на Востоке слово ”кризис” отождествляется со словом ”возможности”. На самом деле, это действительно т...

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

[Перевод] Async/await в Unity Салют, хабровчане. Совсем немного времени остается до старта курса «Разработчик игр на Unity», в связи с этим мы подготовили для вас еще один интересный перевод. async в Unity уже и так работает без каких-либо плагинов или оборачивающих Task корутин, имитирующих асинхронн...

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

Как сети пятого поколения могут изменить нашу жизнь? Даешь 5G в каждый смартфон и не только. Смартфоны с 5G появляются все чаще и чаще. Пользователи ждут увеличения скоростей сети. СМИ только и пишут о том, что вот-вот все заработает в России. Другие СМИ возражают им и говорят, что Министерство обороны не отдает частоты и ждат...

Чего вы больше всего ждете от Apple в 2020 году? Я вот жду Apple Watch, а вы? В конце прошлого года мы рассуждали на тему того, что можно ожидать от Apple в течение 2020 года, включая новое аппаратное и программное обеспечение. Уже тогда было ясно, этот год обещает быть напряженным для Apple с ее пятью новыми моделями iPho...

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

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

[Перевод] Устанавливаем рабочий стол Linux на Android Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC. В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах. Одной из ключевых технологий, которую применяют многи...

Читы на динозаврика в Google Chrome: скорость и бессмертие Думаю, все хотя бы раз играли в раннер Dino, который встроен в Google Chrome. Как правило, он включается, если подключение к интернету теряется, и тогда браузер сам предлагает игру, чтобы скоротать время, пока соединение не восстановится. Не знаю, как вы, а меня Dino сильно...

Китайские гиганты хотят положить конец господству ... Издание Reuters со ссылкой на осведомленные источники сообщило о том, что четыре китайских техногиганта Huawei, Oppo, Vivo и Xiaomi создали альянс Global Developer Service Alliance (Глобальный альянс разработчиков сервисов). Цель GDSA — разработка и поддержка новой пла...

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

iPhone не подключается к Wi-Fi на iOS 13. Что делать Apple сломала Wi-Fi в iOS 13. Что с этим делать? Клавиатура «бабочка» является, пожалуй, наиболее известной неудачей Apple. Несмотря на то что компания получила тысячи жалоб на низкую надёжность этой клавиатуры, в Купертино на протяжении почти пяти лет пытались усовершенство...

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