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

[Из песочницы] Копирование данных с веб-сайта с помощью R и библиотеки rvest Чтобы проводить анализ данных, необходимо сначала эти данные собрать. Для этой цели есть много разных методов. В этой статье мы будем говорить о копировании данных непосредственно с веб-сайта, или о скрейпинге (scraping). На Хабре есть несколько статей о том, как сделать коп...

[Из песочницы] Почему Ramda? Пост содержит перевод статьи «Why Ramda?», которую подготовил один из контрибьютеров Скот Сайет. Статья была опубликована 10 Июня 2014 года на сайте и рассказывает о том почему стоит обратить своё внимание на библиотеку Ramda и функциональное программирование в целом. Примеч...

[Из песочницы] Пишем свой BitTorrent-клиент на базе библиотеки Bt Всем привет! В данной статье я расскажу о том, что из себя представляет библиотека Bt, чем она хороша и почему стоит иметь ее в виду, если для решения каких-то задач планируется использовать BitTorrent. Затем, в качестве демонстрации базовых функций и основного API, мы реали...

Pygest #22. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [18 января 2018 — 4 февраля 2018] Всем привет! Это уже двадцать второй выпуск дайджеста на Хабрахабр о новостях из мира Python. В этом выпуске вы найдете статьи о MicroPython, сравнение производительности Python, Numba и C ++, основах веб скрапинга и многое другое. Присылайте свои интересные события из ми...

Создаем TUI на python Привет, Хабр! В этой статье я расскажу про npyscreen — библиотеке для создания текстовых интерфейсов для терминальных и консольных приложений. Читать дальше →

[recovery mode] Классическое наследование в JavaScript. Разбор реализации в Babel, BackboneJS и Ember В этой статье мы поговорим о классическом наследовании в JavaScript, распространённых шаблонах его использования, особенностях и частых ошибках применения. Рассмотрим примеры наследования в Babel, Backbone JS и Ember JS и попытаемся вывести из них ключевые принципы объектно-...

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

[Перевод] Что нового в Swift 4.1? Xcode 9.3 и Swift 4.1, наконец-то, уже не являются бета! Данный релиз содержит долгожданные улучшения стандартной библиотеки и самого языка. Если вы не следите за процессом Swift Evolution, то эта статья для Вас. В этой статье вы узнаете о наиболее значительных изменениях,...

Визуальный способ создания программ Luna может использоваться во многих областях, где обработка данных является главным приоритетом: data science, машинное обучение, IoT, биоинформатика, компьютерная графика или архитектура. Создатели open source языка рассуждают о принципах создания предметно-ориентированных ...

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

Вторая часть сравнения python и tcl В предыдущей статье была описана реализация задачи сбора данных о звонках с АТС, включающее в себя получение, разбор данных и добавление в БД. Решение данной задачи представлено на двух языках программирования — python и tcl. И вот, как и обещал, представляю код (на двух язы...

Swift vs. Kotlin. Отличия важны Этот пост является вольным переводом статьи Swift vs. Kotlin — the differences that matter by Krzysztof Turek Вы наверняка видели это сравнение Swift и Kotlin. Довольно интересное, правда? Я согласен, что в этих языках много схожего, но в этой статье я обращу внимание на не...

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

[Перевод] Погружение в службы Android Перевод статьи "Deep Dive into Android Services" от Nazmul Idris. Я оставил оригинальное название автора, хотя это скорее не "погружение", а "знакомство". Думаю, текст будет полезен начинающим разработчикам. Статья отлично дополняет офф. документацию по службам на Android. ...

tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...

Релиз PVS-Studio для macOS: 64 weaknesses в XNU Kernel Новая версия PVS-Studio 6.23 работает под управлением macOS и позволяет проверять проекты, написанные на языке C и C++. К этому событию наша команда решила приурочить проверку XNU Kernel. PVS-Studio для macOS С выходом версии анализатора для macOS, PVS-Studio можно смело на...

Не Dagger'ом едины В последнее время многим программистам очень понравилась библиотека для реализации внедрения зависимостей Dagger2. Хотя, как мне кажется, из-за неочевидной работы под капотом и большим семейством аннотаций Dagger долго заходил в комьюнити. И так получается что сейчас куда не...

[Перевод] Пять причин проникнуться симпатией к Flutter На конференции Google I/O ’17 Google представила Flutter — новую опенсорсную библиотеку, предназначенную для создания мобильных приложений. Как вы, возможно, знаете, Flutter — это решение для разработки кросс-платформенных мобильных приложений с симпатичным пользовательским...

[Из песочницы] JNI: Подружим Java и C++ Введение Бывают моменты, когда в Java некоторые действия выполняются за пределами обычных Java-классов. Например, необходимо исполнить код, написанный на C/C++ или другом каком-нибудь языке. В данной статье рассмотрим данный вопрос с практической точки зрения, а именно напи...

Компилятор на JavaScript с использованием ANTLR В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, подд...

Смена основного стека с .NET на Java Хочу описать свои наблюдения и впечатления о самом популярном языке серверного программирования для Enterprise под названием Java. Наблюдения и впечатления на сравнении и контрасте с “похожей” платформой .NET, с которой я очень хорошо знаком. Уверен, что ~год назад, когда ...

[Перевод] Мышление в стиле Ramda: первые шаги Недавно я познакомился с замечательной серией статей "Thinking in Ramda", которые проясняют на простых и ясных примерах способы написания кода в функциональном стиле с использованием библиотеки Ramda. Эти статьи показались мне настолько прекрасными, что я не смог удержаться ...

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

Автоматизация действий атакующего, используя metasploit и Python Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи. Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (R...

[Из песочницы] Операция «Ы» и новая библиотека ABI Рад приветствовать тебя, дорогой читатель! В данной статье пойдет речь о новой библиотеке «ABI Model Pattern». Наверное, было бы логично предоставить какой-то пример, чтобы показать все возможности этой библиотеки, но вот и нетушки… Сейчас я опишу только достаточный минимум...

[Из песочницы] Научиться программировать становится сложнее Привет, Хабр! Представляю вашему вниманию перевод статьи Аллена Б. Дауни, автора таких книг как Think Python, Think Java, Think Bayes и других, опубликованной в личном блоге автора. Я написал несколько книг, в которых c использованием языка программирования Python объясняют...

[Перевод] Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning. В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умел...

[Из песочницы] Сравнение Material Design CSS фреймворков Доброго время суток. В статье рассказно о Material Design фреймворках для создания Web-страничек. Если вас интересует тема Material Design, также как и меня, то Добро пожаловать под кат, возможно, откроете для себя что-нибудь новое и интересное. Читать дальше →

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

[Перевод] Медиа-запросы в адаптивном дизайне 2018 В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие метод...

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

[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...

[Перевод] Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность. Обработкой естественног...

Статический анализатор кода PVS-Studio 6.22 адаптирован для ARM-компиляторов (Keil, IAR) PVS-Studio — это статический анализатор кода для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++ и C#. Мы давно радуем читателей нашего блога проверкой открытых проектов и разбором найденных ошибок. Наши статьи имеют потенциал стать более интересны...

Изучаем и реализуем алгоритм работы правильного observer паттерна для react компонентов Итак продолжаем развивать observer-паттерн. В предыдущей статье от старого и очень простого паттерна "observer" маленькими шагами мы пришли к mobx и написали его мини-версию. В этой статье мы напишем полноценную версию mobx которая реализует алгоритм обновления зависимостей...

[Перевод] Создание игры на Lua и LÖVE — 7 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

[Перевод] Как создать нейросеть всего из 30 строк JavaScript-кода Перевод How to create a Neural Network in JavaScript in only 30 lines of code. В этой статье мы рассмотрим, как можно создать и обучить нейросеть с помощью библиотеки Synaptic.js, позволяющей проводить глубокое обучение в связке Node.js с браузером. Давайте создадим прост...

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...

История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...

Алгоритм выбора location в Nginx Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алг...

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

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

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

Triton vs Kao’s Toy Project. Продолжаем хорошую традицию В данной статье речь пойдет про SMT-решатели. Так сложилось, что в исследовательских материалах, посвященных данной теме, появилась хорошая традиция. Уже несколько раз в качестве подопытного алгоритма для SMT-решателей разные исследователи выбирали один и тот же пример – кр...

[Перевод] Архитектура приложения Angular. Используем NgModules Прим. перев.: для понимания данной статьи необходимо обладать начальными знаниями Angular: что такое компоненты, как создать простейшее SPA приложение и т.д. Если Вы не знакомы с данной темой, то рекомендую для начала ознакомиться с примером создания SPA приложения из оф. до...

[Перевод] Создание игры на Lua и LÖVE — 4 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

[Перевод] Проектирование пользовательского интерфейса Windows 95 Три года назад мне попалась интересная научная статья сотрудника Microsoft Кента Салливана о процессе и результатах проектирования нового пользовательского интерфейса для Windows 95. С тех пор веб-страница исчезла — одна из причин, почему я такой цифровой Плюшкин. Статья оп...

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

Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...

Hypothesis Добро пожаловать в Hypothesis! Hypothesis представляет собой библиотеку Python для создания модульных тестов, которые попроще писать и более эффективны при запуске, обнаруживая граничные случаи в коде, который вы бы не подумали искать. Он стабильный, мощный и легко добавляет...

[Из песочницы] Как быть* компилятором — создание компилятора на JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи "How to be* a compiler — make a compiler with JavaScript" автора Mariko Kosaka. *Все верно! Быть компилятором — это здорово! Дело было одним замечательным воскресеным днем в Бушвике, Бруклин. В моем местном книжном м...

[Из песочницы] Что такое gtag.js в Google Analytics и нужен ли он вам? Вы читаете перевод статьи "What Is gtag.js with Google Analytics and Do I Need It?" автора Amanda Schroeder. Если недавно вы добавляли код отслеживания Google Analytics на сайт, то заметили совершенно другой код счётчика, который выглядит так: Сложилась какая-то ...

Avito на GopherCon Russia 2018 Всем привет! В марте в московском Технополисе прошла конференция, посвященная языку программирования Go — GopherCon Russia 2018. На ней прозвучали выступления от core-team — было круто услышать из первых уст о том, как нужно делать правильно. И конечно, не обошлось без докла...

[Перевод] Rust: Знакомимся с языком на примере «Угадай-ки» Давайте познакомимся с Rust, поработав над маленьким проектом! Мы покажем основные концепты Rust на реальном примере. Вы узнаете о let, match, методах, ассоциированных функциях, подключении сторонних библиотек и много о чем другом. Мы реализуем классическую задачу: игра “уга...

Использование библиотеки Python Control Systems Library для проектирования систем автоматического управления Здравствуйте! С появлением библиотеки Python Control Systems Library [1], решение основных задач проектирования систем автоматического управления (САУ) средствами Python значительно упростилось и теперь практически идентично решению таких задач в математическом пакете Matla...

[Из песочницы] GObject: основы GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных пр...

[Перевод] Проект RealWorld: сравнение фронтенд-фреймворков Материал, перевод которого мы предлагаем сегодня вашему вниманию, представляет собой обновлённую, с учётом положения дел в 2018 году, версию статьи об исследовании фреймворков, которая была опубликована в декабре 2017. Читать дальше →

Сопроводительное письмо. Что стоит писать? Резюме написано. Вакансия мечты найдена. Остается одна маленькая, но порой непосильная задача – написать сопроводительное письмо. О том, что нужно писать, а чего стоит избегать в сопроводительных письмах, поделилась Alison Doyle, специалист по найму в США и основатель сервис...

[Перевод] Immer: новый подход к иммутабельности в JavaScript Иммутабельные структуры данных, реализующие методику совместного использования неизменяемых фрагментов информации (structural sharing), выглядят как отличная технология для хранения состояния приложения. Особенно — в комбинации с архитектурой, основанной на событиях. Однако ...

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

[Из песочницы] Создание и хостинг телеграм бота. От А до Я Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания ...

Тестовый пакет iXBT Application Benchmark 2018: программы видеоредактирования и создания видеоконтента в качестве теста процессоров и ПК В третьей статье цикла мы опишем подход к использованию программ видеоредактирования Adobe Premiere Pro СС 2018, Magix Vegas Pro 15, Magix Movie Edit Pro 2017 Premium, Adobe After Effects CC 2018 и Photodex ProShow Producer 9 в качестве теста процессоров и ПК для нашего ново...

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

Изменения в стандартной библиотеке Java 10 Недавно состоялся релиз-кандидат Java 10, и на Хабре вышла статья, где перечислены JEP'ы, вошедшие в новый релиз. Однако не все изменения в Java получают свой JEP. В частности, небольшие дополнения стандартной библиотеки практически всегда происходят без JEP'ов. При этом час...

[Из песочницы] Android Support Library 28. Что нового? По давней традиции вместе с новой версией Android выходит обновление Support Library. Пока библиотека вышла в стадии альфа, но список изменений уже намного интереснее, чем такой же список у Android P. Google несправедливо мало рассказал и написал об основных нововведениях ...

[Перевод] Создание игры на Lua и LÖVE — 3 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги 9. Director and Gameplay Loop 10. Coding ...

[Перевод] Создание игры на Lua и LÖVE — 5 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

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

Краткая история Rust: от хобби до самого популярного ЯП по данным StackOverflow Rust — это язык системного программирования, создатели которого уделили внимание трем вещам: параллелизму, скорости и безопасности. И хотя Rust считается молодым языком программирования — его первая стабильная версия вышла в 2015 году — он разрабатывается уже более десяти ле...

Распознавание речи на python с помощью pocketsphinx или как я пытался сделать голосового ассистента Это туториал по использованию библиотеки pocketsphinx на Python. Надеюсь он поможет вам побыстрее разобраться с этой библиотекой и не наступать на мои грабли. Читать дальше →

[recovery mode] Личный опыт работы с Firebase Cloud Firestore Всем привет! В последнее время все чаще использую Firebase в своих проектах: очень удобно обходится без фактического написания серверной части. Хочу поделиться небольшим опытом работы на стороне фронтенда. В данном случае это Angular, поэтому используется официальная библиот...

Две модели лучше одной. Опыт Яндекс.Переводчика Когда-то мы уже рассказывали о том, как появился и развивался машинный перевод. С тех пор произошло ещё одно историческое событие – его наконец-то покорили нейронные сети и глубокое обучение. Среди задач обработки естественного языка (Natural Language Processing, NLP) машинн...

Особенности настройки и запуска PVS-Studio в Docker на примере кода Azure Service Fabric Технологии контейнеризации активно используются для сборки и тестирования программного обеспечения. С появлением PVS-Studio для Linux, пользователям стала доступна возможность добавить статический анализ к другим методам тестирования своего проекта на этой платформе, в том ...

[Перевод] Webpack 4, import() и CommonJS В JavaScript много забавного. У одного из самых популярных в мире языков программирования до сих пор нет стабильного синтаксиса разбиения кода на части. То есть в стандарте синтаксис ESM с «import» наперевес уже есть, но в браузерах и ноде он спрятан за флагами, а в вебпаке...

Универсальные приложения React + Express В прошлой статье рассматривалась библиотека Next.js, которая позволяет разрабатывать универсальные приложения «из коробки». В обсуждении статьи были озвучены существенные недостатки этой библиотеки. Судя по тому, что https://github.com/zeit/next.js/issues/88 бурно обсуждаетс...

[Перевод] Создание игры на Lua и LÖVE — 6 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

SOLID SOLID критикует тот, кто думает, что действительно понимает ООП © Куряшкин ВикторЯ знаком с принципами SOLID уже 6 лет, но только в последний год осознал, что они означают. В этой статье я дам простое объяснение этим принципам. Расскажу о минимальных требованиях к языку прог...

Объект в футляре или Optional в Java 8 и Java 9: Часть 5: Недосказанное и постер в подарок Это пятая и последняя статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В первой статье было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. Вт...

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

Методы расширения для типов стандартной библиотеки .NET Наверное, почти каждый .NET-разработчик сталкивался со случаями, когда для удобства кодирования рутинных действий и сокращения boilerplate-кода при работе со стандартными типами данных не хватает возможностей стандартной же библиотеки. И практически в каждом проекте появляют...

Веб компоненты. Часть 1: Пользовательские элементы Вступление Данная статья — первая часть из небольшой серии статей о создании веб-компонентов нативными средствами HTML и JS Компонентный подход к разработке веб-приложений опирается на создание независимых модулей кода, которые могут быть использованы повторно, объединяемых ...

Создание сети с выходом в Интернет в среде GNS3 на Windows 10 GNS3 (Graphical Network Simulator) — это графический симулятор сети, который позволяет смоделировать виртуальную сеть из маршрутизаторов и виртуальных машин. Незаменимый инструмент для обучения и тестов. Работает практически на всех платформах. Отлично подходит для создания ...

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

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

[Из песочницы] Совершенствуем Redux Привет, Хабр! Представляю вашему вниманию перевод статьи "Redesigning Redux" автора Shawn McKay. Должно ли управление состоянием вызывать проблемы на сегодняшний день? Интуитивно, разработчики видят скрытую правду: управление состоянием куда сложнее, чем должно бы...

Генерация кода во время работы приложения: реальные примеры и техники Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expre...

«Яндекс» поделится опытом разработки ПО для робомобилей Компания «Яндекс» организовала на базе Школы анализа данных учебный курс Self-driving cars, посвящённый разработке программного обеспечения для беспилотных автомобилей. Школа анализа данных была основана «Яндексом» в сентябре 2007 года. Здесь...

[Перевод] Возможно, вам не нужен Rust, чтобы ускорить ваш JS Несколько недель назад я обнаружил пост "Окисляем Source Maps с Rust и WebAssembly" распространяющийся по Твиттеру и расказывающий о выигрыше в производительности от замены обычного JavaScript в библиотеке source-map на Rust, скомпилированный в WebAssembly. Пост возбудил мой...

[Перевод] От JavaScript к Rust и обратно: рассказ о wasm-bindgen Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В про...

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

Generative adversarial networks В прошлой статье мы рассмотрели простейшую линейную генеративную модель PPCA. Вторая генеративная модель, которую мы рассмотрим — Generative Adversarial Networks, сокращенно GAN. В этой статье мы рассмотрим самую базовую версию этой модели, оставив продвинутые версии и сравн...

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

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

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

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

Hessian-Free оптимизация с помощью TensorFlow Добрый день! Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка ...

Применение Tarantool: хранимые процедуры Перевод статьи с DZone. Оригинал: https://dzone.com/articles/applications-for-tarantool-part-1-stored-procedure. Я хочу поделиться своим опытом создания приложений для Tarantool, и сегодня мы поговорим об установке этой СУБД, о хранении данных и об обращении к ним, а также ...

Понимание lvalue и rvalue в C и С++ Eli Bendersky, Understanding of lvalues and rvalues in C and C++ (https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c) От переводчика: предлагаю Вашему вниманию перевод интересной статьи об lvalue и rvalue в языках C/C++. Тема не нова, но з...

[Перевод] Разбираемся в redux-saga: От генераторов действий к сагам Любой redux разработчик расскажет вам, что одной из самых тяжелейших частей разработки приложений являются асинхронные вызовы — как вы будете обрабатывать реквесты, таймауты и другие коллбэки без усложнения redux действий(actions) и редьюсеров(reducers) В этой статье я опи...

[Из песочницы] Паттерны проектирования в Cocos2d-x Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk. Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где при...

LL(*) парсер с использованием Rust макросов Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем ...

[Из песочницы] Design by Introspection Что, если бы мы умели располагать атомы один за другим как нам угодно? Ричард ФейнманСколько парадигм программирования вы сможете назвать? Список на этой странице википедии содержит ни много ни мало 76 наименований. Этот список может быть пополнен ещё одним подходом, названн...

Обучение программированию на Python За 25 лет развития Python показал себя как язык-универсал: на нем пишут бизнес-приложения и веб-сервисы. Основной код игр World of Tanks, Battlefield 2 и Civilization 4 написан на Питоне. Intel, Cisco и HP используют его, что...

Интерфейс Vulkan выведет качество игр для iOS и macOS на новый уровень Кросс-платформенный интерфейс Vulkan, обеспечивающий большую производитель и улучшенное отображение графики в играх, стал доступен на платформах iOS и macOS. Об этом говорится на официальном сайте консорциума Khronos Group, являющегося разработчиком открытых стандартов инт...

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

Курсы по ИИ могут пройти все желающие Благодаря новой инициативе Microsoft получить образование в области машинного обучения и искусственного интеллекта может любой желающий. Программа Microsoft Professional Program for Artificial Intelligence включает в себя десять курсов, которые проведут учащегося от азов раз...

[Перевод] Чего из Rust мне не хватает в C Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust» Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавит...

Наташа — библиотека для извлечения структурированной информации из текстов на русском языке Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами: Задача старая и хорошо изученная, для английского языка существует масса коммерческих и о...

[Из песочницы] ECO Flow в Vivado или работа в режиме редактирования нетлиста Аннотация В статье рассмотрен режим работы Vivado, позволяющий вносить изменения в проект на уровне редактирования списка соединений (в дальнейшем – нетлиста). Описаны как сам режим ECO, так и некоторые нюансы, которые появляются во время работы в нём. Приведён демонстрацион...

Скрипт получения информации из образа Windows Имею серию статей посвящённых теме обслуживания образов Windows командами системы DISM. В моих статьях приводились примеры скриптов на языке интерпретатора командной строки cmd.exe. В результате работы исходный образ Windows (живая система или автономный файл *.wim) изменялс...

[Перевод] Кончина программной инженерии и последний методист Disclaimer: Это перевод статьи профессора Бертрана Мейера из блога Communications of the ACM. Статья относительно недавняя (по сравнению с предыдущим переводом). А профессор Бертран Мейер, представлять которого не нужно, является почетным доктором и заведующим кафедрой ИТМО,...

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

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

Ваш пакет Composer сломан: обновите идентификатор лицензии Если вы, как и я: являетесь мэйнтейнером какой-либо библиотеки или фреймворка; ваша библиотека или фреймворк выпущены под какой-либо свободной лицензией ваша библиотека или фреймворк доступны к установке через Composer и размещены на сервисе Packagist; то у вас, возможно,...

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

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

[Из песочницы] Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причи...

[Перевод] Тонкости value restriction в F# Одной из отличительных особенностей языка F#, по сравнению с более распространёнными языками программирования, является мощный и всеобъемлющий автоматический вывод типов. Благодаря ему в программах на F# вы почти никогда не указываете типы явно, набираете меньше текста, и по...

[Из песочницы] Программирование согласно контракту на JVM Привет, Хабр! Представляю вашему вниманию перевод статьи "Programming by contract on the JVM" автора Nicolas Fränkel. Читать дальше →

Как мы в Smart Engines учили Sailfish OS распознаванию Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем ...

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

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образо...

Как мы общаемся с React-компонентам при помощи декораторов в TypeScript При разработке приложений на React довольно неудобно создавать независимые друг от друга компоненты, т.к. стандартным способом для обмена данными между ними является "Lifting State Up". Этот подход постепенно загрязняет ненужными свойствами промежуточные компоненты, делая их...

[Перевод] 8-битный компьютер с BASIC и VGA-выходом на Arduino C помощью Arduino можно собрать 8-битный ретро-компьютер с Basic (похожий на ZX Spectrum) с выводом цветного изображения на VGA-монитор. Кроме того, этот проект можно использовать как простой способ вывода текстовых сообщений на монитор. Сама по себе, идея использовать A...

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

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

Java и Project Reactor Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб. Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знае...

[Перевод] Квантовые вычисления и язык Q# для начинающих Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиц...

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

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

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java. Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ....

CIS Controls V7: рекомендации по информационной безопасности   Центр интернет-безопасности (CIS) является некоммерческой организацией, которая разрабатывает собственные контрольные показатели и рекомендации, которые позволяют организациям совершенствовать свои программы обеспечения безопасности и соответствия требованиям. Эта инициат...

[recovery mode] Роботы вместо лучших сотрудников: машинное обучение по ответам экспертов Один из текущих проектов Devim — разработка сервиса скоринга для микрофинансовой организации (МФО). Проект был выполнен нашей Data Science командой Андреем Давыденко и Дмитрием Гореловым datasanta. Мы рассказываем о том, какие решались задачи, какие факторы принимались во вн...

Автоматическая векторизация спутниковых снимков: одна модель — два первых места Всем привет! В данной статье хочу поделиться с вами историей о том, как одна и та же архитектура модели принесла сразу две победы в соревновательном машинном обучении на платформе topcoder с интервалом месяц. Речь пойдёт о следующих соревнованиях: Urban 3d mapper — поиск ...

[Перевод] Насколько быстр AMP на самом деле? Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзаг...

Как адаптировать игру на Unity под iPhone X к апрелю Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официал...

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

Поиск по сайту с Reindexer — это просто. Или как сделать «instant search» по всему Хабрахабр-у Всем привет, В предыдущей статье я писал о том, что мы сделали новую in-memory БД — быструю и с богатыми функциональными возможностями — Reindexer. В этой статье хочу рассказать как при помощи Reindexer можно реализовать полнотекстовый поиск по сайту, написав минимум applica...

[Из песочницы] Асинхронная работа с PostgreSQL в C Сегодня захотелось написать небольшую заметку об асинхронной работе с PostgreSQL в C. Мотивы просты: для небольшой утилитки встала необходимость реализовать такой функционал, гугл на тему понятных и рабочих примеров предательски молчал (нашелся только пример в pqxx для C++ —...

[Из песочницы] Гейм дизайн в жизнь. Пример разбора механики игры Доброго дня! Немного об авторе: меня зовут Мария, начинающий гейм дизайнер. С этой статьи начинаем цикл статей по применению теории гейм дизайна в жизни. В этой статье попытаемся разобрать механику игры на примере Northgard от студии Shiro Games (находящуюся на стадии ранн...

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

Классификация объектов в режиме реального времени Автор: Игорь Пантелеев, Software Developer, DataArt Распознавание изображений очень широко используется в машинном обучении. В этой области существует множество различных решений, однако потребностям нашего проекта ни оно из них не удовлетворяло. Нам понадобилось полность...

Google выпустила первую бета-версию Flutter для кросс-платформенной разработки приложений Сегодня компания Google объявила о выпуске первой бета-версии инструмента Flutter, с помощью которого разработчики смогут создавать кросс-платформенные приложения для Android и iOS с общей кодовой базой. В каком-то смысле это действительно конкурент Microsoft Xamarin. Для р...

«Календарь тестировщика». Протестируй безопасность Продолжаем цикл статьей «Календарь тестировщика», в этом месяце поговорим о тестировании безопасности. Многие не знают с чего начать и пугаются сложностей. Иван Румак, тестировщик безопасности веб-приложений в Контуре, поделился основами в поиске уязвимостей. Новички найдут ...

Gesturizer: 3D-touch и жесты в iOS приложения Жесты на мобильных устройствах, выполняемые стилусом или пальцем, могут быть эффективнее и удобнее стандартных взаимодействий с кнопками и меню в зависимости от контекста и задачи. Однако, необходимость запоминания жестов и связанных с ними команд вызывают некоторые трудност...

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

Software Transactional Memory на Free-монадах Осознав, что я давно не писал на Хабр ничего полезного о ФП и Haskell, и что имеется вполне отличный повод для технической статьи, — решил тряхнуть стариной. Речь в статье пойдет о Software Trasactional Memory (STM), которую мне удалось реализовать на Free-монадах при участи...

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

[Перевод] Эксперимент с бинарным кодом в Glimmer Перевод статьи об эксперименте с бинарным кодом в Glimmer, соавторы публикации: Сара Клаттербак, Чад Хиетала и Том Дейл. Чуть более года назад Ember.js претерпел значительные изменения. В тесном сотрудничестве между инженерами LinkedIn и Open Source сообществом, мы заменили...

[Перевод] Система типов в математике Время от времени мне встречаются вопросы по математике, которые в каком-то смысле можно назвать «грамматически неверными». Пример. «Интервал является замкнутым или открытым?» Пример. «Является ли группой?» Пример. «Каков ряд Фурье для ?» А вот ещё более глупые примеры. ...

Основы программирования на SAS. Урок 1 Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS и...

Погружение в шаблоны и приручение GPO Windows В очередной статье из цикла «конспект админа» мне хотелось бы освежить в памяти несколько нюансов использования групповых политик. Заодно поразвлекаемся с созданием своих шаблонов и с автоматизацией работы с этими самыми политиками. Читать дальше →

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

[Из песочницы] Выгрузка сообщений с использованием Telegram API. С чего начать На просторах интернета можно найти множество описаний и примеров по созданию telegram bot-ов.Но Telegram Bot Api имеет ограниченный функционал. Для решения задачи по выгрузке сообщений из Telegram по ключевому слову необходимо использовать Telegram API. За основу была взята ...

[Перевод] Метод Бенджамина Франклина для чтения книг по программированию Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшк...

KeePass DX 2.5.0.0beta7-libre KeePassDX менеджер паролей с открытым исходным кодом база которого полностью совместима с компьютерной версией программы KeePassX суть программы такова программа создает зашифрованный контейнер в котором хранятся парольи пользователя. программа  для шифрования использует биб...

Google учит ИИ писать статьи в Wikipedia В будущем все статьи энциклопедий будут написаны роботами? Вряд ли, но Google надеется на то, что искусственный интеллект станет достаточно умным, чтобы помогать людям в собирании информации в сети. Нейронные энциклопедисты Не секрет, что наши попытки научить ИИ писать тек...

Если у вас нет собаки… Если вашему бизнесу необходим BDD с живой документацией на русском, нет выделенной позиции тестировщика, либо уровень его знаний недостаточен для самостоятельной автоматизации и важно обеспечение единого стека технологий между scrum-командами, то вам безусловно необходимо хо...

[Перевод] Создание двухмерных эффектов частиц в Unity3D Привет, меня зовут Дэвид Финсет. Я технический художник Synapse Games и работаю над играми, в которых нужны визуальные эффекты, требующие и технической, и художественной составляющей. Большая часть моей работы заключается в создании эффектов частиц для мобильных игр. Мне оч...

Дайджест новостей из мира PostgreSQL. Выпуск №5 Feature freeze Это, конечно, главное событие для сообщества. То, что не прошло только что закончившийся комитфест, не попадет в версию PostgreSQL 11. Что заморозили на feature freeze Это наша сводка попавших в нее важнейших патчей. Сводка сводкой, а статьи об PostgreSQL ...

Ардуированная кофемашина Привет, обитатели ХабраХабр! Возможно, по сути статьи я ошибся ресурсом, за мое 9 летнее отсутствие появился некий geektimes, возможно, я должен написать это там, но напишу сюда — на хабрахабр. Если не прав — не бейте ногами. Я люблю делать простые как топор вещи, но одно...

[Перевод] Как легко начать писать на PowerShell или несложная автоматизация для управления Active Directory Изучить основы PowerShell Данная статья представляет собой текстовую версию урока из нашего бесплатного видеокурса PowerShell и Основы Active Directory (для получения полного доступа используйте секретное слово «blog»). Данный видеокурс оказался необычайно популярным по в...

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

[Перевод] Разработка на Blockchain — что изменится для разработчиков? Эта статья является переводом поста Винсента Чена (Vincent Chen) и Рамона Рекуэро (Ramon Recuero), цели которого очень схожи с теми, что преследуем и мы, и написанного для таких разработчиков, которых мы хотели бы видеть на своих мероприятиях. Введение Если вы читаете этот ...

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

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

[Перевод] Введение в модули Angular — корневой модуль (Root Module) Прим. перев.: для понимания данной статьи необходимо обладать начальными знаниями Angular: что такое компоненты, как создать простейшее SPA приложение и т.д. Если Вы не знакомы с данной темой, то рекомендую для начала ознакомиться с примером создания SPA приложения из оф. до...

Telegram официально представил X для Android и библиотеку TDLib для создания мессенджера с нуля При этом обе версии Telegram исчезли из App Store.

[Перевод] Go: Хороший, плохой, злой У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобны...

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

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

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

[Санкт-Петербург, анонс] SpbDotNet #30 — доклады о телеметрии .NET-микросервисов и анализаторах кода ReSharper и Roslyn В пятницу 20 апреля в 19:00 в Питере пройдет тридцатый митап SpbDotNet. В программе доклады от Контура — крупнейшего продуктового .NET-разработчика в России. Вы послушаете доклады о правильном сборе телеметрии от .NET-микросервисов, а также о применении анализаторов кода в ...

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

[Из песочницы] Знакомство с Gjallarhorn.Bindable.WPF (F#) на примере выполнения тестового задания В статьях на русском языке теме использования F# совместно с WPF уделяют немного внимания. Сегодня я попробую познакомить вас с одной из F# библиотек, которая значительно упрощает такую разработку. В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF,...

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

[Из песочницы] Уязвимость​ ​ технологии​ ​ системы​ ​ идентификации пользователей​ ​ в ​ ​ публичных​ ​ wi-fi​ ​ сетях Развитие информационных технологий непременно сопровождается противоправным использованием этих технологий. В статье рассматривается исследование безопасности беспроводных сетей на примере сети Московского метрополитена. Результатом исследования является получение доступа к ...

Нагрузочное тестирование «не-HTTP». Ч.2 Gatling В первой части статьи мы провели сравнительный анализ средств нагрузки на Java для JMeter, ушли от XML тест-планов и достигли 30K RPS с одной машины, нагружая «не-HTTP» сервис на примере Apache Thrift. В этой статье рассмотрим еще один инструмент для нагрузочного тестирова...

[Из песочницы] Написание Telegram-бота для Habrahabr В этой статье я хочу рассказать о том, как происходило написание Telegram-бота, который мог бы отправлять статьи Habrahabr, сначала на Python, а потом и на Go, и что из этого вышло. Читать дальше →

[Из песочницы] Руководство инструктора к книге «Программирование: Принципы и практика с использованием C++» Привет, Хабр! Представляю вашему вниманию перевод статьи "Instructor’s Guide for Programming" автора Бьярне Страуструпа (дата последнего посещения: 20.12.2017). От переводчика Бьярн Страуструп известен как разработчик языка программирования C++. Книги его авторства...

Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE? Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, у...

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

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

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

[Перевод] Почему SQLite не использует Git Содержание 1. Введение 1.1. Правки 2. Несколько причин, почему SQLite не использует Git 2.1. Git затрудняет поиск потомков после коммита 2.2. Ментальная модель Git излишне сложна 2.3. Git не отслеживает исторические названия ветвей 2.4. Git требует дополнительной админист...

[Из песочницы] Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04 Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера). Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почем...

[Перевод] Параллельное программирование в Swift: Operations В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании э...

[Перевод] Dependency injection От переводчика Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависи...

Обзор программы DotNext 2018 Piter Конференция: DotNext 2018 Piter Дата: 22-23 апреля 2018 года Место: Санкт-Петербург, Гостиница «Park Inn by Radisson Пулковская» Следующий DotNext будет меньше, чем через месяц. Над программой и докладами была проведена колоссальная работа, и, чтобы познакомить вас с ней, мы...

Умный «фейс-контроль»: алгоритмы машинного обучения для эффективного кэширования данных на SSD Данная статья была представлена на конференции SECR2017, где получила премию Бертрана Мейера за лучший исследовательский доклад. В этом материале руководитель исследовательской лаборатории «Рэйдикс» Светлана Лазарева рассказывает о новом алгоритме заполнения параллельного к...

Пишешь на С++ или .NET? Даем скидку 50% на Deleaker, программу для поиска утечек памяти Deleaker — это программа для разработчиков под Windows, пишущих на C++. Она ищет утечки памяти и других ресурсов: дескрипторов, объектов GDI и USER. Недавно на страницах «Хакера» мы взломали ее защиту и написали крэк. После публикации статьи с нами связались ее разработчики ...

Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...

DSP на Java Java — язык программирования общего назначения. Общего назначения — значит можно писать почти любые программы. Вот я и попытался написать программу, которую обычно пишут на С или C++. Под катом я попытаюсь рассказать, как я декодировал спутниковые снимки с Метеор-М №2. Чита...

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

Онлайн-сервис Duolingo запустил курс изучения клингонского языка из сериала Star Trek (там же можно выучить высокий валирийский из Game of Thrones) Сервис изучения иностранных языков Duolingo запустил долгожданный фанатами научной фантастики курс изучения клингонского языка, на котором общались герои сериала Star Trek / “Звёздный путь”. Как и в случае с любым другим языком, доступным в библиотеке сервиса Duo...

Безопасно ускоряем Erlang приложение c помощью NIF на Rust В статье освещен вопрос интеграции Erlang и Rust на примере реализации вероятностной структуры данных Бёртона Блума, позволяющей проверить принадлежность элемента множеству с необходимой точностью. Читать дальше →

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

Splunk + Excel. Что получится? В предыдущих статьях мы много рассказывали о Splunk. Это продукт, который позволяет собирать и анализировать данные с любых IT-систем в режиме реального времени, например, это могут быть результаты работы web-сервера, почтового сервера, Windows, различных приложений и тд. Зн...

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

Тернарные операторы и логическое “И” в React.js Всем привет! Вы читаете перевод статьи Donavon West “Conditional Rendering in React using Ternaries and Logical AND” Существуют несколько способов заставить React рендерить то, что вам нужно. Вы можете использовать традиционный оператор if или switch. В этой статье мы рас...

Веб-разработчики хотят повысить безопасность PHP Сообщество FriendsOfPHP («Друзья PHP») собирает на GitHub базу известных уязвимостей этого языка, чтобы упростить создание безопасных программных продуктов. Проект под названием PHP Security Advisories Database («База рекомендаций по безопасности PHP») пр...

[Перевод] Почему Python так хорош в научных вычислениях Несколько дней назад (Оригинал заметки был опубликован 12 сентября 2017. — Здесь и далее прим. переводчика), я заметил этот твит в своей ленте: I 'still' program in C. Why? Hint: it's not about performance. I wrote an essay to elaborate... appearing at Onward! https://t.co/p...

Создание NPM-модуля Яндекс.Кассы под Node.js — опыт Lodoss Team Спустя несколько месяцев после релиза обновленного API Яндекс.Кассы начали появляться первые интеграционные решения на новых технологиях. Одним из пионеров интеграции стала компания Lodoss Team, разработавшая SDK-библиотеку для работы с Кассой под Node.js. Никто не расскаже...

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

Как поднять проект на PHP в Docker под Windows Чем является статья Статья является набором простых, понятных инструкций и советов для пользователей Docker под Windows. Статья поможет разработчикам на PHP быстро поднять проект. Описываются проблемы и их решения. Статья полезна тем, кто не обладает бесконечным ресурсом вре...

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

[Из песочницы] Большой комок грязи Привет, Хабр! Представляю вашему вниманию перевод статьи "Big Ball of Mud" авторов Brian Foote и Joseph Yoder. От переводчика: Статья Big Ball of Mud написана Брайаном Футе и Джозефом Йодером летом 1999 года. Она рассказывает о наиболее распространённых антипаттер...

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

[Из песочницы] Научное программирование: часть 1 Наука в программировании — быль или реальность? Сколько её в языках и почему идут холивары о приемуществах одних языков над другими? Если интересно — прошу под кат. Читать дальше →

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

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

Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...

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

Сотрудники «Лаборатории Касперского» нашли неубиваемый компьютерный вирус Чуть ли не каждый день во Всемирной паутине обнаруживают несколько новых компьютерных вирусов. И очень редко бывает так, что вирусы невозможно уничтожить. Более того, редкий вирус способен скрываться годами от разработчиков антивирусного ПО. Но, согласно недавнему сообщени...

Введение в Postman “Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, IncКогда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой! В...

[Перевод] Микросервисное безумие пройдет в 2018 году Именно с таким тезисом выступил Дэйв Керр, статья которого собрала за месяц 90 комментариев, вызвала бурные дискуссии на Reddit и Hacker News, а нас заинтересовала настолько, что мы решили срочно ее перевести. Пользуясь случаем, поинтересуемся: хотите ли допечатку основопола...

[Из песочницы] Как начать работать с Лямбда-выражениями в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "How to start working with Lambda Expressions in Java" автора Luis Santiago. До того как Лямбда-выражения были добавлены в JDK 8, я использовал их в таких языках как C# и С++. Когда они были добавлены в Java...

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

[Из песочницы] W3View — библиотека на Javascript, для которой был создан HTML Да, ещё одна новая библиотека на JS, хочу поделиться. Фидбека жажду, любого, лучше конечно позитивного конструктивного. Читать дальше →

Cisco поможет наполнить Википедию статьями об информационной безопасности на украинском языке Cisco —мировой лидер в области информационных технологий, с 1984 года способствует развитию Интернета. Компания выступила соорганизатором конкурса статей, призванного восполнить пробелы украинской Википедии в вопросах информационной безопасности, сообщает ITbukva.com. Компан...

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

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

Браузер != Браузерный движок Всем привет! В данной статье я хочу поделиться мыслями на счёт создания собственного браузерного движка. Мы рассмотрим текущие браузеры и браузерные движки. Вспомним про Modest и узнаем его нелёгкую судьбу. Это будет цикл статей в которых мы создадим свой собственный минима...

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

[Перевод] Понимая зависимости От переводчика Мы должны внедрять, а не фантазировать! (Рина Зеленая, к/ф «Девушка без адреса») К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке. Краеугольный ...

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

Netflix ведет переговоры с Люком Бессоном о съемке фильмов для сервиса, а также покупке части его студии EuropaCorp вместе с библиотекой контента По информации издания Variety cервис Netflix активизировал переговоры с французской студией EuropaCorp, основанной Люком Бессоном. Предметом сделки может быть съемка легендарным режиссером нескольких полнометражных фильмов для Netflix, приобретение прав на существующую библи...

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

[Перевод] ITSM ликбез: 7 способов диагностики причин IT инцидентов и проблем Перевод любопытной статьи Стюарта Рейнса, дающей обзор некоторых подходов и техник поиска причин инцидентов и проблем. Обзор поверхностный, но и такого уровня погружения достаточно, чтобы зародить интерес к затронутой теме. Автор: Стюарт Рейнс (Stuart Rance) Опубликовано 3...

Pygest #23. Новости, релизы, статьи, интересные проекты и библиотеки из мира Python [4 февраля 2018 — 26 февраля 2018] Всем привет! Это уже двадцать третьи выпуск дайджеста на Хабрахабр о новостях из мира Python. Присылайте свои интересные материалы из мира Python. С предыдущим digest можно ознакомиться здесь. Читать дальше →

SEO оптимизация статьи: актуальный план Осторожно! Лонгрид. Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе. Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям. UPD// Эта страница уже в топе Google. ...

Графическая библиотека Vulkan 1.1 доступна для разработчиков в Android P В новой версии Android P для разработчиков станет доступна графическая библиотека Vulkan 1.1, в ней сильно оптимизирована и переработана работа с 2D и 3D графикой. Пользователи смогут почуствовать на себе все преимущества новой библиотеки, как только разработчики игр выпуст...

Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04 Программисты делятся на два типа: консерваторы, для которых переход на новую версию равносилен перелёту на другую планету (если читаешь это из Windows XP — поздравляю, это ты); и Викторы Цои, чьи сердца и глаза требуют перемен, и обновляют всё и вся при первой возможности. Е...

[Перевод] Обзор новшеств ECMAScript 2016, 2017, и 2018 с примерами Сложно уследить за новшествами различных версий ECMAScript, а ещё сложнее — найти полезные примеры их применения, не перекапывая горы информации. Поэтому сегодня мы публикуем перевод материала, автор которого проанализировал 18 новых возможностей ECMAScript, в число которых ...

Курс «HTML/CSS. Основы создания сайтов» Без какого языка не обойтись, работая с любой веб-технологией? Конечно же, без HTML/CSS! Знание HTML/CSS — это основа для дальнейшего изучения серверных языков программирования и один из основных инструментов работы верстальщика, программиста ил...

ASP.NET Core: Механизмы предотвращения атак 2.0 По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри. Если вы используете старый до...

Торговая стратегия для торговли коинтегрированными парами акций Цель данной статьи — поделиться простейшей стратегией статистического арбитража, основанной на торговле коинтегрированными парами акций, которые были выявлены на Московской и Нью-Йоркской биржах. Если мы возьмём пару коинтегрированных акций, то у нас есть возможность захедж...

Взгляд на Tokio: как устроен этот асинхронный обработчик событий И для чего он используется в фреймворке для приватных блокчейнов Exonum Tokio — это фреймворк для разработки сетевых масштабируемых приложений на Rust, использующий компоненты для работы с асинхронным вводом/выводом. Tokio часто служит основой для других библиотек и реализац...

Изучаем параллельные вычисления с OpenMPI и суперкомпьютером на примере взлома соседского WiFi Во время написания диссертации одним из направлением исследований было распараллеливание поиска в пространстве состояний на вычислительных кластерах. У меня был доступ к вычислительному кластеру, но не было практики в программировании для кластеров (или HPC — High Performanc...

[Перевод] Профилирование: измерение и анализ Привет, я Тони Альбрехт (Tony Albrecht), инженер в Riot. Мне нравится профилировать и оптимизировать. В этой статье я расскажу об основах профилирования, а также проанализирую пример С++-кода в ходе его профилирования на Windows-машине. Мы начнём с самого простого и будем п...

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

Office 365. Пример работы с Microsoft Graph API в Angular5 с помощью ADAL JS. ADAL JS vs MSAL JS В прошлый раз мы обсудили механизм авторизации для работы с Office 365 API (в частности с Microsoft Graph API): при каждом вызове API нужно передать token. Token имеет ограниченный срок жизни token выдает сервис Microsoft, так называемый “Azure AD Authorization Endpoint” п...

[Из песочницы] Почему не стоит использовать LocalStorage Привет, Хабр! Представляю вашему вниманию перевод статьи "Please Stop Using Local Storage" автора Randall Degges. Все больше разработчиков используют localStorage для хранения данных, в том числе и конфиденциальных, даже не подозревая, что тем самым подвергают свои сайты взл...

[Перевод] Полный перевод книги про построение сообществ: «Социальная архитектура» «Это эссенция тридцатилетнего опыты разработки программного обеспечения.» Приветствую, Хабр. Хочу представить лучшую (единственную) книгу по построению сообществ, написанную тру ИТишником. Для себя я нашел применимые инструменты для анализа сообщества/организованности «на ...

Pygest #24. Новости, релизы, статьи, интересные проекты и библиотеки из мира Python [март 2018 — 9 апреля 2018] Всем привет! Это уже двадцать четвертый выпуск дайджеста на Хабрахабр о новостях из мира Python. Присылайте свои интересные материалы из мира Python. С предыдущим digest можно ознакомиться здесь. Читать дальше →

Google предлагает поговорить с книгами Не просто сделать поисковый запрос и получить результаты, а обратиться за советом к опыту человеческой цивилизации пользователи смогут благодаря новому эксперименту поискового гиганта Google, известного не только мобильной операционной системой Android, но и проектами, раз...

[Перевод] Как я заработал 200 000 $ в 16 лет Года три назад я опубликовал рассказ о приложении Follow для Twitter, которое сделал еще в старшей школе, и о том, как оно собрало 150 000 скачиваний за два года. В той статье я мимоходом упомянул, что мои первые шаги в программировании — это отдельная, еще более пространная...

[Из песочницы] Arduino для начинающих Arduino для начинающих. Часть 1 Предисловие Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного. Введение Было бы не плохо начать со з...

Тестовый пакет iXBT Application Benchmark 2018, часть 5: программы 3D-рендеринга в качестве теста процессоров и ПК В пятой статье цикла мы опишем подход к использованию программ 3D-рендеринга POV-Ray 3.7, LuxRender 1.6 и Вlender 2.79 в качестве теста процессоров и ПК для нашего нового бенчмарка iXBT Application Benchmark 2018.

Тестовый пакет iXBT Application Benchmark 2018, часть 4: программы видеоконвертирования в качестве теста процессоров и ПК В четвертой статье цикла мы опишем подход к использованию программ видеоконвертирования HandBrake 1.0.7, MediaCoder x64 0.8.52 и VidCoder 2.63 в качестве теста процессоров и ПК для нашего нового бенчмарка iXBT Application Benchmark 2018.

Краткая сводка о заблокированных адресах Здравствуйте, друзья! По просьбе lostpassword решил написать краткую сводку о состоянии блокировки на текущий день. В данной статье используются данные полученные из неофициальной выгрузки РКН. В данной сводке не будут представлены отдельные IP-адреса различных проектов, а б...

Используем Apple Pay и карту Тройка в качестве пропуска на работу TL;DR В статье описывается процесс создания системы контроля доступа (СКУД), в которой в качестве идентификатора могут использоваться карты Тройка, любые бесконтактные банковские карты EMV, а также телефоны с Apple Pay и Android Pay. Управление системой происходит через Te...

[Из песочницы] Мобильная 3D игра на Unity3D менее чем за 90 часов Приветствую! Сегодня я расскажу вам о своем опыте разработки игры на Unity для платформы Android, менее чем за 90 часов, на примере создания простенького «раннера». В процессе повествования я затрону некоторые детали и ключевые этапы, с описанием всех возможных подводных ка...

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

Google leanback — забота большого брата Добрый день, читатели Хабра. Хотел бы поделиться своим опытом разработки приложения для Android TV на примере DetailsFragment. Есть официальные примеры тут и официальная документация тут. Что сподвигло меня выразить свое мнение? Это то, что официальные примеры не отвечают...

Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении за...

Глобальное освещение с использованием трассировки вокселей конусами В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. ...

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

Интересные факты о Python или «С днем рождения, Python!» Всем привет! Сегодня 20 февраля, а это означает, что сегодня день появления на свет языка программирования Python! Сегодня Python исполняется 27 лет. За эти года, Python стал одним из самых популярных языков программирования в мире. Что же, пожелаю дальнейшего развития и п...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 2 В предыдущей статье мы начали рассказывать о том, как можно реализовать асинхронную обработку входящих HTTP-запросов, внутри которой нужно выполнять асинхронные исходящие HTTP-запросы. Мы рассмотрели реализованную на C++ и RESTinio имитацию стороннего сервера, который долго ...

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

Все книги Древней Руси, СССР и России будут переведены в «цифру» Об этом сообщает CNews со ссылкой на заявление первого замминистра культуры России Владимира Аристархова, сделанное им в ходе парламентских слушаний на тему "Цифровизация в сфере культуры, законодательство и правоприменительная практика"."Мы поставили перед со...

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

Переход с AngularJS на Angular: проблемы и решения гибридного режима (2/3) Переход в гибридном режиме — естественная процедура, хорошо подготовленная и описанная командой Angular. Тем не менее, на практике возникают сложности и затыки, которые приходится решать на лету. В сегодняшнем продолжении нашей статьи про миграцию на Angular мы расскажем пр...

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

[Перевод] Генерируем уровни для игры с помощью нейросетей Предисловие За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное ...

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

Делаем дырки в торрентах освобождая место и оставаясь на раздаче (часть 1) Предупреждение: Этот график сделан для скрипта второй части статьи за которую я ещё не брался. Поэтому не очень обращайте внимание на данные в нём. Графики для этой статьи в конце под спойлером. Информацию из этой статьи используйте на свой страх и риск. Мы будем стирать да...

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

Нативная инверсия зависимостей в TypeScript и React Когда я задумался о внедрении зависимостей в TypeScript, то первое, что мне посоветовали — inversify. Я посмотрел эту и другие библиотеки, реализующие паттерн Service Locator, и даже сделал свою собственную — typedin. Но когда я работал над версией typedin 2.0, то в конце к...

«Солнечный удар» покажут в серовской Центральной библиотеке В Центральной городской библиотеке имени Мамина-Сибиряка 8 февраля в 12.00 пройдет показ фильма Никиты Михалкова «Солнечный удар», который был снят по мотивам произведений Ивана Бунина — рассказа «Солнечный удар» и дневников «Окаянные дни». Центральная библиотека Серова нахо...

В App Store появятся альтернативные клиенты Telegram Команда Telegram представила открытую библиотеку TDLib. Это следует из материалов официального блога компании. Благодаря ей у сторонних разработчиков, никоим образом не связанных с создателями оригинального клиента, появится возможность проектировать альтернативные версии ...

[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...

Как Discord использует Elixir для работы пяти миллионов пользователей одновременно Как Discord удается справляться с огромными нагрузками? Ему в этом помогает Elixir - функциональный, распределённый язык программирования общего назначения, который работает на виртуальной машине Erlang. В этой статье компания рассказывает о том, с какими проблемами она стол...

Aws Lambda Go 1.x, Kinesis, CloudSearch В предыдущей статье я описала как создать простую лямбду на Golang, которая принимает на вход простой объект из двух полей и такой же простой объект отдает на выходе. Теперь немного усложним задачу, подсоединив к лямбде в качестве источника данных Kinesis, а результат обрабо...

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

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

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

«ВITАМИН РОСТА»: как ЛАНИТ привлекает молодежь и как молодым специалистам попасть в ЛАНИТ В этой статье я расскажу о том, как устроена работа с молодыми джедаями специалистами в группе компаний ЛАНИТ, и поделюсь итогами нашей специальной программы «ВITАМИН РОСТА», которой исполнился год. Приглашаю вас обсудить эффективность инструментов поиска, привлечения и погр...

[Перевод] Знакомство с рекомендательными системами Привет, Хабр! Давайте вернемся к периодически затрагиваемой у нас теме машинного обучения и нейронных сетей. Сегодня речь пойдет об основных типах рекомендательных систем, их достоинствах и недостатках. Под катом — интересная статья Тоби Дейгла с кодом на Python, Над катом...

Связка Apache PHP MySQL в Solaris 11.3 При первом знакомстве с Solaris единственным для меня недостатком был тот факт, что пакеты которые возможно установить являются довольно устарелыми, но к счастью актуальные версии можно собрать из исходного кода. В данной публикации пойдёт речь о сборке apache и php из исход...

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

Ускоряем метод Виолы-Джонса (Viola-Jones) В последнее время метод Виолы-Джонса, который долгое время был основным способом детектирования объектов на изображении, отступает под натиском более новых и совершенных алгоритмов. Тем не менее, актуальность этого метода еще сохраняется и в настоящем времени. Да, каскадный...

Применение сверточных нейронных сетей для задач NLP Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор све...

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

[Из песочницы] Как я переехал в ЕС: легализация, изучение языка, поиск жилья и работы В статье описывается мой личный опыт. Я расскажу, как осуществил переезд с $1000 в кармане, сколько зарабатывал на первой работе, как открывал ИП и сколько налогов плачу сейчас. Цены указаны с учетом курса: 1 USD = 3.3 PLN Ополе ночью, Польша. Фото: Paweł Uchorczak Около 5 ...

В AdBlock появится функция кеширования популярных JavaScript-библиотек Блокировщик рекламы AdBlock будет кешировать популярные JavaScript-библиотеки локально, на компьютере пользователя.

[Из песочницы] Как объяснить родственникам кто вы в мире ИТ на примере булочек Привет, Хабр! Представляю вашему вниманию перевод статьи "How to Explain Your Tech Job to Your Family" автора Mischa von Nachtigal. Список метафор, которые с легкостью помогут вам передать суть вашей профессии в ИТ за обеденным столом. Итак поехали! Читать даль...

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

Swift Package Manager Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager. К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. Swift...

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

Три аспекта оптимизации (БД и ПО) Предисловие Довольно часто пользователи, разработчики, администраторы и т д СУБД MS SQL Server встречаются с проблемами производительности БД или СУБД в целом. В данной статье будут даны общие рекомендации по настройке оптимизации как БД, так и всей СУБД в целом. Также буду...

Беспроводные локальные сети или как работает Wi-Fi по стандарту IEEE 802.11. Лабораторная работа в Packet Tracer Введение В данной статье в лабораторных работах изучается технология беспроводных локальных сетей по стандарту IEEE 802.11. Стандарт IEEE был разработан институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronic Engineers). Отсюда он и полу...

RequireJS для приложений Vue.js + Asp.NETCore + TypeScript Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или Requ...

Документирование API — документация из тестов Пост в продолжение темы экспериментальных решений (https://habrahabr.ru/post/350382/), откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет...

Дистанционная образовательная программа по созданию игр В Высшей школе бизнес-информатики НИУ ВШЭ мы запустили новую дистанционную образовательную программу повышения квалификации «Основы создания игр». Это короткий интенсивный курс на полтора месяца, целью которого является формирование у слушателей базового понимания игровой ин...

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

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

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

[Перевод] Машина времени на Java В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Авто...

Готовим проект в Sparx Enterprise Architect. Наш рецепт Дорогой Хабр, мы решили поделиться заметками и нашим базовым рецептом о приготовлении проектов в Sparx Enterprise Architect. Причем под проектом мы подразумеваем создание какой-либо информационной системы. Впереди вас ждет рассказ о том, как у нас все организовано – примеры ...

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

[Перевод] Что действительно случилось с Vista См. также: «Что действительно случилось с Vista: инсайдерская ретроспектива» Я обычно пищу о вещах, которыми непосредственно занимался — или писал код, или управлял проектом. В этой статье я выбрал другой подход, чтобы написать о своём взгляде на глубинные причины фиаско Wi...

[Перевод] Землю унаследуют роботы? Говорят, обещанного три года ждут. Вот и я в комментарии к статье vmb обещала перевести главу из книги Zero Day, но пока собиралась — всю книгу уже перевели. Так что выкладываю тут перевод статьи Марвина Л. Мински о будущем и развитии человека. За наводку на статьи Мински с...

[recovery mode] Как написать одностраничное приложение (SPA) с использованием Vue.js Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о...

Splunk – Установка агентов для сбора логов Windows и Linux Нам часто задают вопросы о том, как загрузить различные данные в Splunk. Одними из самых распространенных источников, представляющих интерес, оказались логи Windows и Linux, которые позволяют отслеживать неполадки операционных систем и управлять ими. Загружая данные в Splunk...

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

Мобильное приложение на Python c kivy/buildozer. Лекция в Яндексе Не факт, что вам потребуется написать серьёзное приложение на Python. А вот быстро собрать работающий сервис, чтобы «продать» его заказчику, — почему нет? Python универсален, и опыт создания мобильного софта на этом языке может оказаться полезным. Владислав Шашков из Сбербан...

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

Как загрузить нестандартный лог в Splunk + логи Fortinet Много ли мы генерируем данных, используя информационные системы каждый день? Огромное количество! Но знаем ли мы все возможности по работе с такими данными? Определенно, нет! В рамках этой статьи мы расскажем какие типы данных мы можем загружать для дальнейшего операционного...

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сце...

Библиотека Постапокалипсиса Описание Мобильное приложение «Библиотека Постапокалипсиса» – это интерактивная библиотека, которая полностью посвящена тематике Постапокалипсиса. Особенности: — Проработанный под тематику и одновременно предельно доступный пользовательски...

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...

Веб-компоненты. Часть 2: теневой DOM Вступление Приветствую, коллеги, и представляю вашему вниманию продолжение серии статей о веб-компонентах, первая часть которой доступна вот тут В этой статье речь пойдет о спецификации теневого DOM (shadow DOM) версии от 01.03.2018 г.. Последний черновик спецификации датиро...

[Перевод] Обучение с подкреплением никогда не работало TL;DR: Обучение с подкреплением (RL) всегда было сложным. Не волнуйтесь, если стандартные техники глубинного обучения не срабатывают. В статье Алекса Ирпана хорошо изложены многие современные проблемы глубинного RL. Но большинство из них не новые — они существовали всегда. ...

Юнит тесты при использовании корутин в Android приложении Перевод статьи. Оригинал находиться здесь. В этой статье не рассматривается принцип работы корутин. Если вы не знакомы с ними, то рекомендуем прочитать введение в kotlinx git repo. Статья описывает трудности при написании юнит тестов для кода, использующего корутины. В конц...

Google представила на MWC 2018 проект Flutter для разработчиков мобильных приложений Отличная новость для разработчиков мобильных приложений: на выставке MWC 2018 компания Google анонсировала бета-версию Flutter – это новый фреймворк, который помогает разработчикам в создании высококачественного графического интерфейса приложений сразу для двух наиболе...

[Из песочницы] Делаем приём платежей криптовалютой своими руками Привет, Хабр! Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни. В этой статье я постараюсь максимально подробно, без акцента на каком-...

Сканеры штрих-кода для ЕГАИС: мифы и реальность, критерии выбора В прошлой статье мы писали о новой версии ЕГАИС 3.0 и введении обязательного помарочного учета алкогольной продукции на территории России. Сейчас предприниматели не на шутку озадачены проблемой автоматизации в соответствии с законом. Существует куча мифов о том, какое считы...

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

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

QPhyton 2.0.7 Программируйте на языке Python прямо на android устройстве благодаря специальной среде разработки, которая позволяет запускать свои проекты прямо на устройстве. QPython — Python for Android содержит в себе встроенный интерпретатор Python, консоль, редактор, библио...

Реализуем промисы на Java Всем доброго времени суток. Сегодня я хочу рассказать о том, как писал реализацию механизма промисов для своего JS движка. Как известно, не так давно вышел новый стандарт ECMA Script 6, и концепция промисов выглядит довольно интересно, а также уже очень много где применяется...

Веб установщик на чистом WINAPI с поддержкой Hi DPI и векторным лого В наше время это, наверно, одно из основных применений для приложений написанных на чистом WINAPI. Писать что-то серьёзнее нескольких простых окон на чистом WINAPI уже не так весело, а вот маленький установщик – самое то. Так как на дворе 2018 год, писать просто приложение ...

Несколько советов по организации Python-приложения на сервере В этой статье я хочу поделиться несколькими удобными способами организации вашего проекта на рабочем (даже продакшен) сервере. Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии...

Property Injection своими руками (Xamarin/.Net) В данной статье мы рассмотрим, чем отличается Property Injection от Constructor Injection и реализуем первое в дополнение к последнему на базе небольшого DI-контейнера в исходниках. Это обучающий материал начального уровня. Будет полезен тем, кто ещё не знаком с DI-контейне...

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

LG V30s с 256ГБ памяти и камерой LG Lens с AI покажут на MWC Только в прошлом месяце вице-президент и генеральный директор LG Electronics Cho Seong-jin рассказал о планах компании изменить стратегию выпуска смартфонов. Вместо того, чтобы обеспечивать постоянный поток новых моделей, LG планирует «сохранять существующие модели в ассорти...

Xbox Game Pass в апреле: Cities: Skylines, Kingdom: New Lands, ClusterTruck, Late Shift и другие Microsoft объявила апрельское пополнение библиотеки Xbox Game Pass. С началом следующего месяца подписчики сервиса смогут сыграть в градостроительный симулятор Cities: Skylines, симулятор охоты theHunter: Call of the Wild, 2D-стратегию Kingdom: New Lands, приключенч...

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

О портировании проекта MIPSfpga Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников ...

Строгая типизация для приложений Vue.js на TypeScript Вопрос: Каковы самые слабые места Vue? Oтвет: На данный момент, наверное, недружественность к типизации. Наш API разрабатывался без планирования поддержки типизированных языков (типа TypeScript), но мы сделали большие улучшения в 2.5. Вопрос: Тони Хор (Tony Hoare) назвал n...

[Перевод] О стримах и таблицах в Kafka и Stream Processing, часть 1 * Michael G. Noll — активный контрибьютор в Open Source проекты, в том числе в Apache Kafka и Apache Storm. Статья будет полезна в первую очередь тем, кто только знакомится с Apache Kafka и/или потоковой обработкой [Stream Processing]. В этой статье, возможно, в первой из ...

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

Data Fest 2018: анонс и регистрация Друзья, приглашаем вас на пятый московский Data Fest, который состоится 28 апреля на территории дизайн-завода FLACON. Data Fest — крупнейшая бесплатная конференция для исследователей, инженеров и разработчиков, связанных с анализом и обработкой данных, машинным обучением, ...

Специалист по большим данным 8.0 22 марта New Professions Lab запускает восьмую группу образовательной программы — «Специалист по большим данным 8.0». Участники будут осваивать две наиболее востребованные темы в Data Science: обработку веб-логов в рамках DMP-систем и построение...

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

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

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

Как увеличить пропускную способность сетей в ЦОД: представлен новый чип PSE-3 На конференции OFC, которая пройдет на следующей неделе в Сан-Диего, компания Nokia представит новый оптический приемопередатчик PSE-3, обеспечивающий скорость передачи данных в 200 Гбит/с на длину волны для подводных кабелей, 400 Гбит/с в городских сетях и 600 Гбит/с для ли...

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

[Из песочницы] Angular 5: Unit тесты С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем. Это в некоторой степени спасает от поломок существующий код, помогает прояснить — как он будет работать в тех или иных случаях. И, в конце концов, позв...

Ошибки в роботах: ожидание и реальность Мне кажется, бунт роботов не близок. Я начал писать статью про то, что наша команда приступила к адаптации анализатора кода PVS-Studio для нужд Embedded-разработчиков. Для начала мы поддержали KEIL и IAR. Посмотрев на ошибки в некоторых проектах для встроенных устройств, я ...

[Перевод] Руководство по фоновой работе в Android. Часть 4: RxJava Обработка событий — это цикл. В прошлой части мы говорили об использовании thread pool executors для фоновой работы в Android. Проблема этого подхода оказалась в том, что отправляющий события знает, как должен быть обработан результат. Посмотрим теперь, что предлагает RxJ...

Зачем ездить на Mobile World Congress в Барселону и как все сделать правильно Привет! Меня зовут Катя Франк, я ведущий маркетолог Mobile Dimension. В этой статье я приведу небольшой разбор выставки Mobile World Congress в Барселоне, немного сравню ее с этой же выставкой от GSMA в Шанхае, расскажу, кому в ней стоит участвовать, и как все организовать...

[Из песочницы] Создание простого RESTful API с Java Spark Что вы изучите Вы изучите как можно определять обобщенные контроллеры с помощью функциональных интерфейсов Java 8. Пример кода на GitHub. Читать дальше →

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

12NEWS.RU :: Блоги :: Пользователи Bentley Systems используют машинное обучение По информации 12NEWS (Ведущее ИТ-издание по корпоративным системам и приложениям - www.12news.ru), Bentley Systems объявила о доступе к новым технологиям в области обработки данных и машинного обучения на основе Microsoft Azure для AssetWise CONNECT Edition Найти: ERP, CRM,...

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

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

Lian Li PC-O11 Dynamic: ПК-корпус с двухсекционной конструкцией В продажу поступил компьютерный корпус Lian Li PC-O11 Dynamic, предназначенный для создания мощных настольных систем и игровых станций. По сравнению с моделью Lian Li PC-O11 улучшена вентиляция. Предусмотрены два варианта цветового исполнения: чёрный с серыми элемен...

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

Futuremark превратится в UL 23 апреля Финская Futuremark, известная своими тестовыми пакетам 3DMark, PCMark и другими, стала частью компании UL ещё в 2014 году. UL — независимая международная компания, включающая свыше 10 тысяч человек в 40 странах мира. Она предоставляет своим клиентам различные ...

[recovery mode] Решаем загадку круглых чисел на графике выборов 2018 Данная статья является ответом на вот эту статью (Анализ результатов президентских выборов 2018 года. На федеральном и региональном уровне). В той статье меня удивила фраза автора: Вместо нормального или логнормального распределения мы видим интересную кривую, с очень стр...

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

Автоматизация при разработке платформы «1С: Предприятие» В этой статье пойдет речь о том, как мы автоматизируем процессы разработки и тестирования технологической платформы «1С:Предприятие 8». Платформа «1С:Предприятие 8» — набор инструментов для создания бизнес-приложений и среда их выполнения. Это большой (более десятка миллионо...

Три способа обновить запрос в Jira из ScriptRunner, используя Jira Java API В этой статье будут рассмотрены три способа обновления запроса в Jira, используя Jira Java API. Я буду использовать следующие методы Jira Java API: Issue.setCustomFieldValue(CustomField customField, Object value) CustomField.updateValue(FieldLayoutItem fieldLayoutItem, Is...

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

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

Разработка Rich Text Editor: проблемы и решения Текстовые редакторы, как тип программного обеспечения, появились чуть позже чем динозавры, и вероятнее всего это был вообще первый софт, с которым вы столкнулись в своей жизни, возможно кто-то даже застал MS-DOS Editor. Однако с переходом большой части ПО в браузеры актуал...

Информационная архитектура и технология DITA. По мотивам лекции в Яндексе Darwin Information Typing Architecture (DITA) — XML-технология для автоматизации процессов, связанных с технической документацией. За время существования DITA накопилось большое количество разнообразных возможностей, подходов к организации контента, а также конкретных механи...

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

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

[recovery mode] Интеграция 3CX с собственной CRM-системой: генератор шаблонов CRM Начиная с v15.5 SP2 в АТС 3CX появился механизм серверной CRM интеграции. Он позволяет передать входящий Caller ID в CRM-систему и найти в ней соответствующую запись о клиенте. При этом 3CX получает имя и фамилию клиента из CRM, добавляет их в корпоративную адресную книгу АТ...

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

[Из песочницы] Удивительно простой обмен сообщениями с Spring Cloud Stream Привет, Хабр! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter. Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, н...

[Из песочницы] Новый облегчённый язык разметки текста на основе парных кавычек (pq) Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно. Не слишком-то рассчитываю на широкое практическое применение этой штуки, но некоторые идеи, использованные в этом языке разметки, вполне могут дать пищу для размы...

[Перевод] Использование ReSwift: написание приложения Memory Game Примечание. В этой статье используются Xcode 8 и Swift 3. По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения. Для iOS разработчиков доступны более эффективные архитектурные п...

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

Amazon S3 и все-все-все: выбираем объектное хранилище Самые известные на мировом рынке объектные хранилища — это Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Blobs Storage. Они надежны, доступны через интернет и масштабируются до сотен петабайт. Наиболее популярный способ доступа к объектному хранилищу —...

Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta) Spring Framework традиционно считается одним из самых сложных и при этом высокооплачиваемых. Однако, существующие подходы к его изучению крайне неэффективны. Я хотел бы предложить вам принципиально новый подход к изучению спринга, который заключается в использовании концеп...

[Из песочницы] Создание несимметричной сетки с помощью Grid Layout На данный момент, по данным Can I Use, 84% браузеров поддерживает Grid Layout. С каждым месяцем это число растет. А ведь буквально недавно этот модуль находился за флагом. Поэтому если Вы еще не знакомы с теми возможностями, которые он предоставляет, то самое время это исп...

[Из песочницы] Многопоточность на корабликах Задача производитель/потребитель Статья рассчитана для новичков, которые недавно начали свое знакомство с миром многопоточноcти на JAVA. Читать дальше →

Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk Если прогуляться по просторам Хабрахабра, то можно найти различные публикации на тему создания цифровых сертификатов, организации Центров сертификации (ЦС) или даже Удостоверяющих Центров (УЦ) на базе OpenSSL. В основном эти статьи в той или иной мере полноты описывают испо...

WSTester – JS библиотека для тестирования веб-сервисов с ВебСокетами Добрый день, Хабрасообщество! Как и большинству айтишников, мне нравится создавать что-то новое, классное, нечто способное как-то повлиять на мир или хотя бы принести небольшую пользу другим людям. Надеюсь, что описываемый далее инструмент для тестирования онлайн систем с Ве...

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

Never Fail Twice, или как построить мониторинговую систему с нуля У нас было 2 виртуальные машины, 75 сайтов, десятки тысяч машин для мониторинга, тысячи метрик, две базы данных и одна очередь ActiveMQ, Python и целое множество библиотек всех сортов и расцветок, pandas, а также numpy, dash, flask, SQL Alchemy. Не то чтобы это был необходим...

[Перевод] Кому нужен архитектор? DisclaimerЭто перевод статьи Мартина Фаулера в журнале IEEE Software за 2003 год. В сети (но не на Хабре) есть замечательный перевод пятилетней давности от Сергея Теплякова (SergeyT). Не так давно, проходя по коридору, я встретил явно раздраженного коллегу, Дэйва Райса (Dav...

Коротко о форматах фискальных документов: косяки версии 1.0 и переход на версии 1.05 и 1.1 Итак, продолжаем разговор о ФЗ-54 и онлайн-кассах. Предпринимателям, которых ждет вторая волна автоматизации, будет полезно узнать о требованиях к оформлению кассового чека, какая информация в них должна содержаться, и как это связано с фискальными накопителями разных версий...

Разработка драйвера PCI устройства под Linux В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы. В качестве подопытного вы...

Android-софт: январь 2018 Очередной выпуск дайджеста интересных программ для Android. В этом обзоре – новая версия аудиоплеера Shuttle Music Player, обновлённое приложение для приватного поиска в интернете – DuckDuckGo, альтернативный Telegram-клиент –Telegram X, утилита для быстрых напоминаний – Rem...

Samsung Galaxy J5 vs J7: Сравниваем смартфоны для селфи У Samsung есть два недорогих смартфона с мощной фронтальной камерой, которая отлично подходит для создания селфи: Galaxy J5 и J7. Мы сравнили модели 2017 года и расскажем про их сходства и различия.

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

R — значит регрессия Статистика в последнее время получила мощную PR поддержку со стороны более новых и шумных дисциплин — Машинного Обучения и Больших Данных. Тем, кто стремится оседлать эту волну необходимо подружится с уравнениями регрессии. Желательно при этом не только усвоить 2-3 приемчика...

[Из песочницы] Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть первая, собираем команду) В этой статье я хочу представиться, рассказать что толкнуло меня на участие, как я смог собрать команду, какие выводы для себя я вынес и просто поделиться своим опытом участия моем первом хакатоне. Извините коротко не получилось, текста много и не всё по теме. Надеюсь, э...

[Перевод] Создание игры на Lua и LÖVE — 2 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player 7. Player Stats and Attacks 8. Enemies 9. Director and Gameplay Loop 10. Coding Practices 11. Pas...

Опыт перехода проекта на phalcon с php 5.6 на 7.1 Время идет, прогресс приносит свои плоды, каждый месяц выходят новые версии того или иного программного обеспечения. То же происходит и с языком PHP. Наша команда проекта krisha.kz решила, что уже пора совершить переход на новую версию интерпретатора. Мы поделимся опытом п...

Обновление 5.50 для PS4. Что нового? Апдейт под кодовым названием KEIJI перешел в стадию бета-тестирования, после этого этапа все существующие консоли PS4 смогут обновиться до версии 5.50. Разработчики уже сейчас готовы поделиться информацией о нововведениях. Ключевые особенности ПО версии 5.50: дополнительны...

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

Устройство спецэффектов для игр под NES. Часть 1 Существует несколько серий статей про программирование под NES, одна из них уже даже переведена на русский язык на хабре. Однако ни одна из них не заходит дальше обзора базовых возможностей консоли – рассматривается общая архитектура консоли, основы ассемблера, вкратце расск...

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

[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...

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

Побеждаем Android Camera2 API с помощью RxJava2 (часть 2) Это вторая часть статьи, в которой я показываю, как использование RxJava2 помогает строить логику поверх асинхронного API. В качестве такого интерфейса я выбрал Android Camera2 API (и не пожалел!). Этот API не только асинхронен, но и таит в себе неочевидные особенности реа...

[Из песочницы] RxJS: Не отписывайся Привет, Хабр! Представляю вашему вниманию перевод статьи "RxJS: Don’t Unsubscribe" автора Ben Lesh. Ну… ладно, просто не отказывайся от подписок. Я часто помогаю кому-нибудь в отладке проблем с их RxJS кодом, в том числе со структурированием приложений, которые н...

[Из песочницы] Как найти компанию спонсора визы в США. Tips and Tricks Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер. Сперва расскажу п...

Коэффициент Джини. Из экономики в машинное обучение Интересный факт: в 1912 году итальянский статистик и демограф Коррадо Джини написал знаменитый труд «Вариативность и изменчивость признака», и в этом же году «Титаник» затонул в водах Атлантики. Казалось бы, что общего между этими двумя событиями? Всё просто, их последствия ...

Интенсив по основам Python Язык входит в пятерку самых используемых на GitHub, а Python-сообщество насчитывает десятки тысяч энтузиастов по всему миру. Многие трудоемкие задачи решены в виде библиотек и фреймворков. Вам остается интегрировать готовый код с свой проек...

FPGA от Intel: еще один шаг к массовому применению Специализированные ускорители, устанавливаемые в готовые серверы Dell и Fujitsu, предназначены для финансовых приложений и анализа данных. Теперь, когда Dell EMC и Fujitsu стали поставлять готовые серверы с платами Intel Arria 10 GX Programmable Acceleration Card предприя...

[Из песочницы] Ещё один пример автоматизации или PowerShell + Google Apps Script Лень — двигатель прогресса… Вот и я, найдя немного свободного времени, решил автоматизировать достаточно рутинную для каждого админа задачу — создание и отключение пользователей. Читать дальше →

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

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

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

Опыт использования библиотеки Puniverse Quasar для акторов В прошедшем, 2017 году, был небольшой проект, который почти идеально ложился на идеологию акторов, решили поэкспериментировать и попробовать использовать их реализацию от Parallel Universe. От самих акторов особо много не требовалось — знай себе храни состояние да общайся с ...

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

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

[Из песочницы] Геолокация внутри помещений на базе iBeacon. Решение Aruba Meridian Геолокация внутри помещений на основе BLE маячков (BLE beacons) в момент своего появления на рынке привлекла много внимания, в том числе и здесь, на Хабре. Было написано достаточно много хороших статей (на материал которых я буду периодически ссылаться), однако по мере накоп...

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

Быстрая интерактивная схема зала на canvas Разрабатываем библиотеку для отображения больших интерактивных схем залов на canvas без фреймворков и заставляем хорошо работать в ie и мобильных устройствах. Попутно разбираемся с особенностями работы canvas. Читать дальше →

Опубликовано описание серьезных уязвимостей Facebook Эксперт по веб-безопасности Йосип Франькович (Josip Franjković) помог социальной сети Facebook устранить серьезные бреши в официальном Android-приложении. Уязвимости, которые специалист обнаружил в 2017 году, позволяли злоумышленникам увидеть закрытый список друзей и фрагмен...

Предсказание случайности. Изучаем ASLR в Linux и GNU libc, обходим защиту адресного пространства и stack canary Для подписчиковЗа время существования в ядре Linux появилось множество различных механизмов защиты от эксплуатации уязвимостей: в частности, это ASLR и stack canary, противодействующие эксплуатации уязвимостей в приложениях. В данной статье мы внимательно рассмотрим реализац...

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

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

[Из песочницы] Blockchain на Go. Часть 4: Транзакции, часть 1 Привет, Habr! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 4: Transactions 1". Содержание Blockchain на Go. Часть 1: Прототип Blockchain на Go. Часть 2: Proof-of-Work Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки ...

Устройство и механизм работы Prometheus Operator в Kubernetes В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes. С первого взгляда Prometheus может показаться достаточно сложным ...

Автоматизация удаления забытых транзакций Предисловие Достаточно нередко бывают ситуации, когда транзакция в MS SQL Server бывает забытой тем, кто ее запустил. Самый частый пример этому — запуск скрипта в SSMS, где явно открывается транзакция инструкцией begin tran, затем происходит ошибка, а вот commit или rollback...

Использование TensorFlow на Android шаг за шагом Пошаговый разбор использования библиотеки TensorFlow на примере простого приложения для Android.

Обзор первого дня Data Science Weekend 2018. Практика машинного обучения, новый подход к соревнованиям и многое другое Привет, Хабр! 2-3 марта на Мансарде наших партнёров, компании Rambler&Co, прошел уже традиционный Data Science Weekend, на котором было множество выступлений специалистов в области работы с данными. В рамках этой статьи расскажем вам о самых интересных моментах первого д...

Пишем простой плагин для VirtualDub Несмотря на то что обработка видео не спеша переезжает на OpenCL / CUDA VirtualDub остается удобным средством для простых действий с видео. Обрезка кадра, добавление фильтров или наложение выполняется гораздо удобнее чем из консоли ffmpeg. Кроме того за годы существования бы...

[Из песочницы] NRF51822: дружим BLE и RTOS Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе»...

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

Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...

В Департамент информационных технологий, связи и защиты информации города N требуется… Сфера государственного IT нередко становится предметом для шуток и критики. Однако нельзя отрицать, что за последние годы работа по развитию информационного общества и в частности работа по повышению доступности государственных электронных услуг принесла результаты. В РФ ...

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

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

В новом обновлении Windows 10 появится ИИ-платформа Такое заявление было сделано на конференции Windows Developer Day. Платформа Windows ML включает программный интерфейс Windows Machine Learning API, с помощью которого можно будет внедрять функциональность заранее обученных нейросетей и готовых моделей машинного обучения в р...

Опыт внедрения «Континент TLS VPN» в кластерной конфигурации Привет, Хабр! Перед нами встала задачи по внедрению продукта компании «Код Безопасности» «Континент TLS VPN». В данной статье мы делимся опытом по внедрению данного продукта Читать дальше →

Nemesida WAF: интеллектуальная защита от brute-force атак   Классическими средствами защиты от brute-force являются утилиты типа fail2ban, работающие по принципу: много запросов — один источник. Это не всегда может помочь заблокировать нарушителя, а также может привести к ложным (false-positive блокировкам). В этой статье я напишу...

Справочно-информационный портал наподобие «Грамоты.ру» может появиться в Беларуси Идея создания справочно-информационного портала белорусского языка наподобие известного российского ресурса «Грамота.ру» обсуждается в Национальной академии наук. Об этом рассказал директор Института языкознания имени Якуба Коласа НАН Беларуси Игорь Копылов, пере...

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

[Из песочницы] Переосмысление алгоритма консенсуса PoA – алгоритм PoG Всем привет, меня зовут Константин, Я программист из Казахстана. Сейчас занимаюсь созданием собственной блокчейн платформы и хотел бы поделиться мыслями о существующих алгоритмах консенсуса и о том, что Я придумал для своей сети. Читать дальше →

FPGA для программиста, конечные автоматы (verilog) Стиль описания конечного автомата как образ мышления Когда нужно преодолеть врожденную параллельность FPGA, и появляется желание заставить схему работать последовательно, по алгоритму, на помощь приходят конечные автоматы, про которые написано не мало академических и практич...

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

Ещё один инструмент для проверки ваших npm зависимостей — wtfwith Вы как-нибудь задумывались, сколько версий одной и той же библиотеки затягивает ваша клиентская или серверная сборка? Мне вот в какой-то момент стало интересно. Навскидку найти для этого готовый инструмент не получилось, а смотреть глазами package-lock слишком утомительно. К...

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

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

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

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

[Из песочницы] Различные стратегии именования в Hibernate Привет, Хабр! Представляю вашему вниманию статью "Different Hibernate Naming Strategy" автора Dhiraj Ray. В этой статье обсуждаются различные стратегии именования, предоставляемые hibernate, а также переход стратегии именования от hibernate.ejb.naming_strategy в h...

Мега-Учебник Flask, Часть XIII: I18n и L10n (издание 2018) Miguel Grinberg Туда Сюда Это тринадцатая часть серии Мега-Учебник Flask, в которой я расскажу вам, как реализовать поддержку нескольких языков для вашего приложения. В рамках этой работы вы также узнаете о создании собственных расширений CLI для flask. Для справки ниже ...

В разрезе: новостной агрегатор на Android с бэкендом. Распределённые системы обработки сообщений (Spark, Storm) Вводная часть (со ссылками на все статьи) Основным компонентом системы, который обрабатывает сырые данные с «пауков», выполняет обогащение данных, их индексацию и последующий поиск является система обработки сообщений, т.к. только подобные системы могут адекватно реагиров...

[Перевод] Характер Kotlin Привет, Хабр! Надеемся в обозримом будущем и до Kotlin добраться. Мимо этой статьи (февральская) пройти не смогли. Читаем и комментируем! Читать дальше →

[Из песочницы] Разработка высоконагруженного WebSocket-сервиса Как создать веб-сервис, который будет взаимодействовать с пользователями в реальном времени, поддерживая при этом несколько сотен тысяч коннектов одновременно? Всем привет, меня зовут Андрей Клюев, я разработчик. Недавно я столкнулся с такой задачей – создать интерактивный ...

«Чип-головоломка»: по заказу DARPA будет разработан невзламываемый процессор В начале этого года информация о процессорных уязвимостях Meltdown и Spectre стала первой громкой темой кибербезопасности 2018 года. Незащищенность кэша программных команд чипов Intel, AMD и Arm, выпущенных за последние 20 лет, привела к целой плеяде судебных тяжб и до сих п...

как добавить свой счетчик в PRTG. И кратенько о форматах датчиков с примерами на powershell Почему бы не добавлять в систему мониторинга показатели работы из 1С (да и вообще чего угодно)? По мере изучения оказалось что вывести можно из скриптов, батников, VB скриптов, исполняемых файлов, по SSH, прямым исполнением sql запросов и еще куча способов. Чтобы не получила...

5 основных приоритетов госзаказчиков в сфере ИБ Главный приоритет госзаказчиков – это соответствие требованиям законодательства. Новые перспективные технологии могут рассматривать ими только после успешного завершения процесса сертификации по требованиям безопасности. Статья входит в обзор TAdviser "http://www.tadviser.r...

Особенности национальной охоты на баги или Bug Bounty по славянски Почему крупнейший мобильный оператор платит за critical bug 3-мя месяцами бесплатного интернета, гос. авиа компания считает паспортные данные и дату рождения не конфиденциальной информацией, а служба доставки №1 в стране по скриншотам отрицает утечку данных? А тем времене...

Amazon запустит внутренние счета для клиентов без банковских карт Изображение: Silus Grok, CC BY-SA 2.0 По данным СМИ руководство компании Amazon ведёт переговоры с несколькими банками о создании собственного платёжного сервиса. Программа рассчитана на молодых пользователей, у которых нет банковских карт. Для оплаты покупок клиентам ну...

Автоэнкодер в задачах кластеризации политических событий Я не люблю читать статьи, смотрю demo и кодДемо TensorBoard Projector Работает в Chrome. Открываем и нажимаем на Bookmarks в нижнем правом углу. В верхнем правом углу можем фильтровать классы. В конце статьи есть GIF картинки с примерами использования. Проект на GitHub ...

Простой менеджер ассинхронных задач для Unity 3D Введение Приветствую Вас, уважаемые читатели. В данной статье пойдет речь о реализации простого менеджера асинхронно выполняемых задач для среди разработки Unity3d. Данный менеджер использует в своей основе так называемые Coroutine, которые присутствует в движке. Читать дал...

Как ускорили PostgreSQL 10 (В статье использованы примеры и пояснения из книги Nouveaulités de PostgreSQL 10. (с) Dalibo, перевод с французского Игоря Лёвшина, редактор Егор Рогов (оригинал). Примеры проверены, иногда изменены для большей наглядности) Конечно, мы уже ждем не дождемся появления 11-й ве...

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

[Перевод] Операционные системы с нуля; Уровень 0 Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий. Чем этот курс отличается от прочих других?...

[Перевод] Шон Пирс: настоящий лидер Перевод статьи "Шон Пирс: настоящий лидер" — о человеке, который является основателем многих проектов, в том числе Git и Gerrit Code Review. Читать дальше →

Первая ракета Falcon Heavy вывела в космос не только Tesla Roadster, но и «секретный» груз Несколько дней назад компания SpaceX успешно совершила первый запуск тяжёлой ракеты-носителя Falcon Heavy. В ходе запуска полезная нагрузка в виде автомобиля Tesla Roadster была выведена на заданную орбиту, а два из трёх бустеров были успешно возвращены. Сейчас стало и...

[Из песочницы] Социальная инженерия как метод атаки «Only for fun» — такой девиз мы часто использовали, атакуя какие-либо системы. За довольно короткий период своей деятельности скопилось большое количество материала. Передо мной встала задача, как его упорядочить. Целью данной статьи не является обучение взлому. Это просто и...

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

10 подсказок для создания лучшего интерфейса Популярная статья UX-дизайнера Мариель Москериола с ценными советами по улучшению любого интерфейса.

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

[Из песочницы] Spring Boot. Фоновые задачи и не только Введение В данном туториале я хочу привести пример приложения для отправки email-ов юзерам, основываясь на дате их рождения(например с поздравлениями), используя аннотацию Scheduled. Я решил привести данный пример, т к по моему мнению он включает в себя довольно многие вещи,...

Почему вам, скорее всего, не нужен фитнес-трекер, но вы всё равно его купите. На примере Fitbit Blaze Данная статья получилась большой. По сути, она состоит из двух отдельных материалов, связанных между собой […]

Nokia 7 Plus вступит в программу Android One на выставке MWC 2018 HMD Global покажет один из крайней интересных смартфонов на MWC 2018 - Nokia 7 Plus. Этот аппарат должен статья частью программы Android One, как Xiaomi Mi A1, который сегодня считается одним из самых удачных смартфонов в рамках начинания Google. Читать полную статью

Устройства с управлением через веб-интерфейс Автор: Николай Хабаров, IoT Google Developer Expert, эксперт по встраиваемым системам, DataArt. В этой статье я расскажу, как создать собственное устройство с веб-интерфейсом, которое будет доступно в локальной сети. Веб-интерфейс будет показывать текущие данные с датчика...

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

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

[Из песочницы] Создание динамичаского tooltip в Angular2+ приложениях В нашем приложении передо мной встала задача о создании красивого тултипа, в Angular Material таблице. Дизайн нам нарисовали, и я начала поиск в интернете нужных материалов. Но натыкалась уже или на готовые решения(библиотеки) или на очень простые решения, которые мне не под...

Обзор Nokia 6.1: смартфон который мы заслужили Nokia 6.1 – это название с цифровым индексом перекликается с минорным обновлением какой-нибудь компьютерной программы и намекает на то, что перед нами легкое переосмысление знакомого устройства. Увы, предыдущая Nokia 6 так и не попала в наши руки, так что отнесемся ее обновл...

Google удалила 700 тысяч вредоносных приложений из Play Store в 2017-м На платформе Play Store вы можете найти массу интересных программ и игр для самых разных целей, но эта площадка стала домом ещё и для вредоносных приложений. Если вы следили за новостями в прошлом году, то слышали про вирусы для Android, ворующие данные банковских карт, и вс...

Простой статический сайт на Webpack 4 После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как ин...

В России создадут свой язык программирования Его разработка включена в программу Цифровая экономика

[recovery mode] Необходима помощь сообщества. «Мир, дружба, жвачка» Так получилось, что некогда возникала необходимость иметь данные по всем телефонным звонкам в одной организации, где для связи использовалась Avaya CM 5.0 (а в последствии 6.0), сейчас уже и эти версии динозавры из прошлого, но это все не важно. Важно то, что еще в 2010 г. ...

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

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

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

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

Фундаментальная уязвимость HTML при встраивании скриптов Чтобы описать суть проблемы, мне нужно рассказать, как вообще устроен HTML. Вы наверняка в общих чертах представляли себе, но я все равно коротко пробегусь по основным моментам, которые понадобятся для понимания. Если кому-то не терпится, сразу переходите к сути. HTML — это ...

Check Point R80.20. Что будет нового? Еще далеко не все успели перейти на R80.10, как Check Point объявил о скором релизе новой версии ОС — Gaia R80.20. Безусловно это хорошая новость. Предполагаемая дата официального релиза — конец второго квартала 2018 года (т.е. летом). Более того, запущена программа EA (ea...

На Reddit забанили сообщество Deepfake с “поддельным порно” На Reddit запретили «поддельные порноролики» – изображения и видео, на которые накладывают лицо субъекта без его разрешения. Deepfakes – программное обеспечение с использованием искусственного интеллекта для создания компьютерной версии лица субъекта, которая пол...

Как мы настроили поиск с помощью Elasticsearch и Logstash по данным MSSQL Делимся подробностями, как мы сделали хороший поиск по закрытой корпоративной соцсети в условиях, когда: • данные хранятся в разных колонках таблиц MSSQL, • раньше поиска по ним не было, • а перенести их оттуда нельзя по соображениям информационной безопасности. Критерий хо...

Система процедурной генерации уровня в Unreal Engine Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я расскажу как я создал процедурную генерацию уровней для моей игры «The Future City Project». Все исходники будут представлены в конце статьи. И ещё будет с...

[Из песочницы] Настройка Sublime Text 3 для работы с VHDL файлами Работа с VHDL в Sublime Text 3 Редактор Sublime Text существенно экономит время при работе с vhdl и verilog файлами. Для тех, кто не работал с редакторами типа Sublime Text, Notepad++ и т.п. опишу основные полезные функции данных редакторов: множественное выделение/редакти...

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

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

Распознавание объектов с помощью PowerAI Vision Разработчики программного обеспечения уже несколько лет активно работают с библиотеками машинного обучения, решая задачи компьютерного зрения и обнаружения объектов. Но реализация таких задач (а каждую модель машинного обучения необходимо спроектировать, развернуть, собств...

Пишем плагин для Unity правильно. Часть 1: iOS Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка мо...

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

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

Отменяемые Promises в EcmaScript6 Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js. В этой статье расскажем, как реализ...

Флаппи Бёрд: — Поехали Это рассказ о том, как написать свою игру на Corona. Уровень вхождения — минимальный (и ботаник с кафедры алгебры поймет). Я напомню, что Corona — это движок для создания 2D игр на все платформы и, touch-touch, сегодня День космонавтики. Сюжет для игры выбран соответсвующ...

[Перевод] Leakpocalypse: Rust может неприятно удивить Прим. пер.: Кто-то должен был сделать перевод этой статьи, несмотря на то, что она достаточно стара (2015 год), поскольку она показывает очень важную особенность работы с памятью в Rust — с помощью безопасного (не помеченного как unsafe) кода можно создавать утечки памяти. Э...

Сборник Halo: The Master Chief Collection, возможно, присоединится к Xbox Game Pass в следующем месяце Xbox Game Pass — это подписка для Xbox One наподобие Netflix, которая предоставляет доступ к более чем 170 играм (на данный момент), и список этих игр каждый месяц пополняется. Корпорация Microsoft выпустила новый трейлер, в котором рекламирует выдачу проектов...

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

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

Текущая разработка Kotlin На прошлой неделе при поддержке Redmadrobot SPB в рамках SPB Kotlin User Group прошла встреча со Станиславом Ерохиным, разработчиком из JetBrains. На встрече он поделился информацией о разрабатываемых возможностях следующей мажорной версии Котлина (под номером 1.3). В этой ...

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

Final Fantasy XII на PC: 60 кадров/с в игре 2006 года ценой высоких системных требований Вышедшая в 2006 году Final Fantasy XII была одной из самых технически впечатляющих игр своего времени. Поклонники легко простили разработчикам не слишком высокую и нестабильную кадровую частоту, ведь PlayStation 2 работала на пределе своих возможностей. Казалось бы,...

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

Telegram поможет создать альтернативные версии мессенджера Команда проекта представила открытую библиотеку TDLib

List.of() и все, все, все… Здравствуйте, хаброжители. Наконец дошли руки написать что-то на хабр. Первая статья была немного скучной и узкоспециализированной. Поэтому я пишу в песочницу во второй раз. (UPD но почему то попал не в песочницу оО) На этот раз речь пойдет о нововведениях Java. А именно п...

Подтверждено существование фермиона Майораны Итальянский физик Этторе Майорана предположил возможность существования этой частицы еще в 1937 году. Однако только в 2012 году его теория получила первые экспериментальные подтверждения. Они, впрочем, не убедили научное сообщество, но новые данные, полученные в Делфте, оста...

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