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

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

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

[Из песочницы] Странные они, статические переменные в PHP Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человека...

Настройка Warnings Next Generation плагина для интеграции PVS-Studio Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов ...

Статический анализ IntelliJ IDEA против человеческого разума Не так давно я изучал вывод статического анализатора IntelliJ IDEA для Java-кода и наткнулся на интересный случай. Так как соответствующий фрагмент кода не является open source, я его анонимизировал и отвязал от внешних зависимостей. Будем считать, что он выглядел так: priva...

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...

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

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

Вокруг бейджа за 80 дней: по ту сторону OFFZONE Привет, Хабр! В прошлый раз мы рассказали, каким вышел бейдж международной конференции по кибербезопасности OFFZONE 2019 и с чем его есть. Сегодня мы поделимся закулисными историями: как пришли к его созданию и чего нам стоило изобрести и произвести серию из 2000 устройств. ...

[Перевод] Почему мы предпочитаем CSS(--variable) переменным SASS($variable)? С момента релиза CodyHouse Framework, пару месяцев назад, многие пользователи спрашивали нас, почему мы выбрали переменные CSS вместо переменных SASS, хотя мы используем SASS в этой среде. В этой статье я расскажу о преимуществах использования пользовательских свойств и о то...

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

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, S...

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

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

Nullable Reference типы в C# 8.0 и статический анализ Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, р...

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

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

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

Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander Приглашаем попробовать найти ошибку в очень простой функции из проекта GNU Midnight Commander. Зачем? Просто так. Это забавно и интересно. Хотя нет, мы соврали. Мы в очередной раз хотим продемонстрировать ошибку, которую с трудом находит человек в процессе code review, но л...

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

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

CMake и C++ — братья навек В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу....

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

Основы статической маршрутизации в Mikrotik RouterOS Маршрутизация — процесс поиска оптимального пути для передачи пакетов в сетях TCP/IP. Любой устройство подключенное к сети IPv4 содержит процесс и таблицы маршрутизации. Данная статья не является HOWTO, она описывает на примерах статическую маршрутизацию в RouterOS, я намере...

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

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

VMware NSX для самых маленьких. Часть 4. Настройка маршрутизации Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT Часть третья. Настройка DHCP NSX Edge поддерживает статическую и динамическую (ospf, bgp) маршрутизацию. Первоначальная настройка Статическая маршрутизация OSPF BGP Route Redistribution Читать дальше →

[Перевод] Переносим 30 000 строк кода с Flow на TypeScript Недавно мы перенесли 30 тысяч строк кода JavaScript нашей системы MemSQL Studio с Flow на TypeScript. В этой статье я расскажу, почему мы портировали кодовую базу, как это происходило и что получилось. Дисклеймер: моя цель — вовсе не критика Flow. Я восхищаюсь проектом и ду...

Киевстар отключает статические IP-адреса Теперь частные абоненты Киевстар не будут иметь статических IP-адресов.

[Перевод] Unreal Engine 4 — шейдер горения Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, н...

Анализ исходного кода RPC фреймворка Apache Dubbo статическим анализатором PVS-Studio Apache Dubbo — один из самых популярных Java проектов на GitHub. И это неудивительно. Он был создан 8 лет назад и широко применяется как высокопроизводительная RPC среда. Конечно, большинство ошибок в его коде давно исправлены и качество кода поддерживается на высоком уровн...

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

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

[Из песочницы] Статический анализатор Detekt для Kotlin Пора полюбить статические анализаторы! Встречайте Detekt на Kotlin Если Вы уже знаете о чем пойдет речь и Вас интересут только внедрение в проект, переходите сразу к пункту установки. Что-же это такое? Анализ программного обеспечения, производимый (в отличие от динамическ...

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

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

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

Использование PVS-Studio при проверке Unreal Engine проектов на операционной системе Windows Данная статья посвящена особенностям проверки Unreal Engine проектов с помощью статического анализатора PVS-Studio на операционной системе Windows: как установить анализатор, как проверить проект, где и как посмотреть отчёт об ошибках. Читать дальше →

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

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

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

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

Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP Всем привет! Спустя продолжительное время возвращаемся к циклу статей. Долгое время мы разбирали мир коммутации и узнали о нем много интересного. Теперь пришло время подняться чуть повыше и взглянуть на сторону маршрутизации. В данной статье поговорим о том, зачем нужна ма...

[recovery mode] Внутренние и вложенные классы java. Часть 1 Внутренние и вложенные классы java 02.03.2017 — 2019 год Часть 1. Начало Цель статьи: Рассказать о внутренних, вложенных, локальных, анонимных классах. Показать примеры их использования. Написать и протестировать классы в коде на java. Рассказать о свойствах этих клас...

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

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 20. Статическая маршрутизация Сегодня мы поговорим о статической маршрутизации и рассмотрим три темы: что такое статическая маршрутизация, как она настраивается и какая у неё альтернатива. Вы видите топологию сети, которая включает в себя компьютер с IP-адресом 192.168.1.10, подсоединенный через свитч к ...

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

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

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

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

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

[Перевод] Комментарии к релизу Android Studio 3.4 (April 2019) Android Studio 3.4 это мажорный релиз включающий различные новые функции и улучшения Читать дальше →

Статическое распределение памяти в микроконтроллерах Холмс: Любезнейший, не подскажите где мы находимся? Пастух: Вы находитесь на воздушном шаре!!! Холмс: Вы должно быть программист. Пастух: Да, но как вы догадались? Холмс: Только программист мог дать столь точный и при этом столь бесполезный ответ. … отрывок из известного а...

Как тестируют в Автотеке: MindMap’s, статический анализ кода и MockServer Привет! Хочу рассказать вам, как устроено тестирование в проекте Автотека, сервисе проверки автомобилей по VIN. Под катом — о том, какие инструменты мы используем для тестирования требований, планирования спринта, как устроен процесс тестирования в нашем проекте. Читать д...

Вышел LTS-релиз Zimbra 8.8.15 Буквально на днях состоялся релиз Zimbra Collaboration Suite 8.8.15, которая стала последней версией Zimbra в ветке 8.8. Главной особенностью данного релиза стало то, что он получил статус LTS, то есть будет иметь более продолжительный срок поддержки, чем другие релизы Zimbr...

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

Spring Boot 2 и JDK 8: Вы все еще используете аннотации @Param, @RequestParam и @PathVariable? Тогда статья для Вас Здравствуй, Хаброчитатель! Разрабатывая учебный проект по Spring Boot 2 решил поэкспериментировать с @Param в запросах Spring Data JPA, а точнее c их отсутствием: @Transactional(readOnly = true) public interface UserRepository extends JpaRepository<User, Integer> { ...

PVS-Studio идёт в облака: GitLab CI/CD Эта статья является продолжением цикла публикаций об использовании PVS-Studio в облачных системах. На этот раз мы рассмотрим работу анализатора совместно с GitLab CI — продуктом от GitLab Inc. Интеграция статического анализатора в CI систему позволяет выявить баги сразу пос...

Лучшие цены на статический переключатель Delta STS 30А со склада Landata! Компания Landata объявляет о снижении цен на  статический переключатель Delta STS 30А (АВР 30А, стоечный автоматический переключатель нагрузки) со склада Landata. STS Delta Electronics имеют оптимальное соотношение ...

Битва L2TP, RRAS vs SoftEther «Украденная с запада картинка для привлечения внимания» В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь по...

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

PVS-Studio идёт в облака: Azure DevOps Это вторая статья про использование статического анализатора PVS-Studio в облачных CI-системах, и на этот раз мы рассмотрим платформу Azure DevOps – облачное CI\CD-решение от компании Microsoft. В качестве анализируемого проекта в этот раз рассмотрим ShareX. Читать дальше ...

[Перевод] Проблема со связанными переменными: как превратить оптимизатор из врага в друга Автор статьи – Виктор Варламов, OCP. Оригинал статьи опубликован 07.07.2017. Отдельное спасибо автору перевода — brutaltag. В нашей системе подготовки отчетности обычно выполняются сотни длительных запросов, которые вызываются различными событиями. Параметрами запросов с...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

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

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

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

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

PVS-Studio идёт в облака: CircleCI Мы продолжаем цикл статей по использованию статического анализатора PVS-Studio в облачных CI-системах. Сегодня рассматриваем очередной сервис — CircleCI. В качестве проекта для анализа в этот раз выступит медиаплеер Kodi, в исходном коде которого постараемся найти интересны...

Использование статического анализатора PVS-Studio при разработке для встраиваемых систем на C и C++ Из этой статьи вы узнаете, как запустить проверку embedded-проекта и как работать с отчетом анализатора. Анализатор PVS-Studio поддерживает ряд компиляторов для встраиваемых систем. В текущей версии возможна проверка проектов при сборке одним из следующих компиляторов под...

[Из песочницы] Использование Conditional в Spring В этом материале я хочу описать очень полезную, и часто используемую аннотацию Conditional и интерфейс Condition. Контекст Spring — это огромный контейнер различных бинов, как самого спринга, так и пользовательских. Всегда хочется иметь гибкие инструменты управления этим зо...

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

Приключение камня и упавшей звезды Pode начнётся на PS4 19 февраля Студия Henchman & Goon объявила о том, что головоломка Pode выйдет на PlayStation 4 19 февраля. Pode является приключенческой игрой с элементами головоломок. Сюжет рассказывает о камне и упавшей звезде, которые вместе решают древние загадки и путешествуют по в...

Приглашаем на DINS IT EVENING в июле: QA и JS В июле нас ждут две встречи. Будем рады видеть всех неравнодушных к автоматизированному тестированию и JavaScript. 24 июля – QA EVENING: говорим о построении CI/CD, знакомимся с API для создания IDEA плагинов. 31 июля – JS EVENING: знакомимся со статической типизацией, Type...

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

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

Microsoft выпустила антивирус «Защитник Windows» для компьютеров Apple Компания Microsoft выпустила антивирусное решение Windows Defender (Защитник Windows) для операционной системы Apple — macOS. Чтобы не вызывать когнитивного диссонанса у пользователей, антивирус пришлось переименовать.

[recovery mode] Типобезопасная работа с массивами PHP Всем привет, расскажу о собственном велосипеде для удобной работы с массивами в PHP. Type hinting В PHP7 появились подсказки типов (type hinting), что позволило IDE проводить более качественный статический анализ кода, качество нашего кода улучшилось (или правильно говорит ...

Haxe 4: Что нового? Предлагаю вашему вниманию перевод доклада Александра Кузьменко (с апреля этого года он официально работает в качестве разработчика компилятора Haxe) об изменениях в языке Haxe, произошедших с релиза Haxe 3.4. С момента выпуска Haxe 3.4 прошло более чем два с половиной года....

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

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

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

Опыт использования генератора статических сайтов Hugo Делюсь 2-х летним опытом использования генератора статических сайтов Hugo. Заметка ориентирована на начинающих, но в этой заметке не будет инструкций "как установить Hugo" или "как создать первый пост". Эта заметка будет полезна тем, кто выбирает и сравнивает альтернативы дл...

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

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS История встречи статического анализатора PVS-Studio с кодом операционной системы Haiku уходит в далёкий 2015-й год. Это был интереснейший эксперимент и полезный опыт для команд обоих проектов. Почему эксперимент? Анализатора для Linux тогда не было и не будет ещё полтора год...

LQR оптимизация систем управления Введение На Habr были опубликованы несколько статей [1,2,3], прямо или косвенно касающиеся указанной темы. В связи с этим, нельзя не отметить публикацию [1] с названием “Математика на пальцах: линейно-квадратичный регулятор”, которая популярно поясняет принцип работы оптимал...

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

Удаляем лишние фичи и продукты, чтобы улучшить бизнес Юрий Андрейкович, Senior Product Manager в Wrike, рассказал на конференции ProductSense в Минске, когда и зачем надо удалять фичи из продукта. Я работаю в Wrike — это сервис для совместной работы и управления проектами. В Wrike более миллиона пользователей, но наши прямые...

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

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

[Из песочницы] Самодельный электромобиль — всё не так, как думаешь Всем привет. Учась в университете я собрал маленький электромобильчик, ну или картинг. Его фишкой было то, что всё управление электроприводом, включая тормоза было отдано самодельному контроллеру. И именно о том, как я делал этот маленький автомобильчик, и с какими подводным...

Установка openmeetings 5.0.0-M1. WEB-конференции без Flash Добрый день, Уважаемые Хабравчане и Гости портала! Не так давно у меня возникла необходимость поднять небольшой сервер для ВКС. Рассматривалось не так много вариантов — BBB и Openmeetings, т.к. только они по функционалу отвечали: Бесплатно Демонстрация рабочего стола, д...

Новинки аннотаций типов в Python 3.8 (Protocol, Final, TypedDict, Literal) Сегодня ночью вышел Python 3.8 и аннотации типов получили новые возможности: Протоколы Типизированные словари Final-спецификатор Соответствие фиксированному значению Если вы ещё не знакомы с аннотациями типов, рекомендую обратить внимание на мои предыдущие статьи (начало, ...

Умные замки: какие есть, как работают (и кто устанавливает) В старых добрых сериалах о космосе, вроде «Звездного пути», у людей напрочь отсутствовала паранойя. Почему? Они все поголовно пользовались умным замками. Подходит герой к двери — и та открывается. Прямо через научно-фантастический аналог Face ID. Сейчас умные замки уже сущ...

Состоялся релиз Grafana v6 — новые функции открытого инструмента для визуализации В конце февраля вышла шестая версия платформы для мониторинга Grafana. В материале мы расскажем подробнее об особенностях этого релиза и новых возможностях инструмента. Читать дальше →

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

Ненормативная схемотехника: семисегментный индикатор на ATtiny13 Мы простых путей не ищем. Предыдущая, она же первая моя публикация вызвала резонанс среди пользователей Хабра. Решил не останавливаться. Продолжаем выжимать невозможное из ATtiny13. Сразу же предупреждаю, описанные решения снова нестандартны, и у кого-то могут вызвать нег...

Установка и настройка Sonata Admin на Symfony 4 Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin. В процессе установки я столкнулся с массой неточностей в документации и сама документация была раскидана по нескольким местам. Здесь я рассмотрю весь процесс, начиная от создания проекта и заканчивая а...

[Из песочницы] Объяснение физической сущности явления «Подъёмная сила Крыла» без использования уравнения Бернулли Монин Илья Алексеевич, к.т.н. СМ-9, 926-220-95-74, [email protected] Критика существующего Теоретического объяснения Подъёмной Силы на крыле самолёта Прослушав курс лекций МФТИ Факультет аэромеханики и летательной техники (ФАЛТ) «Введение в Аэродинамику» и прочитав неско...

Введение в ECMAScript 2017 (ES8) Оглавление Предисловие Краткий обзор ES7 1. Object.entries 2. Object.values 3. String.prototype.padEnd 4. String.prototype.padStart 5. Object.getOwnPropertyDescriptor 6. Trailing commas 7. SharedArrayBuffer 8. Atomics 9. Async functions Предисловие Здравствуйте, в прошлом я...

VMware NSX для самых маленьких. Часть 5. Настройка балансировщика нагрузки Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT Часть третья. Настройка DHCP Часть четвертая. Настройка маршрутизации В прошлый раз мы говорили о возможностях NSX Edge в разрезе статической и динамической маршрутизации, а сегодня будем разбираться с ба...

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

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

Stop the line или прокачай свой pipeline, йоу Если ваши релизы быстры как молния, автоматизированы и надежны, можете не читать эту статью. Раньше наш процесс релиза был ручным, медленным и напичканным ошибками. Мы проваливали спринт за спринтом, потому что не успевали сделать и выложить фичи к следующему Sprint Revie...

Релиз-кандидат JDK 12: Shenandoah, G1, JMH, Arm64. Баги в Swing наносят ответный удар 240 дней прошло с момента выпуска JEP 3: JDK Release Process и адская машина по производству новых версий останавливаться не желает. А значит, настало время очередного релиз-кандидата. Это период, когда все мосты сожжены, баги с приоритетами P2-P5 уже ничего не значат, и дни...

Субъективный user.js для Mozilla Firefox и не только Вот уже почти 15 год я пользуюсь Mozilla Firefox на ежедневной основе, и, конечно, у меня есть свой небольшой субъективный user.js, который с каждым релизом новой версии приходится обновлять. Спешу им (и не только) поделиться. Если кому-то интересно, то добро пожаловать под...

Приключенческая игра Gibbous — A Cthulhu Adventure, вдохновлённая Full Throttle и The Secret of Monkey Island, обзавелась датой релиза А ещё там есть говорящая кошка!

Используем статические ссылки на свойства объектов при помощи лямбд Так уж исторически сложилось, что в Java для свойств объектов (properties) не предусмотрено никакой физической сущности. Свойства в Java — это некоторые соглашения в именовании полей и методов доступа к ним (аксессоров). И, хотя наличие физических свойств в языке упростило б...

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

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

[Перевод] JDK 9/JEP 280: конкатенация строк никогда больше не будет прежней И снова здравствуйте. Как мы уже писали, на следующей неделе стартует новая группа обучения по курсу «Разработчик Java», по устоявшейся традиции делимся с вами переводом интересного материала по теме. Начиная с JDK 9 конкатенация строк претерпела значительные изменения. JE...

CMake: тот случай, когда проекту непростительно качество его кода CMake — это кроссплатформенная система автоматизации сборки проектов. Эта система намного старше, чем статический анализатор кода PVS-Studio, при этом ещё никто не попробовал применить его к коду и сделать обзор ошибок. Ошибок, оказывается, много. Аудитория CMake огромна. Н...

PG12: Дюжина патчей от Postgres Professional Приятно видеть знакомые фамилии в списке Acknowledgments официального релиза PostgreSQL 12. Мы решили свести вместе попавшие в релиз новшества и некоторые багфиксы, над которыми трудились наши разработчики. 1. Поддержка JSONPath (В Release Notes это звучит как Add support f...

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

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

10 новых бесплатных курсов по когнитивным сервисам и Azure Недавно мы выложили около 20 новых курсов на нашу обучающую платформу Microsoft Learn. Сегодня я расскажу и первых десяти, а немного позже выйдет статья и о второй десятке. Среди новинок: распознавание голоса с когнитивными сервисами, создание чат-ботов с QnA Maker, обработк...

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

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

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году Привет, Хабр! Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH. Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические ...

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

[Перевод] Spring Boot 2: что нового? От переводчика: несмотря на то, что уже прошел год, вопросы о том что же нового дал нам 2-ой Boot не заканчиваются. Писать такой контент с нуля — затея не самая умная. Поэтому решили перевести статью, которая нам кажется наиболее локаничной и при этом достаточно полной. Рели...

Статический анализатор кода PVS-Studio как защита от уязвимостей нулевого дня Угроза нулевого дня (англ. zero day) – это термин, обозначающий уязвимости, допущенные при разработке, которые еще не были обнаружены. Такие уязвимости могут использоваться злоумышленниками, что в итоге затронет и репутацию компании. Перед разработчиками стоит задача максим...

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

[Перевод] Создание карточек как Tinder на Swift Tinder — мы все знаем, что это приложение для знакомств, где вы можете просто отклонить или принять кого-то свайпом вправо или влево. Эта идея считывания карт теперь используется в тоннах приложений. Этот способ отображения данных для вас, если вы устали от использования т...

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

[Из песочницы] Использование let объявлений переменных и особенности образуемых при этом замыканий в JavaScript Написать данную заметку меня сподвигло прочтение статьи на Хабре «Var, let или const? Проблемы областей видимости переменных и ES6» и комментариев к ней, а также соответствующей части книги Закаса Н. «Understanding of ECMAScript 6». Исходя из прочитанного я вынес, что не всё...

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

Трехмерная визуализация в тренажерах подвижного состава на базе движка OpenSceneGraph Чуть меньше года назад увидела свет публикация, где мы рассказывали об учебно-лабораторном комплексе (УЛК) электропоезда ЭС1 «Ласточка», разработанном нашем университете. Тогда я обещал, что это будет не последняя публикация на данную тему, в частности грозился рассказать ...

[Перевод] Создание современных облачных приложений с использованием Pulumi и .NET Core Мы рады объявить о поддержке .NET Core для Pulumi! Это объявление означает, что вы можете декларировать облачную инфраструктуру — включая все в Azure, например Kubernetes, Functions, AppService, Виртуальные машины, CosmosDB и другое, — используя ваш любимый язык .NET, включа...

Разработка плагина для Grafana: история набитых шишек Всем привет! Несколько месяцев назад мы запустили в продакшн наш новый open-source проект — Grafana-плагин для мониторинга kubernetes, который назвали DevOpsProdigy KubeGraf. Исходный код плагина доступен в публичном репозитории на GitHub. А в этой статье мы хотим поделиться...

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

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

Байки про суровое российское ИТ и жертв цифровизации Россия иррациональна. Есть правильные практики, есть сто раз ощупанные грабли, но всё равно с завидным постоянством случается что-то эпическое. Иногда по причине: «Ну уж меня-то точно пронесёт», иногда: «Всегда так делали, и работало», иногда просто из-за ошибок. Возможно,...

[Перевод] Руководство по Discovery.js: быстрое начало Это и последующие руководства проведут вас через процесс создания решения на основе проекта Discovery.js. Наша цель — создать инспектор NPM-зависимостей, то есть интерфейс для исследования структуры node_modules. Примечание: Discovery.js находится на ранней стадии разработки...

Последний IRM — апгрейдим Siebel до IP17+ Ну всё, шутки в сторону — поговорим о вечном. В этом посте вы не найдете брызг радости или намека на легкость бытия. Потому что он для тех, кто боролся и искал, проходя каждый новый круг апгрейда Siebel. Начиная с 2013 года, Oracle проводит кампанию по принципиальной модер...

PVS-Studio для Java В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальнейшие планы. И, конечно, в статье будут приведены первые испытания анализат...

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

Windows 10 Build 18323: Переменная частота кадров Сегодня состоялся релиз новой сборки Windows 10 под номером 18323 и некоторыми пользователями была замечена функция «Переменная частота кадров» (Variable refresh rate). Данная опция включает синхронизацию частоты выдаваемых кадров видеокарты c монитором. Но для этого необход...

Новый трейлер и интересная информация о разработке Widower's Sky Уже на этой неделе должен состояться релиз потрясающей красоты приключения Widower's Sky — проекта, который находится в разработке как минимум с 2015 года. Автор делился трейлерами приблизительно раз в год, а остальное время хранил молчание, работая над игрой, но уже в этом ...

Компилятор Huawei Ark с открытым исходным кодом станет доступен для загрузки уже завтра В июне этого года компания Huawei представила свой собственный компилятор Ark, который позволяет ускорить плавность работы системы на 24% и скорость отклика на 44%. Сторонние приложения для Android после перекомпиляции могут работать на 60% быстрее. В начале августа ком...

[Перевод] Делаем стильный водопад из RiME прямо в Unity или UE4 Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, зву...

[Перевод] Разработка веб-серверов на Golang — от простого к сложному Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения. Эта ...

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

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

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

PVS-Studio и Bug Bounties on Free and Open Source Software Европейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказу. Одним из способов поиска ошибок в исходном коде программ является использование статическ...

Новый билд Nemesida WAF Free для NGINX В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом. Особенности рели...

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

Дайджест новостей из мира PostgreSQL. Выпуск №17 Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Главные новости Релиз-кандидат PostgreSQL 12 В релизе-кандидате вся функциональность идентична грядущему официальному релизу. Если вновь выявленные и недоисправленные баги будут закрыты в срок, то ...

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

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

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

JS. Proxy. Подводный камень, о котором нужно знать Эта статья будет интересна тем кто использует Proxy, для реактивности или рефлексии. Поведение JS методов, нам хорошо знакома если мы просто используем их в рамках объекта. Если метод передается через свойство другому объект, то он работает с тем this, который определен в р...

Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям....

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

[Перевод] Blazor перешел из стадии эксперимента в Preview С этим новым релизом мы рады сообщить, что Blazor теперь в стадии превью! Blazor больше не является экспериментальным, и мы обязуемся предоставлять его в качестве поддерживаемого фреймворка веб-интерфейса, включая поддержку запуска на стороне клиента в браузере на WebAssembl...

[Из песочницы] Пользовательские правила iptables для docker на примере zabbix Задача: Закрыть все входящие соединение, кроме определенных ip адресов. Имеется тестовая среда, состоящий из linux и трех windows c статическими ip адресами. На linux установлен docker образами zabbix, redmine. А на двух windows машинах установлены и настроены агенты от zab...

Как дебажить переменные окружения в Linux Часто бывает так, что приходишь на машину и обнаруживаешь какой-то скрипт, запущенный под системным пользователем неделю назад. Кто его запустил? Где искать этот run.php? Или добавляешь запись в /etc/crontab, а скрипт там падает с ошибкой «command not found». Почему? И что д...

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

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

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

На горе стоит Spring Boot… … его четверо отлаживают. Вдохновлённый докладом Владимира Плизги (Spring Boot 2: чего не пишут в release notes) я решил рассказать о своём опыте работы со Спринг Бут, его особенностях и подводных камнях, встретившихся на моём пути. Читать дальше →

[Из песочницы] Статический анализ «BIOS/UEFI» или как получить Dependency Graph «Я вчера закончил ковку, Я два плана залудил…» … V.S. Vysotsky song... Уже почти 3 года назад (в начале 2016) в issue проекта UEFITool на GitHub появилось пожелание пользователей: построить «Dependency Graph» для исполняемых модулей, входящих в BIOS/UEFI. Завязалось да...

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Вышел Zabbix 4.2 Наша команда очень рада поделиться новостью о том, что состоялся релиз свободной системы мониторинга с открытым исходным кодом Zabbix 4.2! Является ли версия 4.2 ответом на главный вопрос жизни, вселенной и мониторинга в целом? Давайте посмотрим! Читать дальше →

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

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

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

ID-Cooling IS-30: низкопрофильная система охлаждения высотой всего 30 мм Компания ID-Cooling представила новую низкопрофильную систему воздушного охлаждения IS-30. Новинка отличается крайне низкой высотой — всего 30 мм, что позволяет использовать её практически в любой системе, даже самой компактной. Новинка построена на четырёх 6-мм никелированн...

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

Как мы тестировали несколько баз данных временных рядов За последние несколько лет базы данных временных рядов (Time-series databases) превратились из диковинной штуки (узкоспециализированно применяющейся либо в открытых системах мониторинга (и привязанной к конкретным решениям), либо в Big Data проектах) в «товар народного пот...

Julia и метод покоординатного спуска Метод покоординатного спуска является одним из простейших методов многомерной оптимизации и неплохо справляется с поиском локального минимума функций с относительно гладким рельефом, поэтому знакомство с методами оптимизации лучше начинать именно с него. Поиск экстремума ве...

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

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

[Перевод] Дизайн система Société Générale: Гармония дизайна и разработки Предлагаем вашему вниманию перевод истории о создании дизайн системы, рассказанной дизайнером из Societe Generale. Нынешний всплеск статей о дизайн системах вдохновил нас больше говорить о том, над чем мы работаем в Societe Generale. Мы давно экспериментируем с нашей дизайн...

ReactOS 0.4.12: 华为, 你认为这个怎么样? Нихао, Хабражители! Чувствую, что в этот раз вы реально заскучали по весточкам от нашего проекта! Целых семь месяцев мы работали, не покладая клавиатур, чтобы вы могли скачать и протестировать очередную версию нашей операционной системы. В ней было исправлено 226 багов, сде...

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

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

ReactOS 0.4.11 — на сотню приложений больше Привет, Хабр! Уверен, что вы уже успели соскучиться по новостям от нашего проекта! И мы не теряли времени даром. Прошлый релиз ReactOS вышел всего каких-то три с половиной месяца назад, а сегодня вы уже сможете скачать и протестировать следующую версию нашей операционной с...

Ноутбук Compaq LTE 5000, часть вторая c половиной — бонусная Ноутбук Compaq LTE 5000, часть первая — знакомство Ноутбук Compaq LTE 5000, часть вторая — про недостатки и их лечение Часть про ОС и игры пока ещё потихоньку сочиняется, подозреваю, что она вырастет во что-то большее, чем просто рассказ про запуск старых игрушек. Но как-...

Определение кодировки текста в PHP вместо mb_detect_encoding Существует несколько кодировок символов кириллицы. При создании сайтов в Интернете обычно используют: utf-8 windows-1251 koi8-r Еще популярные кодировки: iso-8859-5 ibm866 mac-cyrillic Вероятно это не весь список, это те кодировки с которыми я часто сталкиваюсь. Иног...

Haxe и PHP: статическая типизация, стрелочные функции, метапрограммирование и многое другое Привет, Хабр! Предлагаю вашему вниманию перевод доклада Александра Кузьменко с прошедшей недавно (14-15 июня) конференции Hong Kong Open Source Conference 2019. До того, как присоединиться к Haxe Foundation в качестве разработчика компилятора Haxe, Александр около 10 лет пр...

Исследуем подводные камни покупки 18 видеокарт для майнинг фермы Я уверен, что многие из вас помнят историю, которую я вам рассказывал о моем приятеле Грише. Он еще пытался расширить свой бизнес по торговле зерном, но потратился на покупку металлолома на AliExpress и вынужден был спустя какое-то время перепрофилироваться, открыв несколько...

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

Rook или не Rook — вот в чём вопрос В начале этого месяца, 3 мая, был анонсирован крупный релиз «системы управления для распределённых хранилищ данных в Kubernetes» — Rook 1.0.0. Более года назад мы уже публиковали общий обзор Rook. Тогда же нас просили рассказать об опыте его использования на практике — и в...

[Перевод] Совершенствование совместного проектирования электромеханических узлов Краткая аннотация Эффективная совместная работа — важнейший фактор повышения производительности и создания высококачественных изделий. Современные системы автоматизированного проектирования (CAD) и интеллектуальные инструменты помогают инженерам синхронизировать данные и сов...

[Перевод] Roslyn Analyzers. Как писать код быстро и безошибочно Roslyn, платформа компилятора .NET, помогает обнаруживать ошибки еще до запуска кода. Одним из примеров является анализатор проверки орфографии Roslyn, который встроен в Visual Studio. Скажем, вы создаете статический метод и случайно написали слово static как statc. Вы сможе...

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

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

Вышел финальный релиз TensorFlow 2.0 Вчера 30 сентября Google объявил о выходе финального релиза TensorFlow 2.0. «TensorFlow 2.0 является ПО с открытым исходным кодом и поддерживается сообществом, которое говорит, что им нужна простая в использовании платформа, гибкая и мощная, которая поддерживает развертыв...

Обзор вентиляторов Arctic P12 PWM PST и Arctic P14 PWM PST В конце прошлого года мы проводили тестирование пары вентиляторов Arctic Cooling BioniX P140 и Arctic Cooling BioniX P120. Сегодня героями обзора будут Arctic P12 PWM PST и Arctic P14 PWM PST, они были представлены в это же время. Ориентированы они на высокое статическое дав...

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

Толщина высокопроизводительного вентилятора EK-Meltemi 120ER составляет 38 мм Компания EK анонсировала вентилятор EK-Meltemi 120ER, предназначенный для использования в мощных настольных компьютерах и системах для энтузиастов. Новинка имеет диаметр 120 мм. При этом корпус получил увеличенную толщину — 38 мм против стандартных 25 мм. Такое исполнение по...

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

Проверка FreeRDP с помощью анализатора PVS-Studio FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект ...

Redmi Note 5, Redmi 6 Pro, Mi 6X и Redmi S2 получат Android Pie не позднее марта Xiaomi обещала обновить Mi 6X, Redmi Note 5, Redmi 6 Pro и Redmi S2 до актуальной Android Pie в этом году, а внутренняя бета-версия будет готова в течение первого квартала 2019 года. Указанные смартфоны были сертифицированы для получения Android Pie 9.0. Даты касаются тольк...

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

Новые голосовые приложения на C# в 3CX v16 3CX v16 уже на подходе, и у нас есть отличные новости о нашем приложении для разработчиков Call Flow Designer. В новом релизе CFD использует новый скриптовый «движок», интегрированный в ядро сервера 3CX. Благодаря выполнению скриптов в ядре АТС, производительность голосовых ...

Автоматизация квартиры с HomePod, Raspberry Pi и Node.js Перевели для вас статью Криса Хокинса, в которой он рассказывает о превращении своей квартиры в умный дом. В качестве базы используется HomePod от Apple, но, конечно, можно применять и другие системы. У меня дома работает Apple HomePod, который помогает контролировать о...

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

Ищем и анализируем ошибки в коде Orchard CMS Эта статья – результат повторной проверки проекта Orchard с помощью статического анализатора PVS-Studio. Orchard это система управления контентом с открытым исходным кодом, которая является частью галереи ASP.NET-проектов некоммерческого фонда Outercurve Foundation. Проверк...

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

Flutter 1.7 — что нового в релизе от 10 июля 2019 года Не так давно был релиз Flutter на Google I/O, но, команда Flutter опять выкатила новую версию с интересными новинками, которыми я не мог не поделиться. Бесплатное фото подложки отсюда Читать дальше →

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

[Из песочницы] Подводные камни в управлении Machine Learning проектом Уже полтора года я занимаю у себя в компании позицию основного ML-разработчика. Полгода управляю небольшой командой. Я накопил опыт, которым хочу поделиться. Делать это буду в формате топа заблуждений и потенциальных трудностей. Читать дальше →

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

[Перевод] Создаём эффект распространения цвета в Unity На этот эффект меня вдохновил эпизод Powerpuff Girls. Я хотела создать эффект распространения цвета в чёрно-белом мире, но реализовать его в координатах мирового пространства, чтобы видеть, как цвет закрашивает объекты, а не просто плоско распределяется по экрану, как в мул...

NVIDIA добавит трассировку лучей в видеокарты 1000 серии (Pascal) Но, разумеется, есть подводные камни

[Из песочницы] Использование GtkApplication. Особенности отрисовки librsvg Аннотация статьи. Использование GtkApplication. Каркас приложения. Makefile. Отрисовка библиотекой librsvg. Экспорт изображения в GtkImage и его масшабирование. Масштабирование SVG самописными функциями. Получение полного пути в приложениях. Тесты быстродействия GtkDrawing...

[Перевод] Live Share в Visual Studio 2019 Мы рады объявить об общедоступности Visual Studio Live Share и о том, что эта функция включена в Visual Studio 2019! В течение года с момента выпуска публичного превью Live Share мы работали над улучшением способов совместной работы в команде. Этот релиз — кульминация этой р...

Как понять, использует iPhone 11 функцию Deep Fusion или нет   Ещё в прошлом месяце с релизом iOS 13.2 в iPhone 11 появилась функция съемки сверхчетких детализированных фотографий Deep Fusion. Однако периодически сложно определить, какой именно снимок получился с активированной функцией. В этом случае спасает условно-беспла...

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

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

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

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

Dagger 2 – это элементарно (Часть 2) Предыдущая часть Содержание Внедрение методов и полей Отложенная инициализация в dagger Модули dagger. Когда dagger вас не понимает Аннотация Named. Несколько экземпляра одного типа Внедрение методов и полей Читать дальше →

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

Гайд по автоматическому аудиту смарт-контрактов. Часть 2: Slither Анализатор: Slither Описание: Open-source static analysis framework for Solidity githib: https://github.com/trailofbits/slither Это статический анализатор кода, написанный на python. Он умеет следить за переменными, вызовами, и детектирует вот такой список уязвимостей. У каж...

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

Edition-Based Redefinition: можно ли в production? Привет! Меня зовут Антонина, я Oracle-разработчик IT-подразделения «Sportmaster Lab». Работаю тут всего два года, но благодаря дружной команде, сплоченному коллективу, системе наставничества, корпоративному обучению, накопилась та самая критическая масса, когда хочется не пр...

Когнитивные искажения при создании продукта Попытался собрать когнитивные искажения которые мешают мне принимать правильные решения при создании продукта. Возможно, кому-то пригодится. Читать дальше →

Kubernetes 1.14: обзор основных новшеств Этой ночью состоится очередной релиз Kubernetes — 1.14. По сложившейся для нашего блога традиции, рассказываем о ключевых изменениях в новой версии этого замечательного Open Source-продукта. Информация, использованная для подготовки этого материала, взята из таблицы Kuber...

«Иволга 2.0» — поезд, на котором вы поедете по МЦД Сегодня запуск первых двух маршрутов МЦД. По МЦД пойдут не просто поезда, а «Иволги». За пару месяцев до открытия МЦД на Тверском вагоностроительном. К релизу МЦД вышел и новый релиз «Иволги», теперь у неё версия 2.0. Давайте покажу, как собирается этот поезд, и что в нё...

Wargaming Platform: Hello World WTF is Platform? В Wargaming есть отдельное подразделение, которое занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно — но я попробую. Почему появилась статья Привет! Меня зовут ...

Глобальный релиз королевской битвы Cyber Hunter от NetEase состоится 26 апреля Осенью прошлого года издатель NetEase представил очередную королевскую битву Cyber Hunter. Некоторое время она была доступна во всем мире в режимах пробного запуска и бета-тестов, а теперь готовится к глобальном релизу 26 апреля. Стоит заметить, что на официальном сайте кол...

Вдохновлённая «Илиадой» Total War Saga: Troy представлена официально Релиз когда-нибудь в следующем году.

Он вам не дRook В связи с набирающей популярностью Rook хочется поговорить о его подводных камнях и проблемах, которые ждут вас на пути. О себе: Опыт администрирования ceph с версии hammer, основатель комьюнити t.me/ceph_ru в телеграм. Дабы не быть голословным я буду ссылаться на принятые...

(Статический) Подбор оптимальных контейнеров в программах на C++ Здравствуйте. Сегодня хотелось бы поговорить снова про статический анализ. И снова про C++. Только в отличие от PVS-Studio мы будем искать не какие-то ошибки в наших программах (хотя они ищут не только ошибки), а места, которые написаны недостаточно оптимально. И одним из та...

Что позволено Jupyter? Наша история началась с, казалось бы, несложной задачи. Нужно было настроить аналитические инструменты для для data science специалистов и просто аналитиков данных. С таким заданием к нам обратились коллеги из подразделений розничных рисков и CRM, где исторически высока конц...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

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

Состоялся релиз Microsoft Launcher 5.1.1 Microsoft выпустила обновление для приложения Launcher версии 5.1.1. Новая версия не несет каких-то новых функций, но улучшает работу самого приложения. Все ключевые изменения были произведены при релизе Microsoft Launcher 5, а именно: добавили Timeline, Sticky Notes, время ...

[Из песочницы] Расшифровка LUKS контейнера в момент загрузки системы Всем доброго дня, ночи! Этот пост будет полезен тем, кто используется шифрование данных LUKS и хочет производить decryptдешифровку дисков под Linux (Debian, Ubuntu) на стадии расшифровки root раздела. И такой информации в интернете я найти не смог. Совсем недавно с увеличен...

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

Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств...

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

GitHub Actions как CI/CD для сайта на статическом генераторе и GitHub Pages Немного прошерстив Habr удивился тому, что очень мало опубликовано статей на тему (beta-)фичи GitHub'а — Actions. Казалось бы, можно объяснить такую недосказанность тем, что функционал еще в тестировании, пусть и "beta". Но именно полезная особенность беты позволяет исполь...

Фантастический хоррор-шутер Star Diffusion выйдет на iOS 12 декабря Star Diffusionанонсировали еще в прошлом году на Tokyo Game Show. Это топ-даун шутер с элементами хоррора. По сюжету главный герой возвращается на планету Xeno и обнаруживает, что на ней все изменилось. Местные жители куда-то пропали, а на их месте оказались какие-то странн...

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

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

PhpStorm 2019.1: Отладка шаблонов Twig и Blade, поиск мертвого кода, улучшенное автодополнение, и многое другое Мы рады представить вам первый мажорный релиз PhpStorm в этом году! Обзор релиза можно посмотреть на странице “What’s new”. А под катом дополненный перевод этой страницы с демонстрацией наиболее интересных новых возможностей. Читать дальше →

[Из песочницы] Внедрение Zimbra Collaboration Open Source, авторизация через AD и автоматическое создание почтовых ящиков 1. Исходные данные ОС сервера: CentOS 7 По поводу ОСНа самом деле разница между CentOS7 и любой другой системой будет заключаться исключительно в командах серверу на установку зависимостей, и, возможно, расположении некоторых файлов. Работа ведется в основном с командлетами...

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

[Из песочницы] Xamarin.Forms Shell В конце мая Microsoft выпустила в релиз Xamarin.Forms Shell — оболочку нацеленную на упрощение создания кроссплатформенных мобильных приложений и включающий в себя следующий функционал: боковое меню, вкладки, навигация, поиск. Читать дальше →

Никакой возни с наличными и картами. В российских магазинах станет можно платить по QR-коду Банк России начнёт тестирование быстрых QR-платежей в магазинах 30 августа. Об этом рассказало издание РБК со ссылкой на собственные источники.  Тестирование будет проводиться в рамках созданной регулятором системы быстрых платежей. Продолжительность тестир...

Геймплейные ролики MMORPG TERA Origin с японского релиза TERA Origin— одна из 4 мобильных MMORPG по мотивам известной ПК-франшизы. Ее издает Netmarble, а релиз пока состоялся только в Японии. Этот проект позиционируется как «совершенно новая» игра в жанре и серии. Во время ЗБТ разработчики публиковали короткие ролики об игре, но ...

Процесс разработки и тестирования с Docker и Gitlab CI Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева из Inventos "Процесс разработки и тестирования с Docker + Gitlab CI" Те, кто только начинает внедрять процесс разработки и тестирования на базе Docker + Gitlab CI часто спрашивают базовые вопросы. С чего начат...

[Перевод] Какие ставки сделал Безос в 1997 году, чтобы Amazon сейчас занимал 50% рынка e-commerce в США и 14% в мире? Джеф Безос, гендиректор Amazon ежегодно пишет письмо акционерам, а волонтеры школы стартапов RUSSOL и инициативы Y Combinator по-русски переводят их, чтобы попытаться ответить на этот вопрос и вдохновить читателей на создание своего Amazon. Читаем перевод первого письма акци...

[Перевод] Зачем Джефф Безос рекомендует масштабировать неудачи и смотреть научную фантастику Джеф Безос, гендиректор Amazon написал ежегодное письмо акционерам, а волонтеры школы стартапов RUSSOL и инициативы Y Combinator по-русски перевели его, чтобы ответить на эти вопросы и вдохновить читателей на создание своего Amazon Джеф Безос, гендиректор Amazon. Источник ф...

12 минут геймплея хоррора Moons of Madness, вдохновлённого творчеством Лавкрафта Тема потихоньку становится избитой.

[Перевод] Представляем .NET 5 6 мая было объявлено, что следующим после .NET Core 3.0 релизом будет .NET 5. Это будет следующий большой релиз в семействе .NET. В будущем останется только один .NET, и вы сможете использовать его для разработки под Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAs...

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

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

Похоже, Blizzard специально оттягивает релиз Diablo Immortal На прошлой неделе издатель NetEase провел конференц-звонок, во время которого поделился результатами завершившегося финансового квартала. Один из аналитиков задал вопрос относительно Diablo Immortal. Руководство компании дало 2 ответа: один на китайском (который заботливо п...

Хардкорный рогалик-платформер Dead Cells вышел на iOS, успейте забрать за 599 рублей Издатель Playdigious выпустил потенциально одну из лучших мобильных игр этого года — порт рогалика под названием Dead Cells, созданный студией Motion Twin. В одном только Steam у проекта больше 27 000 отзывов, 95% которых положительные. На Metacritic стоит 89. Dead Cells —...

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

[Из песочницы] Создание системы расширения на библиотеке Qt Плагины(Расширения) Расширения это совместно используемая динамическая библиотека предназначения для загрузки в процессе исполнения основного приложения, которая обязательно должна реализовывать хотя бы один специальный интерфейс. Расширения делятся на два типа: Для Qt Дл...

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

Видео: композитор Sekiro: Shadows Die Twice рассказывает о создании музыки для игры После многочисленных публикаций, посвящённых Sekiro: Shadows Die Twice, изданию Gameinformer ещё есть чем порадовать читателей. На этот раз журналисты опубликовали видео с композитором Юкой Китамурой (Yuka Kitamura), отвечающей за музыку в следующей игре студии From...

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

Сэмплирование с температурой Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p (вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t) (где t — это ещё какой-то непонятный положительный скаляр)? Б...

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

Кроссплей в Sea of Thieves впервые за год сделают опциональным С момента релиза Sea of Thieves поддерживала кроссплей между PC и Xbox One, и некоторые игроки были недовольны тем, что на консоли они могут столкнуться с читерами, пришедшими с другой платформы. Теперь у них появился повод для радости — спустя почти целый год...

Следим за качественными цифровыми релизами фильмов без суеты В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и U...

[Из песочницы] Размеры Java-объектов разного типа Введение Содержит ли Java-объект: поля, объявленные в суперклассе? private поля, объявленные в суперклассе? методы? элементы массива? длину массива? другой объект (в себе)? hash-код? тип (свой)? имя (своё)? Ответы на эти (и другие) вопросы можно получить с помощью библиот...

[Перевод] Delta-OMA (D-OMA): новый метод массового множественного доступа в 6G. Часть 1 До запуска курса «Сетевой инженер» остаются считанные дни. В связи с этим хотим поделиться с вами первой частью материала по теме «Delta-OMA (D-OMA): новый метод массового множественного доступа в 6G». Поехали. Аннотация — Новый метод множественного доступа, а именно дельта...

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

MOBILE FIRST: Hackathon в OZON Когда релиз раз в две недели, новые фичи приходят от бизнеса, и технический долг требует свое — приходит время хакатона. Меня зовут Дмитрий Антышев, я iOS-разработчик в OZON, расскажу о том, как 27 февраля мы провели первый хакатон для мобильной команды. Читать дальше →

Flippy Friends AR Multiplayer — очень забавная игра в дополненной реальности — выйдет 31 января на iOS Flippy Friends AR Multiplayer – простая внешне, но все равно очень интересная игра в дополненной реальности. Вам предстоит управлять необычными персонажами и с их помощью уничтожать фрукты. Ничего особенного в игровом процессе нет, но благодаря использованию технологии AR и...

Новая операционная система работает в два раза быстрее Windows 10 При создании операционной системы Windows 10 компания Microsoft постаралась учесть все ошибки прошлого, но сделать этого ей так и не удалось. Как итог, хоть с момента релиза данной ОС и прошло уже больше 3,5 лет, Сообщение Новая операционная система работает в два раза быст...

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

[Перевод] Знакомство с Helm 3 Прим. перев.: 16 мая этого года — значимая веха в развитии менеджера пакетов для Kubernetes — Helm. В этот день был представлен первый альфа-релиз будущей крупной версии проекта — 3.0. Её выход принесёт в Helm существенные и долгожданные изменения, на которые многие в Kube...

Деплой приложений в VM, Nomad и Kubernetes Всем привет! Меня зовут Павел Агалецкий. Я работаю тимлидом в команде, которая разрабатывает систему доставки Lamoda. В 2018 году я выступал на конференции HighLoad++, а сегодня хочу представить расшифровку своего доклада. Моя тема посвящена опыту нашей компании по деплою с...

AppCode 2019.2: Swift 5.1, анализ покрытия кода тестами, отображение дизассемблированного кода и другое Астрологи объявили неделю релизов в JetBrains, количество публикаций в блоге выросло втрое! На самом деле, это тоже релизный пост, так что если вы участвовали в EAP, вы уже обо всем знаете. Если нет — обязательно заходите под кат, потому что в этом релизе у нас не только по...

[Перевод] GitLab 11.7 поставляется с Releases, Multi-level Child Epics и реестром NPM Управление релизами стало намного проще GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие ...

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

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

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

Сплошное разочарование. Microsoft рассекретила следующее крупное обновление Windows Компания Microsoft объявила о начале тестирования следующего крупного обновления операционной системы Windows 10. Версия под маркировкой 19H2 готовится к релизу осенью.  Судя по описанию, которое дала Windows 19H2 сама компания, оно окажется скорее не больш...

Система управления движением корабля «Союз-ТМ» часть 2 В первой части я начал рассказывать вам о работе Системы Управления Движением (СУД) на этапе сближения. Остановились мы на методе свободных траекторий и я обещал вам рассказать о методе наведения по линии визирования и параллельном наведении. Пост будет небольшой, но интерес...

Кто есть кто на рынке «Умных домов»? Задали мне тут вопрос на днях, какая система умного дома лучше, какая хуже и чем? Вот серьезно — я задумался! Просто ответить на этот вопрос нельзя… Читать дальше →

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

Делаем 3D конфигуратор для WooCommerce Этот урок является логическим продолжением двух предыдущих статей (часть 1, часть 2) про создание трёхмерных конфигураторов без использования программирования и вёрстки. В прошлой части мы рассматривали вопрос интеграции трёхмерной части с использованием штатной системы за...

Операционная система Haiku: портирование приложений и создание пакетов Осенью этого года, спустя 6 лет разработки, вышла первая бета-версия «R1/beta1» операционной системы Haiku. Я давно слежу за этим интересным проектом, который нацелен на воссоздание и последующее развитие существовавшей в 1994-2000 годах системы BeOS. Поэтому, как только на ...

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

Что такое статическое электричество Оно ломает ноутбуки, портит причёски и вызывает молнии.

Apple удалит функцию запрета отслеживания в Safari из iOS 12.2 Функция запрета отслеживания, которая появилась в Safari с выходом iOS 11 и macOS High Sierra, была удалена из актуальных бета-версий iOS 12.2 и macOS 10.14.4. Соответствующую информацию подтвердили официальные представители Apple. По их словам, данная функция, первоначальн...

Ускорение MicroPython MicroPython — реализация языка программирования Python для микроконтроллеров, даёт возможность аудитории этого языка, используя знакомый синтаксис и принципы программирования работать с небольшими вычислительными устройствами. В своей работе я использую MicroPython для про...

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

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

Трансформация кода в Android 2. Анализ AST Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого класса, нужно как-то понять, является ли этот класс наследником Activity или Fragment...

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

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...

[Из песочницы] Простой вариант реализации многопоточности на PHP Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов. Основным минусом для меня стало слишком больше колич...

Метод мониторинга актуального состояния российских автодорог смартфонами пользователей Целью одной из федеральных программ, направленных на реализацию Указа Президента «О национальных целях и стратегических задачах развития Российской Федерации на период до 2024 года» № 204 от 7 мая 2018 года (kremlin.ru/events/president/news/57425) является улучшение качества...

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

[Из песочницы] Переименовываем файлы вместе с переменными — Visual Code Мы все избалованы IDE. Хочу больше баловства! Представляю бесплатное расширение Visual Code по переименованию файлов и переменных multi-replace. Читать дальше →

Презентация Mortal Kombat 11 в Москве — первые впечатления от файтинга 18 января прошла официальная российская презентация игры Mortal Kombat 11 в Yota Arena. Компании Warner Bros. Interactive Entertainment, «СофтКлаб» и «PlayStation Россия» устроили прессе, поклонникам и киберспортсменам эксклюзивный показ файт...

Defined or Undefined? Нюансы создания массивов в JavaScript Пару месяцев назад я наткнулся на интересный вопрос на stackoverflow, там, если вкратце, человек хотел создать пустую матрицу 5х5, и, используя один способ у него получилось, а используя другой — нет. В развернувшейся дискуссии на этот счёт были приведены интересные мысли. ...

Samsung Galaxy A70s готовят к релизу На просторах интернета появилась информация о смартфоне Samsung Galaxy A70s, который, вероятно, является просто улучшенной версией оригинального устройства. Ранее компания Samsung уже демонстрировала нам достаточно неплохие смартфоны серии А, которые потом получили более про...

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

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

Состоялся релиз Metasploit Framework 5.0   Metasploit Framework — это наиболее известный инструмент для создания, тестирования и использования эксплоитов. Позволяет производить эксплуатацию и постэксплуатацию уязвимостей, доставку «полезной нагрузки» (payloads) на атакуемую цель. Metasploit Framework 5.0 — наибол...

Создатель X-COM снова отложил выход ожидаемой пошаговой тактики Phoenix Point Игры, вдохновлённые X-COM, не выходят из моды: в прошлом году появились Mutant Year: Zero и Phantom Doctrine, а в марте состоится релиз Xenonauts 2. Между тем сам легендарный создатель X-COM Джулиан Голлоп (Julian Gollop) трудится над новой вариацией своей...

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями 11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола являет...

Интервью с Александром Макаровым, Yii core team Один из ключевых разработчиков Yii, Александр Макаров(SamDark), выступит на DevConf с докладом про пакетные метрики и я воспользовался возможностью задать несколько интересующих меня вопросов про новую версию Yii, новую ORM, сбор денег на OpenCollective, фулл-тайм open sour...

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

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

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

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

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

[Перевод] Осенний отчет о состоянии Haxe 26 октября в г. Линц-ам-Райн (Германия) прошла мини-конференция HaxeUp Sessions 2019, посвященная Haxe и смежным технологиям. И самым знаменательным ее событием был, конечно же, финальный релиз Haxe 4.0.0 (на момент публикации, то есть спустя примерно неделю, вышло обновлени...

[Перевод] Анонсирован Dart 2.3: оптимизирован для разработки пользовательских интерфейсов Сегодня (8 мая 2019) мы объявляем о релизе Dart 2.3 SDK с новыми языковыми конструкциями, которые улучшают ваш опыт разработки при создании пользовательских интерфейсов, новой поддержкой инструментов для разработки Flutter UI и двумя новыми веб-сайтами: dart.dev и pub.dev. ...

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

Оказывается, у Tesla есть дизайн подводного автомобиля В этом году Tesla планирует показать прототип электрического пикапа, а также работает над запуском в производство тягачей типа Model Y и Class 8. Но кого это волнует, когда у Tesla есть дизайн подводного автомобиля, который просто пылится в долгом ящике. Генеральный директо...

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

[Из песочницы] Modbus на российском микроконтроллере К1986ВЕ92QI Попал мне в руки российский микроконтроллер К1986ВЕ92QI производства АО "ПКК Миландр" с 32-битным RISC ядром ARM Cortex-M3 128кБ Flash и 32кБ ОЗУ, сразу же захотелось изучить и опробовать его в действии. Микроконтроллер поставляется в упаковке, которой позавидуют к...

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

Система жидкостного охлаждения Cooler Master MasterLiquid ML240P Mirage с радиатором на 2 вентилятора 120 мм, с прозрачной камерой помпы и с многоцветной многозонной подсветкой На основе системы жидкостного охлаждения Cooler Master MasterLiquid ML240P Mirage можно создать условно бесшумный компьютер, оснащенный процессором типа Intel Core i9-7980XE (Intel LGA2066, Skylake-X (HCC)) с тепловыделением порядка 240 Вт максимум. При этом даже с учетом во...

Представляем shell-operator: создавать операторы для Kubernetes теперь совсем просто В нашем блоге уже были статьи, рассказывающие про возможности операторов в Kubernetes и о том, как написать простой оператор самому. На этот раз хотим представить вашему вниманию наше Open Source-решение, которое выводит создание операторов на суперлёгкий уровень, — познаком...

Apple решила напомнить, что она создала более 2 млн рабочих мест только лишь в США Компания Apple опубликовала пресс-релиз, в котором сообщила, что прямо или косвенно она отвечает за создание 2,4 млн рабочих мест в США. И это в четыре раза больше, чем было восемь лет назад. Apple отмечает также, что находится «на пути» к тому, чтобы напря...

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

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

Java, Spring, Kurento и медиасервисы Существует уже немало медиа сервисов, но люди продолжают их создавать. Решил и я заняться изобретением своего велосипеда. Натолкнувшись на проект Kurento, понял что это то, что мне надо. Данная статья является частично переводом Kurento Documentatin, частично это заметки...

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

Samsung ускорит обновление своих смартфонов до Android 10 Android 10 для Galaxy S10 уже на подходе В отличие от мира iOS, где релиз свежего апдейта означает его моментальное распространение среди всех совместимых устройств, на Android вопрос совместимости и тем более сроков обновления решается уже постфактум. Может пройти несколько...

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

Страх и ненависть DevSecOps У нас было 2 анализатора кода, 4 инструмента для динамического тестирования, свои поделки и 250 скриптов. Не то, чтобы это всё было нужно в текущем процессе, но раз начал внедрять DevSecOps, то надо иди до конца. Источник. Авторы персонажей: Джастин Ройланд и Дэн Хармон. ...

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

PVS-Studio заглянул в движок Red Dead Redemption — Bullet В наши дни для, например, разработки игр уже нет нужды самостоятельно с нуля реализовывать физику объектов, так как для этого существует большое число библиотек. Bullet в свое время активно использовался во многих ААА играх, проектах виртуальной реальности, различных симуля...

Рабочее место и 4k@60Hz Доброго времени суток уважаемые читатели, под катом рассказывается о выборе способа подключения 4k монитора к ноутбуку и подводных камнях совсем не новых технологий. Возможно такой пользовательский опыт и выводы будут кому-то полезны при выборе и покупке железа, особенно учи...

Tоп-10: лучшие доклады HolyJS 2019 Piter Этой весной прошла HolyJS 2019 Piter — большая конференция для JavaScript-разработчиков. Вместе с программным комитетом конференции мы составили для вас список лучших докладов, посвящённых следующим темам: Алгоритмы на графах; Протокол Chrome DevTools и Puppeteer; Статичес...

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

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

Хардкорный платформер Reed 2 с новым названием I am Reed вышел на Android + скидка в честь релиза Reed 2– непримечательный на первый взгляд платформер от Crescent Moon Games – вышел на iOS в начале декабря прошлого года. Сегодня состоялся релиз этого же проекта на Android с другим названием. Наверное, это связано с тем, что издатель на платформе Google отличается. Сама ...

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

Подводные камни пользовательских CSS-свойств Автор курса Нетологии «HTML-верстка» Стас Мельников рассказал о нюансах, которые могут усложнить работу с пользовательскими CSS-свойствами. Правила синтаксиса названий пользовательских свойств Мы привыкли, что встроенные CSS-свойства нечувствительны к регистру. Поэтому сл...

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

[Из песочницы] Создание лица персонажа для игры «OnAir» Добрый день! Меня зовут Дарья, я 3d artist в студии RainStyle production. В настоящее время мы заняты разработкой игры в жанре Sci-fi horror под названием “On Air”. Игра рассказывает о загадочных событиях, случившихся с главным героем, который волей случая остановился в а...

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

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывае...

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

Непрерывное профилирование в Go pprof — основной инструмент профилирования в Go. Профилировщик включен в стандартную библиотеку Go и про него, за годы, написано уже очень много. Чтобы подключить pprof в существующее приложение нужно просто добавить одну строчку кода: import _ “net/http/pprof” В HTTP-сервер...

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

50 советов по UX в виртуальной реальности Этот список был собран на основе нескольких моих статей и заметок, посвященных созданию пользовательского опыта в VR. Материал создавался как своеобразный набор дополнительных рекомендаций для новых специалистов Modum Lab, которые занимаются созданием систем взаимодействия...

[Перевод] Новости из мира OpenStreetMap № 476 (27.08.2019-02.09.2019) Отдел туризма национального парка Дурмитор в Жабляке, (Черногория), рекомендует использовать OSM 1 | Фото CC0 Картографирование «Камни преткновения» (нем. Stolpersteine) — это маленькие медные таблички, которые установлены в тех местах (по всей Европе), откуда человека за...

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

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

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

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

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

[Перевод] Как втиснуть 16 ГБ памяти на материнскую плату, которая не поддерживает такой объём Некоторое время назад я поставил на один из своих компьютеров 16 ГБ памяти. На нём стоит материнка Foxconn P55MX с Core i5 750. Можно было бы и заменить этот старый CPU, но он он пока нормально работает и делает всё, что мне нужно. Вот что интересно. Материнская плата офици...

Инфраструктура сборки проекта с docker На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториа...

Spring Annotations: магия AOP Сакральное знание о том, как работают аннотации, доступно далеко не каждому. Кажется, что это какая-то магия: поставил над методом/полем/классом заклинание с собачкой — и элемент начинает менять свои свойства и получать новые. Сегодня мы научимся волшебству аннотаций на п...

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

19 сентября состоится релиз продвинутого симулятора строительства ракет SimpleRockets 2 Simple Planes и Simple Rockets — это качественные симуляторы от Jundroo, в которых игрокам предлагается строить упрощенные модели самолетов и ракет, соответственно. С Kerbal Space Program это не сравнится, но лучшей альтернативы на мобильных нет. С ноября прошлого года Ste...

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

Гибридный накопитель Intel Optane Memory H10 — приводим характеристики Когда в январе мы анонсировали принципиально новый продукт Intel под названием Optane Memory H10, объединяющий в себе кэш Optane и накопитель QLC 3D NAND, то не смогли побаловать читателей спецификациями и подробностями — тогда их просто еще не было. Известно, что любая тай...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

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

К вопросу о преобразованиях и прочих операциях Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем… Алиса- кукла: Чего? Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а ...

[Перевод] 3D-интерфейсы обычно хуже, чем 2D-интерфейсы Автор статьи — Джон Кармак, инженер в областях информатики, аэрокосмической техники и виртуальной реальности, соучредитель и совладелец id Software. С августа 2013 года — технический директор Oculus VR. Эту заметку я разослал сотрудникам в 2017 году, но моя позиция только...

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

Специалисты NASA работают над созданием полноценной лунной GPS Как сообщил в пресс-релизе NASA руководитель проекта по созданию системы MMS Люк Винтерниц, агентство уже много лет разрабатывает технологию сверхвысотной GPS, а ее следующим этапом станет система лунной навигации, основанная на технологии NavCube.

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

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

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

Функция buildargv с помощью Ragel Забавное использование Ragel State Machine Compiler для создания функции разбора строки на int argc, char *argv[]. Все началось с того, что понадобилась функция buildargv, чтобы разбирать строку для последующей передачи в int main (int argc, char *argv[]) { body } Ну ладно п...

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

Глава Huami рассказал, что его компания уже работает над Xiaomi Mi Band 5 и собирается выпустить его в 2020 году С момента релиза фитнес-браслета Xiaomi Mi Band 4 прошло чуть больше двух месяцев, а компания разработчик Huami уже сообщила о том, что работает над следующей моделью Mi Band 5. Информация появилась во время сессии вопросов на мероприятии по объявлению результатов второго кв...

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

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

[Перевод] Конференция DEFCON 19. Anonymous и мы. Часть 1 Вы видите на экране фразу «Кто сражается с монстрами», а я – модератор этой презентации Пол Робертс, редактор threatpost.com, новостного портала, посвященного компьютерной безопасности. У нас большая группа выступающих, которых я представлю через пару секунд, а пока что расс...

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

Project Treble в действии. Google все-таки удалось существенно ускорить распространения новых версий Android На прошлой неделе в новости о завидных темпах распространения новой ОС iOS 13, которая спустя 26 дней после релиза прописалась на каждом втором смартфоне iPhone, мы вспомнили, что Google, ранее ежемесячно отчитывающаяся о популярности разных версий Android, давно сохраняет м...

Grand Theft Auto VI выпустили С момента релиза последней части игры из серии GTA прошло почти шесть лет. Пускай в течение всего этого срока для нее и выпускали обновления, однако она все равно крайне сильно устарела. На фоне всего этого Сообщение Grand Theft Auto VI выпустили появились сначала на AKKet....

Crackdown 3 отправится в релиз недоработанной После целой череды переносов игра Crackdown 3, которая является условным эксклюзивом для платформы Xbox One, получила окончательную дату релиза. Уже 15 февраля все любители шутеров от третьего лица и полноценного разрушения виртуального мира смогут оценить то, над чем студии...

Установка ReactOS с USB-флешки Привет, Хабр! Эцново мы! В новости о выходе релиза 0.4.11 мы рассказали, что благодаря обновленному драйверу RAM-диска ReactOS можно не только запустить, но установить по сети при помощи протокола PXE. Однако, волонтер проекта под ником Illen выяснил, что используя тот же ...

Релиз иерархической адресной книги, обновленный Zimbra Docs и другие новинки в Zimbra 8.8.12 Буквально на днях состоялся релиз Zimbra Collaboration Suite 8.8.12. Как и любое минорное обновление, новая версия Zimbra не содержит каких-то революционных изменений, однако может похвастаться нововведениями, которые могут серьезно повысить удобство использования Zimbra на ...

Обзор 14 headless cms 2019 Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и...

[Перевод] Вышел Windows Terminal Preview 0.7 Представляем новый релиз Windows Terminal preview! Это выпуск v0.7. Как и всегда вы можете скачать Terminal из Microsoft Store или со страницы релиза на GitHub. А вот и новинки: Обновления Windows Terminal Панели (panes) Теперь вы можете разделить окно терминала на нескольк...

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

Security Week 33: интересное с Black Hat / DEF CON 2019 На прошлой неделе в Лас-Вегасе прошла очередная двойная конференция Black Hat / DEF CON. Если первое мероприятие плавно движется в сторону делового междусобойчика, второе по-прежнему остается лучшей конференцией для хакеров (преимущественно в хорошем смысле этого слова), для...

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

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

Курс по Kotlin – руководство для начинающих Это введение в Kotlin, статически типизированный язык программирования общего назначения с открытым исходным кодом.

[Перевод] Что есть и чего нет в Go. Часть 2 Всем привет! Cегодня делимся заключительной частью перевода статьи «Что есть и чего нет в Go». Напоминаем, в первой части речь шла о элементах, которые есть в Go, сегодня же поговорим о том, чего в Go нет. Перевод данного материала подготовлен в преддверии старта нового пот...

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

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

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

Astra Linux для "Эльбрус" сертифицирована ФСБ России Операционная система Astra Linux Special Edition (релиз «Ленинград»), разработанная в 2018 году для вычислительных комплексов с процессорной архитектурой «Эльбрус», успешно прошла сертификацию по требованиям безопасности информации ФСТЭК России к операционным система...

Tesla разработала дизайн подводного автомобиля в стиле Джеймса Бонда Илон Маск сообщил группе акционеров, что Tesla разработала подводный автомобиль, напоминающий знаменитый Lotus Esprit Джеймса Бонда из кинофильма «Шпион, который меня любил».

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 10. Режимы работы портов свитча Сегодня мы рассмотрим режимы портов свитча и функции свитча. Свитч имеет два режима работы: Access, или статический доступ, и Trunk – режим туннельной магистрали. Первый режим используется, когда вы подсоединяете к порту свитча какое-либо конечное устройство. Если вы подсоед...

8-разрядный код Морзе По просьбе одного из любителей применения Щ-кодов в электронных поделках возникла необходимость написать функцию (подпрограмму, процедуру), которая будет издавать трель из последовательности точек и тире. В коде Морзе длина символа может быть от 1 знака (буквы Е и Т) до 9 зн...

Introscope: ну очень ленивое unit-тестирование Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно струк...

Subnautica: Below Zero вышла в Steam и Epic Games Store Инди-игра Subnautica отправилась в релиз в феврале прошлого года и мгновенно понравилась геймерам. Разработчики решили отойти от привычного сеттинга и представили фанатам проектов про выживание совершенно уникальный открытый мир, где большую часть времени вы будете находитьс...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

Приключение Wonder Boy: The Dragon's Trap выйдет на мобильных 30 мая Главная фишка создания хороших ремейков — не просто добавить поддержку современных систем, чтобы фанаты оригинала смогли запустить новую версию, а обновить графику или даже игровой процесс, чтобы поиграть захотели новые игроки. Это удалось разработчиком игры Wonder Boy: The...

Презентация приложения для проведения презентаций Здравствуйте, меня зовут Дмитрий Карловский и я иногда выступаю на конференциях, митапах, а так же с недавних пор сам вхожу в команду организаторов одного из них — PiterJS. Недавно у нас был юбилей — 40 проведённых митапов. Но вместо того, чтобы расслабиться и получать поздр...

Расставляем стандартные ячейки (заметки постороннего) Натолкнувшись на статью “Уничтожим монополию …”, автор, как человек пусть от EDA очень далёкий, но от природы любознательный, не поленился пройтись по ссылкам и невольно поймал себя на мысли, что одно из основных технических решений — использование рядов стандартных ячеек (...

Nvidia внедряет технологию переменной частоты Компания объявила, что будет использовать мониторы с поддержкой G-sync для использования переменной частоты обновления через HDMI порт, что позволит использовать технологию с видеокартами AMD на мониторах G-sync. Видеокарты Nvidia будут поддерживать технологию VESA VRR...

Тест-драйв обновленного Infiniti QX80: ТОП-5 вопросов и ответов В прошлом я уже рассказывал про Infiniti QX80, но обновленная модель получила намного больше, чем просто изменения внешности: здесь улучшен салон, перенастроена подвеска, есть ряд изменений по технике. При этом автомобиль сохранил свой феноменальный мотор V8 и отменную динам...

Обзор Diesel Brothers: Truck Building Simulator. Симулятор механика Сегодня речь пойдет об игре Diesel Brothers: Truck Building Simulator — достаточно необычный релиз, который выглядит достаточно привлекательно и свежо. Это симулятор механика, в котором вы выступаете в роли, что неудивительно, механика и ремонтируете или тюнингуете разные та...

Не дожидаясь релиза Android 10 Q. Вице-президент Google назвал одну из особенностей Android 11 R Вице-президент Google, который контролирует разработку операционной системы Android, Дэйв Берк (Dave Burke) упомянул одну из особенностей следующей за Android 10 Q версии операционной системы.  В социальной сети Twitter в ответ на высказывание Артёма Русаковского ...

[Перевод] Вышел GitLab 11.6 с бессерверными функциями и кластерами Kubernetes для групп Мы рады представить релиз GitLab 11.6, в котором мы расширили возможности бессерверной архитектуры на GitLab и добавили групповые кластеры Kubernetes для упрощения работы с нативной облачной инфраструктурой. Читать дальше →

Если связь — просто жесть, то ее нужно закопать Любой советский школьник, собиравший подобную схему знал, что без заземления — никак. Нынешнее поколение Z, взращенное айфонами, сомневается даже в необходимости антенн! Эта статья показывает важность и необходимость двух данных элементов в условиях слабого сигнала. У истин...

Релиз нового Microsoft Edge состоится 15 января 2020 года Microsoft объявила, что официальный релиз новой версии Microsoft Edge на базе Chromium состоится 15 января 2020 года, но уже сейчас доступен релиз-кандидат, который вы можете установить на своих устройствах, если вы хотите протестировать стабильную версию браузера до релиза...

Пишем краулер на раз-два 1.0 Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush...

Красивый и реалистичный лыжный симулятор Grand Mountain Adventure вышел на Android Состоялся полноценный релиз лыжного симулятора Grand Mountain Adventure. Это проект с открытым миром, в котором вы будете спускаться с разных склонов на лыжах: пытаясь поставить очередной рекорд скорости или просто ради удовольствия. Игра распространяется бесплатно, но в...

Vivaldi 2.9 — Улучшение улучшений Всем привет! Процесс совершенствования браузера, как и ремонт в квартире, невозможно закончить — его можно только остановить. И в этом контексте у нас есть две новости, одна — хорошая, а другая — плохая. Плохая новость: да, браузер Vivaldi ещё далёк от совершенства. Хорош...

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

Infrastructure as code: первое знакомство У нас в компании идёт процесс онбординга SRE-команды. Я зашёл во всю эту историю со стороны разработки. В процессе у меня появились мысли и инсайты, которыми я хочу поделиться с другими разработчиками. В этой статье-размышлении я говорю о том, что происходит, как происходит,...

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

Google Analytics и GDPR: а нужно ли согласие пользователя? После публикации о том, как быстро проверить cookies на соблюдение GDPR, наиболее обсуждаемым оказался вопрос необходимости получения согласия пользователей при использования на сайте Google Analytics. В этой статье ознакомимся с позициями некоторых Европейских регуляторов ...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

[Из песочницы] Использование учетных записей Joomla в проекте на Django Допустим что сайт, которым пользуются ваши пользователи, написан на Joomla, но для создания нового продукта для вашей аудитории вы выбрали связку Python/Django. Как следствие, возникает необходимость использовать в Django учетные записи пользователей из базы данных Joomla. ...

Самые нестрашные яды И снова привет, %username%! Спасибо всем, кто оценил мой опус «Самые страшные яды». Было очень интересно почитать комментарии, какими бы они не были, было очень интересно отвечать. Я рад, что «хит-парад» понравился. Если он не понравился — ну что ж, я сделал всё, что мо...

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

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

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

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

Сфера ответственности координатора релизов Сразу уточним — в ITIL роль «Координатор релизов» не описана. Вопрос про сферу ответственности возник у слушателей курса ITIL RCV при обсуждении соответствующего раздела. Почему такой вопрос возник, в целом понятно. По аналогии с процессами управления...

[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...

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

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

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

Записки IoT-провайдера. Подводные камни опроса счетчиков ЖКХ Здравствуйте, уважаемые любители Интернета Вещей. В этой статье я бы снова хотел поговорить о ЖКХ и опросе приборов учета. Периодически, очередной крупный игрок телекома рассказывает, как скоро он зайдет на этот рынок и всех подомнет под себя. Каждый раз при таких рассказах...

Выпущены релиз 3CX V16 Update 3 и новое мобильное приложение 3CX для Android На прошлой неделе мы завершили большой этап работы и выпустили финальный релиз 3CX V16 Update 3. Он содержит новые технологии безопасности, модуль интеграции с HubSpot CRM и другие интересные новинки. Расскажем обо всем по порядку. Читать дальше →

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

Новый релиз Security Vision IRP «Интеллектуальная безопасность» сообщает о выходе нового релиза актуальной на сегодняшний день версии системы Security Vision Incident Response Platform [IRP], предназначенной для автоматизации действий по реагированию на инциденты кибербезопасности.

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

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

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

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

Spring Data JPA В статье опишу использование Spring Data. Spring Data — дополнительный удобный механизм для взаимодействия с сущностями базы данных, организации их в репозитории, извлечение данных, изменение, в каких то случаях для этого будет достаточно объявить интерфейс и метод в нем, ...

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

«Интеллектуальная безопасность» выпустила новый релиз Security Vision IRP «Интеллектуальная безопасность» сообщила о выходе нового релиза актуальной на сегодняшний день версии системы Security Vision Incident Response Platform [IRP], предназначенной для автоматизации действий по реагированию на инциденты ...

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

Моддеры вернулись к созданию фанатского ремейка Fallout 3 на базе Fallout 4 В прошлом году прекратилась разработка модификации Fallout 4 под названием Capital Wasteland из-за потенциальных проблем с авторскими правами. Мод представляет собой ремейк Fallout 3, но его создатели не могли использовать озвученные реплики оригинальной игры. Тепер...

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

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

[Перевод] Как логировать в NodeJS, чтобы пацаны во дворе уважали Что вас бесит сильнее всего, когда вы пытаетесь организовать читаемые логи в вашем NodeJS приложении? Лично меня чрезвычайно напрягает отсутствие каких-либо вменяемых зрелых стандартов по созданию trace ID. В этой статье мы поговорим о том, какие есть варианты создания trac...

Microsoft выпустила PWABuilder 2.0 с набором дополнительных функций Компания Microsoft объявила о релизе PWABuilder 2.0. Этот инструмент позволяет легко превратить любое веб-приложение в Progressive Web App (PWA). Прежде всего, новая версия включает в себя обновлённый дизайн, который призван облегчить использование инструмента. Появилась ха...

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

Что-что случится 1 февраля? Не то что бы, конечно, это было первое обсуждение вопроса на Хабре. Однако до сего момента в основном обсуждались последствия, в то время как, на наш взгляд, куда интереснее первопричины. Итак, на 1 февраля запланирован DNS Flag Day. Эффекты этого события будут наступать по...

[Из песочницы] OpenVPN и Active Directory (Kerberos без пользовательских сертификатов) Про OpenVPN написано много гайдов, в том числе и про авторизацию через Active Directory. Большинство из них сводится к использованию LDAP, подхода с использованием Kerberos, оформленного в полноценную статью, я не нашел. Впрочем, чего-то нового тут изобретено не будет, я лиш...

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

“Подводные камни” на пути к гиперконвергентной инфраструктуре Переход на гиперконвергентную инфраструктуру может помочь быстро перейти на качественно новый уровень организации ИТ-инфраструктуры корпоративного ЦОДа. Но у этого процесса есть свои «подводные камни», о которых пойдет речь. На первый взгляд переход ...

Intel OpenVINO на Raspberry Pi: урожай 2018 года В последнем квартале уходящего года, А если быть точным, на прошлой неделе, Разработчики Intel представили новый Релиз OpenVINO toolkit на software. Что нового сделано — обратитесь к changelog'ам, Мне точным в деталях быть не дано, Я в этом посте расскажу лишь немного: Про з...

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

[Перевод] Обновление инструментов Web и Azure в Visual Studio 2019 Скорее всего вы уже видели, что состоялся релиз Visual Studio 2019. Как и следовало ожидать, мы добавили улучшения для веб-разработки и разработки с Azure. В качестве отправной точки Visual Studio 2019 предоставляет новые фичи для начала работы с вашим кодом, и также мы обно...

Обзор: сервис для получения экспертных рекомендаций по профессиональной эмиграции в США RB Relocate Привет, Хабр! Меня зовут Александр, уже пару лет я живу в США, развиваю здесь свои проекты и рассказываю о них. Если вы состоите в хабе IT-эмиграция, то наверняка видели мои статьи о переезде, развитии компаний и сложностях, с которыми приходится сталкиваться на этом пути....

КриптоАРМ на базе контейнера PKCS#12. Создание электронной подписи CadES-X Long Type 1. Часть 3 Прошло время и утилита, начатая как просмотрщик сертификатов, дополненная функциями работы с криптографическими токенами PKCS#11 и создания запросов (PKCS#10) на квалифицированный сертификат, пополнилась, как и было заявлено, функциями работы с контейнерами PKCS#12. Итак,...

Проверяем инкапсуляцию с помощью Roslyn Что такое Roslyn? Roslyn – это набор компиляторов с открытым исходным кодом и API для анализа кода для языков C# и VisualBasic .NET от Microsoft. Анализатор Roslyn – мощный инструмент для анализа кода, нахождения ошибок и их исправления. Синтаксическое дерево и семантическая...

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

Использование REST в ENM Ericsson на Python Здравствуйте. Не так давно Ericsson выпустил новую систему управления Ericsson Network Manager (ENM), которая уже успела появится у некоторых операторов сотовой связи. Было бы интересно разобрать некоторые вопросы по работе с ней и, в этой статье, коснёмся вопроса работы с н...

Мрачная аркада о судьбе беззащитных фарфоровых фигурок Rest in Pieces выйдет 7 марта Аркада Rest in Pieces не кажется чем-то невероятно крутым и обязательным к ознакомлению. Но своим визуальным стилем она не может не привлечь тех, кому нравится напряженная и мрачная атмосфера. Недавно мы рассказывали о том, что автор только ищет бета-тестеров, а уже сейчас ...

Apple зарегистрировала в России 5 новых iPad на iPadOS Всего через несколько часов после появления в Сети слухов о готовности Apple начать производство нового iPad 10,2”, Евразийская экономическая комиссия зарегистрировала пять новых моделей iPad, работающих под управлением iPadOS. Прежде планшеты, о которых идет речь в регистр...

[Из песочницы] KDE Connect вместо мыши, или подводные камни первого подключения Вышло так, что я находился в поездке, и чтобы скоротать время, взял с собой своего старого верного друга — нетбук ASER Aspire one AOA110 с #!++ на борту. Так как я им очень давно не пользовался, то напрочь забыл о неисправном шлейфе тачпада. Мышь с собой я, естественно, ...

Управление Raspberry через websockets Raspberry Pi снискали огромную популярность по всему миру. Однако многие из любителей-разработчиков сталкиваются с проблемой доступа к устройству из интернета. Как правило приходится необходимо колдовать с DDNS или докупать статический IP адрес. Оба варианта предполагают нас...

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

Опыт использования Starwind VSAN и EMC ScaleIO (VxFlexOS) + шпаргалка по мини Enterprise СХД (1 часть) Иногда возникает необходимость в организации отказоустойчивого хранилища СХД маленького объема до 20Тб, но с функционалом Enterprise — All-Flash, SSD кэш, MPIO,HA(Activ-Activ) и всё это с бюджетной ценой. Готовые аппаратные решения с данными функциями начинаются от сотен тер...

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

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

MBLT19 :: возвращение Привет, Хабр! Мы с новостями. В прошлом году мы упоролись по созданию классной конференции MBLT DEV. В этом году её не будет. Мы решили бросить силы на конференцию MBLT и сделать ивент не только для разработчиков, но и для всех, кто создаёт и развивает мобильные продукты. ...

Драйвер Radeon Software Adrenalin 19.7.3 доступен для загрузки Главный повод для выпуска свежего ПО — релиз игры Wolfenstein: Youngblood (дополнительные 13% производительности по сравнению с релизом 19.7.2). Ключевые исправления версии Radeon Software Adrenalin 19.7.3: запуск League of Legends на Radeon RX 5700 в ОС Windows 7 теперь о...

Можно ли разблокировать телефон с помощью 3D-копии своей головы? Томас Брюстер занимается вопросами безопасности и конфиденциальности для Forbes. Недавно он поставил интересные опыты с использованием 3D-напечатанной копии своей головы в попытках взломать системы безопасности нескольких телефонов Apple и Android. Не очень утешительные рез...

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

Метод Pomodoro не так крут, как мог бы быть У метода pomodoro есть не совсем очевидные нюансы. И эти нюансы, если переформулировать Кличко, понимают не только лишь все, мало кто может это делать. Поэтому давайте разберемся, что это за метод, и что можно было бы улучшить. Читать дальше →

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

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

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

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

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

PhpStorm 2019.3: поддержка PHP 7.4, PSR-12, WSL, MongoDB и многое другое Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году! Обзор релиза можно посмотреть на странице “What’s new”. А под катом — подробный разбор всех заметных изменений и новых возможностей. Осторожно — очень много картинок. Скачать новую версию мож...

Обзор Mutant Year Zero: Seed of Evil - ещё больше мутантов и новая история Релиз игры Mutant Year Zero: Road To Eden был одним из лучших сюрпризов, выпущенных в прошлом году, благодаря своей уникальной обстановке и тактическому игровому процессу в духе серии XCOM.

Когерентные CFP WDM (100G/200G) и их применение в системах DWDM Первые пресс релизы о появлении когерентных CFP модулей (coherent CFP optical pluggable modules) стали появляться примерно 5-6 лет назад. Тогда их использование в системах оптического уплотнения было в новинку и являлось по сути нишевым решением. Сейчас, по прошествии шест...

Новый монитор ASUS VL278H позаботится о ваших глазах Модель получила 27-дюймовую матрицу разрешением Full HD 1920 х 1080 пикселей. Устройство характеризуется яркостью 300 кд/м2. Статическая и динамическая контрастности составляют соответственно 1000:1 и 100 000 000:1.

Игровой чат-бот Угадай Слово — немного наблюдений и вопросов о развитии Привет. Когда в сентябре прошлого года писался игровой чат бот, я поставил планку — если он наберёт 500 пользователей за пол года (то есть до марта 2019), то я напишу об этом боте на Хабре и поделюсь своими мыслями и вопросами по игровым чат-ботам. Читать дальше →

[Перевод] Что нового в разработке Mamba Прошло немало времени с тех пор, как мы рассказывали о том, что нового в змеиной стране. Mamba всё еще быстра, поддерживает больше операций Conda и отрастила хвост (бэкенд) посолиднее благодаря изменениям в libsolv. Ускоряем змею! А что такое Mamba? Mamba — это drop-in заме...

4 релиза Maltego. Принципы работы и возможности При просмотре профилей пользователей соцсетей, невольно задаешься вопросом, а сколько информации лежит в открытых источниках? Понятно, что много. Но как это посчитать? И у кого еще, кроме спецслужб и корпораций уровня Google или Microsoft, есть ресурсы и механизмы, чтобы это...

[recovery mode] Релиз Linux 5.0 Несколько часов назад Линус Торвальдс анонсировал выпуск 5 версии Linux. Читать дальше →

Концепции программирования в Scratch Многим знаком Scratch – детская среда программирования, обучение в которой обычно сводится к созданию творческих проектов по принципу «от простого к сложному». При этом «классический подход» к изучению программирования (переменные → ветвления → циклы → функции → структуры ...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

Подводные камни FaceApp: приложение получает права на все ваши фото Чем опасен FaceApp и что на это отвечают разработчики.

Epic Games запустила вторую главу Fortnite Epic Games официально анонсировали новый сезон. Fortnite появится новая карта с 13 районами, также игру завезут моторные лодки, и, чтобы они не простаивали зря, на карте появилось больше рек. Теперь в воде игроки будут плавать, а не просто двигаться медленнее. В Fortnite з...

[Перевод] Вышел Orleans 3.0 Это гостевой пост от команды Orleans. Orleans — это кроссплатформенный фреймворк для создания распределенных приложений с использованием .NET. Для получения дополнительной информации см. https://github.com/dotnet/orleans. Мы рады объявить о выпуске Orleans 3.0. По сравнению...

[Перевод - recovery mode ] Веб скрапинг для веб разработчиков: краткое резюме Знание только одного подхода к веб скрапингу решает проблему в краткосрочной перспективе, но все методы имеют свои сильные и слабые стороны. Осознание этого экономит время и помогает решать задачу эффективнее. Многочисленные ресурсы рассказывают об единственно верном мето...

Samsung Galaxy S11 получил революционный датчик Samsung ISOCELL-Motion Как известно, компания Samsung разрабатывает и производит собственные датчики изображения для смартфонов под названием ISOCell. Например, сенсор ISOCELL Brigh HMX был представлен в прошлом месяце, он имеет разрешение 108 Мп. Впервые датчик появится в смартфоне Xiaomi Mi...

Этика в цифровом пространстве — базовые правила международных цифровых отношений На днях вышел пост-релиз по конференции ICDPPD 2018 (International Conference of Data Protection and Privacy Commissioners), которая прошла в октябре прошлого года в Брюсселе под кодовым названием «Debating Ethics». ICDPPD 2018 это международная площадка для обсуждения з...

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