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

[Перевод] Что нового в LLVM LLVM 6 уменьшает опасность Spectre, имеет улучшенную поддержку Windows и CPU компании Intel, а также включает WebAssembly в число поддерживаемых целевых платформ. Инфраструктура компилятора LLVM прошла путь от технически любопытной вещи до живой части современного ландшаф...

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

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

Полный перечень intrinsic-функций в HotSpot в JDK 7, 8, 9 и 10 Интринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2...

[Перевод] Ускоренный курс по ассемблерам Это перевод одной из статей Lin Clark. Если вы не читали остальные, мы рекомендуем начать с начала. Чтобы понять, как работает WebAssembly, неплохо понимать, что такое код на ассемблере и как компиляторы его генерируют. В статье о JIT я сравнивала взаимодействие с компьюте...

[Из песочницы] REST API Best Practices Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan. REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе чер...

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

[Из песочницы] Знакомство с новым элементом dialog Привет, Хабр! Представляю вашему вниманию перевод статьи "Meet the New Dialog Element" автора Keith J. Grant. HTML 5.2 представил новый элемент dialog для нативных модальных окон. На первый взгляд, он кажется довольно простым (так и есть), но поигравшись с ним я о...

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

[Перевод] Уроки, которые можно извлечь из кодовой базы LLVM/Clang От переводчика: в статье, которую я предлагаю вашему вниманию, авторы исследовали кодовую базу LLVM/Clang с помощью инструмента анализа кода CppDepend, позволяющего вычислять различные метрики кода и анализировать большие проекты с целью улучшения качества кода. Время доказ...

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

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

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

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

[Из песочницы] Понять Биткойн и будущее. Как то, что вы знаете, будет переосмыслено навсегда Привет, Хабр! Представляю вашему вниманию перевод статьи "Understanding Bitcoin and the Future. How What You Know Will Be Redefined Forever" автора Andrian Iliopoulos. Bitcoin. Криптовалюта. Децентрализованное приложение. Пузырь. Инвестиции. Спекуляции. Следующа...

[Перевод] The Dream Machine: История компьютерной революции. Пролог Эту книгу советует Алан Кей. Он часто говорит фразу «Компьютерная революция еще не случилась.» Но компьютерная революция началась. Точнее — ее начали. Ее начали определtнные люди, с определенными ценностями и у них было видение, задумки, план. Исходя из каких предпосылок р...

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

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

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

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

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

[Из песочницы] Font (ещё более) Awesome — узорное изобретение Привет, Хабр! Представляю вашему вниманию перевод статьи "Font (More) Awesome — an iconic invention" автора Pubudu Dodangoda. Создаёте ли вы веб-сайт, мобильное или настольное приложение, есть несколько вещей, которых вам не удастся избежать. Правильное использован...

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

[Из песочницы] Почему ранний возврат из функций так важен? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описани...

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

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

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

[Из песочницы] Соревнование Pri-matrix Factorization на DrivenData с 1ТБ данных — как мы заняли 3 место (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Animal detection in the jungle — 1TB+ of data, 90%+ accuracy and 3rd place in the competition". Или чему мы научились, как выигрывать призы в таких соревнованиях, полезные советы + некоторые мелочи TLDR Сут...

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

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

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

[Из песочницы] Почему вы должны дать еще один шанс замыканию Привет, Хабр! Представляю вашему вниманию перевод статьи «Why you should give the Closure function another chance» автора Cristi Salcescu. В JavaScript функции могут быть вложены внутри других функций.Замыкание это когда внутренняя функция имеет доступ к переменным родитель...

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

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

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

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

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

[Из песочницы] Смена профессии: из графического дизайнера в фронтенд-разработчика Привет, Хабр! Представляю вашему вниманию перевод статьи "How I transitioned from a graphic designer to front-end developer in 5 months" автора Vince MingPu Shao. 2017 год оказался для меня сложным, но захватывающим. Я бросил работу графического дизайнера в Марте,...

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

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

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

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

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

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

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

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

[Перевод] Автоматизируй, когда можешь, программируй, когда необходимо Здравствуйте, уважаемые читатели Вот-вот в издательстве O'Reilly выйдет очередная занятная книжка с крокодилом Этот увесистый компендиум всесторонне освещает вопросы о том, в какой степени сисадмин должен быть «network engineer», как оптимально соотносится автоматизация и...

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

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

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

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

Мой опыт консультирования по JavaScript (React/Redux) Всем добрый день. В марте-апреле исполнится два года, как я выпустил небольшие текстовые книги по React на русском языке. Учебники без "воды" вышли в удачное время, и я получил много посещений, скачиваний и "читателей", так же известных как разные ip-адреса. Книги окунули ме...

Создаём Android Twitter-приложение Привет, Хабр! Предлагаем вашему вниманию курс, в котором рассмотрено пошаговое создание Twitter-клиента. Читать дальше →

Оповещение в Telegram и Slack в режиме реального времени. Или как сделать Alert в Splunk — Часть 2 Мы продолжаем тему алертинга в Splunk. Ранее мы говорили о том, как настроить отправку оповещений на электронную почту, а сегодня покажем Вам, как отправлять уведомления в мессенджеры, такие как Telegram и Slack. В статье вы найдете пошаговую инструкцию по настройке. Читат...

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

Как я визуальную новеллу препарировал Привет, Хабр! На днях я захотел достать ресурсы одной визуальной новеллы, созданной с помощью Ren'Py (Да, да, того самого "Бесконечного Лета"). Опытным путем было установлено, что все они хранятся в файле archive.rpa. Я нашел готовые скрипты для распаковки на Github, но реши...

[Перевод] Классы и фабричные функции в JavaScript. Что выбрать? В JavaScript существуют разные способы создания объектов. В частности, речь идёт о конструкциях, использующих ключевое слово class и о так называемых фабричных функциях (Factory Function). Автор материала, перевод которого мы публикуем сегодня, исследует и сравнивает эти две...

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

[Из песочницы] Средства миграции данных Android и улучшение поддержки приложений Привет, Хабр! Представляю вашему вниманию перевод статьи «Discover tools for Android data migration and improve your app retention» авторов Sean McQuillan и Prateek Tandon. Пользователи создают учетные записи, активируют их, а затем сохраняются, когда многократно запускают ...

Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4 По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript. Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с...

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

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

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

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

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

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

[Перевод] 10 главных секретов продуктивности Илона Маска Этим летом я прочитал книгу Илона Маска Tesla, SpaceX, and the Quest for a Fantastic Future. Замечательное чтиво и подробный рассказа о взлётах и падениях одного из крупнейших визионеров нашего времени. Также книга позволила ознакомиться с рабочей этикой Маска и секретами ...

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

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

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

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

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

[Перевод] Как работает JS: движки рендеринга веб-страниц и советы по оптимизации их производительности Сегодня, в переводе одиннадцатой части серии материалов, посвящённых JavaScript, мы поговорим о подсистемах браузера, ответственных за рендеринг веб-страниц. Они играют ключевую роль в деле преобразования описаний документов, выполненных с помощью HTML и CSS, в то, что мы ви...

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

[Перевод] Джон Кармак: Недельный отпуск, проведенный за программированием Вашему вниманию предлагается перевод поста Джона Кармака, опубликованный им в Facebook на прошлой неделе и обретший некоторую популярность. После многолетнего перерыва я наконец решился взять ещё один отпуск, который провёл за программированием. Целую неделю я смог спокойно...

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

Языки программирования для квантового компьютера Прототип ядра ионного квантового компьютера. Ion Quantum Technology Group, Сассекский университет Квантовые компьютеры время от времени попадают в СМИ. Вы слышите о том, как человек шаг за шагом приближается к их созданию, хотя для большинства развитие квантовых вычислений ...

Поднимаем SOCKS прокси для Telegram Поднять свой socks прокси очень просто — справится даже далекий от Linux и серверного администрирования человек. Достаточно иметь VDS/выделенный сервер за границей. Пошаговая инструкция для запуска своего sockd прокси на Centos7 Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

Опять про пустые перечисления в C# На этот пост мня вдохновила свежая статья на Хабре отсылающая к уже давней проблеме (и советующей статье) о том, как же проверить, что IEnumerable является пустым. Однако в оригинальных статьях, авторы больше сфокусировались на том как оформить проверку, предположив, что про...

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

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

Создание анимаций переходов между Activity в Android Начиная с Android 4.4 в арсенале разработчиков появился дополнительный инструмент для создания анимаций — Transitions Framework. Изначально он предназначался для создания анимаций изменения состояния приложения путём манипулирования несколькими View. С выходом Android 5.0 на...

[Перевод] [в закладки] Инструменты для тестирования JavaScript-проектов Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тесто...

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

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

N+1 полезных книг про бизнес – шестой (на самом деле восьмой) год Привет! Это пятый пост про книги: мы их читаем и запоминаем, которые были полезны для развития компания и вообще. Поскольку это уже пятая подборка, в неё попало достаточно много странных вещей — классика управления проектами и бизнеса не сильно меняется. Первая в списке ...

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

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

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

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

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

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

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

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

[Перевод] Figma web-API — интерфейс, позволяющий подключаться к другим инструментам Первый шаг к открытой дизайн-экосистеме Mobile Dimension публикует перевод оригинальной статьи Figma, посвященной web API. Сегодня мы рады запустить платформу Figma — новый способ улучшить процессы дизайна и проектирования с помощью подключения Figma к другим инструмента...

[Перевод] Terraform: новый подход к Infrastructure as code Привет, коллеги! Пока блистательный Илон Маск вынашивает амбициозные планы терраформирования Марса, мы интересуемся новыми возможностями, связанными с парадигмой "Infrastructure as Code" и хотим предложить вам перевод статьи об одном из представителей «великолепной семерки» ...

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

Изучение истории без штудирования книг Хабр, привет! Мы продолжаем рассказывать о прошлогодних финалистах нашего конкурса студенческих стартапов в сфере IT ImagineCup. Сегодня у нас обладатели приза зрительских симпатий: VR-HistoryTeam. Они создали VR-платформу, с помощью которой люди могут изучать историю, наход...

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

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

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

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

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

По мотивам Marvel’s Spider-Man выпустят две книги и артбук Titan Books и Marvel Comics выпустят две книги о Человеке-пауке. Оба произведения приурочены к выходу экшена Marvel’s Spider-Man от студии Insomniac Games. Первое из них, «Человек-паук: Враждебное поглощение», появится на прилавках магазинов уже 21...

[Перевод] Знакомство с реактивными потоками – для Java-разработчиков Привет, Хабр! Сегодня мы вернемся к одной из тем, затрагиваемых в нашей замечательной книге "Реактивные шаблоны проектирования". Речь пойдет об Akka Streams и потоковой передаче данных в целом — в книге Роланда Куна этим вопросам посвящены главы 10 и 15-17. Читать дальше →

[Перевод] Ошибочное понимание принципа DRY Я знаю, о чём вы подумали: «Ещё одна скучная статья про DRY? Нам их мало, что ли?». Возможно, вы правы. Но я встречаю слишком много разработчиков (junior и senior), применяющих DRY так, словно они охотятся на ведьм. Либо совершенно непредсказуемо, либо везде, где можно. Та...

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

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

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

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

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

[Перевод] Алан Кей: как бы я преподавал Computer Science 101 «Одна из причин, чтобы на самом деле поступить в университет — это выйти за рамки простой профессиональной подготовки и вместо этого уцепиться за более глубокие идеи.» Давайте немного задумаемся над этим вопросом. Несколько лет назад кафедры Computer Science пригласили ме...

[Из песочницы] Обеспечение автоматизации проверки владения доменом на основе DNS-записей в протоколе ACME [перевод] От переводчика: Это перевод статьи от EFF A Technical Deep Dive: Securing the Automation of ACME DNS Challenge Validation. Автор оригинальной статьи: Joona Hoikkala. Дата оригинальной публикации: 23 февраля 2018 Ранее в этом месяце, Let's Encrypt (бесплатный, автоматизирова...

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

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

Горшочек вари или 4 метода творческого подхода к решению задач В недавно прочитанной книге Дмитрия Чернышева «Как люди думают», обратила внимание на методы, которые помогают находить идеи и придумывать что-то новое. Методов, конечно, гораздо больше. Тот же ТРИЗ, о котором столько говорят, но я решила остановиться на тех, которые приво...

[Перевод] UX-исследования и сила доказательств Привет всем! Предлагаю вашему вниманию перевод статьи Dr. Philip Hodgson (@bpusability в Twitter). Он имеет BSc, MA и PhD в экспериментальной психологии. У него за спиной более чем 20-летний опыт работы в качестве исследователя, консультанта и тренера по юзабилити, пользоват...

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

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

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

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

[Из песочницы] VLFs — Забытый враг Привет, Хабр! Представляю вам перевод статьи «VLFs — The Forgotten Foe» автора Monica Rathbun. Сколько из вас проверяет количество файлов виртуального журнала (VLF), которые есть в ваших журналах транзакций? Сейчас, работая консультантом, я вижу что часто это игнорируетс...

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

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

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

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

[Перевод] Как построить сообщество. Перевод книги «Социальная архитектура»: Глава 4. Протокол для коллаборации C4 «Это эссенция тридцатилетнего опыты разработки программного обеспечения.» Процесс ZeroMQ: C4 Когда мы говорим о ZeroMQ, мы иногда имеем в виду libzmq — основную библиотеку. В начале 2012 года мы синтезировали процесс libzmq в формальный и многоразовый протокол для совместной...

Разносим S3 бакеты по разным пулам в Ceph Luminous В процессе настройки нового кластера на Ceph Luminous появилась задача разнести разные S3 бакеты по разным устройствам хранения (в моем случае SSD и HDD). В интернете много инструкций как это сделать в Ceph Jewel, но в случае с Luminous процесс претерпел большие изменения и ...

Graal: как использовать новый JIT-компилятор JVM в реальной жизни На главной сибирской Java-конференции JBreak-2018, проходившей в Новосибирске, Christian Thalinger из Twitter поделился практическим опытом использования Graal. Этот доклад мы слушали всей рабочей группой в полном составе. Вполне объяснимо, если учесть тот факт, что Graal по...

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

[Из песочницы] Какие привычки делают меня лучше как разработчика ПО? Привет, Хабр! Представляю вашему вниманию перевод статьи «What habits made me a better Software Engineer?» от Sonny Recio. Наши привычки — это ежедневные шаблоны поведения в жизни. Они могут быть как плохими, так и хорошими. Привычки могут быть жизненно необходимыми, наприм...

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

Гениальный лайфхак, как нарисовать идеальные стрелки Пошаговая инструкция для создания красивых и аккуратных стрелок.

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

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

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

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

[recovery mode] Eclipse Scala IDE — от мертвого осла уши… Scala — это изумительный язык программирования, которым я наслаждался года 4 назад. Я, наверное, был его фанатом: покупал книги и курсы на Coursera, использовал в pet- и продуктивных проектах et cetera, et cetera, et cetera. Scala открыл для меня увлекательный мир функциона...

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

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

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

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

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

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

«Конечно, это рискованно, но с должными мерами предосторожности использовать можно»: Крис Талингер о Graal «Жить на Гавайях, работать над суперпопулярным сервисом, внедрить в продакшне экспериментальную Java-технологию, на которую все ещё только с опаской поглядывают» — звучит как описание выдуманной идеальной Java-карьеры, о которой можно только мечтать. Но есть человек, для ...

10000 лайков В самом начале января мой друг и я бродили по холодным и дождливым улицам Лондона и говорили о технологиях, жизни и чём-то ещё. Я время от времени делал фотографии на свой старый Canon EOS 400D, и в какой-то момент друг сказал: “Вот ты фотографируешь, фотографируешь, а твои ...

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

[Из песочницы] Почему игровые серверы и чат должны существовать раздельно Привет, Хабр! Представляю вашем вниманию перевод статьи "Why you should run your game servers independently from your chat" Joe Hanson. Разработчики многопользовательских игр часто сталкиваются с дилеммой: Использовать уже существующие игровые серверы (на которых, непоср...

Как на iPhone блокировать все звонки от неизвестных и скрытых номеров Если вы не хотите отвечать на звонки определенных абонентов, вы можете заблокировать их номера телефонов в списке своих контактов на iPhone (подробная инструкция о работе «Черного списка на iPhone»). Однако было бы здорово пойти еще дальше и заблокировать звонки от...

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

Квантовые вычисления в компьютере Fujitsu Digital Annealer С 40-х годов прошлого века и до настоящего времени существовало четыре основных технологии, на которых базировались вычислительные машины: начиная с электронных ламп и заканчивая микропроцессорами. С момента появления первых ЭВМ потребность во все большем объеме вычислительн...

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

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

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

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

Видеоконференция за 7 шагов Вчера мы развернули бета-версию наших новых видеоконференций, которые распределяют видео между участниками через наши собственные сервера по технологии SFU. До 100 (!!!) участников в одной конфе, запись видео, новый JavaScript API для управления из облака в реальном времен...

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

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

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

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

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

Пряморукий DNS: делаем правильно Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит. С...

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

[Перевод] Марвин Мински «The Emotion Machine»: Глава 2 «Как наш мозг может управлять самим собой, несмотря на свою сложность» §2-9 Модели себя и самосогласованность Для решения сложной проблемы, нужно разработать план, но потом вам нужно его воплотить в жизнь. Вам не поможет наличие пошагового плана, если вы имеете тенденцию бросать дело до того как оно будет закончено. Это означает, что вам нео...

Инженеры из Dyson создали новые инструменты для пьесы Дэвида Роша Инженеры из Dyson создали много новых инструментов для оркестровой пьесы музыканта Дэвида Роша. Цифровые двигатели были слиты с другими инструментами, чтобы производить гармоничную музыку, которая будет сопровождать оркестр Ориона для премьера в лондонском зале Cadogan в эти...

[Из песочницы] Еще одна статья о распознавании рабочих без касок нейросетями Привет, Хабр! Меня зовут Владимир, я студент 4го курса КубГТУ. Некоторое время назад я наткнулся на статью о разработке CV-системы для обнаружения рабочего персонала без касок, и решил поделиться собственным опытом в данной области, полученным в ходе стажировки в одной промы...

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

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

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

[Перевод] Книга Безопасность в PHP (часть 4). Недостаток безопасности на транспортном уровне (HTTPS, TLS и SSL) Книга «Безопасность в PHP» (часть 1) Книга «Безопасность в PHP» (часть 2) Книга «Безопасность в PHP» (часть 3) Связь через интернет между участниками процесса сопряжена с рисками. Когда вы отправляете платёжное поручение в магазин, используя онлайн-сервис, то совершенно точ...

[Перевод] Иллюстрированное руководство по устройству сети в Kubernetes Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материал...

[Перевод] Разработчики Kubernetes отвечают на вопросы пользователей Reddit 10 апреля на Reddit состоялась акция AMA (Ask My Anything), в рамках которой 9 разработчиков Kubernetes со всего мира отвечали на вопросы интернет-пользователей. Всего было собрано 326 комментариев, и мы представляем перевод некоторых из них — содержащих ответы на наиболее...

[Перевод] Четыре уровня одностраничных приложений, о которых вам нужно знать В этой статье мы с нуля разработаем React-приложение, обсудим домен и его сервисы, хранение, сервисы приложения и представление (view). Читать дальше →

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

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

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

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

Применяем Deep Watershed Transform в соревновании Kaggle Data Science Bowl 2018 Применяем Deep Watershed Transform в соревновании Kaggle Data Science Bowl 2018 Представляем вам перевод статьи по ссылке и оригинальный докеризированный код. Данное решение позволяет попасть примерно в топ-100 на приватном лидерборде на втором этапе конкурса среди общего чи...

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

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

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

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

Секционирование в PostgreSQL 10 и не только У многих достижений версии PostgreSQL 10 прописка в разделе Секционирование (Partitioning). И это справедливо: очевидно, что при переходе от 9.6 к 10 произошел мощный технологический скачок. В предыдущих версиях секции строили и управляли ими, теми средствами, что уже имели...

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

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

Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps Сборка образов для Docker на основе базового образа, как правило, предполагает вызов команд в окружении этого базового образа. Например — вызов команды apt-get, которая есть в базовом образе, для установки новых пакетов. Часто возникает необходимость доустановить в базовую...

[Перевод] Rekit Studio: IDE для React-приложений Сегодня мы публикуем перевод материала Нейта Ванга, создателя Rekit. Здесь он рассказывает о новом стабильном релизе системы, Rekit Studio. Это — полноценная IDE для разработки приложений, созданных с использованием технологий React, Redux и React Router. Он говорит, что его...

Проработавший 17 лет в школе США учитель не умел читать и писать Американец Джон Конкоран признался, что проработал в школе более 15 лет, несмотря на то, что не умел читать и писать. Спустя десятилетия он решился открыть свою тайну миру. Обычный американец Джон Конкоран стал известным благодаря неумению читать. Детство Джона Конкорана п...

Операционная система Astra Linux заработала на процессорах «Эльбрус» В ходе первого этапа работ достигнуты все поставленные цели: успешно осуществляется процесс сборки операционной системы с использованием отечественного компилятора для платформы Эльбрус.

Стал доступен Windows 10 SDK Preview Build 17110 Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK под номером 17110, которую вы можете использовать вместе с последней доступной инсайдерской сборкой Windows 10 Redstone 4. Эта версия SDK включает в себя несколько новых функций: В состав SDK ...

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

[Перевод] Почему ваше приложение выглядит лучше в Sketch Найдите отличие Посмотрите на эти две картинки — видите разницу? Если хорошо приглядеться, можно заметить, что они слегка отличаются. На картинке справа: Тень больше Градиент темнее Слово «in» на первой строчке, а не на второй Левая картинка — скриншот из Sketch, а пра...

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

Книжная распродажа Привет, Хаброжители! Настало время для очередной распродажи. Подробности внутри. Читать дальше →

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

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

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

Разработка AI для пошаговой игры на Node.js (часть 1) Всем привет! Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI. Читать дальше →

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

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

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

Дайджест IT-новостей (26.02 – 04.03.2018): ОС Astra Linux заработала на процессорах Эльбрус В ходе первого этапа работ достигнуты поставленные цели: успешно осуществляется процесс сборки ОС с использованием отечественного компилятора для платформы Эльбрус, проведена серия успешных запусков операционной системы «Astra Linux Special Edition», в том числе графического...

В iOS 12 Apple основательно обновит свой книжный магазин По данным японского ресурса Mac Otakara, в следующей версии iOS компания Apple основательно переработает встроенный в iBooks книжный магазин. Эту информацию подтверждает издание Bloomberg, авторы которого уверены в том, что сейчас купертиновцы трудятся над масштабным обновле...

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

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

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

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

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

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

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

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

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

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

Работа с API КОМПАС-3D → Урок 8 → Более сложные методы записи в основную надпись Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. Мы уже рассматривали работу с основной надписью в четвертой ча...

«13 млрд лет в одном 10-минутном ролике»: захватывающий time-lapse всей истории Вселенной Режиссер и монтажер Джон Босуэлл (также известный как Melodysheep), получивший известность в сети за музыкальные видео с высказываниями разных ученых и знаменитостей, опубликовал на своем YouTube новый достойный внимания видеоролик. В 10-минутном ролике, смонтированном в сти...

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

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

Что мы читали в марте: 10 захватывающих книжных новинок Книга для поклонников «Страдающего Средневековья», интригующая «Защита от тёмных искусств», долгожданный приквел «Тёмных начал» Филипа Пулмана и другие новинки художественной литературы и нон-фикшена.

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

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

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

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

Комплект книг о DevOps в продаже на сайте Cleverics Началась продаж двух книг, посвященных DevOps, изданных Cleverics в этом году, в электронном виде. Это: Второе, дополненное издание книги «DevOps для ИТ-менеджеров» Олега Скрынника и «Запуск и масштабирование DevOps на предприятии» Гэри Грувера (Gary Gruver). Книги можно к...

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

[Перевод] Обзор книги Database Reliability Engineering Здравствуйте, коллеги! У нас только что пришла из типографии долгожданная фундаментальная работа Мартина Клеппмана, именуемая в оригинале "Designing Data-Intensive Applications" (анонсировали ее мы еще в сентябре 2016 года). Книга доступна для заказа на сайте (не благодарит...

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

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

Конкурс AIC: создаем дизайн суперобложки для книги «Сожги своё портфолио» Команда AIC предлагает читателям vc.ru придумать и разработать новую концепцию дизайна суперобложки (обложка, надеваемая на переплёт или основную обложку книги) «Сожги свое портфолио». Свой вариант необходимо опубликовать в комментарии первого уровня к этой заметке. Победите...

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

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

[Перевод] Книга «Безопасность в PHP» (часть 3). Межсайтовый скриптинг (XSS) Книга «Безопасность в PHP» (часть 1) Книга «Безопасность в PHP» (часть 2) Межсайтовый скриптинг (XSS) — пожалуй, самый типичный вид уязвимостей, широко распространённых в веб-приложениях. По статистике, около 65 % сайтов в той или иной форме уязвимы для XSS-атак. Эти данные...

[Из песочницы] Простая, доступная и полезная Wi-Fi лаборатория. Сделай сам Если вы серьезно занимаетесь Wi-Fi, то у вас точно есть своё лабораторное оборудование. Без него, на мой взгляд, не обойтись. Если вы собираетесь серьезно заниматься Wi-Fi, то рано или поздно, у вас возникнет необходимость обзавестись лабораторией. В этой статье я расскажу, ...

Bloomberg: как акция Илона Маска по продаже огнеметов изменит финансирование стартапов The Boring Company Илона Маска выручила $10 млн от продажи огнеметов за пять дней. Акция была задумана для привлечения финансирования основного проекта компании по созданию подземных автомобильных тоннелей. Аналитик Bloomberg Мэтт Левин Bloomberg считает, что подобный подх...

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

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

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

Business English Listening: помощник в изучении делового английского Люди, изучающие иностранные языки с нуля, часто сталкиваются с «эффектом плато». Так называется состояние, когда уровень владения языком больше не поднимается, несмотря на все усилия учащегося. Одним из [...]

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

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

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

Доступ root через TeamCity GitHub оказался под крупнейшей DDoS атакой, немного обсудили в общем рабочем чате вечерком. Оказалось, что мало кто знает о замечательных поисковиках shodan.io и censys.io. Ну и я интересу ради, прям для вау эффекта поискал TeamCity (далее тс), т.к. помню прикольный баг с р...

Ракету прямиком в AppStore У нас было: 120 свободных часов саунд-дизайнера, 80 свободных часов Unity-разработчика, созданный прототип с одним уровнем и геймплеем (но без графики), новость о запуске Falcon Heavy c Tesla на борту, и желание тимлида — он же автор — сделать что-то новенькое. Читать дальше...

Создатель лучших бумажных самолетиков в мире написал книгу о своих секретах Имя Джона Коллинза почти неизвестно широкой публике, а его последняя книга «The World Record Paper Airplane» вряд ли станет бестселлером. Зато поклонники оригами, воздухоплавания и бумажных самолетиков будут в восторге. Ведь легендарный самолетостроитель наконец раскрыл секр...

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

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

[Перевод] Вредный Кейворд «Interface» Перевод ироничного поста из блога Боба Мартина в котором он рассуждает о том, насколько неудачным является использование слова interface в современных языках программирования, и какую путаницу и проблемы оно несёт разработчикам. — Что ты думаешь об интерфейсах? — Имеешь в ви...

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

Главные герои Doom и Wolfenstein официально стали роднёй Том Холл и Джон Ромеро, авторы популярнейших компьютерных игр 90-х — Doom, Wolfenstein, Commander Keen и Quake, подтвердили фанатскую теорию. Она гласит, что действие Wolfenstein, Doom и Commander Keen разворачиваются в одной вселенной. Кроме того, разработчики раскрыли ране...

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

Great developer, true engineer and real leader — RIP Shawn O. Pearce 29 января 2018, скончался Шон Пирс, известный программист, автор, коммиттер и основатель многих проектов, в том числе Git, Jgit, libgit и Gerrit Code Review. Умер выдающийся разработчик, настоящий инженер и отличный руководитель, оставив замечательных пацанов, жену и всё оп...

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

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

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

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

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

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

[Перевод] Книга «Безопасность в PHP» (часть 5). Нехватка энтропии для случайных значений Книга «Безопасность в PHP» (часть 1) Книга «Безопасность в PHP» (часть 2) Книга «Безопасность в PHP» (часть 3) Книга «Безопасность в PHP» (часть 4) Случайные значения в PHP повсюду. Во всех фреймворках, во многих библиотеках. Вероятно, вы и сами написали кучу кода, использу...

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

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

Гибридное хранилище для дома «из коробки» и возможности High Availability от Synology Несколько лет назад, при выборе первого хранилища для дома, я смотрел в сторону «коробочных решений» по причине не особой осведомлённости в построении системы хранения на базе открытого ПО и обычного ПК. В тот раз выбор пал на 2-дисковую NAS — Shuttle KD20. Хранилище было ко...

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

Возбуждено уже 15 уголовных дел в отношении представителя компании «Интур-С», которую подозревают в мошенничестве По фактам мошенничества при реализации путевок туристическим агентством «Интур-С» следственным отделом МО МВД России «Серовский» возбуждено 15 уголовных дел по части 2 статьи 159 УК РФ (мошенничество, совершенное группой лиц по предварительному сговору, а равно с причинением...

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

Анонсирована серия книг по вселенной Escape from Tarkov Battlestate Games анонсирует серию книг по вселенной игры Escape from Tarkov. Первая книга под названием “Хищник” (автор А. Конторович) вышла месяц назад на русском языке и уже доступна на официальном сайте проекта для игроков из России и стран СНГ, она рассказывает историю ...

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

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

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

Мобильные устройства изнутри. Снятие блокировки загрузчика планшета Все публикации из серии Мобильные устройства изнутри1.Структура образов разделов, содержащих файловую систему. Часть 1. 2.Разметка памяти, структура файлов описания и разметки памяти. 3.Структура образов разделов, содержащих файловую систему. Часть 2. 4.Что такое GPT? 5.Изме...

Evil by Design: интерфейсы от Мефистофеля (часть первая) Крис Ноддер, автор книги «Evil by Design», сразу вызывает доверие. Не столько своим послужным списком достижений в психологии UX дизайне и консалтинге, сколько явным умением цеплять и продавать. По сути, под стильной обложкой с демоненком — собрание техник манипулирования по...

Японский подросток арестован за создание вредоносного ПО Японская полиция арестовала 17-летнего подростка по подозрению в создании вредоносного ПО, которое крадет пароли доступа к кошелькам с криптовалютой. Согласно информации местного новостного сайта Mainichi, юноша, чье имя не называется, учится в третьем (выпускном) классе шко...

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

Xiaomi открыла первый официальный магазин на Филиппинах Нет никаких сомнений, что Xiaomi хочет захватить весь мир. Производитель активно создает магазины за пределами Китая. Сейчас пришла очередь Филиппин. Первая торговая точка компании появилась в городе Кесон. Mi Store Philippines располагается в ТЦ «TriNoma». Что здо...

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

[Из песочницы] Почему важно не откладывать установку и конфигурацию CMS Битрикс на базе «1C-Битрикс: Виртуальная машина» Кто обронил перчатку? Выполняя один из проектов по тестированию на проникновение, мы наткнулись на виртуалку на публичном IP-адресе Заказчика. Из набора открытых на хосте портов у нас появилось ощущение, что это Битрикс. Читать дальше →

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

Service Portal: как работает единый интерфейс для взаимодействия с IaaS-провайдером По мнению специалиста по работе с клиентами и автора книги The Conversation Manager Стивена Ван Беллегема (Steven Van Belleghem), 70% пользователей ожидают, что на веб-сайте компании будет портал самообслуживания. При этом в Zendesk утверждают, что 53% (из 7 тысяч опрошенных...

О книге «Обеспечение безопасности АСУТП в соответствии с современными стандартами» Как обеспечить функциональную составляющую безопасности систем управления? Чем отличается функциональная безопасность от информационной безопасности и кто из них «главнее»? Есть ли смысл в сертификации на соответствие требованиям стандартов? Своим опытом в решении этих и д...

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

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

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

Scratch — язык программирования для детей Применения визуального языка программирования Scratch и возможности его использования.

Эффективные методы сжатия данных при тренировке нейросетей. Лекция в Яндексе Не так давно в Яндекс приезжал Геннадий Пехименко — профессор Университета Торонто и PhD Университета Карнеги-Меллон. Он прочитал лекцию об алгоритмах кодирования, которые позволяют обходить проблему ограничения памяти GPU при обучении глубоких нейронных сетей. — Я вхожу в...

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

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

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

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

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

[Перевод] Операторы ?., ?? и |>: будущие возможности JavaScript, которые вам понравятся Джастин Фуллер, автор материала, перевод которого мы сегодня публикуем, предлагает рассмотреть три новых возможности, появление которых ожидается в JavaScript в обозримом будущем. Сначала он расскажет о процессе развития JS, а после этого представит обзор этих возможностей и...

[Перевод] Apache Kafka: обзор Привет, Хабр! Сегодня мы предлагаем вам сравнительно краткую, но при этом толковую и информативную статью об устройстве и вариантах применения Apache Kafka. Рассчитываем перевести и выпустить книгу Нии Нархид (Neha Narkhede) et. al до конца лета. Приятного чтения! Читать ...

Книга «UNIX. Профессиональное программирование. 3-е изд.» Всем привет! Мы переиздали классический труд Уильяма Стивенсона и Стивена Раго с исправленными опечатками перевода в твердой обложке. Эта книга заслуженно пользуется популярностью у серьезных программистов во всем мире, поскольку содержит самую важную и практическую информ...

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

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

Производство информационных систем. Часть 1. Отправная точка I ВСТУПЛЕНИЕИз хаоса каким-то образом рождается порядок. Некоторые об этом узнают из газет со значительным опозданием, а некоторые по горькому опыту на месте и в процессе создания этого порядка. Михаил Булгаков. Просматривая статьи, посвященные той или иной теме, связанной...

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

Обновление строк на лету в мобильных приложениях: часть 2 Привет, Хабр! В недавней статье наш коллега Дмитрий Марущенко yojick рассказал о том, как доставлять динамические обновления переводов с сервера на мобильные устройства. В продолжение темы сегодня поговорим о том, как мы используем эти обновлённые переводы в наших приложе...

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

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

Настройка Zones в Solaris 11.3 Введение Моё первое знакомство с контейнерной виртуализацией было с jail в FreeBSD, данный подход позволяет изолировать различные службы в безопасном окружении. Недостаток jail в том, что в нём нет возможности создать собственную сетевую подсистему, в отличии от Zones Solar...

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

Автоматическое переключение маршрута в Juniper SRX Небольшая инструкция про то, как автоматизировать переключение сетевого маршрута в случае проблем с одним из линков. Дальше прошу под кат Читать дальше →

Attention! S in Ethereum stands for Security. Part 3. Solidity in practice Представляем третью часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о том, какими особенностями обладает Solidity и какими уязвимостями они могут обернутьс...

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

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

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

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

[Из песочницы] Рекомендации по информационной безопасности для малого и среднего бизнеса (SMB) Привет, Хабр! Представляю вашему вниманию перевод и адаптацию статьи "CIS-Controls Implementation Guide for Small- and Medium-Sized Enterprises (SMEs)". Введение Утечки информации о кредитных картах, кража персональных данных, программы-вымогатели (например, Wann...

Книга «Node.js в действии. 2-е издание» Второе издание «Node.js в действии» было полностью переработано, чтобы отражать реалии, с которыми теперь сталкивается каждый Node-разработчик. Вы узнаете о системах построения интерфейса и популярных веб-фреймворках Node, а также научитесь строить веб-приложения на базе Ex...

React HoC в TypeScript. Типизация без боли Много раз, когда шла речь о переводе React-проектов на TypeScript, я часто слышал, что самую сильную боль вызывает создание HoC’ов (Higher-Order Components — компоненты-обертки). Сегодня я покажу приём, как делать это безболезненно и довольно легко. Данный приём будет поле...

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

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

Мой опыт использования Google AdWords Express Несколько месяцев назад вернулся к оказанию IT-услуг в своём небольшом городе. Дабы громко заявить о себе первый раз решил попробовать контекстную рекламу в Интернете. Так как в нашей стране Яндекс и все его сервисы заблокированы, то выбор пал на корпорацию Google и его серв...

Стартап дня (январь-март 2018-го) Продолжая серию дайджестов «Стартап дня», сегодня я представляю самые интересные проекты за ноябрь. Если хотите ознакомиться с остальными, то прошу в мой блог. Записи доступны в VK, Facebook, ICQ и Телеграм. Читать дальше →

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

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

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

Обход антивируса Kaspersky Total Security На днях я наткнулся на данный весьма интересный проект. Суть заключается в том что данный софт декодирует Login Data от Chrome, Opera Stable (По тому же методу что и Chrome) и выдает все в нам привычный string формат. Читать дальше →

[Перевод] Современный CSS для динозавров — Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript! [Вставь тут гифку из «Гриффинов»] — Ха! Иллюстрации из Dinosaur Comics Райана Норта...

Рынок аудиокниг растет с низкой базы Такие данные сообщает "КоммерсантЪ" со ссылкой на онлайн-сервис Storytel. Крупнейшим участником рынка остается "ЛитРес", среди акционеров которого "Эксмо" и Ozon.ru: он занимает около 50%. Еще 15% рынка приходится на сервис "Патефон", ...

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

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

[Перевод] Что я хотел бы знать до того, как стал техническим директором Последние четыре года я был техническим директором в SketchDeck, и теперь, когда я ухожу и вручаю бразды правления команде, я хотел бы подумать о полученном опыте и том, что я хотел бы знать с самого начала, когда стал CTO. Это был бурный период, наполненный замечательным...

[Перевод] Zane Lackey: “Не следует инвестировать в безопасность, только чтобы соответствовать требованиям закона” Роль руководителя по информационной безопасности постоянно повышается, переходя от традиционного «сторожа» к более универсальному общекорпоративному куратору вопросов безопасности. Сегодня наш гость – это Зейн Лаки (Zane Lackey), один из наиболее важных «белых» хакеров в м...

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

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

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

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

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

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

[Перевод] Руководство по SEO JavaScript-сайтов. Часть 1. Интернет глазами Google Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующи...

10 IT-героев по версии Кодабры: Веб-разработка В этом году в преддверии весны, Кодабра совместно со школой «Летово» проводит конкурс, посвященный программированию, робототехнике и VR — «IT-герои». По этому замечательному поводу мы решили рассказать Хабру, кто же для нас самих является героем, на кого мы ориентируемся при...

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

[Перевод] Врываемся в 2018 год с очередным большим релизом: выпуск версии 11.3 языка Wolfram Language и Mathematica Перевод блог-поста Стивена Вольфрама (Stephen Wolfram) "Roaring into 2018 with Another Big Release: Launching Version 11.3 of the Wolfram Language & Mathematica". Содержание — Поток выпуска версий — Что нового? — Блокчейн — Системное моделирование — Новое в ноутбуках ...

Реверсим «Нейроманта». Часть 1: Спрайты Так вышло, что я большой поклонник творчества Уильяма Гибсона. Моё знакомство с этим замечательным прозаиком случилось вследствие глубокого увлечения эстетикой киберпанка и последующего обращения к "корням" жанра, отцом-основателям которого считают Гибсона (пусть сам он от ...

Непридуманная история о производительности, рефлексии и java.lang.Boolean Однажды, в студёную зимнюю пору (хотя на дворе был март) мне нужно было покопаться в куче (того, что называется heap dump, а не того, о чём вы подумали). Расчехлив VisualVM я открыл нужный файл и перешел в OQL консоль. Пока суд да дело, моё внимание привлекли запросы, доступ...

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

В серовской деревне Морозково возобновил работу магазин Как сообщают жители деревни Морозково, с понедельника, 23 апреля, возобновил свою работу единственный в населенном пункте магазин. – В воскресенье оборудование завезли, а в понедельник он открылся, – говорят местные жители. – Об этом еще даже не все жители Морозково знают. ...

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

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

Работа с API КОМПАС-3D → Урок 6 → Сохранение документа в различные форматы Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о том, как сохранять документы. Читат...

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

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

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

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

Conduit — легковесный service mesh для Kubernetes В конце прошлого года компания Buoyant, уже прославившаяся выпуском одного из популярнейших решений категории service mesh (т.е. «сетки», обеспечивающей взаимодействие между сервисами) — Linkerd, — анонсировала своё второе детище под названием Conduit. Можно было бы удивитьс...

Создаем концепт игры без навыков программирования: как мы проводили первый PixJam в компании — А у тебя какая идея игры? — Хочу, чтобы все офигели, передать ощущение скорости, которая нарастает, пока у тебя мясо от костей не начнёт отлетать, и ты уже не понимаешь, сможешь ли с ней совладать, но все равно продолжаешь пушить как сумасшедший! — Матч-3 что ли? — Ага. ...

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

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

WebAssembly и манипуляции DOM Про WebAssembly в наше время слышали, я думаю, практически все. Если Вы не слышали, то на Хабре есть замечательный вводный материал об этой технологии. Другое дело, что очень часто можно встретить комментарии вида “Ура, теперь будем писать фронтенд на C++!”, “Давайте переп...

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

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

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

[Перевод] Лучший UX — совсем никакого UI Сколько себя помню, я всегда был одержим интерфейсами пользователя (UI). Помню, как наслаждался красотой Compaq TabWorks, пока играл в «The Incredible Machine» и слушал «Tears For Fears—Greatest Hits» на семейном компьютере. Не осуждайте меня — я слушал «Mad World» ещё зад...

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

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

Куда жаловаться, если вы отравились в кафе или ресторане Пошаговая инструкция и советы юриста по получению компенсации.

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

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

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

Работа с API КОМПАС-3D → Урок 7 → Знакомство с настройками Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о настройках системы КОМПАС. Читать д...

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

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

[Перевод] ITSM ликбез: Пользователи и Заказчики — кто скрывается за этими именами? Перевод статьи объясняющей пару базовых для ITSM понятий. Если не можете четко в паре слов сформулировать разницу между заказчиком и пользователем, статью стоит прочитать, она не большая. Автор: Дена Уайдер-Фреиден (Dena Wieder-Freiden) Публикация 18 октября 2016 года в ...

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

[Перевод] Золотое правило git rebase Всем привет! Мы тут немного переделали наш курс посвящённый web-разработке и добавили ещё целый месяц изучения JS. Ну и как обычно у нас — рассмотрим что-нибудь интересное, что разбирается у нас на курсе. В данном случае — git rebase. Поехали. Что на самом деле происходит...

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

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

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

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

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

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

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

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

[Из песочницы] UX-дизайн в России и СНГ «под микроскопом» Пожалуй, начнем с небольшого ликбеза касательно главного объекта данной темы. А именно – с понятия UX-дизайна! В переводе с английского User Experience означает «пользовательский опыт». То, какие впечатления испытывают пользователи при взаимодействии с разработанным дизайн...

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

[Перевод] Конференция DEFCON 17. «Это восхитительное время, когда меня обвинили в ущербе на 2 миллиарда долларов». Джейсон Скотт Меня зовут Джейсон Скотт и я хочу рассказать Вам потрясающую историю, как меня обвинили в ущербе на 2 миллиарда долларов, и даже немного больше. Это не байка, а реальная история, которая произошла со мной. Я создал сайт textfiles.com, архив истории компьютеров. Он выгляди...

Camel в вопросах и ответах 6-7 апреля в Москве в шестой раз пройдет JPoint – международная Java-конференция для опытных разработчиков. В этот раз в ней примет участие Клаус Ибсен (Claus Ibsen) – старший инженер Red Hat, гуру Apache. Ниже приводим перевод начала его книги «Camel in Action» – эксклюзивн...

[Перевод] Эволюция войны: ИИ игр серии Total War (часть 2) Это вторая часть статьи про искусственный интеллект Total War. В первой части статьи я рассказал об игре Creative Assembly 2000 года Shogun: Total War — игре, изменившей лик стратегий реального времени. В Shogun существует три отдельных слоя систем ИИ: ИИ юнитов, управляющи...

[Перевод] Среды запуска контейнеров (container runtimes) Часть 1: Введение в среды запуска контейнеров От переводчика: Это перевод статьи Container runtimes Part 1: An Introduction to Container runtimes. Автор оригинальной публикации: Ian Lewis. Один из терминов, который вы часто слышите, имея дело с контейнерами — «container runtime» (далее «runtime» переводится как «среда ...

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

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

«Союзмультфильм» к концу года запустит интернет-магазин На данном этапе идет проработка концепции и плана реализации интернет-магазина.

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

Cuphead вдохновляет: мобильный платформер Dungeon Stars выйдет в 2018-ом Чаще всего если разработчики объединяются, то это значит, что в планах нечто амбициозное. В этот раз союз издателей, ответственных за Mini Guns, Card Monsters, Swords & Potions и разработчиков, создавших Dungeon Boss и Castleville готовится преподнести нам две новых игр...

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

Бесплатная книга “Цифровой поведенческий дизайн” Поведение человека программируется. Вам просто нужно знать язык программирования. Книга «Цифровой поведенческий дизайн» как раз и представляет фреймворк для программирование поведения пользователей.

Авторы S.T.A.L.K.E.R. анонсировали новую игру про Чернобыль Ещё один анонс от Focus Home Interactive. Издатель вместе со студией Vostok Games, бывшими разработчиками непотопляемого S.T.A.L.K.E.R.’a, объявили о создании новой игры — Fear the Wolves. Несмотря на то, что действие игры развернётся в постапокалиптическом Чернобыле, сильно...

[Перевод] Что может пойти не так в геймдизайне На гамасутре недавно вышла статья, где автор делится своими мыслями на тему того, какие ошибки можно допустить при создании игры и что с этим делать. Причем автор рассуждает как обзорщик игр, он сам не геймдизайнер. Любопытно почитать «взгляд со стороны». Только просьба не в...

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

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

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

Редактор TECO: EMACS, я твой отец Впервые про TECO я прочитал в пародийной статье Real Programmers Don't Use Pascal, написанной незадолго до моего рождения. Там было написано, что настоящие программисты не используют новомодные редакторы EMACS и VI: Нет, Настоящий Программист хочет редактор вида «Просил? Так...

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

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

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

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

Мясорубка, супер-роботы и НИИ (Не Искусственный Интеллект) Если вы уже не первый год ведете какой-то проект, поверьте не похож ли он на нож мясорубки из истории №1 или на тарелку из истории №2 Это поможет вам оптимизировать свой проект выкинув из него все лишнее, что только тормозит его. История №1 Дело было достаточно много лет наз...

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

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

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

[Перевод] Apache Ignite: распределенные вычисления в оперативной памяти Привет, Хабр! Мы продолжаем интересоваться новыми решениями от компании Apache. Рассчитываем выпустить в мае книгу «High Performance Spark» Холдена Карау (книга в верстке), а в августе — книгу «Kafka: The Definitive Guide» Нии Нархид (еще в переводе). Сегодня же хотим пре...

Digital-мероприятия в Москве c 12 по 18 марта Подборка ключевых мероприятий в Москве на неделю Митап «Мобильные приложения: от разработки до продвижения» 13 марта (вторник) MailRu, Ленинградский проспект 39, стр. 79 бесплатно 13 марта в Mail.ru Group пройдет митап «Аутсорсинг разработки и продвижения мобильных приложе...

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

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

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

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

Бесплатный вебинар на тему «Создание чат ботов в Facebook» Спикер: Влад Богуцкий, SMM-специалист Линия магазинов EVA, автор блога bogutskiy.org.ua. От спикера На вебинаре расскажу «Как сделать бота в Facebook» для своей бизнес страницы без помощи программиста. Рассмотрим один из сервисов для создания ботов. Про...

Переход с AngularJS на Angular: цели, планы и правила переноса элементов (1/3) В январе мы в Skyeng закончили перевод нашей платформы Vimbox с AngularJS на Angular 4. За время подготовки и перехода у нас накопилось много записей, посвященных планированию, решению возникающих проблем и новым конвенциям работы, и мы решили поделиться ими в трех статьях ...

Концепт: логотип для Екатеринбурга от «Логомашины» «Логомашина» представила свой концепт брендинга Екатеринбурга. В статье делимся процессом поиска концепции и показываем, как было и как стало.

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

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

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

Российское приложение MR Guide поможет в создании экскурсий для очков HoloLens Корпорация Microsoft сообщает о том, что российская компания HoloGroup разработала приложение MR Guide, предназначенное для самостоятельного создания голографических экскурсий на платформе HoloLens. Напомним, что система HoloLens базируется на концепции «голог...

Карточная пошаговая MMORPG Brave Frontier 2 выйдет в Японии уже 22-го февраля Впервые об игре Brave Frontier 2 стало известно еще в прошлом сентябре. Выход же ее намечен уже на 22-е февраля в Японии. Если вы знакомы с первой частью, то вам будет интересно, что события второй происходят на 20 лет позже. Хоть проекты и связаны, Brave Frontier 2 – полноц...

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

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

Как стать популярным в instagram Как стать популярным в instagram?  Многие задаввлись этим вопросом. Я надеюсь, то, чтоя сейчас напишу, поможет вам дойти до этой цели.  1. Публиковать качественные фотографии. Делать это надо регулярно.  2. Ставить хештеги. Например, #хештег  3. Подписываться н...

Приручение SphinxSearch с помощью слона Добрый день, хаброжители! Представляю вашему вниманию расширение для PostgreSQL, позволяющее отправлять поисковые запросы на Sphinx из PostgreSQL и получать результаты этих запросов. Подробности реализации и ссылка на репозиторий под катом. Читать дальше →

Language Chat 0.2 Описание: Каждый кто изучает языки длительное время, знает, что для правильного постоения предложений на иностранном языке нужна практика. Нет лучшей практики чем обычное общение. Именно для такого общения и было создано приложение Laguage Chat. Ми постарались сделать при...

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

Как вернуть часть денег за лечение: пошаговая инструкция Если вы потратились в платной клинике — оформите налоговый вычет и получите часть суммы назад от государства.

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

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

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

Шок! Обычный школьник гулял в снегах Нордскола и нашЁл... Доброе утро, товарищи! Настали аномальные морозы. И неспроста! Ибо из своего заточения выбралась Ледяная Скорбь:o и обрела нового хозяина в моем лице (в лице котика;)) Но чтобы добиться такого артефакта, пришлось пройти через множество испытаний. Первым испытанием был мой ...

Ридер ONYX BOOX Darwin 3 предназначен для чтения книг Представлен ридер ONYX BOOX Darwin 3, который предназначен для комфортного и продолжительного чтения книг. Экран имеет диагональ 6 дюймов и разрешение 758 на 1024 пикселя, а также экран не просто сенсорный, а Multitouch. В данной электронной книге все время включен режим A2...

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

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

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

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

DEV Labs 2018. Онлайн конференция для Java разработчиков. 3 марта Открывать новый сезон мероприятием по Java уже стало традицией. Это уже девятая конференция серии посвящённая этому языку, и на этот раз мы решили немного изменить наш обычный формат. В программе DEV Labs 2018 мы постарались сделать акцент на создании прототипов, так сказать...

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

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

[Перевод] Сейчас вы поймете, как отложить вычисления и реализовать ленивую загрузку с помощью IntersectionObserver Жил-был один веб-разработчик, который мог убедительно доказать своим клиентам, что сайты не должны выглядеть одинаково во всех браузерах, уделял внимание доступности и удобству использования и был одним из первопроходцев в применении CSS grids. Но глубоко в сердце настоящей ...

[Из песочницы] Как я бесплатно продвигал свою игру через YouTube Привет, Хабр. Я думаю было бы хорошо для начала представится. Меня зовут Новичков Андрей, сам я родом из Украины (город Киев), на момент написания статьи мне 21, живу в небольшой однушке с девушкой и маленьким котенком. Сам интерес к играм у меня появился в 5 лет, когда мой ...

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

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

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

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

«Открыть бизнес в Израиле можно за десять секунд» История книжного магазина «Бабель» семьи репатриантов в Тель-Авиве.

Crying Suns – многообещающий тактический рогалик, вдохновленный FTL и Основанием Студия Alt Shift работает над многообещающей игрой Crying Suns – тактическим космическим рогаликом, вдохновленным FTL, книжными сериями Дюна и Основание. Галактическая империя пала, космос в разрухе, человечество на грани вымирания, а OMNI, мощные роботы, отключены. Вы играе...

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

Как гарантированно зарабатывать в YouTube и Instagram: пошаговая инструкция Chip Даже если вы никогда не были блогером и не задумывались о заработке в Youtube или Instagram - это не значит, что денег для вас там нет. Мы точно знаем - заработать там под силу каждому. И рассказываем, как именно.

[Перевод] Ответы на распространённые вопросы о шаблоне render prop Кент С. Доддс, автор материала, перевод которого мы публикуем сегодня, говорит, что недавно группа программистов, с которыми он должен был провести тренинг по React, заинтересовалась шаблоном «render props», который ещё называют шаблоном «функция как потомок» (в разных публи...

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

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

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

DNSCrypt 2.0 и блокировка рекламы В этой статье хотелось бы рассмотреть нововведения Dnscrypt, на конкретном примере, который наверняка окажется для кого-то полезным. Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов...

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

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

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

Стал доступен Windows 10 SDK Preview Build 17083 Сегодня компания Microsoft выпустила новую предварительную версию Windows 10 SDK с номером сборки 17083, которая может использоваться в сочетании с последней доступной инсайдерской сборкой Windows 10. Данная версия SDK включает в себя несколько исправлений ошибок, новые API...

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

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

Вам не нужны разработчики автотестов В эпоху вселенского внедрения agile-методологий и Devops уже никто не сомневается в том, что регрессия должна быть автоматизирована. Особенно, если в компании идет речь о Continuous Delivery. Все кинулись хантить разработчиков автотестов, от чего рынок становится перегретым....

Создано гибридное наноустройство, полностью имитирующее гематоэнцефалический барьер головного мозга Исследователи из итальянского технологического института IIT (Istituto Italiano di Tecnologia) разработали и изготовили искусственное гибридное устройство, которое является полным аналогом гематоэнцефалического барьера (blood-brain barrier, BBB), структуры, защищающей центра...

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

[Перевод] Смешанная реальность помогает находить места для баз на Марсе 12 апреля 1961 года Юрий Гагарин совершил первый полет в космос. Сегодня — уже 57-ая годовщина этой памятной даты. За эти годы космическая отрасль развилась до того, что люди уже собираются колонизировать Марс. А Microsoft не остается безучастна к этому процессу. Под катом в...

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

Представлена электронная книга PocketBook InkPad 3 с диагональю 7,8 дюймов PocketBook объявляет о выходе нового электронного ридера книжного формата PocketBook InkPad 3 с 7,8-дюймовым мультисенсорным экраном E Ink Carta ™ и усовершенствованной интеллектуальной подсветкой SMARTlight.

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

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

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

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

[Из песочницы] Что будет если объединить ArrayList и LinkedList? Приветствую вас! После изучения коллекций, а именно такие реализации List, как ArrayList и LinkedList, возникла идея, а почему бы не объединить эти структуры данных в одну и посмотреть, что из этого получится. Зачем это нужно? Проблема ArrayList — у него есть начальный раз...

Как создавать списки ремаркетинга в Google Analytics: пошаговая инструкция Какие аудитории создавать в Analytics, чтобы запустить эффективный ремаркетинг в AdWords.

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

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

Украина уличила Nike в помощи Донбассу Американская компания Nike, производящая спортивную одежду и обувь, показала в Сети новый логотип, созданный для эксклюзивной коллекции для жителей Лондона. Данная эмблема включает в себя буквы LDNR. Пользователи активно обсуждают возможные ответные меры со стороны Украин...

Управление ИТ-активами: как мифы влияют на проекты (Часть 2) При внедрении ITAM-решений часто приходится сталкиваться с различными мифами. Чтобы проект был успешен, важно разобраться в природе этих ложных представлений клиента, снять все открытые вопросы, избавиться от ненужных заблуждений или убедиться, что это не миф. В предыдущей ...

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

Амплифицированные memcached DDoS-атаки на 500 Гбит/с прокатились по всей Европе Давным-давно в далеком-далеком git репозитории Брайаном Акером был сделан коммит, внедряющий замечательную фичу прослушивания UDP трафика в установке memcached по-умолчанию. А между 23 и 27 февраля 2018 года по всей Европе прокатилась волна memcached амплифицированных DDo...

#видео дня | Эволюция графики в видеоиграх с 1958 года по наши дни Многие из наших читателей наверняка любят проводить время за видеоиграми, будь это классика вроде Heroes of Might and Magic III или более современные хиты с многомиллионными бюджетами. В конце 50-х прошлого века первая видеоигра выглядела как прыгающая по экрану осциллогра...

Польские студенты создали приложение для лёгкого перемещения студентов-инвалидов Группа студентов из Варшавского политехнического университета и Ягеллонского университета в Кракове разработала систему позиционирования внутри зданий для студентов-инвалидов. Мобильное приложение было создано в рамках местного хакатона Campus App Challenge. Авторы ...

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

W3View — прямой путь Web UI Моя предыдущая публикация на Хабре достигла своих целей, — множество людей узнали о существовании W3View, некоторые посетили GitHub, кому-то наверное даже понравилось. В то-же время, последовавшие комментарии выявили потребность в более чётком описании того, какую задачу реш...

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

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

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

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

[Перевод] Защита целостности кода с помощью PGP. Часть 2. Создание мастер-ключа Перед вами перевод второй части серии материалов, посвящённых защите целостности кода с помощью PGP. В прошлый раз мы разобрали основы PGP, а сегодня поговорим о том, как создавать 4096-битные мастер-ключи RSA, и о том, как их защищать. Читать дальше →

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

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

Создание параметрических объектов базы в nanoCAD Механика (Часть 3) Часть 3. Создание исполнений. Сборочные зависимости В предыдущей части мы ознакомились с основным инструментарием Мастера объектов nanoCAD Механика для создания параметрического объекта и рассмотрели процесс задания параметров созданному элементу базы. Очевидно, что наибо...

Удалить то, что скрыто: оптимизация 3D-сцен в мобильной игре. Советы сотрудников Plarium Krasnodar Уже на начальном этапе создания мобильных игр следует учитывать, что детализированные модели сильно нагружают портативное устройство, а это ведет к падению частоты кадров, особенно на слабых девайсах. Как экономно использовать ресурсы трехмерных моделей без потери визуальног...

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

В Inochi вы будете строить робота-монстра Франкенштейна и отправлять его сражаться на арену Мало кто любит free-to-play. Игровой режим, построенный на необходимости либо ждать, либо постоянно платить, убивает все впечатления, непосредственно, от игры. Только если это не мультиплеерный проект, где бесплатность привлекает большое количество соперников и делает против...

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

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

ИИ-переводчик Microsoft превзошел человека при переводе с китайского на английский язык Искусственный интеллект, разработанный компанией Microsoft, оказался лучше лингвиста-человека. AI продемонстрировал более высокое качество перевода с китайского на английский язык. Ранее программа компании показала более высокий уровень распознавания речи. Разработчики компа...

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