Социальные сети Рунета
Четверг, 25 апреля 2024

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

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

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

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

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

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

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

[Перевод] Регулярные выражения: никакой магии Код этого поста, как и сам пост, выложен на github. До недавнего времени регулярные выражения казались мне какой-то магией. Я никак не мог понять, как можно определить, соответствует ли строка заданному регулярному выражению. А теперь я это понял! Ниже представлена реализа...

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

Как в Excel вставить кнопку для запуска макроса Благодаря вставке кнопки в Excel можно удобно запускать макросы одним кликом мыши. CHIP расскажет, как это сделать за пару кликов.

«Придётся писать самим. Сели и написали»: жизнь разработчиков лабораторного кластера супермассивов в Сбертехе Существует миф, что банки — это очень закостенелые структуры, в которых нет места эксперименту. Чтобы опровергнуть этот миф, мы провели небольшое интервью с Валерием Выборновым — начальником отдела разработки лабораторного кластера супермассивов в Сбербанк-Технологиях. У себ...

Макрос для Autodesk Revit, который подравнивает стены Автодеск сделал стены разными, но пришли проектировщики и начертили стены под углом 0,045 и 89,915 градусов. Поэтому не ставятся размеры между стенами. Так продолжалось долго, но теперь появился Великий Макрос Уравнитель, он вернет стенам углы в 0,000 и 90,000 градусов. Макр...

Excel вместо PowerShell: запросы к AD и системные отчеты «на коленке» В комментариях к предыдущей статье вспомнили про учет в Excel вместо 1С. Что ж, проверим, насколько вы знаете Excel. Сегодня я покажу, как получать данные из Active Directory и работать с ними без макросов и PowerShell — только штатными механизмами Office. Например, можно з...

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

[Из песочницы] Пишем макросы для TODO и FIXME в Sublime Text, или как немного кода позволяет сэкономить много времени Великий Мастер бился с Хаосом. И чем крепче он бился, тем больше к нему приходило мыслей. Когда приходили мысли о толковом, он записывал их, предваряя магическим словом TODO. Мысли же о бестолковом он тоже записывал, но для таких мыслей у него было другое магическое слово — ...

Ускорение перечисления процессов и потоков в ОС Windows Иногда бывает нужно перечислить все процессы или потоки, которые в данный момент работают в ОС Windows. Это может понадобиться по разным причинам. Возможно, мы пишем системную утилиту вроде Process Hacker, а может быть мы хотим как-то реагировать на запуск/остановку новых пр...

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

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

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

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

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

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

[Перевод] Использование переменных окружения в Node.js Материал, посвящённый переменным окружения в Node.js, перевод которого мы сегодня публикуем, написал Берк Холланд, веб-разработчик, в сферу интересов которого входят JavaScript, Node.js и VS Code. Кроме того, стоит отметить, что у него сложились непростые отношения с Java. В...

VDOM своими руками Привет. У многих frontend-разработчиков бытует мнение, что технология VDOM, которая, в частности, используется в React.js, работает как черный ящик. Так же на просторах npm есть куча библиотек, реализующих эту технологию, однако вот как по мне — так в них черт ногу сломит. С...

Создан полноценный 3D-шутер на основе Microsoft Excel Иногда симбиоз задатков программиста и геймера даёт небывалые результаты — пользователи мастерят интересные вещи из тех программ и их возможностей, которые ранее применялись совсем для других дел. Например, многие разработчики компьютерных игр используют Microsoft Excel как ...

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

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

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

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

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

Из спутниковых снимков в графы (cоревнование SpaceNet Road Detector) — попадание топ-10 и код (перевод) Привет, Хабр! Представляю вам перевод статьи. Это Вегас с предоставленной разметкой, тестовым датасетом и вероятно белые квадраты — это отложенная валидация (приват). Выглядит прикольно. Правда эта панорама лучшая из всех четырех городов, так вышло из-за данных, но об этом ...

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

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

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

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

Продажи машин Mitsubishi в кредит выросли в 3 раза За февраль 2018 года насчитывается 1 223 автомобилей японского автопроизводителя Mitsubishi, купленных в кредит, что в раза больше показателей годичной давности. Кредитная доля компании достигла 31%, что на 10 процентных пунктов превышает результаты аналогичного периода прош...

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

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

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

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

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

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

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

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

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

Реализуем свой оператор в Entity Framework Core Однажды пасмурным мартовским субботним утром я решил посмотреть, как обстоят дела у Майкрософта в благом деле по трансформированию мастодонта Entity Framework в Entity Framework Core. Ровно год назад, когда наша команда начинала новый проект и подбирала ORM, то руки чесались...

DoctrineSolrBundle — поиск по Doctrine entity на базе Solr в Symfony2 DoctrineSolrBundle Добрый день, хочу представить свой symfony 2 бандл для автоматической синхронизации Doctrine entity в Solr и последующим поиском. Бандл предназначен для работы с Solr на уровне Doctrine entity и позволяет избежать написания низкоуровневых запросов в solr. ...

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

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

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

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

[Перевод] WebRTC и Electron: тренд для desktop-приложений В блоге на хабре мы стараемся рассказывать интересные истории из собственного опыта: телефония и браузеры, телеком, автоматизация звонков, видеоконференции — все эти истории. Но наш давний знакомый Цахи, автор bloggeek.me и мировой спец по WebRTC, настолько хорошо пишет, ч...

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

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

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

Wine 3.0 и много плюшек На Хабре незамеченным прошел выход 3-й версии Wine — открытой реализацией Win32 API. Трудно найти другой проект с открытыми исходниками, пожалуй кроме самого ядра, который настолько много значит для пользователей Linux, MacOS, FreeBSD и других POSIX-совместимых ОС. Каждый ус...

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

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

Google Ассистент скоро заговорит по-русски Примерно месяц назад в сети появилась информация о том, что компания Google запустила в бета-тест Assistant с поддержкой русского языка. Это приободрило пользователей, ведь версией на английском пользоваться не совсем комфортно — не все владеют иностранным языком настолько д...

Angular: OAuth2 авторизация, рефрешим токен и HttpInterceptor Доброго времени суток. Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса...

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

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

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

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

Shadow of the Colossus покорила британские чарты Буквально неделю назад мы уже писали о лучших играх февраля, и Shadow of the Colossus заняла там почётное место. Разработчики решили, что можно переделать графику, подтянуть игровые механики и выпустить современную версию в свет. Фанаты серии, которые уже играли в предыдущие...

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

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

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

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

[Перевод] Непрерывные переходы между общими элементами: из RecyclerView во ViewPager Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфе...

[Перевод] Быстрый запуск Github репозитория c Angular CLI в вашем браузере На Github находится множество демок, примеров, прототипов и реальных приложений, написанных на Angular. Тем не менее, клонирование и инициализация проекта может занять много времени, что затрудняет его совместное использование и просмотр. Именно поэтому была создана сред...

[Перевод] Внедрение предметно-ориентированного проектирования в PHP И снова здравствуйте! Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку. А счас пока ...

История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах Давным давно, когда я был молод и писал сайты на PHP, я написал SEO плагин для маскировки внешних ссылок для Wordpress. Поскольку с воображением у меня плохо, то назвал его WP-NoExternalLinks. За всю историю у него было 360.000 установок и, кажется, до 50.000 активных устано...

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

Пишем собственный хитрый thread_pool-диспетчер для SObjectizer-а О чем эта статья? Одной из основных отличительных черт C++ного фреймворка SObjectizer является наличие диспетчеров. Диспетчеры определяют где и как акторы (агенты в терминологии SObjectizer-а) будут обрабатывать свои события: на отдельной нити, на пуле рабочих нитей, на одно...

Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru 5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на о...

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

[Перевод] Blockchain на Go. Часть 5: Адреса Содержание Blockchain на Go. Часть 1: Прототип Blockchain на Go. Часть 2: Proof-of-Work Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки Blockchain на Go. Часть 4: Транзакции, часть 1 Blockchain на Go. Часть 5: Адреса Blockchain на Go. Часть 6: Тра...

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

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

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

[Перевод] Поговорим о юзернеймах Пару недель назад я выпустил django-registration 2.4.1. Сборки 2.4.x станут последними в версии django-registration 2.x, дальше будут выходить только исправления багов. Основная ветка сейчас готовится к версии 3.0, откуда планируется удалить кучу устаревшего хлама, накопивше...

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

Опыт использования планшета на Windows и его актуальность Привет, Community! Сегодня мне бы хотелось поделиться опытом использования планшета на Windows 10 в 2018 году и рассказать, какие ощущения были после покупки, и с какими трудностями пришлось столкнуться в процессе использования. Итак, речь пойдёт о планшете под названием ...

[Перевод] Алан Кей и Марвин Мински: Computer Science уже имеет «грамматику». Нужна «литература» Первый слева — Марвин Мински, второй слева — Алан Кей, потом Джон Перри Барлоу и Глория Мински. Вопрос: Как бы вы интерпретировали идею Марвина Мински о том, что «Computer Science уже имеет грамматику. Что ей нужно так это литература.»? Алан Кей: Самый интересный аспект ...

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

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

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

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

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

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

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

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

Интересные сюрпризы ConcurrentDictionary (+разбор задачи с DotNext 2017 Moscow) Привет всем, кто пишет код для .NET, особенно многопоточный. Редко встретишь потокобезопасный код без потокобезопасных коллекций, а значит, нужно уметь ими пользоваться. Я расскажу о самой популярной из них — ConcurrentDictionary. В ней спрятано на удивление много интересных...

Расширение функционала меню в nanoCAD 8.5: макросы и LISP выражения Файлы меню nanoCAD имеют расширение .cfg и структуру, отличающуюся от структуры меню (*.mnu, *.cui, *.cuix) других САПР. В версии 8.5 появилась поддержка макросов, которые могут содержать несколько команд и параметров, а также LISP-выражения. Читать дальше →

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

Как написать генератор случайных чисел и можно ли предсказать Math.random? Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать? ...

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

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

Учебник Thymeleaf: Глава 20. Приложение C: Синтаксис селектора разметки Оглавление 20 Приложение C: Синтаксис селектора разметки Селекторы разметки Thymeleaf напрямую заимствованы из библиотеки парсера Thymeleaf: AttoParser. Синтаксис для этих селекторов имеет большое сходство с синтаксисом селекторов в XPath, CSS и jQuery, что делает их удобн...

Вертим логи как хотим ― анализ журналов в системах Windows Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим. В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируем...

Умелец создал 3D-движок в MS Excel Пользователь под ником C Bel сделал собственный 3D-движок без использования макросов и VBA. C Bel был вдохновлен коридорами игры Doom, что и послужило на создание такого проекта, а ни как не отсутствием личной жизни...Итак, что может данный 3D-движок:Создание бесконечных про...

[Перевод] Функциональное программирование с PHP-генераторами Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, ...

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

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

Call of Duty: Black Ops 4 может выйти в ноябре этого года Согласно информации от множества достоверных источников (ранее они уже успешно сливали данные о релизах), новой частью франшизы Call of Duty станет четвёртая Black Ops. Выпустить продолжение именно этой серии решили исключительно из меркантильных целей, ведь она приносит раз...

[Перевод] Самое опасное слово в разработке программного обеспечения «Просто размести это где-нибудь на сервере». «Просто добавь кнопку “Избранного” справа от элемента». «Просто добавь [вставьте здесь сложную опцию] в экране настроек». Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фро...

Samsung выпустит новый мобильный редактор фильмов В телефонах Samsung уже давно есть встроенное приложение Movie Maker, которое позволяет вам оживлять ваши клипы. И это очень удобно, если вы предпочитаете не искать стороннее приложение, чтобы делать больше, чем обрезать кадры. Тем не менее оно скоро станет неактуальным. Пос...

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA. Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называ...

Слили фото Meizu 15 Сегодня все внимание новинкам MWC 2018. Мероприятие, что подходит к концу в Барселоне выдалось достаточно скучным, хотя новинок было немало. После закрытия выставки нас еще ждет немало интересного, и Поднебесная продолжает разрушать интригу, связанную с презентацией Meizu 15...

Html страница глазами разработчика приложений. Часть 1: «Подготовка» Передо мной встала задача по обновлению текущего сайта одной компании, и в соответствии тренду выбор пал на landing page с поддержкой мультиязычности. Посмотрев на реализации представленные в интернете я ужаснулась. В теле страницы куча текста! С такой разметкой же невозможн...

[Перевод] Анализ игр с HDR Последнюю пару недель я потратил на исследование HDR-картинки различных игр. Когда речь идёт об SDR-видео, то вам должны быть знакомы значения RGB в интервале 0-255, где 0 представляет чёрный цвет, а 255 — белый. HDR10 /Dolby Vision в этом плане немного отличается, не тол...

JavaScript, Java, какая теперь разница? На прошлом JPoint пообещал написать статью про использование GraalVM для смешивания Java и JS. Вот она. В чем проблема? В повседневной практике часто встречаются приложения, состоящие из двух частей: JavaScript-фронтенд и Java-бэкенд. Организация интеропа между ними требу...

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

Сообщения Android выходят на новый уровень Стандартное приложение сообщений в ОС Android в данный момент умеет работать только с простыми текстовыми сообщениями SMS, но уже скоро это может измениться. В последних изменениях исходного кода обнаружены закладки для вывода сервиса сообщений в отдельный веб-интерфейс, а с...

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

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

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

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

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

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

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

Скорый выход Durango: Wild Lands за пределами Азии косвенно подтвержден 25-го января издатель Nexon запустил новую MMORPG Durango: Wild Lands в Корее. И на первый взгляд ее можно было бы назвать очередной и типичной, но подобные определения очень далеки от правды. Компания решила изменить статус мобильных, игр как чего-то упрощенного и не создаю...

[Перевод] Ричард Хэмминг: Глава 9. N-мерное пространство Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2222 в закладки, 350k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводи, ведь мужик дело гово...

Для сотрудников компании Picaso 3D - мой способ получения контура пути сопла/фрезы для генерации G-кода. Что зачем и как (эта запись для сотрудников компании, которые вышли со мной на некоторое общение на этом портале, но я к сожалению не могу перейти к активному сотрудничеству с ними - ибо у меня своих проблем по горло, но поделиться мыслями всегда буду рад и что-то подсказать...

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

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

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

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

Приложения в App Store станут лаконичнее Apple в очередной раз внесла изменения в правила публикации контента на прилавках виртуального магазина App Store, пишет 9To5Mac. Теперь разработчикам строго запрещается использовать символы эмодзи, являющиеся интеллектуальной собственностью компании, в интерфейсе создавае...

[Перевод] Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping Введение Недавно я приступил к реализации системы 2D-теней в Unity, которую можно было бы использовать в настоящей игре. Как известно профессиональным разработчикам, есть большая разница между тем, чего можно достичь в техническом демо и тем, что применимо для интеграции в ...

[Перевод] Трансляция один-ко-многим: нужен ли медиасервер? TL;DR – ДА. Очередная статья нашего израильского коллеги по WebRTC и звонкам между браузерами переведена для Хабра. Мы в Voximplant разрабатываем собственное решение для организации видеоконференций через сервер и можем сказать что да, все именно так. Peer-to-Peer штука хо...

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

Почему вас не видят: ошибки при работе с сообществами в Фейсбук Что нужно знать для грамотного ведения группы на Facebook? Какие правила стоит помнить? Специально для Теплицы руководитель интернет-издания о маркетинге Conversion Денис Ффринг назвал шесть ошибок, которые мешают росту сообщества в Фейсбук. В январе 2018 года основатель Fac...

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

[Перевод] Cжатие и улучшение рукописных конспектов Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла. Исходное изображение и результат: Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1] Примечание: описанный...

Dungeons and Miners – крутой рогалик и пример того, как нужно работать над играми Круто, когда разработчики любят то, что они делают и готовы развивать свое детище, а не просто идут по потоку и представляют проект «как есть». Dungeons and Miners – это рогалик от создателя The Hacker и Drylands, который совсем не похож на то, что было, когда игру только пр...

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

[Из песочницы] Управляем браузером с помощью PHP и Selenium Интро Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium. Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер. С Википедии«Selenium — это инструмент для автоматиза...

Видеообзор: ONYX BOOX DARWIN 3 — читайте книги правильно! Книга не перестает быть популярным носителем информации, который люди продолжают выбирать в наше время. Проблема лишь в том, что книги большие и толстые. Их нельзя положить в карман, сложно убрать в небольшую сумку и невозможно читать ночью без яркого источника света. Все ...

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

[Перевод] Использование шаблона render props вне рендера React представляет новое API (context API), которое использует "паттерн" (шаблон) render props (подробнее). На семинарах, встречах и в твиттере я вижу, что возникает много вопросов об использовании render props вне рендера, например, в обработчиках событий или "хуках" жизнен...

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

[Перевод] Segregated Witness для чайников Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Д...

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

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

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

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

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

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

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hel...

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

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

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

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

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

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

[Перевод] Ричард Хэмминг: Глава 29. Вы получаете то, что вы измеряете «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

Обзор Celeste – Совершенство в каждом пикселе В последнее время всё в мире видеоигр перемешалось. Уважаемые и большие студии вроде BioWare стремительно теряют уважение, а ранее незаметные инди-разработчики только набирают популярность. Мы давно перестали ждать сюрпризов от корпораций, но кто знает, что нового нам покажу...

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

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

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

MWC 2018: самые ожидаемые премьеры В этом году на CES 2018 показали много чего, но по уже сложившейся традиции на премьеры смартфонов выставка выдалась скучной. Все понимали, что многие вендоры готовят главные свои анонсы для MWC 2018. Она стартует 26 февраля и продлится до 1 марта. Огромное количество компан...

Масштабная RPG Ravensword Legacy в лучших традициях The Legend of Zelda представлена снова Есть игры, которые создаются, чтобы занять геймеров и подарить им несколько часов удовольствия, а бывают и такие, которые двигают всю мобильную игровую индустрию вперед. Это касается и серии Ravensword. Legacy разрабатывается уже несколько лет, однако вынуждена была сделать ...

getDerivedStateFromState – или как сделать из простой проблемы сложную Я люблю Реакт. Люблю за то, как он работает. За то, что он делает вещи «правильно». HOC, Composition, RenderProps, Stateless, Stateful – миллион патернов и антипатернов которые помогают меньше косячить. И вот совсем недавно React принес нам очередной подарок. Очередную возм...

[Перевод] Алан Кей: Будущее нельзя построить постепенно Наименее важное время в которое мы живём — это настоящее. Алан Кей Ещё в 2014 году, когда Алан Кей выступал с этой речью в Сан Франциско, один друг присутствовал там лично. Его крайне впечатлило выступление, и он попросил перевести его для исследователя, который уже в воз...

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

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

Использование многофакторной аутентификации в Citrix на основе решений «Аладдин Р.Д.» — вебинар В одной из наших прошлых статей мы показывали, как реализовать двухфакторную аутентификацию в простом (локальном) сценарии через StoreFront. Это выглядело так: Пользователь с электронным ключом JaCarta осуществляет подключение, система запрашивает смарт-карту и открыты...

Моделирование динамических систем: введение Предисловие Трудно переоценить значение компьютерного моделирования в современном мире. Давным давно канули в Лету времена, когда траектории выведения спутников на околоземную орбиту вычислялись толпой девушек-расчетчиц с «Феликсами» наперевес (была такая вычислительная маши...

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

Diablo 3 всё же выйдет на приставке Nintendo Switch Буквально недавно мы писали о том, что компания Blizzard якобы опровергла выход проекта Diablo 3 на приставке Nintendo Switch. Если кратко, то разработчик скинул в Twitter видео с включением (switch на английском) светильника в форме головы Diablo, а фанаты приняли это как н...

Масштабирование Selenium Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество...

[Из песочницы] Обобщаем анимацию таблиц в iOS приложениях Пользователи хотят видеть изменения Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей. Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое...

[Перевод] Ричард Хэмминг: Глава 26. Эксперты «То, что привело вас к успеху, может стать неэффективным в будущем.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2244 в закладки, 351k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

Хочешь получить Oppo F7 бесплатно? Мы расскажем как! Совсем скоро на AndroidInsider.ru стартует масштабный спецпроект, в котором вместе с вами мы будем разбираться в особенностях нового смартфона, чей выход планируется в самое ближайшее время. При этом участие наших читателей будет самым непосредственным. Готовы присоединитьс...

[recovery mode] Анализ данных — основы и терминология В этой статье я бы хотел обсудить базовые принципы построения практического проекта по (т. н. «интеллектуальному») анализу данных, а также зафиксировать необходимую терминологию, в том числе русскоязычную. Согласно википедии, Анализ данных — это область математики и информа...

Илон Маск удалил страницы Tesla и SpaceX на Facebook Массовая акция «Удали Facebook» (#deletefacebook) продолжает набирать обороты. Недовольные масштабной утечкой персональных данных пользователи социальной сети призывают всех бойкотировать Facebook. Акцию поддерживают не только обычные люди, к ней присоединяется в...

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

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

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

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

Таndem — Языковой обмен и репетиторы 1.7.5 Практика общения — лучший способ изучения иностранного языка. Таndem способствует языковому обмену. Благодаря нашему приложению вы сможете практиковать говорение с носителями, которые могут помочь вам в изучении иностранного языка и улучшении навыков общения на нем за коротк...

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

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

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

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

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

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики. TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его...

Как получить AirPods (и не только) взамен старого iPhone Вот и остались позади зимние праздники, и за это время многие успели обзавестись различными новыми девайсами: кто-то получил iPhone, iPad или Apple Watch в подарок, другие решили порадовать себя сами. В любом случае у вас наверняка появилась старая «ненужная» техника Apple...

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

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

[Из песочницы] Тестирование проектов C/C++ с помощью Python Введение Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без п...

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

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

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

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

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

Напомнили о Snapdragon 823 (MSM8996 Pro) и обещают его выход В 2016 году Qualcomm должна была анонсировать чип Snapdragon 823. Был период, когда о нем много и активно сливали сведения, и даже сватали его таким моделям как Xiaomi Mi Note 2, ASUS ZenFone 3 Deluxe, LG G Flex 3 и HTC 10 mini. В итоге платформа так и не увидела свет, а те ...

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

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

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

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

Lost Socks: Naughty Brothers выпустили на Android Выпуск мобильной игры Lost Socks: Naughty Brothers для Android отнял у разработчиков достаточно много времени — на iOS проект был выпущен ещё два года назад. Многие уже начали думать, что это эксклюзив для владельцев яблочной техники, но тут Nerf-Game решили всё же свой 2D-п...

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

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

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

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

Делаем ребристое круглым? Преамбула: я вообще-то программист, и достаточно настырный и занудный. Когда я первый раз получил из 3d-модели gcode, я конечно полез смотреть - что там внутри? Оказалось, на 99% этот код состоит из комманд G1 - "отрезок". Хорошо, а почему нет например команд G2 или G3 "ду...

[Перевод] Туториал по Unreal Engine: C++ Blueprints — очень популярный способ создания геймплея в Unreal Engine 4. Однако если вы уже давно программируете и предпочитаете код, то вам идеально подойдёт C++. С помощью C++ можно даже вносить изменения в движок и создавать собственные плагины. В этом туториале вы нау...

[Перевод] Почему 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...

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

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

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

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

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

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

Battleheart 2 может выйти уже весной, детали от разработчиков Battleheart – давно ставшая классикой RPG с простым управлением, эпичным сюжетом и мощной ролевой системой. Это типичное премуим-приложение, которое имеет конкретную цену, но предлагает полноценное приключение на много часов. Разработчики уже предлагали игрокам Battleheart L...

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

Тимати разыгрывает квартиру в Москве Популярный рэпер Тимати решил разыграть двухкомнатную квартиру в Москве. Исполнитель объявил о конкурсе, который проводится на базе сети личных ресторанов рэпера «Black Star Burger». Эм-си лично вручит ключи от московской квартиры победителю конкурса. Рэпер лично со...

Toп 10 ошибок в C++ проектах за 2017 год За окном уже почти как 3 месяца стоит 2018 год, а это значит, что пришло время (пусть и немного запоздало) составить топ 10 ошибок, найденных анализатором PVS-Studio в C++ проектах за прошедший год. Итак, начнём! Читать дальше →

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

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

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

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” п...

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

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

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

[Из песочницы] Минимизируем код React Redux приложения Мне хотелось поделиться собственными размышлениями и способом построения структуры приложения с использованием react-redux. Так как я относительно недавно стал писать код на JS и поэтому не претендую на истину и на действительно верный способ разработки. Надеюсь эта статья п...

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

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

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

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

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

Страсти по iPhone X: изучаем кучу android-клонов с MWC 2018 Для многих iPhone X стал вожделенной мечтой. Дорогой мечтой. Но количество его подражателей растет в геометрической прогрессии. Сложно спорить с тем, что Apple в очередной раз стала законодателем мод и установила новый тренд, который только набирает обороты. Хорошо это или п...

[Перевод] Разбор алгоритма консенсуса в Tendermint В этой статье описан алгоритм консенсуса BCA (Byzantine Consensus Algorithm), используемый в Tendermint. Разработанный на основе протокола DLS, он не требует никакого "активного" майнинга, как в Proof-of-Work, и может обеспечить безопасную работу сети при наличии как миниму...

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

[Перевод] Составляем карту всего Интернета при помощи кривых Гильберта Интернет велик. Очень велик. Вы просто не поверите, насколько умопомрачительно он велик. В смысле, вам может показаться, что диапазон блоков /22, который вы получили как локальный интернет-регистратор (LIR), это очень много — но в масштабах всего Интернета это так, орешки. ...

[Перевод] Перевод книги «Социальная архитектура»: Торговые марки для open source проектов Торговые марки. Что они такое, нужны ли они вам и сколько это стоит? Эти вопросы часто возникают при построении open source проекта. Торговые марки могут быть ключом, который защитит проект от недобросовестных людей. Хотя тут мало что советовать. Поэтому вот мой гид по испол...

Релиз CLion 2018.1: новые возможности из С++17, поддержка WSL, CMake Install, плагин для Rust и многое другое Привет, Хабр! Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз. Cначала очень коротко о главном. В этот релиз вошли: Поддержка языка C++ Поддержка возможн...

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

[Перевод] Ричард Хэмминг: Глава 4. История компьютеров — Софт «Пожалуйста, запомните, что изобретатель часто имеет очень ограниченное представление о том, что он изобрел.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректиру...

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

Телеграм бот для удаления спама Решил написать эту публикацию т.к. устал объяснять одно и то же людям, которые хотят использовать моего телеграм бота @daysandbox_bot. Итак, несколько месяцев назад я разработал бота для удаления спама по очень простому признаку: если человек зашёл в чат и провёл в нём менее...

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

[Из песочницы] FastReport.Mono. Часть 1: Запуск демонстрационного Web-отчета В связи с тем, что официальная документация FastReport.Mono устарела, и даже не понятно к какой версии дистрибутива Debian она относится (могу предположить, что к 6 или младше), решил написать более-менее вменяемую инструкцию по установке демонстрационного Web-интерфейса для...

Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...

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

[Из песочницы] Использование Reflection.Emit для предварительной компиляции выражений в MSIL Привет, Хабр! Представляю вашему вниманию перевод статьи "Using Reflection.Emit to Precompile Expressions to MSIL" автора Steve Marsh. Введение Классы в этом проекте позволяют анализировать текстовые выражения, введенные пользователем, и компилировать их на сборк...

Пробрасываем вызовы Steam API из Wine в GNU/Linux и обратно с помощью Nim У игроков на платформе GNU/Linux множество проблем. Одна из них — необходимость устанавливать отдельный клиент Steam для каждой Windows игры из Steam. Ситуация усугубляется необходимостью установки ещё и родного клиента Steam для портированных и кроссплатформенных игр. Но ч...

Это птица? Это самолёт? Нет, это токен вашего пользователя летит на новый телефон Привет, Хабр! Сегодня я расскажу про API для разработчиков от компании Google. Речь пойдёт о том, как не заставлять пользователя заново логиниться в приложении после переноса данных, или, выражаясь точнее, как использовать Android Account Transfer API. Скорее всего, каждый...

REST-сервисы на ASP.NET Core под Linux в продакшене В основе этой статьи доклад Дениса Иванова (@DenisIvanov) на РИТ++ 2017, в котором он поделился опытом разработки и запуска в продакшен REST-сервиса на ASP.NET Core на Kubernetes. На текущий момент это сделать уже можно без особенных проблем и бояться использовать .NET Core,...

[recovery mode] Авторизация с помощью сертификата ssl на nginx + Let's Encrypt Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью. В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и от...

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

Про «ту Apple»-6. Newton, часть 1: Как все начиналось Джон Скалли пришел в Apple Computer для того, чтобы изменить мир. Сложилось мнение, что у него была идея, абсолютно сумасшедшая и нереальная. В полном объеме её еще никто не реализовал, но в свете заметно ускорившегося развития систем искусственного интеллекта и машинного ...

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

Пишем плагин для Unity правильно. Часть 2: Android В предыдущей части мы рассмотрели основные проблемы написания нативных плагинов на Unity под iOS и Android, а также методы их решения для iOS. В этой статье я опишу основные рецепты по решению этих проблем для Android, стараясь сохранить схожую структуру взаимодействия и п...

TOП-10: разбор лучших докладов HolyJS 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов (бесплатно доступных на YouTube), делаю короткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке...

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

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

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

Cuckoo 2.0. Cобираем лучшую опенсорсную платформу динамического анализа вредоносных файлов Приветствую Хабр! 4 года назад я публиковал инструкцию по сборке платформы динамического анализа вредоносных файлов Cuckoo Sandbox 1.2. За это время проект успел обрасти внушительным функционалом и огромным комьюнити, недавно обновившись до версии 2.0, которая больше полут...

[Перевод] Функция random() у гуглобота работает абсолютно детерминированно Я проводил некоторые эксперименты, как Googlebot разбирает и рендерит JavaScript, и наткнулся на несколько интересных вещей. Первое — то, что функция Math.random() в Googlebot выдаёт полностью детерминированные серии чисел. Я написал маленький скрипт, который использует этот...

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

Разработка игры под Android на Python на базе Kivy. От А до Я: подводные камни и неочевидные решения. Часть 1 Некоторое время тому назад я решил попробовать написать что-то на Python под Android. Такой странный для многих выбор обусловлен тем, что я люблю Python и люблю Android, а ещё люблю делать необычное (ну хорошо, не самое обычное). В качестве фреймворка был выбран Kivy — факти...

[Перевод] Blockchain на Go. Часть 1: Прототип Блокчейн одна из самых революционных технологий 21 века, до сих пор не реализовавшая весь свой потенциал. По сути, блокчейн это просто распределенная база данных. Что же делает ее уникальной? Это база данных полностью открыта и хранится у каждого участника полной или частичн...

MathOps или математика в мониторинге То, о чем я хочу рассказать, началось 30 декабря 2010 года, когда компания Etsy выложила на GitHub первый коммит своей системы StatsD. Эта, сейчас уже, суперпопулярная система, написанная на JavaScript (хипстеры ликуют), в которую можно отправлять метрики, замеры исполнения ...

[Перевод] Ричард Хэмминг: Глава 5. История компьютеров — практическое применение «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

На какие жертвы пошла Xiaomi, чтобы сделать Mi Mix 2S по-настоящему классным Разработка безрамочного смартфона Xiaomi Mi Mix 2S отняла у команды инженеров Xiaomi много времени и сил, написал Лэй Цзюнь, генеральный директор компании, на своей странице в Weibo. Причиной тому стало множество несовершенств процессора Snapdragon 845, составляющего аппара...

CSS ScaleFlux, или как ускорить базы данных в два-три раза простой заменой NVMe Базы данных, сети дистрибуции контента, big data, искусственный интеллект, машинное обучение — все эти data-driven сценарии требуют высокой производительности всей ИТ-инфраструктуры. Для подсистемы хранения все решается просто — установка скоростных NVMe и SSD вместо SAS и S...

[Перевод] Ричард Хэмминг: Глава 8. Искуственный интеллект-III «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

Новая схема позволяет мошенникам рассылать спам от имени украинских интернет-магазинов, используя уязвимости в форме регистрации Только мы успели написать о фишинговом приложении «Универсальный Мобильный Банкинг» из Google Play (его удалили уже на следующий день), выманивающем банковские данные украинцев, как стало известно о еще одной мошеннической схеме. Неизвестные, используя уязвимости в регистрац...

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

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

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

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

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

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

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

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

Android Dev Подкаст. Выпуск 61. Новости. D8, KTX, Constraint Layout 2, Flutter и парсеры текста Поговорили о последних новостях, которые были затемнены выходом Android P dp1. Настало время обсудить Android studio 3.1 и ее баги, компилятор d8, работу со spannable и static layout, и даже затронули темы игровых разработчиков и мир IoT и умных ассистентов.

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

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

PUBG Mobile опережает развертывание Fortnite на Android Безусловно, Fortnite Battle Royale сейчас является самой ожидаемой игрой на Android. По заверениям разработчиков, их продукт задаёт очень высокую планку качества игр мобильной индустрии наглядно демонстрируя огромный потенциал современных смартфонов для использования их в ка...

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

Простая Kanban-доска для Jira Здесь я расскажу, как сделать канбан-доску для проекта в Jira, пользуясь только QML и JavaScript. С небольшими доработками вместо Jira вы можете использовать любой другой трекер, имеющий REST API. СодержаниеПредыстория Альтернативы для умных и богатых Необходимые оговорки Н...

Lian Li PC-O11 Dynamic стоит непомерно дорого Официально анонсирован компьютерный корпус Lian Li PC-O11 Dynamic, который состоит из двух секций. В принципе, это определенный маркетинговый ход, ведь на самом деле нового в этой конструкции нет — там просто место однотипного шасси, которое вы можете видеть каждый день в св...

Для чего же нужен 3D принтер? Или бородатый баян Часть 2 (Макет) Здравствуйте уважаемые друзья! В продолжение своей рубрики "Для чего же нужен 3D принтер или бородатый баян", я решил написать новую небольшую статью, предыдущую Вы можете посмотреть тут. Не буду расписывать по стопятсот раз зачем это надо, поскольку для фанатиков филос...

Персональные рекомендации в ivi: Hydra В онлайн-кинотеатре ivi десятки тысяч единиц контента и задача «выбрать, что посмотреть» становится нетривиальной. О рекомендательной системе в ivi, которая занимается подбором контента на основе пользовательских интересов (внутреннее название — Hydra) мы писали тут и тут....

Удар по малярийным паразитам 445 000 убитых в год. Именно столько умирает от малярии, по данным ВОЗ. Однако это число можно уменьшить в несколько раз. Это покажется смешным, но обычная синька (да-да, та самая из магазина), на метиловой основе – уничтожает болезнь за два дня. При этом, она безопасна для...

Простой фильтр для автоматического удаления фона с изображений Существует множество способов удалить фон с изображения какого-либо объекта, сделав его прозрачным (в графических редакторах, специальных сервисах). Но иногда может возникнуть необходимость удаления фона у множества фотографий с минимальным участием человека. Хочу поделитьс...

Мобильное приложение от Google научит кодировать на JavaScript Компания Google выпустила приложение Grasshopper в рамках проекта Area 120, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый попу...

Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети Изображение с сайта getwallpapers.com История В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой ...

Слух: Red Dead Redemption 2 получит «королевскую битву» В руки информационного ресурса Trusted Reviews попали документы с описанием особенностей мультиплеера игры Red Dead Redemption 2. Говорить с уверенностью о том, что предоставленная информация правдива, до официального анонса никто не может. Однако, описанные в документах зан...

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

[Из песочницы] Как я проходил тестовое задание на летнюю стажировку в Яндекс Привет Хабр, сегодня я расскажу о том, как я проходил тестовое задание на летнюю стажировку в Яндекс. Эта публикация будет полезна начинающим разработчикам, любителям олимпиадного программирования, тем кто неравнодушен к С++ и Java, или просто хочет прочесть интересную стат...

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

Илон Маск: Беспилотная Tesla сама проедет через всю Америку Отправить автомобиль Tesla в беспилотную поездку по всей Америке Илон Маск задумал ещё в прошлом году. Тем не менее множество других задач, стоящих перед компанией, не позволило реализовать идею в срок. Но сейчас, пишет Techcrunch со ссылкой на главу компании Tesla, эта ам...

The Metrix has you… Для многих разработчиков процесс релиза их продукта похож на выбрасывание слепого котёнка в пасти диких псов. После этого главная задача авторов — отбиваться от случайно долетевших до них багов. На самом деле, приложение не заканчивает свой жизненный путь в зубах пользовател...

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

Как примерить корону Эта статья для тех, кому быстро надоедает играть в Angry Birds, 2048 или Lord of Rings и в чьих головах начинают зреть сценарии собственных игр. Я полагаю, на местном ресурсе таких индивидуумов не менее 95 процентов. Оставшиеся 5 процентов (скорей всего уже реализовавшие соб...

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

[Перевод] Воссоздание эффекта воды из Super Mario Sunshine для Nintendo GameCube Примечание: В оригинале статьи есть демо на WebGL2, которые в переводе заменены на видео и GIF. Одно из моих хобби — написание программ просмотра моделей и графических инструментов для игр. Это хорошее соединение интересных мне тем — графики, рендеринга, реверс-инжиниринга...

Что такое приложение GetContact и как оно работает? Рассказываем о простом приложении, которое наделало много шума. Новое приложение под названием GetContact стремительно набирает популярность и...

Универсальная модульная система охлаждения на примере Tevo Tornado Всем привет! Если лень читать или хочется увидеть всё в движении - милости прошу в видео версию статьи: Загрузка плеера window.bxPlayerOnloadbx_flv_player_333361787 = function(config) { if (typeof config != 'object') config = {'file':'https://www.youtube.com/watch?v=i...

Производство информационных систем. Часть 4. Внедрение информационной системы IX ВНЕДРЕНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ Нет ничего труднее, опаснее и неопределённее, чем руководить введением нового порядка вещей, потому что у каждого нововведения есть ярые враги, которым хорошо жилось по старому, и вялые сторонники, которые не уверены, смогут ли они жить по...

Про «ту Apple»-6. Newton, часть 2: Хоббиты, Dylan и прочие безобразия Если бы проектом Newton руководил кто-то, способный чувствовать, что нужно рынку, и заранее отказываться от тупиковых направлений в развитии, и если бы Newton вышел в свет не в 1993-м, а в 1989-м или 1990-м… Но, увы, все случилось так, как случилось. Apple Computer исполь...

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

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

Nintendo Switch – год спустя 3 марта 2017 года состоялась мировая премьера новой консоли японской компании Nintendo – Nintendo Switch. Новинка моментально привлекла своей концепцией и форм-фактором к себе внимание. Многие изначально пророчили консоли забвение и провал. Но вот прошел уже год. За ...

«Google Таблицы» теперь поддерживают макросы Можно создать последовательность действий и сохранить её для дальнейшего использования.

[Перевод] Реактивные приложения с Model-View-Intent. Часть 3: State Reducer В предыдущей части мы обсудили, как реализовать простой экран с паттерном Model-View-Intent, использующим однонаправленный поток данных. В третьей части мы построим более сложный экран с MVI с помощью State Reducer. Читать дальше →

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

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

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

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

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

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

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

[Перевод] Конференция DEFCON 22. «Один дома с автоматической системой защиты». Крис Литтлбери Меня зовут Крис Литтлбери, я работаю старшим испытателем систем безопасности от проникновений в компании Knowledge Consulting Group, которая расположена в округе Колумбия. Я люблю конструировать всякие интересные вещи, придавая обычным устройствам необычные функции. Например...

«Cделать красиво». Визуализация обучения с Tensorboard от Google Красота, как известно, требует жертв, но и мир обещает спасти. Достаточно свежий (2015г) визуализатор от Google призван помочь разобраться с процессами, происходящими в сетях глубокого обучения. Звучит заманчиво. Красочный интерфейс и громкие обещания затянули на разбор ...

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

Обзор Bayonetta 1 & 2 – Лучшее время ознакомиться с классикой Игры серии Bayonetta известны многим. Даже если вы в них не играли, вы наверняка слышали о возмутительной одноимённой героине, одним взмахом волос отправляющей демонов обратно в преисподнюю. Возможно, вы читали где-то о том, что создатель легендарных Devil May Cry Хидэки Кам...

«Когда приходит Муза…» Сегодня серовская поэтесса Марина Благо часто выступает на поэтических мастер-классах, которые проводятся в училищах и школах. Читает подросткам свои стихи, пытаясь зажечь в них интерес к литературе. А было время, когда Марина Юрьевна писала только для себя. Марина вспоминае...

Реализация простой пиксельной игры в блокчейне Ethereum Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскр...

Готовим Juniper сеть с помощью Ansible В один прекрасный день я решил перейти с обычного rsyslog собирающего логи со всех устройств на что-то другое, выбор и прочее к данной теме мало относится (выбрали Graylog2), но по итогу появилась задача заменить на всех устройства Juniper настройки syslog хоста. В принц...

[Перевод] Мышление в стиле Ramda: Декларативное программирование 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объекты 7. Неизменяемость и массивы 8. Линзы 9. Заключение Данный пост является четвёртой частью серии о функциональном про...

LeEco Le X: минутка ностальгии О печальной участи LeEco написано уже много статей и всевозможных материалов. Фанаты бренда в Китае нарекли «могильщиком» бренда его основателя и бывшего руководителя Цзя Юэтина, который бездумно и расточительно использовал активы компании лишь с целью раскрутки ...

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

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

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

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

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

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

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

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

Новый трейлер по-настоящему безумной MMORPG Mad World Первый трейлер MMORPG Mad World от Jandisoft вышел еще в прошлом июле. Больше всего игроков привлекли не звук, дизайн или геймплей (которые также восхитительны), а технологии — проект целиком построен на HTML5, что гарантирует кросс-браузерную игру для всех платформ PC, Linu...

Русские атаковали Instagram гения Хидэо Кодзимы Известный японский геймдизайнер Хидэо Кодзима, автор серии игр Metal Gear, спустя много лет, наконец-то, зарегистрировался в Instagram. Как ни странно первыми или одними из первых об этом написали российские развлекательные СМИ. И результат расторопности коллег получился вес...

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

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

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

[Перевод] Комитет по стандартизации С++ срывает с себя оковы Радикальная перемена в подходе к обновлениям и дополнениям в Стандарте C++ случилась на недавней встрече WG21, — или, скорее, это было изменение, которое «висело в воздухе» вот уже в течении нескольких последних встреч, и теперь наконец было обсуждено комитетом и задокументи...

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

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

Конференция AgileDays 22 и 23 марта 2017 22 и 23 марта в Москве в Центре Международной Торговли состоится конференция AgileDays’18. В этом году она проводится 12-й раз. В очередной раз докажем, что наша конференция самая крутая по тематике Agile в России и Восточной Европе! На AgileDays будет почти 100 докладов, ...

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

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

Koala Phone 1.19.5 Koala Phone — это просто лаунчер, разработанный для новичков-пользователей смартфонов, людей со слабым зрением и пожилых. Он помогает всем, кто хочет простой телефон с большой клавиатурой. Большой читаемый текст и большие кнопки делают телефон проще в использовании. Он ...

[Перевод] Мышление в стиле Ramda: частичное применение (каррирование) Данный пост — это третья часть серии статей о функциональном программировании под названием «Мышление в стиле Ramda». 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объек...

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

Ryzen 7 2700X на высоких частотах В интернете появилась информация о том, что компания AMD планирует выпустить в свет процессор Ryzen 7 2700X. У него будет восемь вычислительных ядер и в режиме разгона работать он будет на тактовой частоте 4,2 гигагерца. Да, когда-то давно разработчики старались уделать друг...

Открытая бесплатная трансляция конференции Mobius 2018 Piter 20-21 апреля, то есть уже завтра-послезавтра, в Петербурге пройдёт конференция по мобильной разработке Mobius. Android и iOS, разнообразные темы от многопоточности до тестирования, российские спикеры и зарубежные звёзды — о том, что там будет, мы уже писали. А вот о чём ...

Kotaku: разработчики Mafia 3 знали о проблемах игры, но ничего не могли исправить Возвращение серии Mafia стало для многих сюрпризом. Первую часть в своё время затмила GTA III, продажи второй пострадали из-за релиза Red Dead Redemption, после чего о серии не появлялось никаких новостей. В итоге Mafia 3 всё же увидела свет, но на разработчиков обр...

ВЦИОМ внедрит блокчейн-технологии для проведения exit poll на выборах Данный проект станет одним из первых в мире примеров использования распределенной системы хранения данных в рамках электоральных исследований. Проект предполагает хранение данных, получаемых в результате опросов на выходе с избирательных участков, в специальном блокчейн-хран...

Serverless приложение с реализацией CI/CD на базе AWS и Bitbucket Pipelines В статье рассказывается о развертывании Django приложения в облаке AWS с помощью Bitbucket Pipelines. Тем, кому интересна эта тема, добро пожаловать под кат. Вперед, на мины! Читать дальше →

История одного проекта автоматизации, или как реализовать смешанный учет основных средств с помощью одного инструмента К нам в компанию обратился заказчик, перед которым стояла задача инвентаризации ОС. Казалось бы, что может быть проще: берем любое мобильное устройство на Android, заливаем туда ПО DataMobile Invent, цепляем к «1С: Бухгалтерия 3.0» и вуаля, задача решена! Но, как обычно это ...

Новинки C# 7.2. Span<T> и Memory<T> Доброго времени суток, %habrauser%! Столкнувшись с проблемой замедления работы системы при передачи использовании переменных хранимых в стеке я отправился в гугл и нашел отличное решение использование коллекции Span<T>, которая была добавлена в версии языка C# 7.2. Н...

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

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

[Из песочницы] 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: Постоянная память и интерфейс командной строки ...

Партнёры Nvidia утверждают, что её партнёрская программа GeForce Partner Program серьёзно нарушает антимонопольное законодательство В своё время Intel попала в центр достаточно громкого скандала. Оказалось, что компания при продаже своей продукции крупным клиентам прибегала к противозаконным действиям. К примеру, платила клиентам за отказ от процессоров AMD. Но это достаточно старая история. Несмо...

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

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

Случайные эволюционные стратегии в машинном обучении Нейронные сети учатся совсем не так как люди. Оптимизация нейронной сети — на самом деле градиентный спуск по некоторой функции потерь $inline$E(\theta)$inline$, где переменными являются веса слоёв $inline$\theta$inline$. Это очень мощный подход к подстройке системы, который...

#Опрос: Пользуетесь ли вы приложениями на Apple Watch? Сегодня стало известно, что вслед за Twitter, Google Maps, Amazon и eBay платформу watchOS покинул корпоративный мессенджер Slack, который является рабочим инструментом в нашей редакции. Разработчики все чаще предпочитают ограничиваться функциональностью iOS-версий своих п...

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

Tkeycoin набирает разработчиков по методу Алана Тюринга Фитнес-индустрия в США уже несколько десятилетий находится на очень высоком уровне. Люди, постоянно следящие за здоровьем, всегда стараются быть в тренде; пробуют новые форматы тренировок, внедряют инновационные идеи в жизнь и все для достижения одной простой цели – сделать ...

Товары недели в магазине GearBest: часы, 3D-принетер, “умная” лампа и рюкзак Каждую неделю, да что там, каждую минуту в магазине GearBest.com появляются тысячи различных предложений. Неподготовленный пользователь легко потеряется в этом разнообразии товаров и скидок. Именно в этот момент появляемся мы – те кто ищут для вас интересные и, что гла...

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

Миграция с Check Point с R77.30 на R80.10 Здравствуйте коллеги, добро пожаловать на урок по миграции баз данных Check Point R77.30 на R80.10. При использовании продуктов компании Check Point рано или поздно встает задача миграции существующих правил и базы данных объектов по следующим причинам: При покупке но...

How-to: смена основного домена в G Suite для всей компании и с сохранением всех данных Появилась необходимость сменить основной домен компании в G Suite с .ru на .com с сохранением всех данных, календарей, псевдонимов и доступов на сторонние ресурсы. Информации о переезде в интернете не очень много, а точнее, кроме справки самого Google, вообще ничего не наш...

Все, что известно о Windows 10 Polaris Недавно появилась статья с описанием Microsoft Polaris. Что это такое? Сегодня мы узнаем об этом подробнее, внимательнее рассмотрев технологические планы Microsoft.Прежде чем мы начнём говорить о Polaris, давайте поговорим о Windows Core OS. Это будущее системы Windows. Это ...

Фото дня: как снимает камера Meizu 15 В воскресенье на специальном мероприятии в Китае состоялась премьера линейки Meizu 15. Все три новинки получили традиционный дизайн, и это выделяет их из череды устройств с вытянутыми экранами. Как относится к подобной приверженности компании к классическим канонам, каждый р...

Разбор предложений по шаблонам русского языка Существует несколько парсеров, подходящих для русского языка. Некоторые из них могут даже выполнять синтаксический анализ, как SyntaxNet, MaltParser и AOT: … или выявлять факты, как Tomita. Глядя на эти парсеры, я вижу какую-то огромную сложность вычислений, требования к...

[Перевод] Заметки о развертывании Ruby on Rails Deployment в Google Cloud Kubernetes Engine Я использую Google Cloud с Kubernetes Engine в течение 2 месяцев. На самом деле мне не понадобилось и месяца, чтобы уложить все в голове, но потребовалось еще столько же, чтобы разобраться с некоторыми неприятностями. TL;DR: Google делает довольно хорошую работу, поэтому AWS...

[Из песочницы] Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть...

[Из песочницы] Адаптивная верстка с помощью SCSS и Gulp Доброго времени суток, коллеги! Давно задавался вопросом, как оптимизировать и сделать более удобным код используя @media screen. Ибо код body{font-size: 1em;} @media screen and (max-width: 1024px){ body{font-size: 0.8em;} } создает достаточно крупные файлы. Читать дал...

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

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

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

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвим...

Как мы переняли опыт Khan Academy и сделали свой курс для тестировщиков Контур ежегодно запускает бесплатные курсы по программированию для студентов в Екатеринбурге, Питере, Новосибирске, Ростове-на-Дону, Ижевске, Перми и Казани. С 2013 мы выросли до 7 городов и 13 университетов, разработали свою онлайн-платформу ulearn.me, где с февраля 2018 ес...

[Из песочницы] Понимаем implicit'ы в Scala В последнее время у меня было несколько разговоров с друзьями из Java мира об их опыте использования Scala. Большинство использовали Scala, как улучшенную Java и, в итоге, были разочарованы. Основная критика была направлена но то, что Scala слишком мощный язык с высоким ур...

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

Дайджест интересных материалов для мобильного разработчика #244 (5 марта— 11 марта) В эту короткую неделю новостей и статей не очень много, но все же есть один день разработчика в банке, исследование приложения Instagram в поисках звонков, анимации, разведение собственных криптокотов, ретаргетинг и дефицит UX. Читать дальше →

Теперь я тебя вижу: выявление бесфайловых вредоносных программ Злоумышленники твердо намерены применять для обхода средств защиты все более сложные методы. Использование бесфайловых вредоносных программ повышает незаметность и эффективность атаки. В прошлом году бесфайловые методы применялись в ходе двух крупномасштабных кампаний по рас...

[Из песочницы] Система вызова смарт-контрактов в блокчейне Ethereum Задача Часто разработчики смарт контрактов под Ethereum сталкиваются с, казалось бы, простой проблемой — вызов кода смарт-контракта в будущем или по расписанию. Но подходящего решения нет, и приходится разрабатывать отдельный сервис для вызова контрактов. Разрабатывая конт...

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

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

[Перевод] Расшифровка сохранённых паролей в MS SQL Server Давным-давно, в далёкой галактике, пред-предыдущий администратор вашего SQL Server задал в нём linked server, используя специально для этой цели созданный аккаунт со сгенерированным паролем. Теперь вам с этим линком нужно что-то сделать, например перенести его на другой SQL ...

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

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

Elastic Car 2 — BeamNG на минималках Почему-то именно BeamNG вспомнилась во время тестирования Elastic Car 2. Но еще вспоминается Algodoo. Последняя, конечно, гораздо более масштабна, однако в ней можно было скачать карты с разрушаемыми автомобилями. Elastic Car 2 предлагает игроку множество карт и автомобиле...

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

Дайджест интересных материалов для мобильного разработчика #245 (12 марта— 18 марта) Праздники все закончились и вот у нас в дайджесте много интересных материалов – про успех ролла «Калифорния», правильную анимацию, борьбу с Siri внутри Apple, кроссплатформенную разработку, джуниоров и мидлов. Читать дальше →

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

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

Пиропринтер. Часть 3. Программное обеспечение Пропуская вторую часть статьи из за того что для большей части людей она по сути не интересна. Приступим к подготовки фото и выжиганию. (Часть 0   Часть 1)Для этого понадобиться 3 программы, в итоге весь процесс делится на 3 этапа.1. Photoshop (или любой другой фото ред...

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

Альтернативный взгляд на задачу от Одноклассников с JPoint 2018 Всем привет! В последнее время стало модным делать разоблачения на задачи. В посте решил привести свои соображения по задачам Одноклассников. Задачи понравились, но уж больно получились неоднозначными, а в отведённое на листочке место всё не уместить. Обсудим? Внимание! В о...

Обзор Final Fantasy XV: Royal Edition – JRPG на пике формы Жанр JRPG всегда отпугивал одних и притягивал других. Чаще всего эти игры похожи друг на друга, а их разработчики не жалуют инновации, предпочитая выверенные до идеала формулы. Final Fantasy XV, однако, другая. Игра, находившаяся в разработке десять лет, получилась непохожей...

[Перевод] Ричард Хэмминг: Глава 3. История компьютеров — железо «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

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

Состоялся релиз очередной части из серии идеальных головоломок The Room: Old Sins на Android Fireproof – наверное, любимый разработчик головоломок для мобильных устройств у большинства геймеров. Много лет он создает превосходные проекты в серии The Room, которые становятся красивее, загадки — изощреннее и даже с определенным сюжетом, следить за которым интересно. Ре...

«Мамкин архитектор». Часть 1: Взлеты и падения программной инженерии Доброго времени суток, уважаемые читатели Хабра. Представляю вашему вниманию цикл статей «Мамкин архитектор». В нем я постараюсь отразить личное мнение относительно построения гибких архитектур. Попутно объясню, как это пригодится менеджерам и поможет разработчикам укрепить ...

Lamborghini Huracam называют самой быстрой камерой на колесах в мире Компания Incline Dynamic Outlet взяла за основу суперкар Lamborghini Huracan, поместила в багажный отдел спереди очень дорогую камеру Red Epic 8K, назвав полученный аппарат самой быстрой камерой на колесах в мире. Примечательно то, что вышеупомянутая камера стои...

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

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

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

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

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

День, когда написали самый первый твит 21 марта 2006 года появился первый в мире твит. Его написал в еще закрытой социальной сети создатель Twitter (а кому бы ещё он это доверил?!) Джек Дорси: «just setting up my twttr» («просто настраиваю свой твиттер»). Самый первый твит Идея «Твит...

Опубликовано изображение смартфона Vivo с экраном во всю фронтальную панель Vivo уже успела удивить мир первым в мире смартфоном с дактилоскопическим датчиком, размещенным под экраном, а сейчас один из пользователей китайской социальной сети Weibo опубликовал фото другой не менее интересной новинки под маркой Vivo. Увы, ни характеристик, ни и...

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

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

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

Apache Ignite — вычисления в гриде Вычисления в гриде или майнинг «красивых» хешей, такую задачу я решил проверить для вычисления в гриде Apache Ignite. Ранее я пробовал и писал Ignite как Sql БД, но для себя я понял что это пока удобная опция в этой вычислительной системе (к SQL на Ignite я еще вернусь), име...

#скидочки | 15 февраля Blinks (75 руб.) | Warmlight (Бесплатно) | Tubot for YouTube (Бесплатно) Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iP...

V for Validator Когда перед нами стоит выбор инструмента для валидации пользовательских данных, то речь чаще идет о интерфейсе задания правил. Сегодня таких инструментов превеликое множество от декларативных до объектных. Каждый валидатор пытается быть выразительным и простым в использовани...

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

Nubia V18: скоро премьера Похоже, что все крупнейшие китайские производители смартфонов решили отметиться премьерами в марте. На подходе Oppo R15 и R15 Plus, на 20 марта Lenovo назначила премьеру «убийцы» Xiaomi Redmi Note 5, а на следующий день состоится анонс Meizu E3. Представят очеред...

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

Windows 10 Build 17650 – Защитник Windows, Microsoft Store, Вкладки Как обычно, Microsoft в конце недели дает инсайдерам новую сборку Windows 10 под номером 17650. Толком еще Redstone 4 не вышла, а уже идет вовсю разработка Redstone 5. Изменений катастрофически мало, но мой долг перед Родиной заключается в том, чтобы осветить их, так как вам...

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

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

Meizu позволит легким свайпом скрывать панель Super mBack Меньше месяца назад мы делали обзор смартфона Meizu M6S, где подробно рассматривали все его «плюсы» и «минусы», а также уделили особое внимание функции «Super mBack». Вкратце, это единая кнопка управления Android, которая заменила собой ст...

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

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

[Перевод] Обнаруживаем целочисленные константные выражения в макросе [вместе с Линусом] Вашему вниманию предлагается перевод недавнего письма по поводу неоднозначной идеи из рассылки Linux Kernel Mailing List, вызвавшей традиционную реакцию Линуса Торвальдса. Необходимые для понимания пояснения предоставлены в конце поста. ПисьмоОтправитель: Мартин Уэкер Дата:...

Сложный колл-центр на JavaScript Хорошо сделаный колл центр приносит пользу: подтверждает заказы, напоминает о конференциях и доставке готовой еды. У нас в Voximplant есть модуль ACD и концепция очередей, с их помощью на платформе можно за пару часов собрать простое решение для распределения звонков. Почем...

Анатомическая метафора кода. Где у кода мускулы Размышлял как-то о коде, программировании и всём таком; бродили всякие мысли. А что если взять, например, и заставить двух разработчиков написать несложные программы по одному ТЗ. Программисты одинакового уровня. Пишут независимо друг от друга. Код у них, естественно, получи...

Проверяем исходный C#-код Unity Недавно произошло долгожданное для многих событие — компания Unity Technologies разместила исходный C#-код игрового движка Unity для свободного скачивания на GitHub. Представлен код движка и редактора. Конечно, мы не могли пройти мимо, тем более, что в последнее время мы пи...

Google выпустила игровое приложение для изучения JavaScript Area 120, внутренний инкубатор Google, выпустил приложение Grasshopper, которое через ряд мини-игр обучает основам программирования на JavaScript. Задачи в приложении небольшие, поэтому можно решать их, когда найдётся свободное время. После входа с использованием ак...

[Перевод] Я разработчик с 9 до 17 (и ты можешь стать таким) Этот конкретный твит от Сафьи Адбалла сподвиг меня на некоторые размышления: Пожалуй, непопулярное мнение (и тут немного иронии от меня). Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техничес...

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

[Перевод] Туториал: toon-контуры в Unreal Engine 4 Когда говорят о «toon-контурах», то имеют в виду любую технику, которая рендерит линии вокруг объектов. Как и cel shading, контуры помогают игре выглядеть более стилизованной. Они могут создавать ощущение того, что объекты нарисованы красками или чернилами. Примеры такого с...

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

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

dev||bet – битва программистов и технологий Собаки vs кошки, водители vs пешеходы, Coca-Cola vs Pepsi, BMW vs Mercedes, колбаса vs сыр, узвар vs морс, добро vs зло, в конце концов! Но нет, мы, как всегда, спорили о том, какой язык программирования лучше. В ход шли классические аргументы о производительности со ссылк...

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

TOП-10. Разбор лучших докладов в свободном доступе. Heisenbug 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов, делаю краткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке увеличения рейтинга — то есть в с...

Ни в чём себе не отказывайте: даём карт-бланш на нецензурируемые отзывы о наших мероприятиях в нашем блоге Хорошо или плохо, когда яблоком раздора становится не сама вакансия, а право на её существование? Анонс завтрашнего московского турнира соискателей вакансий Software Engineering Manager вдруг стал «местом для дискуссий». И дискуссий таких острых, что стало ясно — бросать...

[Перевод] Зомби, которые съедают вашу память Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти...

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

Моделирование динамических систем: численные методы решения ОДУ Введение Очень кратко рассмотрев основы механики в предыдущей статье, перейдем к практике, ибо даже той краткой теории что была рассмотрена хватит с головой. Итак, задача: Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением во...

Как я искал идеальный инструмент для проектирования разговорных интерфейсов, или В поиске священного Грааля Павел Гвай, android-разработчик KODE Привет, меня зовут Павел pavelgvay, я работаю в калининградской студии разработки мобильных приложений KODE и около года назад активно погрузился в процесс разработки приложений для Google Assistant и просто-таки залип над этапом проект...

Игра про выживание DESOLATE выходит в ранний доступ Разработчики из студии HypeTrain Digital на протяжении нескольких месяцев молчали о своём продукте DESOLATE и игроки уже успели позабыть, почему обратили на него внимание. В Steam, например, лишь изредка выкладывали небольшие статьи с картинками из игры, но про сам процесс с...

#Ускорение4X. Адвокат дьявола Сегодня рассмотрим конкретный прием, который, при честном применении, может решить задачу ускорения до 4X, и дальнейшие статьи можно будет не читать. Этот прием называется «Адвокат дьявола», и цель его применения в нашем случае — снижение сопротивления людей. Сопротивление ...

[Перевод] Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры(Часть 2 — Слои) В 2017 году Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(...

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

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

Как вести Telegram-канал О том, для чего нужен Telegram-канал, как его эффективно продвигать и нужен ли он вообще, рассказал руководитель отдела SEO-продвижения агентства «Реаспект» Руслан Фатхутдинов на митапе Теплицы социальных технологий в Казани 27 февраля 2018 года. У канала «Иде...

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

«Чем больше клиентов у ВК, тем больше их и у нас» Пара слов от основателя Церебро таргет Феликса Зинатуллина о том, как уживаются парсеры и «официальный» функционал соцсети.

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

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

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

Meizu ищет желающих для теста геймерского смартфона Razer довольно внезапно вышла на рынок смартфонов, но успех Razer Phone не оставил равнодушным никого. Так, компания Meizu одной из китайских социальных сетей выложила постер о том, что она ищет тестеров для грядущего смартфона, предназначенного для геймеров. Заявки принимаю...

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

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

Pre-sale инженер — личный психолог сейла или человек на границе денег и техники Одной из довольно интересных вакансий на рынке труда в сфере IT является должность pre-sale инженера (к сожалению часто пишут pre-sale менеджера). И очень часто по отношению к данной профессии можно услышать вопрос: «Что входит в круг обязанностей данного специалиста?». Да...

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

Украина намерена денонсировать договор о дружбе и сотрудничестве с РФ Украина планирует расторгнуть договор о дружбе с РФ и выйти с СНГ. Соответствующие документы были подготовлены МИД Украины и в скором времени будут представлены президенту Петру Порошенко. Депутат Верховной Рады Светлана Зищук в личном микроблоге проинформировала о новом п...

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

Программист из Google о российских дипломах, собеседованиях и работе в Кремниевой долине Есть у меня одно увлечение – интервьюировать IT-специалистов из Кремниевой долины. Не с целью приема на работу, а просто о жизни в США и работе в крупных компаниях. Мой сегодняшний герой – Евгений Краско, программист из YouTube. –Я родом из Екатеринбурга, после окончания ...

Что такое EVPN/VXLAN В этой статье я расскажу — что такое EVPN/VXLAN и почему особенности этой технологии кажутся мне привлекательными для применения в ЦОД. Я не буду глубоко погружать вас в технические детали, а остановлюсь на них лишь в той мере, в которой это необходимо для знакомства с техно...

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

Айфончик, не лагай. Часть 1: многопоточность для практиков Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет. На волне про соискателей скажу, что регулярно провожу собеседования мобильных разработчиков для компаний. Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, п...

Бета-тест королевской битвы со строительством FortCraft стартовал на пару часов раньше Fortnite Fortnite только готовится выйти на мобильных устройствах, а остальные разработчики уже начали ее копировать. Первыми подоспели NetEase, анонсировавшие бета-тест FortCraft – королевской битвы с элементами строительства, безумно напоминающей разработку Epic Games. Это уже не п...

Новая серия компактных 3D-сканеров Polyga Разработчики технологий 3D-сканирования и обработки из Polyga поставили перед собой важную миссию: производить сканеры, которые приятно впечатлят пользователей. У компании имеется большой опыт (больше 10 лет) работы в данной сфере. Поэтому Polyga успешно усовершенствует свои...

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

Ускорение сборки JavaScript-кода с использованием webpack 2–3 Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры. Иван Сосн...

Sawtooth: новая модульная платформа для корпоративного блокчейна Сообщество Hyperledger, поддерживаемое Linux Foundation и развивающее технологии блокчейна для корпоративного применения, представило свою вторую модульную платформу. Сообщество Hyperledger, поддерживаемое Linux Foundation, представило Sawtooth 1.0 &ndash; модульную п...

[Перевод] Кодинг без клавиатуры: создание игры hands-free Dig Dog — это забавная маленькая видеоигра. Можно назвать её "Spelunky для детей", и не стоит считать это сомнительным комплиментом. Dig Dog, недавно выпущенная для iOS, Xbox, Windows и Mac, отказалась от некоторых сложных элементов жанра, имеет плавное управление и обладает...

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

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

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

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

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

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

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

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

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

[Из песочницы] Классификация музыкальных композиций по исполнителям с помощью Скрытых Марковских Моделей Скрытые марковские модели (Hidden Markov Models) с давних времен используются в распознавании речи. Благодаря мел-кепстральным коэффициентам (MFCC), появилась возможность откинуть несущественные для распознавания компоненты сигнала, значительно снижая размерность признаков...

Facebook требовал от сотрудников увеличения аудитории любой цено Один из наиболее влиятельных менеджеров Facebook Эндрю Бозворт, известный как Боз, рекомендовал своим сотрудникам использовать любые методы, если они помогают увеличить аудиторию соцсети, следует из его письма подчиненным, опубликованного Buzzfeed. Документ, который называет...

Rubber от REC и PRO-Flex от Filamentarno na Raise3d N2 Plus dual (пост №1) Всем доброго времени суток. Сегодня решил попробовать два описанных в заголовке материала на своем принтере. Результат не заставил себя долго ждать, жаль что он совсем не со счастливым концом. Картинок не будет, т.к. писал пост уже дома, а принтер поставил в офис. Флексы и...

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

Как поиграть Playerunknown’s Battlegrounds (PUBG) на IPhone или IPad уже сегодня? На данный момент в Китае запущены две мобильные игры Playerunknown’s Battlegrounds и многим геймерам уже не терпится скачать их. Это (в переводе с китайского) PUBG: Exhilarating Battlefield — игра с оранжевой иконкой, и PUBG: Army Attack — игра с голубой иконкой....

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

Стартап SPEE3D создал технологию ультрабыстрого наплавления металла В текущем году наблюдается резкий рост и развитие новых методов объемной печати металлом. Разработка недорогих технологий компаниями Desktop Metal, Markforged и Xact Metal указывает на то, что основная проблема для их массового внедрения – себестоимость – отходит на второй п...

Искусство эксплойта минных полей: Разбираем CTF-таск про игру в Сапёра из «Мистера Робота» Здравствуйте, хабро-дамы и хабро-господа! Recently попался мне случайно на глаза один эпизод из недавно модного сериала «Мистер Робот». Не будучи сильно знакомым с проектом, я всё же знал о связанной с ним массивной пиар-компании (которая вроде как даже проводила нечто вро...

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

Как мы делали «нарратив» – новый формат публикаций в Яндекс.Дзене Два года Яндекс.Дзен учился решать задачу персональных рекомендаций контента. Теперь Дзен — не только агрегатор статей и видео со сторонних ресурсов интернета, но и контент-площадка. Летом 2017 года была запущена платформа издателей, на которой каждый может создавать публика...

Смартфоны Doogee - новый взгляд на доступные устройства Несмотря на то, что компания Doogee является одним из самых молодых китайских производителей, ее устройства уже успели завоевать популярность среди пользователей не только азиатского рынка, но и стран Европы, Африки и даже регионов постсоветского пространства. Смелые и креат...

Как выбирать и контролировать журналистов(копирайтеров) при написании статей для информационных сайтов Сегодня я расскажу о том как контролировать журналистов(копирайтеров) при написании статей для информационных сайтов. В первую очередь нужно разделять журналиста и копирайтера. Журналист это тот кто продумывает текст и пишет интересную статью. Коприайтер это тот кто НАБИРАЕТ...

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

Контроллер Arduino с датчиком температуры и Python интерфейсом для динамической идентификации объектов управления Введение Возможность получения действительной информации о состоянии реальных объектов в реальном масштабе времени позволяет обоснованно приступать к следующему этапу анализа и синтеза систем – математическому моделированию динамических характеристик объектов управления. В ...

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

Математические хитрости — учимся быстро считать в уме Хорошо считать в уме может не каждый. И дело скорее не в умственных возможностях людей, а в неправильном подходе к обучению детей в начальных классах. Им попросту не объясняют, как можно хорошо и быстро считать в уме. Для таких случаев есть отличное приложение «Математическ...

Хакинтош: обновляемся с macOS Sierra 10.12 до High Sierra 10.13 Всем доброго времени суток, уважаемые коты, дамы и господа. Как-то давно (года два назад) я писал статью по установке хакинтоша на ваш Intel-Based ПК. Статья устарела как мир, но все таки полезное там что-то есть. Например порядок установки будет тем же, если вы замените ус...

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