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

Учимся общаться между микросервисами на Node.js через RabbitMQ Это продолжение статьи «Пишем первый микросервис на Node.js с общением через RabbitMQ», которая была неплохо принята пользователями хабра. В этой статье я расскажу о том, как нужно правильно общаться между микросервисами, чтобы микросервисы оставались изолированными. Читать ...

Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м...

Gonkey — инструмент тестирования микросервисов Gonkey тестирует наши микросервисы в Lamoda, и мы подумали, что он может протестировать и ваши, поэтому выложили его в open source. Если функциональность ваших сервисов реализована преимущественно через API, и используется JSON для обмена данными, то почти наверняка Gonkey п...

Kubernetes tips & tricks: о локальной разработке и Telepresence Нас все чаще спрашивают про разработку микросервисов в Kubernetes. Разработчики, особенно интерпретируемых языков, хотят быстро поправить код в любимой IDE и без ожидания сборки/деплоя увидеть результат — по простому нажатию на F5. И когда речь шла про монолитное приложени...

Проблемы общего кода в микросервисах Всем привет! Недавно на конференции PGConf в Москве один из докладчиков демонстрировал «микросервисную» архитектуру, упомянув мимоходом, что все микросервисы наследуют от одного общего базового класса. Хотя никаких пояснений по реализации не было, создалось впечатление, что...

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

[Из песочницы] Schemathesis: property-based тестирование для API схем Фото Chris Keats на Unsplash Многие компании, и мы в том числе, перешли от монолитов к микросервисам ради лучшей масштабируемости и ускорения циклов разработки. У нас всё еще есть монолитные проекты, но они постепенно заменяются набором небольших и аккуратных микросервисов....

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

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

Архитектурный шаблон “Macro Shared Transactions for Microservices” Автор: Денис Цыплаков, Solution Architect, DataArt Постановка задачи Одной из проблем при построении микросервисных архитектур и особенно при миграции монолитной архитектуры на микросервисы часто становятся транзакции. Каждый микросервис отвечает за собственную группу фун...

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

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

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

Бережная обработка ошибок в микросервисах В статье показано, как в Go реализовать обработку ошибок и логирование по принципу "Сделал и забыл". Способ расчитан на микросервисы на Go, работающие в Docker-контейнере и построенные с соблюдением принципов Clean Architecture. Читать дальше →

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

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

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

Просто и на C++. Основы Userver — фреймворка для написания асинхронных микросервисов В Яндекс.Такси придерживаются микросервисной архитектуры. С ростом количества микросервисов мы заметили, что разработчики много времени тратят на boilerplate и типичные проблемы, при этом решения не всегда получаются оптимальные. Мы решили сделать свой фреймворк, с C++17 и ...

[Из песочницы] Пишем блог на микросервисах – часть 2 «API Gateway» В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи. Теперь пришла очередь API Gateway или API GW. В нашем c ptimofeev API GW мы реализуем следующие функции: Конвертация REST запросов в gRPC запросы и наоборот. Логир...

Ignite Service Grid — перезагрузка 26 февраля мы проводили митап Apache Ignite GreenSource, где выступали контрибьютеры open source проекта Apache Ignite. Важным событием в жизни этого сообщества стала перестройка компонента Ignite Service Grid, который позволяет развернуть пользовательские микросервисы прямо...

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

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

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

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

[Из песочницы] Используем AppDynamics с Red Hat OpenShift v3 В последние время многие организации хотят, чтобы их приложения переходили из монолитов в микросервисам с использованием «платформы как услуги» (PaaS), таких как RedHat OpenShift v3, AppDynamics сделала значительные инвестиции в обеспечение первоклассной интеграции с такими...

История типизации на примере одного большого проекта Всем привет! Сегодня я расскажу вам историю развития типизации на примере одного из проектов в Ostrovok.ru. Эта история началась задолго до хайпа о typing в python3.5, более того, она началась внутри проекта, написанного еще на python2.7. 2013 год: совсем недавно был рел...

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

[recovery mode] KISS Architecture. От микросервиса до монолита Андрей Копылов, наш технический директор, рассказывает, какой подход к проектированию архитектуры приложений использует команда веб-разработчиков AREALIDEA, и, чем KISS Architecture, его собственная разработка, так хороша. Читать дальше →

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

.Net Community Райффайзенбанка приглашает на митап .NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая. Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и зна...

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

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

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

[Перевод] Взаимодействие между компонентами Angular с использованием RxJS Руководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular. В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отн...

Сборка и деплой однотипных микросервисов с werf и GitLab CI Два года назад мы публиковали статью «Сборка проектов с GitLab CI: один .gitlab-ci.yml для сотни приложений», а теперь расскажем о решении схожей задачи сегодня. Новый материал — о том, как можно построить CI/CD-процессы для большого количества однотипных приложений с появ...

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

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

[Из песочницы] Пишем первый микросервис на Node.js с общением через RabbitMQ Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса. Один из вариантов решения данной проблемы — использование микросервисной архитектуры. Для новичков или для тех, кто впервые сталкива...

Всегда ли нужны Docker, микросервисы и реактивное программирование? Автор: Денис Цыплаков, Solution Architect, DataArt В DataArt я работаю по двум направлениям. В первом помогаю людям чинить системы, сломанные тем или иным образом и по самым разным причинам. Во втором помогаю проектировать новые системы так, чтобы они в будущем сломаны не...

Зачем мы делаем Enterprise Service Mesh Service Mesh — известный архитектурный паттерн для интеграции микросервисов и перехода на облачную инфраструктуру. Сегодня в облачно-контейнерном мире обойтись без него довольно сложно. На рынке уже доступны несколько open-source реализаций service mesh, но их функциональнос...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

[Перевод] Как написать смарт-контракт на Python в сети Ontology. Часть 2: Storage API Это вторая часть из серии обучающих статей о создании смарт-контрактов на Python в блокчейн сети Ontology. В предыдущей статье мы познакомились с Blockchain & Block API смарт-контракта Ontology. Сегодня мы обсудим, как использовать второй модуль— Storage API. Storage API...

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

Интеграционное тестирование микросервисов на Scala Unit-тестирование — это замечательно, но его одного бывает недостаточно. Часто хочется дополнительно убедиться, что запущенное приложение будет работать. На помощь приходит интеграционное тестирование. Оно все чаще применяется для тестирования сервисов, а Docker позволяет уд...

RBKmoney Payments под капотом — логика работы платежной платформы Привет, Хабр! Продолжаю публикацию цикла про внутренности платежной платформы RBK.money, начатую в этом посте. Сегодня речь пойдет про логическую схему процессинга, конкретные микросервисы и их взаимосвязь друг с другом, как логически разделены сервисы, обрабатывающие кажды...

Что можно делать с аннотациями контрактов микросервисов? В прошлом посте мы рассказывали о том, как и почему мы в Acronis делаем аннотации к микросервисам, и обещали поделиться своей практикой применения единого формата API для всей платформы Acronis Cyber Platform. Сегодня мы расскажем про свой опыт статических проверок аннотаций...

[Из песочницы] Удаленная отладка микросервиса через SSH под VPN в 4 хода Бывает ситуация, когда нужно отдебажить сложный кейс на удаленной машине, но доступ к серверу есть только под VPN с ограничениями по открытым портам. В статье хочу поделиться с коллегами небольшим «ресерчем» на тему удаленной отладки через SSH под VPN, дабы сэкономить драгоц...

Не Spring Boot’ом единым: обзор альтернатив В настоящее время нет недостатка во фреймворках для создания микросервисов на Java и Kotlin. В статье рассматриваются следующие: Название Версия Год первого релиза Разработчик Helidon SE 1.1.1 2019 Oracle Ktor 1.2.1 2018 JetBrains Micronaut 1.1.3 2018 Object Compu...

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

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

Построение микросервисной архитектуры на Golang и gRPC, часть 2 (docker) Пришло время заняться контейнерами Прежде всего, мы используем новейший образ Linux Alpine. Linux Alpine — это легкий дистрибутив Linux, разработанный и оптимизированный для запуска веб-приложений в Docker. Другими словами, Linux Alpine обладает достаточным количеством зави...

[Перевод] AMP: будущее электронной почты Динамическое электронное письмо, созданное с использованием технологии AMP, российскими разработчиками из ecwid.ru Проект AMP задумывался, чтобы улучшить пользовательский опыт в сети, а это значит и работу с электронной почтой, когда она происходит в вебе. Для большинства и...

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

MSK VUE.JS meetup #3 в Mail.ru Group: материалы с митапа В сентябре в нашем офисе прошел большой митап по разработке на прогрессивном фреймворке vue.js. Мероприятие посетили 400 человек — это не может не радовать. В программе было 3 доклада: команда Delivery Club рассказала про технологическую сторону своей новой web-версии клие...

Как выбрать Open Source лицензию для RAD фреймворка на GitHub В этой статье мы немного поговорим об авторском праве, но в основном о выборе свободной лицензии для RAD фреймворка IONDV. Framework и для опенсорсных продуктов на его основе. Мы расскажем о разрешительной лицензии Apache 2.0, о том, что привело нас к ней и с какими решениям...

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

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

[Перевод] The Pirate Bay за 15 лет так и не смогли убить Интернет продолжает развиваться с небывалой скоростью, но одно в нём остаётся неизменным — это The Pirate Bay Как-то в 2009-м году, в тихом уголке читального зала моей школы, я загрузил свой побитый жизнью ноутбук, при этом следя за тем, чтобы никто не подглядывал мне чер...

Когда стандарта HTTP мало. Коммитим в Micronaut Всем привет, меня зовут Дмитрий, и сегодня я расскажу о том, как производственная необходимость заставила меня стать контрибутором для фреймворка Micronaut. Наверняка многие о нём слышали. Если вкратце, то это легковесная альтернатива Spring Boot, где основной упор сделан не...

Исчезающие фреймворки Почему мы используем фреймворки? Angular, React и Vue помогают нам строить сложные веб-приложения: структурировать код, управлять состоянием и разрабатывать сложные интерфейсы. За последнее десятилетие фреймворки стали стандартом. Дорогим стандартом. С тех пор как фреймворки...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

[Перевод] Лучшая архитектура для MVP: монолит, SOA, микросервисы или бессерверная?.. Часть 1 В ноябре OTUS запускает новую образовательную программу «Архитектор ПО», в связи с этим подготовили серию публикаций для будущих студентов курса и читателей нашего блога. Создание нового продукта всегда связано с риском. И выбор правильной архитектуры — важный шаг на пути...

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

[Перевод] Выпускаем Predator — предкомпилированные Data-репозитории Сегодня, команда Micronaut в Object Computing Inc (OCI) представила Predator, новый проект с открытым исходным кодом, цель которого — значительно улучшить время выполнения и производительность (по памяти) доступа к данным для микросервисов и serverless-приложений, при этом ...

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

[Из песочницы] BotMan знакомство Хочу рассказать о PHP фреймворке для создания ботов BotMan (Сайт). Botman можно использовать и как библиотеку, и как расширение Laravel (BotMan Studio). Читать дальше →

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

Будни MT_FREE: несколько историй про влияние сторонних сервисов на работу публичного Wi-Fi Интернет — большая и динамичная среда, где всё друг с другом тем или иным способом связано и может друг на друга влиять. Такая зависимость, когда небольшое изменение в одной части системы может привести к полному изменению другой, в народе называют «эффектом бабочки». Эффе...

[Перевод] Зачем нам столько мессенджеров? Slack, Signal, Hangouts, Wire, iMessage, Telegram, Facebook Messenger… Зачем нам так много приложений для выполнения одной задачи? Десятилетия назад научные фантасты представляли себе летающие машины, автоматически готовящие еду кухни и возможность позвонить кому угодно на...

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

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

Компилятор Ангуляр в 200 строчек кода Привет. Меня зовут Роман, и я не изобретатель велосипедов. Мне нравится фреймворк Angular и экосистема вокруг него, и я разрабатываю с его помощью свои веб-приложения. С моей точки зрения, основное преимущество Angular в долгосрочной перспективе базируется на разделении кода...

End-to-end тестирование микросервисов c Catcher Добрый день, Я хотел бы представить новый инструмент для end-to-end тестирования микросервисов – Catcher Зачем тестировать? Зачем нужно e2e тестирование? Мартин Фаулер рекомендует избегать его в пользу более простых тестов. Читать дальше →

Выборка данных с ORM — это просто! Или нет? Введение Практически любая информационная система так или иначе взаимодействует с внешними хранилищами данных. В большинстве случаев это реляционная база данных, и, зачастую, для работы с данными используется какой-либо ORM фреймворк. ORM устраняет большую часть рутинных оп...

Что курил автор: добавим олдскула в этот безумный мир игр Привет, Хабр. Не буду повторять тысячный раз о том, что как любой из нас всегда мечтал написать игру. Мне 37. Я разработчик. Как раз самое время задуматься. Аркады, симуляторы, RPG, шутеры, веб, десктоп, мобильная. Было непросто. В какой-то момент я понял, что хочу возродить...

RBKmoney Payments под капотом — микросервисы, протоколы и конфигурация платформы Привет Хабр! RBKmoney снова выходит на связь и продолжает цикл статей о том, как написать платежный процессинг своими руками. Хотелось сразу погрузиться подробности описания реализации платежного бизнес-процесса как конечного автомата, показать примеры такого автомата с наб...

Микросервис на GO для граббинга видео из твитов Добрый день, Хабравчане! Статья для новичков, каких то сверх новых идей вы здесь не увидите. Да и данный функционал, скорее всего, реализовывался десятки раз на различных языках. Идея состоит в том, что бы получив ссылку на пост в твиттере в котором содержится видео, забрать...

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

13. Check Point Getting Started R80.20. Licensing Приветствую, друзья! И мы наконец-то добрались до последнего, заключительного урока Check Point Getting Started. Сегодня мы поговорим об очень важной теме — Лицензирование. Спешу предупредить, что данный урок не является исчерпывающим руководством по выбору оборудования ил...

Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори...

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

17 способов проникновения во внутреннюю сеть компании Безопасность. Слово означающие защищённость человека или организации от чего-либо/кого-либо. В эпоху кибербезопасности мы всё чаще задумываемся не столько о том, как защитить себя физически, сколько о том, как защитить себя от угроз извне (киберугроз). Сегодня мы поговорим...

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

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

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

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

[Перевод] Назад к микросервисам вместе с Istio. Часть 2 Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии. Теперь же речь пойдёт про более сложные аспекты конфигурации и использования этого service mesh, а в частности — про тонко настраиваемую маршрутизацию и упр...

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

Много свойств или свойство-объект: критерии выбора Много свойств или свойство-объект: критерии выбора Мы используя Vue, разрабатываем компоненты различного рода и условий применения. Одной из ключевых частей любых компонентов — это их интерфейс. Во Vue, передаваемые свойства — являются очень важной, если не самой важной, ч...

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

WebComponents как фреймворки, взаимодействие компонентов Когда разговор заходит о веб компонентах, часто говорят: «Ты что хочешь без фреймворков? Там же все готовое». На самом деле есть фреймворки созданные на основе реализаций стандартов входящих в группу веб компонентов. Есть даже относительно неплохие, такие как X-Tag. Но сегод...

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

Как рекомендовать музыку, которую почти никто не слушал. Доклад Яндекса Почти у всех рекомендательных систем есть трудности с новым или редким контентом — поскольку с ним взаимодействовала лишь незначительная часть пользователей. В своём докладе на встрече «Яндекс изнутри» Даниил Бурлаков поделился набором трюков, которые используются в рекоменд...

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

Пользователи жалуются на проблемы с графикой в macOS Mojave Владельцы новых MacBook Pro сталкиваются не только с проблемами с клавиатурой и дисплеем, но также и с программными ошибками. Как сообщают пользователи, проблема возникла после обновления до macOS Mojave. По их словам графика компьютера стала работать крайне нестабильно ...

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

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

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

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

Блеск и нищета микросервисов Тема микросервисов опасна уже сама по себе: трудно удержаться, балансируя на лезвии объективности, между …

[Из песочницы] Топ 5 ошибок в моих ReactJS приложениях Больше 4х лет назад я влюбился в ReactJS и с тех пор все Fron End приложения разрабатываю при помощи этого замечательного инструмента. За это время я и команды, в которых мне повезло поработать, наделали кучу ошибок, многие из которых были благополучно исправлены. Множество ...

[Из песочницы] Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смо...

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

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

[Перевод] GitLab 11.10 GitLab 11.10 с пайплайнами на панели управления, пайплайнами для объединенных результатов и предложениями по нескольким строкам в мердж-реквестах. Удобные сведения о работоспособности пайплайнов в разных проектах GitLab продолжает увеличивать прозрачность жизненного цикла D...

[Перевод] Назад к микросервисам вместе с Istio. Часть 1 Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле ...

Утекли скриншоты нового приложения Xbox для Windows 10 Компания Microsoft создаёт совершенно новое приложение Xbox для Windows 10, которое позволит пользователям загружать и устанавливать игры, являющиеся частью подписки Xbox Game Pass, а также общаться с друзьями в Xbox при помощи текстовых и голосовых сообщений. Сообщается, ч...

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

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

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

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

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

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

Владельцы камер Leica Q2 столкнулись с проблемой В интернете появились сообщения владельцев полнокадровых компактных камер Leica Q2, которые столкнулись с неприятной проблемой — некоторые снимки в формате RAW не читаются. Фотограф Джош Байерс (Josh Byers) впервые заметил проблему, когда снимал с помощью Leica Q...

[Перевод] Основы движков JavaScript: общие формы и Inline кэширование. Часть 2 Всем привет! Курс «Безопасность информационных систем» стартует уже через 2 недели, поэтому сегодня мы хотим опубликовать вторую часть статьи, публикация которой приурочена к его запуску. Прочитать первую часть можно тут. Итак, начнем. Inline Caches (ICs) Основной идеей, к...

Запускаем инспекции IntelliJ IDEA на Jenkins IntelliJ IDEA на сегодня обладает наиболее продвинутым статическим анализатором кода Java, по своим возможностям оставившим далеко позади таких «ветеранов», как Checkstyle и Spotbugs. Её многочисленные «инспекции» проверяют код в различных аспектах, от стиля кодирования до х...

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

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

Blue Origin опубликовала в Twitter загадочный снимок корабля Шеклтона На официальной странице компании Blue Origin в сети Twitter появилась фотография корабля знаменитого исследователя Эрнеста Шеклтона, занимавшегося изучением Антарктики. 5.9.19 pic.twitter.com/BzvwCsDM2T — Blue Origin (@blueorigin) 26 апреля 2019 г. Фотография озаглавлена д...

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

Новые скришоты iOS 13 демонстрируют «темный режим» и обновленные «Напоминания» В преддверии WWDC 2019 ресурс 9to5mac поделился новой информацией, а также порцией стриншотов пока неанонсированной версии iOS. Авторы сайта со ссылкой на собственные источники подтвердили наличие в iOS 13 долгожданного «темного режима» и рассказали о том, как изменится прил...

Yii 2.0.16 Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью. Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сд...

Service Desk в Хоум Кредит. А что внутри?… В каждой компании, где присутствует подразделение ИТ, есть ServiceDesk, но у всех он разный. Где-то это простой helpdesk для приема обращений, где-то anykey, у нас в Хоум Кредите первая линия поддержки — ступень к многоуровневому процессу эксплуатации, а для многих сотрудник...

[Перевод] Понимаем Property Wrappers в SwiftUI Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.» На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам...

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

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

Cборка динамических модулей для Nginx Недавно мы собирали динамический модуль для Nginx, а когда всё было уже готово, то выяснилось, что наш модуль оказался не совместимым с Nginx, который уже был установлен на сервере. Готового решения возникшей проблемы нам найти не удалось и мы начали бороться с ней самостоя...

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

Уточняем описание функций системы с помощью диаграммы Sequence Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки") В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности. В данном примере я использую ...

Динамичный 3D-экшен в открытом мире Ria выйдет на iOS и Android 25 октября Студия Createlex готовит action RPG RIA для iOS и Android. Это будет ее дебютный проект, релиз которого состоится 25 октября. Вам предстоит сыграть за героя по имени Ria, который является сыном Бога и отправляется в путешествие в открытом мире, чтобы уничтожать различных су...

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

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

Внедрение микросервисов тормозится непониманием основ технологии Архитектура микросервисов связывает современные распределенные гибридные облачные инфраструктуры с локальными …

Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation Как вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойч...

О топорах и капусте Размышления о том, откуда берется желание сдать сертификацию AWS Solutions Architect Associate. Мотив первый: «Топоры» Один из самых полезных для любого профессионала принципов «Знай свои инструменты» (или, в одно из вариаций «точи пилу»). Мы в облаках уже давно, но до пор...

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

Android Dev Podcast #98: Большое интервью о Google и Compose Бум! На Google I/O одним из самых громких анонсов для нас был Compose, новый фреймворк для декларативного описания UI. Каково же было наше удивление, когда мы узнали, что наши друзья Андрей и Матвей из команды Android UI Toolkit работают как раз над этим проектом в Google. М...

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

Fix by Root Nation #3: Очищаем ПК от вирусов при помощи Dr.Web CureIt Антивирусная защита - это, безусловно, важный компонент любой операционной системы. Но к великому сожалению, на данный момент ни один антивирус не обеспечит вас даже 70-процентной защитой. Каждый день появляются всё новые и новые разновидности вирусов и даже самый мощный ант...

[Перевод] Тайная история интернета в политике конфиденциальности от Google, состоящей из 4000 слов Конец 1990-х был простым периодом для Google. Нарождающаяся компания представляла собой всего лишь поисковую систему, а такие сервисы, как Gmail, Android и YouTube в лучшем случае были лишь блеском в глазах стартаперов. И первая политика конфиденциальности отражала эту про...

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

TMC2208 v2 UART Всем доброго времени суток! На форуме не нашёл описания включения режима UART с картинками, надо исправить.Стал я обладателем драйверов TMC2208 v2. Тихие…, но вредные! При больших ускорениях идут пропуски шагов, в стандартном режиме слабое удержание, как мне кажется. И решил...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

Инструкция: как тестировать ansible-роли и узнавать о проблемах до продакшена Всем привет! Я работаю DevOps-инженером в сервисе бронирования отелей Ostrovok.ru. В этой статье я хочу рассказать о нашем опыте тестирования ansible-ролей. В Ostrovok.ru в качестве менеджера конфигураций мы используем ansible. Недавно мы пришли к необходимости тестирования ...

Сотрудники Microsoft протестуют против сделки на 480 млн ... Большое количество сотрудников Microsoft отправили свои письма в знак протеста против контракта компании на сумму 480 миллионов долларов на поставку в армию США гарнитур дополненной реальности Holo Lens 2, предназначенных для использования на полях сражений.     В...

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

[Из песочницы] Дальтоник — друг человека (Минздрав не Прав) Так получилось, что мне пришлось окунуться в тему нарушения цветопередачи имея уже почти 40 лет за плечами. И дело не в том, что я без проблем вожу машину более 15 лет, и не в том, что какие-то оттенки цветов не дают мне насладиться красотой мира, и точно не в том, что родны...

Huawei может перевести любой смартфон с Android на Harmony OS всего за 1-2 дня Сегодня в Китае Huawei официально представила свою операционную систему Harmony OS и рассказала о ее отличительных чертах от Android. Под конец презентации генеральный директор Huawei Consumer Business Group Ю Чэндун (Yu Chengdong) парой слов обмолвился о применении Har...

Как я провел лето с C# 8 В недавнем выпуске подкаста DotNet & More Blazor, NetCore 3.0 Preview, C#8 и не только мы лишь вскользь упомянули такую животрепещущую тему, как C#8. Рассказ об опыте работы с C# 8 был недостаточно большим, что-бы посвящать ему отдельный выпуск, так что было решено подел...

Криптографические протоколы: определения, запись, свойства, классификация, атаки Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

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

[Из песочницы] Проблемы и нюансы при разработке под SmartTV с использованием React.js Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись. На современных телевизорах, как мы знаем, можно устанавливать разные приложения, для облегчения работы с какими-то ресурсами и контенто...

Пробы и ошибки при выборе HTTP Reverse Proxy Всем привет! Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru. Чи...

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

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

Влияние описание ролика на ранжирование ролика в поиске Ютуба Сегодня я расскажу о влиянии описания ролика на его ранжирование в поиске Ютуба. Что такое описание ролика Ютуба?! Это вот это:   Многие считают, что в описании ролика должны быть обязательно ключевые слова.  На самом деле это не так. Наличие ключевых слов в описании(и...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

[Перевод] MVC в Unity со Scriptable Objects. Часть 1 MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом ...

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

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

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

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

Как мы пробивали Великий Китайский Фаервол (ч.1) Всем привет! На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахожд...

PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph...

Нормализация данных в распределенной БД, микросервисах и ERP Привет, Хабр! Эта маленькая заметка родилась в процессе обсуждения статьи «Распределенные монолиты...», а поскольку тема требует дальнейшего раздумья — я решил зафиксировать ее у себя в блоге. Автор статьи фактически описывает распределенную базу данных, доказывая, что един...

[Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к...

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

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

Большое интервью с создателем Jenkins, Kohsuke Kawaguchi Пользуетесь ли вы Jenkins? Скорей всего да, потому что это самый популярный на сегодняшний день проект этого класса. Мне всегда интересно было пообщаться с кем-нибудь из разработчиков и задать пару жестких вопросов. Здесь же у нас не просто разработчик, а сам создатель Jenki...

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

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

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

Оптимизация node.js приложения Дано: старое http node.js приложение и возросшая нагрузка на него. Стандартные решения проблемы: докинуть серверов, все переписать с 0, оптимизировать уже написанное. Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения....

Google выпустила AR-режим в Google Maps для всех Несмотря на то что смартфоны Google Pixel не пользуются особой популярностью, именно им Google посвящает большую часть своих программных наработок. Google Camera, Night Sight и даже AR-режим в Google Maps – все это было доступно только на «пиксельных» аппаратах, пока разраб...

Can I haz? Рассматриваем ФП-паттерн Has Привет, Хабр. Сегодня мы рассмотрим такой ФП-паттерн, как Has-класс. Это довольно любопытная штука по нескольким причинам: во-первых, мы лишний раз убедимся, что паттерны в ФП таки есть. Во-вторых, оказывается, что реализацию этого паттерна можно поручить машине, что вылилос...

[Перевод] Ленивая инициализация в Spring Boot 2.2 От переводчика: поскольку Spring Framework является одним из основных фреймворков, на которых мы строим CUBA, то новости о новых возможностях Spring не проходят незаметно для нас. Ленивая инициализация — один из способов уменьшить время первой загрузки приложения, что в наш...

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

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

Почему у одних ходит 100 000 км, а у других убивает мотор? В проблемах катализатора разобрался владелец Hyundai Creta Автолюбитель тщательно подошел к изучению данного вопроса и пришёл к неожиданным выводам. Для начала владелец Hyundai Creta обрисовал всю проблему в целом. В сообществе любителей популярного корейского кроссовера «ВКонтакте», он объяснил, что ему постоянно попадаются самые ...

[Перевод] Основы Signed Distance Field в 2D Хотя меши являются простейшим и наиболее универсальным способом рендеринга, существуют и другие варианты представления фигур в 2d и 3d. Одним из часто используемых способов являются поля расстояний со знаком (signed distance fields, SDF). Поля расстояний со знаком обеспечива...

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

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

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

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

Техническая ипотека: что и кому должен тимлид Всем привет! Меня зовут Александр Афенов. Я тимлид команды разработки Order Processing в компании Lamoda. В прошлом году я выступал на TeamLead Conf 2018. Запись выступления доступна по ссылке. В своем докладе я расскажу историю того, как стал тимлидом, с какими проблемами...

I’m going deeper underground, или о чем стоит знать, оптимизируя работу сетевого приложения Приветствую, друзья! В предыдущих двух статьях (раз, два) мы погружались в сложность выбора между технологиями и искали оптимальные настройки для нашего решения в Ostrovok.ru. Какую тему поднимем сегодня? Каждый сервис должен работать на каком-то сервере, общаясь с желез...

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

[Перевод] Идеальный баг: Использование Путаницы Типов в Flash. Часть 1 И снова здравствуйте! Уже завтра у нас стартуют занятия в новой группе по курсу «Реверс-инжиниринг». Традиционно делимся с вами переводом полезного материала по теме. Поехали! Некоторым злоумышленникам важно, чтобы эксплойт был чрезвычайно надежным. Он всегда должен приводи...

Популярное приложение из Google Play ворует данные инстаграм-аккаунтов Конфиденциальность крайне важна. Но, видимо, не для крупных компаний Facebook (компания, которая, если вы вдруг не в курсе, владеет Instagram) имеет не самую приятную репутацию, когда речь заходит о защите конфиденциальности своих пользователей. Уже много раз компанию Марка ...

Правда ли, что GOPATH и GOROOT больше не нужны? Так повелось, что разработчики, еще только начинающие знакомиться с Go, часто сталкиваются с проблемой выбора рабочей директории для Go-проектов. Вот и в чате конференции GolangConf тоже задавался этот вопрос. Новые гоферы часто пугают друг друга словами GOPATH и GOROOT. Одн...

Server Side Rendering для React App на Express.js На написание этой статьи меня сподвигло отсутствие какого-либо более-менее полного мануала, как же сделать Server Side Rendering для React приложения. Когда я столкнулся с этой проблемой, у меня было 2 варианта это сделать, либо Next.js фреймворк, либо используя Express.js....

Опыт участия в программе F2P Campus Меня периодически мотает по разным странам (если точнее, по разным программам акселерации). Стараюсь делиться опытом, т.к. у нас что-то совсем глухо с этим в стране. А существующие инвест фонды берут стартапы/команды на скотских условиях. Можно почитать про наш опыт в Y Comb...

Выбираем мобильного разработчика за 5 шагов: взгляд IT-компании Всем привет! Мобильные приложения сегодня приобретают все большее значение для бизнеса, но найти надежного подрядчика – непростая задача. Мы в mobile.SimbirSoft пообщались с нашими заказчиками и выяснили, что при выборе исполнителя их всегда волнует следующий вопрос: на что ...

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

Интеграция с SAP ERP. Реализация мобильного прайс-чекера в магазине В рассматриваемом нами примере интеграции SAP ERP со сторонним ПО, мы будем использовать SAP Connector for Microsoft .NET для получения данных из SAP. Программное обеспечение для терминала сбора данных (ТСД) будет взаимодействовать с Microsoft Internet Information Server (II...

[Из песочницы] PHP парсинг от А до Я. Грабли и возможные решения Поскольку на Хабре после лавины публикаций «N в 30 строк» в 2013-м г. почти не публикуются материалы по программированию, то скажу, что этот материал для домохозяек, желающих научиться программированию, тестировщиков и просто неравнодушных людей. В современном мире микросе...

Как добавить стикеры из Telegram в WhatsApp Перенести стикеры из Telegram в WhatsApp — дело двух минут Довольно популярный в народе мессенджер WhatsApp, что удивительно, получил поддержку стикеров одним из последних. В то время, как конкуренты в лице Telegram и Viber имели эту функцию довольно давно, создатели W...

[Из песочницы] JPEG от мира 3D. Что такое glTF? Определение и краткая история GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный фор...

[Перевод] Проект «Прометей»: поиск пожаров с помощью ИИ Перевод Project Prometheus — An AI-powered fire finding solution Мы с коллегами работаем в проекте Prometheus («Прометей») — это решение для раннего обнаружения пожаров, в котором объединены ИИ, компьютерное зрение, автоматические дроны и сервисы прогноза погоды. Этот ком...

Android можно было захватить с помощью PNG-картинки Компания Google пропатчила в Android критическую уязвимость, позволявшую исполнить любой код на мобильном устройстве, послав на него вредоносный файл изображений в формате .PNG (Portable Network Graphics). Согласно бюллетеню Google, эта брешь, как и два других RCE-бага, прив...

Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...

Google в будущем сможет обновлять любые Android-смартфоны? Фрагментация является одной из главных проблем Android, однако всё не так плохо. Согласно статистике, благодаря Project Treble производителям удалось серьёзно ускорить процесс обновления смартфонов, но этого недостаточно. Например, владельцы смартфонов Samsung ожидают по 6-...

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

Тайная вечеря разработчиков Казалось бы, в небольших командах разработки (20+ человек) не должны возникать проблемы с разобщённостью, работой над общим кодом и принятием технических решений. Но все мы знаем, что это не так (не говоря уже о командах вроде нашей, где 80+ человек). Три года назад для их р...

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

Xiaomi рассказала об эксклюзивной функции телевизоров Xiaomi Mi TV 5 и Mi TV 5 Pro На этой неделе компания Xiaomi представила линейку умных телевизоров Xiaomi Mi TV 5 и Mi TV 5 Pro, в которую вошли шесть моделей диагональю 55, 65 и 75 дюймов. Главным отличием Xiaomi Mi TV 5 от Mi TV 5 Pro станет технология квантовых точек, которая применена только в X...

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

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

[Из песочницы] Управление состоянием и событиями между компонентами в GameObject Управление состоянием и событиями между компонентами в GameObject Ссылка на проект Как известно всем, более или менее знакомых с платформой Unity, каждый игровой объект GameObject состоит из компонентов (встроенных или пользовательских, который обычно называют «скрипт»). Ко...

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

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

Голодает ли паук, лисы и другая возня. Хочу поделится замерами мощности и тестами на скорость Тарантулы. Еще очень вовремя заехала катушка белого PLA от SolidFilament. Ну и еще кое-что интересное.Для начала хочу поделится профилем для Cura под Tarantula Pro. В куру ещё не добавили профиль нового тарантула и я реш...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

“Есть все, что нужно, и ничего не бесит” — устами клиента глаголет истина В каком виде к вам поступает задача? Это устное описание менеджера, схема на флипчарте или ТЗ заказчика? Для нашей команды разработки — это пользовательская история. И выглядеть она может так: «Я как владелец бизнеса хочу видеть счета в мобильном приложении». Из истории след...

Смартфон Samsung вместо терминала PoS. Представлено приложение Samsung Pay Touch Платёжный сервис Samsung Pay отличается от своих конкурентов тем, что телефоны с поддержкой этого сервиса (не все) могут взаимодействовать с обычными банковскими терминалами, предназначенными только для карт с магнитной лентой. Samsung — не единственная компания, ...

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

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

КРОК поможет бизнесу ускорить вывод ИТ-услуг с помощью микросервисной платформы OpenLegacy КРОК усилил продуктовый портфель новым решением — инструментальной средой разработки и управления микросервисами OpenLegacy. ИТ-компания стала первым …

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

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

Qualcomm поделилась планами на 2019 год Генеральный директор Qualcomm, Криштиану Амон, на сцене CES объявил, что 2019 год станет «годом 5G». Также было объявлено, что более 30 устройств, в основном смартфоны, будут запущены в 2019 году, которые будут использовать процессор Snapdragon 855 и модем Snapdragon X50. ...

«Хитрила омертвел»: О проблемах с глохнущим Nissan X-Trail рассказал владелец Водитель пожаловался на то, что не может нормально завести свою машину, поскольку она норовит сразу же «отрубиться». Как объяснил владелец Nissan X-Trail в тематическом сообществе соцсети «ВКонтакте», посвящённом этому внедорожнику, его дизельный «Хитрила» 2008 года выпуска...

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

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

Хитовые IT-блоги и 4 слоя обучения: интервью с Сергеем Абдульмановым из «Мосигры» Изначально хотел ограничиться темой хитовых статей, но чем дальше в лес, тем толще партизаны. В итоге мы прошлись по вопросам поиска тем, работой над текстами, развитием писательских скилов, отношениям с заказчиками и трижды переписанной книгой. А еще про то, как компании со...

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

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

Советский центр управления полетами времен «Востоков» и «Восходов» Написать эту статью меня побудила вот эта фраза Филиппа Терехова из его обзора фильма «Время Первых»: «Отдельная интересная история с Центром управления полетами, как он показан в фильме. Увы, но красивая картинка выше представляет собой копию американского ЦУПа…Внутренн...

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

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

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

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

Lenovo покажет среднебюджетный смартфон Z6 Pro на MWC с 25 по 28 февраля В прошлом году компания Lenovo представила смартфон Z5 Pro в форм-факторе слайдера. Это было третье устройство с такой конструкцией корпуса после Honor Magic 2 и Xiaomi Mi Mix 3, но если последние два играли на поле флагманов, Lenovo Z5 Pro оставался интересным среднебюджетн...

Дневник Тома Хантера: «Собака Баскервилевых» Затянуть с подписанием — обычное дело для любой крупной компании. Исключением не стал договор между Томом Хантером и одним сетевым зоомагазином на основательный пентестинг. Предстояло проверить и сайт, и внутреннюю сеть, и даже рабочий Wi-Fi. Неудивительно, что руки зачесал...

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

RxSwift и корутины в Kotlin — факультатив по мобильной разработке от AGIMA и GeekBrains Знания — это хорошо, просто отлично. Но нужна еще и практика, чтобы можно было использовать полученные данные, переведя их из статуса «пассивное хранение» в статус «активное использование». Каким бы хорошим ни было теоретическое обучение, требуется еще работа «в поле». Ска...

Как быстро делать прототипы устройств и почему это важно. Доклад Яндекс.Такси Любой технически сложный hardware-проект — всегда уравнение с множеством неизвестных: платформа, компоненты, технологии, производство, функциональность, реализуемость. «Пощупать», что получается, можно, когда пройдены дорогостоящие этапы: R&D, выбор комплектующих, разраб...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

Автор проекта rePalm переписал Palm OS с нуля и планирует превратить её в платформу для смарт-часов И, видимо, часы на Palm OS найдут своего покупателя: Читать дальше →

iOS 12.1.4 с исправлением бага FaceTime может выйти уже сегодня вечером Несколько дней назад купертиновцы признали наличие проблемы с групповыми звонками FaceTime. Apple даже временно ограничила возможность использования этой функции. Однако проблема должна быть решена уже в iOS 12.1.4, работы над которой активно ведутся.Читать дальше... Prosto...

Биржа Gate.io запустила торговлю бессрочными контрактами на токен BitTorrent Криптовалютная биржа Gate.io добавила бессрочные контракты на токены BitTorrent (BTT) с возможностью левериджа до 100x. Об этом сообщается на сайте торговой площадки. Контракт доступен в паре с американским долларом (BTT/USD). Максимальный размер депозита для этого бессрочно...

[Перевод] Обзор новых функций NestJS 6 Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS. Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для со...

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

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

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

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

Робота научили играть в дженгу. Почему это важно Робототехника не стоит на месте — чтобы в этом убедиться, достаточно посмотреть хотя бы один из роликов Boston Dynamics. Но роботов учат не только ходить, поднимать тяжести и драться: ученые из Массачусетского технологического института, например, создали робота, кото...

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

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

В топ App Store прорвалось поддельное приложение В App Store было найдено поддельное приложение. Оно называется Setup for Amazon Alexa, а в описании говорится, что его можно использовать для настройки голосового ассистента Alexa.

Где летом поговорить про Apache Ignite и распределенные системы 14 июня в Петербурге пройдет митап Apache Ignite Meetup: реальные кейсы. Послушаем парней, у которых получилось. Первый кейс — IMDG для расчета маржинальности торговых контрактов в Heineken. Второй — промышленная платформа Газпромнефти. Почему open source и Ignite? Куда прик...

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

[Из песочницы] Из чего состоит IoT Если обратиться к википедии в поисках определения для термина “интернет вещей”, можно увидеть следущее: Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг...

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

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

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

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

[Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил...

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

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

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

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

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

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

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

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

Atlassian Confluence: расширяем на python В Альфастраховании мы активно пользуемся "Вики", движком которого выступает Atlassian Confluence. Когда я первый раз с ним всерьез столкнулся (в попытке создать в нем контент), мне в нем не хватило "динамичности" — хотелось иметь возможность программно формировать части стра...

Drag-&-Drop компоненты для слепых пользователей? Вы шутите? Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед...

Kaspersky Mobile Talks #1. Многомодульность В конце февраля мы запустили новый формат встреч Android-разработчиков Kaspersky Mobile Talks. Основное отличие от обычных митапов — здесь вместо сотни слушателей и красивых презентаций на несколько различных тем собрались «бывалые» разработчики, чтобы обсудить всего лишь од...

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

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

Танцы с саппортом: виды и формы поддержки Всем привет! Меня зовут Александр Афенов, и я тимлид команды Order Processing в Lamoda. Сегодня хочу рассказать вам о том, как мы разгребаем саппорт. Сначала поговорим про то, как он встраивается в наши процессы и как в целом мы планируем свою работу, спринты и итерации. ...

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

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

Управление конфликтами в команде – эквилибристика или жизненная необходимость? Эпиграф: Встретились как-то в лесу Ёжик и Медвежонок. — Здравствуй, Ёжик! — Здравствуй, Медвежонок! Так, слово за слово, шутка за шуткой, и получил Ёжик от Медвежонка по морде … Под катом рассуждения нашего тимлида, а также директора по развитию продукта RAS — Игоря Марна...

Исследователи смогли увеличить зону покрытия Wi-Fi на дополнительные более чем 60 метром с помощью программного решения ONPC Наши дома постепенно заполняются устройствами, требующими постоянного Wi-Fi подключения. И желательно, чтобы беспроводной сигнал проникал в каждый уголок дома, не создавая слепых зон. Зачастую для этого используют аппаратные решения, такие как Amazon Eero или Google Nest WiF...

Google выпустила июльские патчи для Android Новый набор заплат для Android закрывает 33 уязвимости, в том числе девять критических. Из последних три содержатся в фреймворке мультимедийных приложений (Media framework), одна — в компоненте уровня System, остальные — в компонентах производства Qualcomm Technologies. Наиб...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

[Перевод] Искусство создания органических 3D-моделей: субдермальные шейдеры Daniel Bauer рассказал о создании реалистичной модели зубов и субдермальных шейдеров в ZBrush, Toolbag и Substance Painter. Ресурсы Свой проект я начал со сбора референсов в Google, Pinterest и Youtube. Сегодня можно найти огромное изобилие ресурсов и проблема заключается...

[Из песочницы] Решение японских кроссвордов c P̶y̶t̶h̶o̶̶n̶ Rust и WebAssembly Как сделать решатель (солвер) нонограмм на Python, переписать его на Rust, чтобы запускать прямо в браузере через WebAssembly. TL;DR Читать дальше →

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

Data Science и конференция в тропиках Статьи про компьютерное зрение, интерпретируемость, NLP – мы побывали на конференции AISTATS в Японии и хотим поделиться обзором статей. Это крупная конференция по статистике и машинному обучению, и в этом году она проходит на Окинаве – острове недалеко от Тайваня. В этом по...

Как технологии быстрой разработки могут стать источником неприятных уязвимостей Безопасность на реальных примерах всегда более интересна. Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень бы...

CLRium #6: Concurrency & Parallelism. Два дня: от процессора до async/await Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. В рамках семинара мы полным ходом изучаем вопросы многопоточности, которые на самом деле очень и очень сложны. Программа немного меняется, но получается очень хардко...

[Перевод] 5 распространенных ошибок при использовании архитектурных компонентов Android Даже если вы не делаете этих ошибок, стоит о них помнить, чтобы не столкнуться с некоторыми проблемами в будущем. Читать дальше →

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

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

4 смертных греха TWS наушников: почему True Wireless всё еще не труъ? Когда все вокруг заговорили о совсем беспроводных наушниках, моей радости не было предела. Больше никаких ошейников, никаких проводков! Ничего, кроме двух связанных друг с другом какой-то ментальной магией, затычек прямо в ушах? Дайте два! По одному в каждое ухо! И милый зар...

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

Провинциальная ИБ – стагнация или развитие? Всем доброго времени суток. Сегодня нам хотелось бы обсудить информационную безопасность в регионах, и рассказать о прошедшем 19-20 июня восьмом ежегодном Форуме «Актуальные вопросы информационной безопасности», который мы традиционно с 2009 года проводим на базе Администр...

Тесты на Си без SMS и регистрации Недавно zerocost написал интересную статью «Тесты на C++ без макросов и динамической памяти», в которой рассматривается минималистический фреймворк для тестирования Си++ кода. Автору (почти) удалось избежать использования макросов для регистрации тестов, однако вместо них в ...

5W-20 или 5W-30: О выборе правильного масла для KIA Rio и Hyundai Solaris рассказал блогер Владелец «Рио» поделился рекомендациями по выбору правильного масла для корейских бюджетных автомобилей. У комментаторов в сети было своё мнение на этот счёт. По словам блогера Kai Grave, самое распространенное масло представлено чаще всего в двух вариантах – 5W-20 и 5W-30....

Ход конём по битам. Шахматный Bitboard Добрый день. Эту статью я написал специально для студентов курса «Алгоритмы для разработчиков» в OTUS и сегодня хочу поделиться ею со всеми читателями нашего блога. Шахматный конь стоит на шахматной доске и задумчиво смотрит в шахматную даль. Сколько разных ходов он может с...

Шорты про Scrum Гибкий суррогат Словом «Scrum» называются, как минимум, две сущности: философия и фреймворк. Философия, или подход к работе, описан в книге Джеффа Сазерленда. Фреймворк, т.е. алгоритм действий, описан в документе под названием Scrum Guide. Философия превратилась в фреймворк,...

Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory Наш продукт разрабатывается на платформе .Net Core 2.2 с использованием WCF 4.5 для взаимодействия с SOAP сервисом клиента. В процессе работы сервиса разработчики шины данных заметили высокую нагрузку на сервер. Далее стали появляться проблемы с доступом к сервису. В результ...

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

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

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

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

В macOS Mojave найден баг, который дает злоумышленникам доступ к истории Safari Разработчик и эксперт в области компьютерной безопасности Джефф Джонсон поделился информацией о новой уязвимости, найденной в macOS Mojave. Согласно имеющимся данным она может давать некоторым приложениям доступ к истории браузера и некоторым другим данным Safari.Читать даль...

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

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU Введение Здравствуйте, уважаемые хабровчане! Последние два года моей работы в компании Synesis были тесно связаны с процессом создания и развития Synet — открытой библиотеки для запуска предварительно обученных сверточных нейронных сетей на CPU. В процессе этой работы мне...

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

Интерфейсы для мониторинга производительности популярных БД в Foglight for Databases В прошлых статьях мы рассказывали о мониторинге различных БД в Quest Foglight for Databases и о подходе к быстрой локализации проблем производительности SQL Server. В этой мы покажем какие ещё дашборды можно использовать на основе собираемых метрик. А метрик этих достаточн...

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

[Перевод] Лучшие нововведения социальных сетей в 2018 году И снова здравствуйте! Совсем немного времени остается до запуска нашего курса «SMM-специалист», в рамках которого вы узнаете о последних тенденциях и обучитесь работе с самыми актуальными инструментами онлайн-маркетинга для продвинутых специалистов. О трендах 2019 года пог...

Facebook Developer Circle: Moscow | Launch Event 10 сентября присоединяйтесь к первой встрече сообщества Facebook Developer Circle: Moscow! На встрече, которая пройдет в нашем офисе, расскажем подробно о сообществе и поговорим про интересные технологии. Среди спикеров: Вики-Мария Гиббонс (Facebook, EN) расскажет про F...

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

Универсальные «свистки»: обзор USB-донглов Snom A230 и A210 Сегодня мы рассмотрим два маленьких, но полезных устройства. Это USB-донглы Snom A230 и A210. Первый в связке с модулем Snom C52 позволяет проводить конференц-звонки где угодно, а с помощью второго любой настольный телефон Snom можно превратить в Wi-Fi-клиента и установить...

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

Применение смарт-аккаунтов Waves. Часть 1: от аукционов до бонусных программ Блокчейн часто ассоциируется лишь с криптовалютами, но области применения технологии DLT значительно шире. Одно из самых перспективных направлений для применения блокчейна – смарт-контракт, выполняющийся автоматически и не требующий доверия между сторонами, его заключившим...

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

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

Разворачиваем распределенное хранилище CEPH и подключаем его к Kubernetes Часть 1 Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian) Здравствуйте, уважаемые читатели Хабра! В прошлой публикации я рассказал, как развернуть отказоустойчивый кластер Kubernetes. Но дело в том, что в Kubernetes удоб...

[Из песочницы] Особенности HttpUrlConnection из java.net Здравствуйте, сегодня постараюсь рассказать о том, как можно отправить запрос и прочитать ответ от HTTP сервера, используя URLConnection из библиотеки JRE. Сейчас изучаем Java в онлайн режиме. Вся наша команда использует Slack для работы и общения. Заинтересовала возможнос...

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

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

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

Red Hat OpenShift Service Mesh ускоряет переход на микросервисы и облачно-ориентированные приложения Компания Red Hat объявила о выпуске решения OpenShift Service Mesh, предназначенного для эффективной организации межсервисного взаимодействия приложений Kubernetes на платформе Red Hat OpenShift 4. Базируясь на проектах Istio, Kiali ...

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

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

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

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

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

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

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

[Из песочницы] Пример простой нейросети на С/C++ Всем привет. Решил поделиться простым и ёмким на мой взгляд решением нейронной сети на С++. Почему эта информация должна быть интересна? Ответ: я старался в минимальном наборе запрограммировать работу многослойного перцептрона, да так, чтобы его можно было настраивать ка...

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

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

[Перевод] Хакер, взломавший приложения для слежения за автомобилями по GPS, обнаружил, что может их удалённо останавливать «Я могу создать серьёзные проблемы с дорожным движением по всему миру», — сказал он. Хакер взломал тысячи учётных записей, принадлежащих пользователям двух приложений для слежения по GPS, что дало ему возможность отслеживать местонахождение десятков тысяч машин и даже глуш...

Apple Watch 6 можно будет использовать для тренировок в бассейне Аналитик TFI  Securities Мин-Чи Куо поделился очередным прогнозом, касающимся яблочных новинок. На этот раз эксперт сосредоточил свое внимание на Apple Watch 6, которые должны выйти в следующем году.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы также м...

Баг в macOS Catalina может стоить пользователям всей электронной почты На днях разработчик Майкл Цай рассказал об очень неприятном баге, найденном в macOS Catalina, из-за которого пользователи могут потерять все электронные письма. Однако судя по количеству отзывов, проблема не очень распространена.Читать дальше... ProstoMAC.com.| Постоянная с...

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

Chrome делает интернет более доступным для слабовидящих TalkBalk в Google Chrome - это функция доступности, которая помогает слабовидящим перемещаться по Интернету.Однако, когда речь идет об изображениях, функция ограничена чтением описаний изображений или же совсем пропускает их. Теперь Google официально запустил автоматические ...

[Перевод] Дизайн геймплея, основанный на принятии решений (Эта статья изначально была опубликована в Gamasutra Online Magazine) Чтобы развить полезное понимание системы, нужно знать, как система работает изнутри, на самом нижнем уровне. Даже полное запоминание каждого входного сигнала и реакции на него, связанной с этой системой...

[Из песочницы] Путь от хирургии к геймдеву или первый опыт мобильной разработки на Unity Зачем, кому и от кого Всем привет! Меня зовут Анатолий. Я хочу рассказать историю о наших первых шагах в геймдеве, чтобы поделиться пусть и небольшим, но всё же опытом. Зачем? Потому что всего 6 месяцев назад сам искал подобные публикации, перечитывал и выписывал советы. Над...

[Из песочницы] Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика Дисклеймер Я — разработчик. Я пишу код, с базой данных взаимодействую лишь как пользователь. Я ни в коем случае не претендую на должность системного администратора и, тем более, dba. Но… Так вышло, что мне нужно было организовать резервное копирование postgresql базы данны...

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

[Перевод] Портфолио UX-дизайнеров: лучшие практики Сегодня мы хотим поделиться мыслями о том, что необходимо для создания хорошего портфолио UX-дизайнера. Представим, что Вам необходимо портфолио, чтобы получить заказ на UI/UX работу. Если Вы лишь начинаете работать в этой сфере или взяли достаточно большой перерыв в своей ...

Выход из зоны комфорта: с nodejs на dlang В 2017м году я начал писать проект на nodejs — реализацию протокола ObjectServer от Weinzierl для доступа к значениям KNX. В процессе написания было изучено: работа с бинарными протоколами, представление данных, работа с сокетами(unix sockets в частности), работа с redis баз...

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

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

MOSDROID Meetup: подключайтесь к трансляции Уже завтра, 16 ноября, митап MOSDROID в офисе Райффайзенбанка: узнаём все тонкости кроссплатформенной разработки с использованием Flutter и GoMobile, поделимся друг с другом опытом модульной архитектуры проекта и ещё много интересных тем. Смотрите программу и подключайтесь ...

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

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

Багодельня: BUgHunting. Как найти 200 багов за день Всем привет! Меня зовут Юля, и я тестировщик. В прошлом году рассказывала вам про Багодельню — мероприятие, проводимое у нас в компании для чистки бэклога багов. Это вполне жизнеспособный вариант значительно уменьшить его (в разных командах от 10 до 50%) всего за один день. ...

[Перевод] 7 ключевых индикаторов риска Active Directory на панели мониторинга Varonis Все, что нужно злоумышленнику, – это время и мотивация для проникновения в вашу сеть. Но наша с вами работа состоит в том, чтобы не дать ему этого сделать или, по крайней мере, максимально усложнить эту задачу. Нужно начать с определения слабых мест в Active Directory (дал...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 1 В прошлом видеоуроке мы говорили о настройке свитчей, а сейчас рассмотрим, как они взаимодействуют с другими устройствами и как на практике соединяются друг с другом. Не будем тратить время и сразу же перейдем к теме сегодняшнего урока. В первую очередь я хочу рассказать о т...

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

[Перевод] Всегда ли Node.js будет медленнее, чем Golang? Возникает такое ощущение, что буквально каждую неделю появляется новый «веб-фреймворк» для Node.js, который называют чем-то таким, что работает быстрее, чем всё, что было до него. Всем известно, что Express — это медленно, но способен ли очередной фреймворк по-настоящему улу...

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

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

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

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

[Перевод] Распределение памяти в JVM Всем привет! Перевод сегодняшнего материала мы хотим приурочить к запуску нового потока по курсу «Разработчик Java», который стартует уже завтра. Что ж начнём. JVM может быть сложным зверем. К счастью, большая часть этой сложности скрыта под капотом, и мы, как разработчики ...

Fusion 360 - редактируем готовые компоненты. Меняем T-slot, на V-slot Всем привет. Продолжаем изучать Fusion 360. Подготовил для вас очередной видеоурок.В данном видео расскажу и покажу вам как во Fusion 360 можно поменять готовый компонент из библиотек готовых компонентов на примере конструкционного профиля T-slot и V-slot. Как обещано в виде...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Каждому яду — свой антидот. Как спастись или хотя бы попытаться… Всем бойцам РХБЗ (радиохимической и биологической защиты) не посрамившим честь своего ОЗК посвящается... С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой...

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

Корпоративные приложения: от монолитов к микросервисам Руководитель подразделения .NET Stack компании Ciklum Павло Матусяк рассказывает на портале Information Age, что необходимо знать о модернизации корпоративных приложений и преобразовании их из монолитных ...

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

Пишем меньше дублирующего кода, используя биндинг в Laravel Доброго времени, уважаемые господа. Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel. Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллек...

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

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 29. PAT и NAT Сегодня мы будем изучать PAT (Port Address Translation), технологию трансляции IP- адресов с использованием портов, и NAT (Network Address Translation), технологию преобразования IP-адресов транзитных пакетов. PAT является частным случаем NAT. Мы рассмотрим три темы: — пр...

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

Ирландская история продления жизни Сейчас мы вам расскажем про одну свежую работу, сделанную при участии компании Inflazome (http://inflazome.com/). Эта компания зарегистрирована в Ирландии, штаб-квартира в Дублине. Inflazome разрабатывает лекарства, специализируясь на воспалительных заболеваниях. Финансирова...

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

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

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

OMower c ROS, первые шаги Первоначально, OMower разрабатывался под простые интерфейсы управления pfodApp и Modbus. Первый — это текстовый протокол высокого уровня, в котором передаются менюшки и управляющие команды, а второй — известная, но не слишком удобная в данном применении вещь, так как требует...

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

[Из песочницы] Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис Для кого Выбор способа обмена. Описание API. Реализация API на стороне 1С. Android. Cтруктура приложения. BroadcastReceiver. Получаем данные ШК на примере АТОЛ Smart.Lite. Реализуем обмен и хранение данных. Используем Retrofit 2, Room, Coroutines. Пользовательский интерфейс...

Apple выпустила iCloud для Windows 10 До недавнего времени единственным яблочным приложением в официальном магазине Microsoft было iTunes. Однако сегодня ситуация изменилась – «компанию» яблочному медиакобайну теперь составляет клиент iCloud.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы та...

Nintendo Switch скоро могут превратить в планшет на Android Nintendo Switch довольно стремительно ворвалась на рынок, доказав всему миру, что нестандартные решения вполне могут приносить прибыль, став одной из самых быстропродаваемых консолей от японской компании. «Сердцем» игровой системы является чип Nvidia Tegra, а это ...

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

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

iOS-дайджест №7 (31 мая – 13 июня) Источник картинки: businessinsider.com Астрологи объявили неделю новостей и анонсов в мире Apple и iOS-разработки. Чтобы рассказать про все, одной статьи не хватит, поэтому посмотрим на самые интересные и на те, которым еще не было уделено должного внимания. Читать дальше →

Аккумуляторы — самая главная проблема AirPods? Несмотря на то, что AirPods поступили в продажу в конце 2016 года, интерес к беспроводным наушникам Apple не угасает и по сей день. Впрочем, это и не должно удивлять — компании удалось вывести на рынок действительно прорывное решение, не имеющих достойных аналогов (да...

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

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

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

Что слышно в радиоэфире? Радиолюбители/Ham radio Привет Хабр. В первой части статьи про то что слышно в эфире было рассказано про служебные станции на длинных и коротких волны. Отдельно стоит рассказать о радиолюбительских станциях. Во-первых, это тоже интересно, во-вторых, присоединиться к этому процессу, как на прием, т...

Текстурирование, или что нужно знать, чтобы стать Художником по поверхностям. Часть 4. Модели, нормали и развертка Модели, нормали и развертка По моему скромному мнению, художник по текстурам должен отвечать за развертку. Не за саму развертку (ее стоит делать 3D-художникам или вообще отдельным UV-специалистам), а ее укладку. Он должен определять, как острова должны располагаться, как дол...

Samsung хочет стать как Apple и заменить смартфоны сервисами Samsung хочет начать развивать свои сервисы, чтобы быть как Apple С момента выхода самого первого iPhone компания Apple была негласным ориентиром для большинства конкурентов. Чтобы не потерять лицо, многие не желали этого признавать, однако всё равно пытались подражать Apple...

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

Проводник Windows получит новый дизайн Концептуальный дизайн Майкла Уэста показывает, в каком направлении может измениться дизайн Проводника Windows Несколько лет назад Microsoft анонсировала концепцию пользовательского интерфейса Fluent Design System и с тех пор упорно работает над её внедрением в Windows 10 ...

Google: объём рекламы формата AMPHTML за год вырос в 11 раз Google поделился свежей статистикой по рекламе формата AMPHTML – медийным объявлениям, созданным с использованием фреймворка AMP. Так, по состоянию на январь 2019 года, на формат AMPHTML приходилось 12% всех медийных объявлений, показанных Google. Годом ранее эта цифра соста...

Гонка вооружений В мае на Google I/O 2019 было объявлено о новом фреймворке для разработки декларативного UI под Android с названием Jetpack Compose. Через месяц на WWDC 2019 было объявлено о декларативном UI фреймворке под IOS с названием SwiftUI. После этих конференции стало понятно, к ч...

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

Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup В данной статье будут рассматриваться программные средства для резервного копирования, которые путем разбиения потока данных на отдельные компоненты (chunks), формируют репозиторий. Компоненты репозитория могут дополнительно сжиматься и шифроваться, а самое главное — при по...

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

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

Навигационная система Galileo по неизвестной причине не работает уже трое суток Европейская спутниковая система навигации Galileo, как сообщается, столкнулась с неизвестной проблемой, из-за которой воспользоваться ей сейчас нельзя. Сбой произошёл ещё в четверг в 15:00 по московскому времени, и до сих пор причины данной ситуации остаются неизвестны...

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

[Из песочницы] Сeph — от «на коленке» до «production» Выбор CEPH. Часть 1 У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз...

Как мы слили финал IT-Планеты по программированию Не мы плохие, а багов много. Разработка искусственного интеллекта для игры “Хоккей” за ~7 часов. Изначально статья планировалась о стратегиях участников, о том, что они успели сделать за конкурсное время и рады ли проделанной работой, но, опросив финалистов восемь, стало яс...

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

Портативный GPS трекер BOXY. Следим за всеми и за всем… Здравствуйте друзья. Сегодня хочу рассказать о компактном GPS трекере BOXY. Данный трекер предназначен для отслеживания через GPS всего, к чему он прикреплен. Это может быть собака, корова, радиоуправляемая машинка или квадрик, ребёнок, автомобиль и т.д. Сфера применения огр...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 47. Устранение неполадок OSPF Сегодня мы продолжим тему предыдущего урока о протоколе OSPF, которому посвящен раздел 2.4 тематики ICND2, и рассмотрим устранение типичных проблем реализации этого протокола. Вернемся к примеру Packet Tracer, которым мы закончили последнее видео. Для начала я исправлю обозн...

[Из песочницы] Первое рабочее место или как начать разработку API на Node.js Введение В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» К...

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

Опасные 3rd-party драйверы в вашей системе или LOLDrivers А вы знали, что вполне легитимный драйвер может дать злоумышленнику возможность прописаться в вашей системе надолго, оставаясь внутри даже после ее переустановки? Или превратить ваш компьютер в кирпич? Например, некоторые безобидные на вид доверенные (подписанные) драйверы ...

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

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

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте Некоторые вопросы в мире питонячей разработки имеют магическую силу поднимать целые армии людей, направлять их на священную войну и заставлять кидать друг в друга целыми кучами аргументов, выкладок и кусков кода. Иногда, когда доводы заканчиваются, враждующие армии быстро пе...

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

Inside The JeMalloc. Базовые Структуры Данных: Pairing Heap & Bitmap Tree Тема Аллокаторов частенько всплывает на просторах интернета: действительно, аллокатор — эдакий краеугольный камень, сердце любого приложения. В этой серии постов я хочу в подробностях рассказать о одном весьма занимательном и именитом аллокаторе — JeMalloc, поддерживаемый ...

JetBrains Open Day в Петербурге: видео Недавно мы провели в нашем новом питерском офисе Space первое большое мероприятие — JetBrains Open Day. Наталья Числер, VP по управлению персоналом: — Есть такая традиция в нашей компании — приглашать гостей в новые офисы. Мы делали это в Петербурге в 2013 году, когда пер...

Уменьшение размера docker образа с spring boot приложением Добрый день. Недавно передо мной встала задача запуска spring boot 2 приложения в kubernetes кластере используя docker образ. Эта проблема не является новой, достаточно быстро я нашел примеры в гугле и запаковал свое приложение. Я был очень удивлен не найдя alpine образ для ...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 2. Модели OSI и TCP-IP Из предыдущего видео мы узнали об основах сети, а сегодня поговорим о модели OSI и модели TCP/IP. Когда я говорю моделях, то имею ввиду не что иное, как набор правил, или набор стандартов. Вы можете спросить, зачем нужен набор правил или стандартов в компьютерной индустрии? ...

Proof of Concept: целесообразность внутреннего ML проекта Недавно в уютном чатике дата сатанистов подняли вопрос, как правильно "продавать" внутренние проекты по машинному обучению. Оказалось, что многие из нас весьма брезгливо относятся к экономическому обоснованию своей деятельности. Меж тем, чтобы провести минимальную оценку рен...

[Перевод] В прошлом месяце мы назвали Цукерберга болваном; исправляемся: на самом деле, он и его Facebook – просто долбаный стыд Когда он говорил, что 5% пользователей его приложения, высасывавшего личные данные пользователей, были детьми, на самом деле он имел в виду куда как большее число Анализ Последним номером в, кажется, бесконечной серии полуправдивых заявлений, соцсеть Facebook признала, что ...

Трёхпроходные протоколы Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

Правила выбора JS-фреймворка TL;DR В статье не рассматриваются JS-фреймвёрки из списка TOP-3 При разработке на JS-фреймвёрке не из списка TOP-3 приходится решать на порядок больше технических вопросов, чем это ожидается в начале разработки История основана на реальных событиях Читать дальше →

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

[Перевод] Аналитика логов Nginx с помощью Amazon Athena и Cube.js Обычно для мониторинга и анализа работы Nginx используют коммерческие продукты или готовые open-source альтернативы, такие как Prometheus + Grafana. Это хороший вариант для мониторинга или real-time аналитики, но не слишком удобный для исторического анализа. На любом популяр...

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

Осенью Apple может выпустить 16-дюймовый MacBook Pro и новый MacBook Air Сегодня аналитик компании IHS Markit Джефф Лин поделился своими прогнозами относительно яблочных ноутбуков, которые купертиновцы должны представить в этом году. Эксперт уверен, что до конца текущего года Apple покажет обновленный MacBook Air, а также представит полностью нов...

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

VueJs + VueRouter + modal. Очередной велосипед Добрый день. В этой статье я разберу способ, который позволяет при смене адреса показывать модальное окно для наших нужд. Я знаю, что есть собственное решение для компонента «modal» на официальном сайте. Вдобавок к этому на Хабре есть много других статей, посвященных теме мо...

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

[Перевод] Сверхпростое логгирование в Javascript — два декоратора, и готово Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как...

Прикручиваем ngx-translate в Angular приложение. Практическое пошаговое руководство Практическая пошаговая инструкция как прикрутить динамическую локализацию (возможность выбора языков) в веб приложении на Angular 4+ используя @ngx-translate/core. В принципе можно найти публикации на подобную тему, может быть достаточно самой документации этой библиотеки, н...

В iOS 13.2 нашли изображение AirPods 3 Предполагается, что уже в этом месяце компания Apple представит новые AirPods. По слухам новинка получит систему шумоподавления и изменится внешне. Об этом говорят многие аналитики. Сегодня очередное подтверждение редизайна AirPods было обнаружено в первой бета-версии iOS 13...

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

Графический редактор GANpaint рисует объектами и демонстрирует возможности GAN Одна из кистей удаляет/добавляет деревья, другая — людей и т. д. Генеративно-состязательные сети (GAN) создают потрясающе реалистичные изображения, часто неотличимые от реальных. С момента изобретения таких сетей в 2014 году в этой области проведено много исследований и со...

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

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

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

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

Objectives and Key Results: инструкция по применению Всем привет! Меня зовут Егор, я руковожу кластером App Platform в Авито. Мои команды в основном занимаются разработкой внутренних продуктов, инструментов и процессов — тем, что принято называть платформенной разработкой. Год назад я рассказывал в этом блоге, как мы внедрили ...

[Перевод] Интерпретируемая модель машинного обучения. Часть 2 Всем привет. Считанные дни остаются до старта курса «Machine Learning». В преддверии начала занятий мы подготовили полезный перевод, который будет интересен как нашим студентам, так и всем читателям блога. И сегодня делимся с вами завершающей частью данного перевода. Par...

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

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

Panasonic предлагает API для доступа к функции распознавания лиц с использованием технологии глубокого обучения Корпорация Panasonic начала предлагать на японском рынке интерфейс прикладного программирования (API) для своей технологии распознавания лиц. Компания Panasonic начала исследования и разработки по распознаванию лиц еще в начале 1990-х годов и внедрила эту технологию в ...

Aimybox в поиске: фреймворку для создания голосовых ассистентов нужен мастер iOS Все вокруг говорят про голосовых помощников, Алису, Google Assistant, что они умеют, чего не умеют… А мы взяли и написали фреймворк для создания мобильных голосовых ассистентов. Да еще и с открытым исходным кодом! Пока мы это сделали только для Android, и теперь ищем крутого...

В iOS 13 могут появиться динамические обои Одной из особенностей последней яблочной операционной системы стали динамичные обои, которые могут меняться в зависимости от времени суток. Благодаря такой особенности, пользователи могут видеть на экране светлые обои днем, и темные ночью. Не исключено, что нечто подобное по...

Выделение активной строки таблицы на чистом CSS Несколько дней назад мой друг попросил помочь с решением задачи, которая была на его собеседовании. Интервьюер дал ему следующий фрагмент кода: tbody:hover tr { opacity: 0.24; } Также добавил: “Сейчас, при наведении на таблицу, все строки становятся блеклыми. А требуется ...

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

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

[Из песочницы] Как определить индексированные журналы ISI, Scopus или Scimago? Когда вы хотите представить свою исследовательскую статью в журнале. Вы должны выбрать целевой журнал для своей области исследования, а также журнал должен быть проиндексирован в любой из основных баз данных индексации, таких как ISI, Scopus, SCI, SCI-E или ESCI. Но определи...

iPhone разряжается раньше времени? Установите iOS 13.2 Быстро разряжается iPhone? Возможно, дело в iOS 13.1.3 Первое, о чём пользователи iOS спрашивают таких же, как они, после выхода очередного обновления, — как изменилась автономность. Этим людям неважно, что апдейт вышел всего несколько минут назад и у тех, кто его уста...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

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

Занимательный C#. Пять примеров для кофе-брейка Написав уже не одну статью про Veeam Academy, мы решили приоткрыть немного внутренней кухни и предлагаем вашему вниманию несколько примеров на C#, которые мы разбираем с нашими студентами. При их составлении мы отталкивались от того, что наша аудитория — это начинающие разра...

Как мы сдружили EF 6 с MSSQL и PostgresSQL Жил-был проект на EF 6 с СУБД MSSQL. И появилась необходимость добавить возможность его работы с СУБД PostgreSQL. Проблем здесь мы не ожидали, ведь есть большое количество статей на эту тему, и на форумах можно найти обсуждение похожих задач. Однако, на деле не все оказало...

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

Как мы провели «Демодуляцию». Музей Яндекса и его друзья Праздник — это когда друзья собираются вместе и хорошо проводят время. Недавно команда Музея Яндекса организовала праздник ретрокомпьютинга «Демодуляция» — фестиваль для всех, кому интересна история техники. Гости мероприятия могли не только познакомиться с легендарными комп...

Можно ли подключить Apple Watch и AirPods к iPod Touch 2019? Релиз iPod Touch 7 для многих стал настоящей неожиданностью. Большинство пользователей так и не смогли объяснить себе существование плеера, который по неизвестной причине продолжает получать аппаратные обновления, сохраняя при этом внешность чуть ли не пятилетней давности. ...

[Из песочницы] Ретрогейминг: PAL vs NTSC. Или почему PAL не нужен Многие из вас знают про форматы видео как PAL, NTSC и, конечно же, SECAM. Скорее всего эти аббривеатуры вы слышали, когда речь шла о видеотехнике. Толком никто не знал в чем была между ними разница и почему они отличались. Что касательно видеоигровой индустрии, то тут уж точ...

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

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

Как получить безлимитное хранилище для оригиналов в Google Фото на iOS Чтобы хранить в облаке фото в исходном качестве, необязательно переходить на платный тариф Наверное, все уже знают, что сервис «Google Фото» позволяет выгружать в облако неограниченное количество фотографий в высоком, но не исходном качестве. Для этого снимки автоматически с...

Стажировка в ABBYY: компания, с которой можно на «ты» Всем привет! В этом посте я хочу рассказать вам о моей летней стажировке в ABBYY. Постараюсь осветить все моменты, которые обычно интересны студентам и начинающим разработчикам при выборе компании. Надеюсь, что кому-то данный пост поможет определиться с планами на следующее ...

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

Как поделиться файлами через iCloud Drive на iOS и macOS В iOS 11 Apple представила новое приложение «Файлы». Эта инициатива была призвана упростить взаимодействие с файлами и документами на устройстве. И как показала практика, программа оказалась действительно востребованной — особенно на планшетных компьютерах iPad Pro. К...

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

Сборка Android-проекта в Docker-контейнере Разрабатывая проект под платформу Android, даже самый небольшой, рано или поздно приходится сталкиваться с окружением для разработки. Кроме Android SDK, необходимо чтобы была последняя версия Kotlin, Gradle, platform-tools, build-tools. И если на машине разработчика все эти ...

Анализ производительности запросов в ClickHouse. Доклад Яндекса Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что ...

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

[Перевод] Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход» 8.1 Творческий подход «Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов». — Декарт. Р...

Один день из жизни модели ресторана Данная статья описывает новые компоненты фреймворка для имитационного моделирования, ранее представленного в статье «Простая система имитационного моделирования на Go». По мере расширения фреймворка появилась возможность моделировать более сложные системы, например, провест...

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

Не вышло: концептуальный смартфон Meizu Zero без разъёмов и кнопок провалился на Indiegogo В январе компания Meizu показала смартфон Zero — первый аппарат без разъёмов и кнопок. Однако в виду того, что это фактически концепт, Meizu не решилась выпускать его на рынок просто так, а запустила кампанию на Indiegogo. К сожалению, она провалилась. Кампания за...

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

[Перевод] GitHub Desktop 2.2: что нового Любой, кто использует Git, знает, что у него крутая линия обучения. Мы узнали от разработчиков, что большинство людей, как правило, учатся у знакомых, будь то коллега, профессор, друг или даже видео на YouTube. В GitHub Desktop 2.2 мы добавляем первую версию интерактивного...

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

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

[Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш...

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

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

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

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

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

Брешь во фреймворке может вызвать сбой в работе GPS-систем Центр реагирования на киберугрозы в критически важных инфраструктурах (ICS-CERT) опубликовал информацию об уязвимости, найденной в программах opensource-проекта gpsd. Специалисты выяснили, что в коде двух утилит обнаружилась ошибка, которая может привести к переполнению буфе...

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

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

[Из песочницы] Segmented Control своими руками, как в iOS 13.0 и выше В iOS 13 обновили Segmented Control, но для тех кто не может обновить Xcode, он просто не доступен. Вот я и решил написать, как можно быстро сделать самому такой же Segmented Control. Поехали! Первым делом переходим в Storyboard. Размещаем на нашем ViewController элемент Vi...

[Перевод] Новый алгоритм поиска пути в Factorio На прошлой неделе мы говорили в своём блоге об изменениях, которые позволят врагам (biters) не наталкиваться друг на друга, но это было не единственное обновление, связанное с biter-ами. Совпало так, что в обновления этой недели вошло то, над чем мы работали предыдущие неск...

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

История о том, как мы иконку PVS-Studio меняли Релиз 7.0 ознаменовал новую веху в истории анализатора PVS-Studio – теперь доступен анализ не только кода, написанного на C, C++, C#, но также и Java. Кроме этого глобального нововведения продолжают улучшаться и дорабатываться существующие механизмы анализа, добавляются ди...

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

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

[Перевод] Корпус для «малинки» с RetroPie — из устройства для просмотра слайдов Компактные устройства для просмотра слайдов через линзу выпускались во всём мире, и в СССР в том числе (примеры: 1 и 2). Сегодня внутрь такого прибора можно поместить Raspberry Pi Zero с небольшим дисплеем. Практически все винтажные детали, включая линзу и выключатель, при...

[Из песочницы] Как найти лучшую локацию для бизнеса? Лайфхак Всем привет! Меня зовут Андрей Киселев, я основатель компании «ЖИШИ СУШИ». Любой бизнес успешней в местах с хорошей проходимостью, но как найти это место? Рассказываю на личном опыте в статье как сравнивать локации онлайн. Есть три способа оценки проходимости: визуальн...

Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям.  В этой статье я расскажу о мето...

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

В сети появилась новая информация об iOS 13 и iPhone 11 Сегодня автор канала EverythingApplePro и пользователь форума XDA Max Weinbach  поделились новой информацией о пока неанонcированных яблочных новинках. В частности, они рассказали об особенностях iOS 13 и iPhone 11. Читать дальше... ProstoMAC.com.| Постоянная ссылка | No co...

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