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

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

[Перевод] JavaScript ES6 — синтаксис оператора spread (…) Синтаксис оператора spread: Синтаксис оператора spread это просто три точки: … Оператор spread позволяет расширять выражения в тех местах, где предусмотрено использование нескольких аргументов. Эти определения могут быть непонятны без контекста. Давайте рассмотрим нескольк...

Новая облачная консоль Aether для управления корпоративной безопасностью Компания Panda Security выпускает новую облачную консоль Aether для централизованного управления информационной безопасностью предприятий. Реализованные изменения дают существенные преимущества в управлении и оперативном реагировании на критические инциденты, особенно для ...

Сравниваем игровую производительность Ulefone Power 3S и iPhone X (видео) Большое время автономной работы Power 3S не идёт в ущерб его производительности. И для того, чтобы доказать это, Ulefone опубликовала видео, сравнивающее производительность Power 3S и iPhone X в играх. Подробнее об этом читайте на THG.ru.

DevConf: переход Uber с PostgreSQL на MySQL 18 мая 2018 года в Digital October состоится DevConf 2018. И мы решили пересказать некоторые интересные доклады с прошлогодней конференции. Там был доклад с несколько холиварным заголовком: «О чём молчит политрук: к дискуссии о переходе Uber с PostgreSQL на MySQL». В нем раз...

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

DevOps придумали разработчики, чтобы админы больше работали Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз с...

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

Throw выражения в C# 7 Всем привет. Продолжаем исследовать новые возможности C# 7. Уже были рассмотрены такие темы как: сопоставление с образцом, локальные функции, кортежи. Сегодня поговорим про Throw. В C# throw всегда был оператором. Поскольку throw — это оператор, а не выражение, существуют к...

3. Check Point на максимум. Content Awareness Здравствуйте, Коллеги, добро пожаловать на третий урок курса Check Point на максимум. На этот раз мне хотелось бы обсудить блейд Content Awareness. Это относительно новая фича, которая появилась в R80.10 и многие до сих пор ее не используют, хотя весьма зря! Лично я, счита...

Нечеткий поиск (fuzzy search) в реляционных базах данных Для поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом с...

Scrum vs Kanban: в чем разница и что выбрать? Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban. Читать дальше →

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

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

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

Обзор системы Comindware Business Application Platform Зачем и в каких случаях выбирать программный продукт Comindware? Что это за система и в чем ее особенности? Эти и другие вопросы я решил рассмотреть в этом обзоре. В поисках решения для автоматизации документооборота я перепробовал много систем: Pyrus, Битрикс24, 1С.Документ...

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

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

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

Сравнение: Docker swarm, Kubernetes, Rancher и D2C С того момента как мы начали вести корп. блог на Хабре, на демо и при обращениях в поддержку нас стали чаще сравнивать с оркестраторами. И если раньше были вопросы о том, в чем отличия D2C от Heroku, Clou66 и тому подобных сервисов, то теперь, видимо, нас стали рассматривать...

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

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

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

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

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

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

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

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

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

[Перевод] Blazor: Техническое введение Сегодня команда ASP.NET анонсировала, что проект Blazor был перемещён в репозиторий организации ASP.NET. Мы начинаем стадию эксперимента, чтобы понять сможем ли мы развить Blazor в поддерживаемый продукт. Это большой шаг вперёд! Что такое Blazor? Это фреймворк для браузерны...

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

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

[Перевод] Топ-10 трендов технологий искусственного интеллекта (ИИ) в 2018 году Добра! Слушатели первого курса «Разработчик BigData» вышли на финишную прямую — сегодня начался последний месяц, где выжившие займутся боевым выпускным проектом. Соответственно, открыли и набор на этот достаточно непростой курс. Поэтому давайте рассмотрим одну интересную ст...

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

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

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

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

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

Ограничение длины текста через градиент Рассмотрим создание эффекта ухода текста в прозрачность как альтернативу обрезания текста многоточием. Читать дальше →

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

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

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

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

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

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

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

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

Apache Ignite 2.4 — Distributed Database and Caching Platform 12 марта 2018 г., спустя 4 месяца после прошлой версии, вышел Apache Ignite 2.4. Этот релиз примечателен целым рядом нововведений: поддержка Java 9, множественные оптимизации и улучшения SQL, поддержка платформой нейронных сетей, новый подход к построению топологии при работ...

Анимации в Android по полочкам (Часть 3. «Низкоуровневые» анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. «Низкоуровневые» анимации Часть 4. Анимации переходов Часть 5. Библиотеки для работы с анимацией Все методы рассмотренные в предыдущих частях хороши и удобны, однако если нам нужно анимировать большое количест...

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

Huawei представила официально MateBook X Huawei уже не первый год радует нас крутыми ноутбуками. В этот раз на выставке MWC 2018 компания показала новый Mate X, видя который, по крайней мере хочется заполучить его на тестирование, а лучше в подарок :) Если вы любите технику - поймёте, о чём мы. Этот девайс выгляд...

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

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

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

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

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

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

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

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

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

Keys in React. Готовим правильно Сегодня поговорим об атрибуте key в React. Часто разработчики, которые только начинают использовать React, не придают большого значения атрибуту key. А зря… Что говорит уточка, когда узнала, что ты не используешь key Чтобы представить работу ключей полностью и с различными ...

[Перевод] Почему функция Heap32Next() работает так медленно на Windows 7? Если вы занимаетесь системным программированием под Windows, то могли бы заметить, что весьма полезные функции Heap32First/Heap32Next и другие из того же семейства стали работать существенно медленнее начиная с Windows 7. Что же с ними случилось? Давайте перенесёмся в далёк...

Основы разработки под Microsoft Exchange Server На форуме TechNet Microsoft каждый день появляются новые вопросы, касающиеся разработки для Exchange\Exchange Online. Актуальными на сегодняшний день являются два метода разработки: с использованием веб-сервисов (EWS Exchange и другие) и без их использования. В этой статье р...

[Перевод] Руководство по фоновой работе в Android. Часть 2: Loaders Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin. Читать дальше →

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

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

Модульное тестирование интерфейсов в Headless Chrome. Лекция Яндекса Чтобы непрерывно улучшать большие клиентские интерфейсы, нужна мощная система автотестов. Разработчик Яндекса Дмитрий Андриянов dima117 кое-что про это знает — пару месяцев назад он поделился своим опытом на Я.Субботнике в Нижнем Новгороде. — Сегодня я расскажу, как мы в ...

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

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

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

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

Git: советы новичкам – часть 3 В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии мы можете прочитать по ссылкам. Читать дальше →

[Из песочницы] ЕГАИС 3.0 или как не ответить за чужие ошибки Внедрение в нашей стране различных систем маркировки и учета делит всех участников рынка на две большие группы – тех, кто внедряет эти системы и старается жить по-честному, и тех, кто окончательно уходит в тень. Жить по-честному и так-то не очень легко, а если за тобой посто...

Рассуждения на тему геймдизайна VR-игр Под катом несколько мыслей на тему особенностей геймдизайна игр в виртуальной реальности. Буду весьма рад обсудить в комментариях, какие ограничения и возможности дают геймдизайнеру современные VR-технологии. Читать дальше →

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

Конференция DEFCON 21. «Как мой Ботнет заработал миллионы долларов на продаже автомобилей и победил русских хакеров» Благодарю Вас за то, что пришли послушать моё выступление. Я расскажу Вам несколько крутых вещей о своей карьере, своих ботах и ботнет системе, которые принесли мне больше удовлетворения, нежели что-либо другое. Например, о том, что написанный мною бот позволил заработать ми...

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

3 распространенные ошибки в дизайне, которые легко исправить О рубрике #logomachine_help Всем привет! В сообществе Логомашины ВКонтакте есть рубрика, в рамках которой мы даем подписчикам советы по дизайну. Мы показываем, что можно изменить в графике, чтобы дизайн выглядел аккуратнее и понятнее. Сегодня на примере участников нашей ру...

[Из песочницы] Настройка связки proftpd + {mysql/postgresql} с хранением паролей в md5+salt Давно мне не давал покоя тот факт, что пароли пользователей у меня в БД хранятся в открытом виде. Также очень неудобно было вручную добавлять/удалять пользователей и менять им пароли. В результате, настроил связку proftpd + mod_sql + mod_sql_passwd c хранением паролей в вид...

WWW: gron — утилита, которая облегчает работу с JSON из командной строки Для подписчиковДанные в формате JSON легко загружать и сохранять в своих программах, а вот через терминал работать с сериализованными объектами далеко не так просто. Автор утилиты gron решил исправить это, сделав так, чтобы по файлам в JSON можно было искать с помощью grep, ...

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

Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть вторая — боевая готовность) Это вторая часть моего повествования (искренне думал что последняя). Первая часть здесь. Итак, формально команда сформирована. Хотя никто никого еще не знает. Цель проекта не определена. Radio Canada обещают предоставить некий API за неделю до события, чтобы у участников...

Анонс Serverless Moscow Meetup #1 Всем привет! Первый митап в России по технологии Serverless пройдет 1-ого марта в Rambler&Co. Мы поговорим о том, что такое Serverless и почему появился этот подход, а также рассмотрим два практических кейса: построение аналитической системы для мобильного приложения и ...

[Перевод] Четыре факта о memcached-амплификации Это перевод оригинальной публикации Артема ximaera Гавриченкова «Undestanding the facts of memcached amplification attacks», опубликованной в блоге APNIC (Азиатско-Тихоокеанский сетевой информационный центр). Неделя с 25 февраля по 3 марта была высокоинтенсивной с точки з...

[Перевод] Интервью портала A Cloud Guru с Келси Хайтауэром: о DevOps, Kubernetes и serverless Наверняка не все знают, что по нагрузке и числу пользователей iFunny является настоящим highload-сервисом. API обслуживает в пиках порядка 15000 запросов в секунду, система аналитики обрабатывает около 5 миллиардов событий в сутки, а для поддержки полного функционала работа...

MBO, OKR, PPR: смешивать, но не взбалтывать Давайте поговорим о методиках целеполагания. Эта тема актуальна практически во всех компаниях. Как ставить цели? Как сделать так чтобы цели достигались? Как не получить на выходе формальную отписку в стиле «я буду долго и упорно работать», но без какой-то конкретики? Такие ц...

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

Postgres Enum Postgres поддерживает понятие перечислений (enum) На скорую руку попытался понять что это для бд и для клиента вообще: enum — статический упорядоченный набор значений Значение enum занимает на диске 4 байта Регистр имеет значение, т. е. 'happy' и 'HAPPY' — не одно и то же...

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

Epic Games готовят крупное обновление для Fortnite Игра Fortnite уже стала популярнее PUBG, хотя такое сравнение не очень нравится аналитикам игрового рынка. Играть в режим «Королевская битва» в Fortnite можно бесплатно, тогда как основную часть игры нужно покупать за реальные деньги, а статистику по продажам разработчики пр...

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

Обзор BQ 6000L Aurora Доступный камерофон, который бы снимал селфи на пять с плюсом, не тормозил, долго работал и при этом не стоил бы заоблачных денег. В компании BQ считают, что им удалось создать подобное устройство и приводят в доказательство смартфон BQ-6000L Aurora. Так давайте протестируем...

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

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

Facebook встала в защиту платформы Messenger Kids от критиков Дэвид Маркус, вице-президент Facebook Messaging Products, ответил на критику в адрес Messenger Kids во время выступления на саммите Upfront в Лос-Анджелесе. По его словам, основная идея состоит в том, чтобы помочь младшим братьям и сёстрам присоединиться к групповым...

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

От Amazon EC2 до Mail.ru Infra: Тестируем облачные VPS (Linux) С большой тройкой облачных провайдеров — Amazon, Google и Microsoft с недавних пор конкурируют и отечественные компании, хотя весомых игроков на нашем рынке немного. В основном это относительно небольшие проекты, традиционные хостеры (включая крупных) и/или операторы коммерч...

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

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

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

[Перевод] Создание чатбота с использованием Q&A Maker и Microsoft Graph Привет, Хабр! Совсем недавно мы проводили хакатон для разработчиков в Бухаресте и Клуже. Основной задачей группы в Клуже было создание эффективной программы-робота для чатов с поддержкой Endava и использованием Microsoft Graph и Q&A Maker. Сегодня мы расскажем об этом пр...

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

Как выбрать видеорегистратор Какие же функции действительно нужны видеорегистратору, а без каких он может обойтись? Параметров много, но мы рассмотрим нюансы в основных. Параметров много, но мы рассмотрим нюансы основных, чтобы можно было эффективно выбрать авторегистратор на сайте Forter и быть уверенн...

SASS: Оптимизируем media screen Приветствую! Примерно месяц назад я написал статью, в которой выдвинул идею об оптимизации @media screen. Идея заключается в том, чтобы иметь возможность писать значения для всех экранов в одну строку. Более подробно можете почитать по ссылке. Большинство комментариев — это...

Объем инвестиций в основной капитал в столице составил 1,972 триллиона рублей за прошлый год Как рассказал руководитель столичного ДЭПИР Владимир Ефимов, за последние годы темпы роста инвестиций в основной капитал в Москве продолжают расти. Достаточно сказать, что в прошлом году объем таких инвестиций составил 1,972 триллиона рублей, что на 12,8% больше, чем годом р...

Погружение в разработку на Ethereum. Часть 4: деплой и дебаг в truffle, ganache, infura В прошлой статье мы рассмотрели разработанное приложение на Ethereum. Но обошли стороной вопрос как происходит процесс разработки. Ясно, что это не просто написание кода, который сразу работает. Большую часть времени придется потратить на то, чтобы доводить код, который “поч...

Wi-Fi в законе В соответствии с законодательством РФ, с 2014 года все общественные точки доступа Wi-Fi обязаны идентифицировать пользователей. Под действие закона попадают владельцы публичных сетей доступа в интернет, такие как рестораны и кафе, торговые центры, отели, автосалоны и прочие...

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

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

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

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

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

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

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

Асинхронные циклы в Node.js 10 В этом месяце выходит десятая версия Node.js, в которой нас ждет изменение поведения потоков (readable-stream), вызванное появлением асинхронных циклов for-await-of. Давайте разберемся что это такое и к чему нам готовиться. Читать дальше →

Установка центра сертификации на предприятии. Часть 3 А вот и финальная третья часть нашей серии статей о центре сертификации на предприятии. Сегодня рассмотрим развертывание службы сертификатов на примере Windows Server 2016. Поговорим о подготовке контроллера домена, подготовке веб-сервера, установке корневого и издающего цен...

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

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

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

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

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

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

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

Обзор Kingston DataTraveler Bolt Duo Все пользователи iPhone сталкивались с проблемой отсутствия поддержки microSD и расширения памяти. Это не критично, если вы можете позволить себе модель с большим объемом памяти, но что если нет? Можно пользоваться облаком, а ещё можно воспользоваться новой флешкой от Kingst...

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

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

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

Сетевая оптимизация для Unreal Engine 4 Не так давно в официальной группе UE4 в vk я спрашивал, какие темы были бы интересны сообществу, чтобы о них рассказать :) Одним из популярных запросов стала работа с сетью на движке. В начале я не планировал как-то раскрывать или упоминать эту тему, но потом подумал, что о...

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

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

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

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

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

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

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

Создаем CSS кейлоггер Часто бывает так, что внешние JS файлы выглядят как угроза для клиента, в то время как внешнему CSS не придают особого значения. Казалось бы, как CSS правила могут угрожать безопасности вашего приложения, и собирать логины? Если вы считаете что это невозможно, то пост будет ...

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

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

Валидация строк с validate.it.js Если вспомнить все ТЗ с описаниями валидации полей — они всегда выглядили примерно так: не должно быть короче 6 символов не должно превышать 12 символов должно включать только латинские символы, цифры и знак подчёркивания Требования часто приходят набором простых однозначн...

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

Использование публичного Wi-Fi: основные риски и опасности Включите Wi-Fi — модуль своего смартфона в людном месте и наверняка найдете в списке точек доступа один — два открытых хот-спота. Чтобы подключиться к глобальной сети с их помощью, придется выполнить одно небольшое условие – подтвердить свой номер телефона. Не такая уж больш...

[Перевод] Новости из мира OpenStreetMap №392 (16.01.2018-22.01.2018) Форма для печенья от Кристиана (Christian Quest)[1] Карты Исследовательская группа GIScience из Гейдельбергского университета сообщает о новой версии OSMlanduse.org. Пробелы в данных OSM (только для Германии), теперь заполнены данными извлечёнными из спутниковых снимков, п...

Завтра 31 марта. Пожалуйста, сделайте бэкапы В последнее время угрозы безопасности заметно потрепали нервы всей ИТ-сфере: Wanna Cry, Petya, новогодний сюрприз Meltdown и т.д. Это всё масштабные инциденты. Почти невозможно подсчитать, сколько произошло мелких SQL-инъекций, DDoS-атак, взломов, хищений в малом и среднем б...

Применение методологии OWASP Mobile TOP 10 для тестирования Android приложений Согласно BetaNews, из 30 лучших приложений с более чем 500 000 установок 94% содержат по меньшей мере три уязвимости среднего риска, а 77% содержат хотя бы две уязвимости с высоким уровнем риска. Из 30 приложений 17% были уязвимы для атак MITM, подвергая все данные перехвату...

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

Сколько стоит собрать Galaxy S9+? Как вы думаете, сколько стоит собрать Galaxy S9+? TechInsights составила диаграмму сравнивающую стоимость создания последнего флагмана от Samsung с другими смартфонами, такими как Galaxy Note8, S8+, iPhone 8+ и iPhone X. Подробнее об этом читайте на THG.ru.

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

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

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

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

[recovery mode] ЕГАИС 3.0 – готовность 100 %! Помарочный учет алкоголя В 2018 году в истории ЕГАИС наступает новый этап – обязательный помарочный учет алкогольной продукции. Подготовка к переходу на новую схему работы уже стартовала. С сентября 2017 г. планомерно менялся состав документов и реквизитов ЕГАИС у оптовиков. Теперь пришло время и ро...

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

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

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

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

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

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

Паттерны внедрения зависимостей. Часть 1 Давайте разберемся с внедрением зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Начнем мы с самих необходимых и базовых паттернов внедрения зависимостей — внедрение чере...

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

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

Webpack 4 и code splitting 25 февраля 2018 года вышел релиз webpack 4.0.0 (и на сегодняшний день 4.0.1). Одна из полезных и сравнительно новых фич webpack — code splitting, перенесена в новой версии из плагинов в основную конфигурацию. При практически полном отсутствии документации, как теперь нужно к...

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

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

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

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

[Перевод] «Единорогов» мало, а должно быть ещё меньше Для стартапов вырасти до «единорога» — очень важно. Компании, оценка которых превышает 1 млрд долл. США, в глазах конкурентов выглядят более грозно, а клиентам и сотрудникам кажутся намного более привлекательными и надежными, чем они являются на самом деле. В последние три...

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

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

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

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

Что нового в PostgreSQL 11: встроенный веб-поиск Продолжая тему новых интересных возможностей грядущего релиза PostgreSQL 11, я хотел бы рассказать про новую встроенную функцию websearch_to_tsquery. Соответствующий патч разработали Виктор Дробный и Дмитрий Иванов, с правками от Федора Сигаева. Давайте же разберемся, что ...

Видеообзор маршрутизатора TP-Link Archer C3150 v2 Наше первое знакомство с TP-Link Archer C3150 состоялось год назад, а сегодня флагман TP-Link снова попал в нашу тестовую лабораторию. На первый взгляд, вторая версия маршрутизатора не получила значимых отличий — у нее тот же дизайн и основные характеристики. Тем не менее, д...

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

PaEndpointBundle — альтернатива контроллерам Symfony Основным способом для обработки запросов в Symfony являются контроллеры. С возможностью описывать роутинг непосредственно в контроллерах (аннотациями) жизнь стала еще лучше. Но использование аннотаций при наследовании контроллеров вызывает проблемы — для каждого дочернего ко...

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

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

GR8 CUL8R – WTF?!?! Разбираемся в популярных сокращениях на английском Переписка стала быстрой. Онлайн-общение победило и существенно упростило письменный и разговорный английский. Люди все чаще используют аббревиатуры, а то и вовсе стикеры. И не только тинейджеры. Взрослые серьезные профессионалы, время которых дорого, тоже часто отвечают на с...

20 лет инициативе Open Source «Всё началось с того, что компания Netscape Communications Corporation опубликовала исходный код web-браузера Netscape Communicator как открытое программное обеспечение. Причиной такого поступка послужила конкуренция с браузером Microsoft Internet Explorer, которая привела к...

[recovery mode] 3CX v15.5 Update 4 Beta — распознавание речи через Microsoft Speech и обновленный Call Flow Designer На этой неделе произошли два приятных события. Во-первых, мы выпустили обновление 3CX v15.5 Update 4 BETA, и во вторых — очередное обновление среды разработки голосовых приложений 3CX Call Flow Designer. Обновление v15.5 Update 4 BETA В v15.5 Update 4 BETA появился перевод ...

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

AudioTubeBot — Telegram бот для загрузки аудио с YouTube. Нововведения AudioTubeBot — Telegram бот для удобного прослушивания аудио с YouTube — новостей, интервью, подкастов, музыки, аудиокниг и т.д. Изначально бот создавался чтобы слушать в фоне различные интервью, главной его фишкой было разделение длинных аудио на части по 50мб(лимит для T...

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

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

Смартфон Meizu E3 впервые запечатлен на видео, где его сравнивают по размерам с Samsung Galaxy S9+ После большого числа изображений и фотографий среднебюджетный смартфон Meizu E3 впервые был запечатлен на видео, которое мы предлагаем вашему вниманию. Автор видео, сравнивает грядущую новинку Meizu, которую официально представят только 21 марта, с флагманским смартфоном Sam...

Учебник Thymeleaf: Глава 1. Знакомство Оглавление 1 Знакомство с Thymeleaf 1.1 Что такое Thymeleaf? Thymeleaf — современный серверный механизм Java-шаблонов для веб- и автономных сред, способный обрабатывать HTML, XML, JavaScript, CSS и даже простой текст. Основной целью Thymeleaf является создание элегантного ...

Бешеные псы: Angular 2 vs React Встречайте, противостояние двух фреймворков: Angular и React в формате поединка на примере конкретного простого приложения. За Angular выступает Евгений Гусев (@bunopus), за React — Илья Таратухин (@ilfa). Чтобы сделать честные выводы, они снач...

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

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

Обзор архитектуры управления информационной безопасности в Check Point R80.10. Часть 1 (Перевод) Экспоненциальный рост объёмов данных поступающих из различных источников, таких как сетевые, облачные, мобильные и виртуальные системы, приводит к появлению новых угроз. Организации должны быстро адаптироваться и защитить себя, требуя более мощных и высокопроизводительных ...

[Перевод] Отключение PowerShell и прочие особенности борьбы с Malware. Часть I Кажется не так давно это было, примерно в 2015 году, мы начали слышать о хакерах, не использовавших вредоносных программ внутри периметра атакуемой цели. А использовали они то, что было под рукой – это были различные инструменты, находившиеся на целевом сайте. Это оказалось ...

[Перевод] Разработка игр под NES на C. Глава 24. Приложение 2 — работа с банками памяти Завершающая часть цикла. В этой главе рассмотрим работу с маппером MMC3 на примерах <<< предыдущая Источник Раньше мы не использовали переключение банков памяти, но теперь настало время освоить маппер MMC3. Без маппера можно использовать 32 килобайта PRG ROM для ко...

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

Супер-полное руководство по публикации в Microsoft Store Привет, хабр! У меня часто случаются подобные ситуации: занимаюсь чем-нибудь сложным и в какой-то момент вылезает ошибка. Начинаю искать проблему в, соответственно, замороченных вещах, часто делая то, что не надо. И так проблемы нарастают. А в конце оказывается, что неполадк...

Meizu 15 – не один, не два, а целых три смартфона Сегодня в Китае публике показали новые смартфоны Meizu. И показывать было что – оказалось, китайский производитель подготовил семейство из целых трёх новинок: Meizu 15, его Plus-версии, а также младшего Meizu 15 Lite. Что собой представляет каждое устройство? Давайте разбира...

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

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

Коллаборация Visual Studio Code и Anaconda Не так давно было объявлено о включении Visual Studio Code в дистрибутив Anaconda, что несомненно является большим шагом в развитии инструментов анализа данных с открытым исходным кодом. Читать дальше →

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

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

Обзор web-доступа к системе управления проектами Pilot-ICE Введение Зачем нужен web-доступ к системе управления проектами? Был ли с вами случай: когда вы забывали флешку, когда шли к заказчику или клиенту? Или оказывалось, что файл на флешке оказался другой версии? Согласно истории, именно это побудило Дрю Хьюстона, создать Dropbox....

За что ругают Hercules ? Друзья, всем привет!Полтора месяца назад, грубо говоря, только узнал, что такое 3D принтер. Ковырялся с самособранной прюшей (собрал не я) из акрила, термоклея, каках и палок. Понял, что 3D печать это хобби, причем отдельное и самостоятельное! А по-сколько я увлекаюсь электр...

5 трендов виртуализации: чего ожидать в 2018 году Согласно исследованию MarketsandMarket, в течение следующих 5 лет рынок виртуализации будет расти. В качестве основных «драйверов» рынка эксперты отмечают спрос на специализированное ПО и инфраструктуру для работы с большими объемами данных. В 2016 году этот рынок оценивал...

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

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

[Перевод] Разработка игр под NES на C. Главы 22-23. Приложение 1 — мапперы и цифровой звук Здесь будет информация, не вошедшая в основной цикл, но слишком ценная, чтобы ее игнорировать. <<< предыдущая следующая >>> Источник Из нашего обсуждения почти полностью выпала тема мапперов — сопроцессоров в картридже. Если надо сделать игру размером боль...

Управление ИТ-активами: как мифы влияют на проекты Все счастливые проекты похожи друг на друга, каждый несчастливый проект несчастлив по-своему. 6 лет занимаюсь внедрением и автоматизацией бизнес-процессов, из них 3 года – внедрением ITAM-решений. В проектах по автоматизации процессов управления ИТ-активами постоянно боремся...

Hyundai Tucson: не спешите встречать «по одежке», изучите его «по уму» Кроссовер Hyundai Tucson – одна из самых популярных моделей своего сегмента в Украине. С ним мы продолжаем цикл статей, посвященных мощным дизельным кроссоверам среднего класса. Давайте оценим «корейский рецепт» создания подобного автомобиля, попутно заочно сравнивая его с у...

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

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

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

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

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

[Перевод] The Power of Open: Сила открытости Введение Мир пережил взрыв открытости. Начиная отдельными художниками, показывающими свои творения в ожидании вклада от других людей, заканчивая правительствами, которые требуют чтобы публично финансируемые работы были доступны для общественности. Как дух, так и практика с...

Firefox Gecko, «который мы потеряли» Эволюция идёт, и более слабые, медленные и неэффективные организмы вымирают. Не так давно мы проводили в пучину истории Оперу-12, глядя куда-то вдаль, молча слушая за спиной всхлипывания сочувствующих. В отличие от трупа последнего животного из Красной Книги, ею можно было ...

Технологии будущего: отказ от физических SIM-карт Кадр из фильма “Kingsman: Секретная служба” (2015) За годы устройство физических SIM-карт почти не изменилось. Конечно, они уменьшились в размерах: Mini-SIM 25 x 15 мм, Micro-SIM 15 х 12 мм, Nano-SIM 12,3 x 8,8 мм. Однако SIM-карты сохраняли функциональность и совместимост...

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

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

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

[recovery mode] Наши на Delex: как прошла первая DevOps и advanced Test Automation конференция в Минске “Нам есть, что рассказать миру о белорусском DevOps,”– говорили они. “Инфраструктура тестирования меняется и скоро произойдет перелом. Нам нужна площадка для общения с правильными практиками,” – говорили они. Они говорили – они сделали Delex. А еще 300+ человек пришли, чтобы...

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

[recovery mode] Профессиональная эмиграция в Нидерланды: как это было Прошлым летом я инициировал, а несколько месяцев назад успешно завершил процесс смены работы, приведший меня к релокации в Нидерланды. Хотите узнать, как это было? Добро пожаловать под кат. Осторожно — очень длиннопост. Читать дальше →

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

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

[recovery mode] Заблуждения об автоматическом тестировании Здравствуйте, меня зовут Дмитрий Карловский и это продолжение традиционной рубрики "Почему мы так не любим писать тесты?". Короткий ответ: потому, что получаемые от них бонусы не перевешивают затрачиваемых усилий. Если это так, значит мы делаем что-то не правильно. Давайте р...

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

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

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

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

Выбираем браузер для android-устройств: UC Browser и Яндекс.Браузер Лаборатория сайта Overclockers.ru продолжает изучать сегмент веб-обозревателей для устройств на базе OC Android. Занятие, что и говорить, интересное, ведь нужно рассмотреть все популярные приложения. Сегодня мы обновим информацию по двум народным браузерам. Именно они пользу...

[Из песочницы] MDM-система без первичной нормализации. Актуальный подход к решению старых проблем Беспорядок в справочниках, хранящих основные данные компании – частая проблема, доставляющая не мало неприятностей, среди которых путаница в первичных документах из-за неправильного заведения номенклатуры или закупка товаров, по факту находящихся на складах компании. Этого м...

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

[Перевод] Основные принципы C++: Правила выражений и операторов Бобра! Что ж, мы плавно выходим на старт второго потока группы «Разработчик С++» и разбираем интересные материалы, которые накопились у преподавателя в свободное от работы и преподавания время. Сегодня рассмотрим (а потом и продолжим) серию материалов, где разбираются отдел...

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

Meizu 15 – не один, не два, а целых три смартфона новой серии Сегодня в Китае публике показали новые смартфоны Meizu. И показывать было что – оказалось, китайский производитель подготовил семейство из целых трёх новинок: Meizu 15, его Plus-версии, а также младшего Meizu M15. Что собой представляет каждое устройство? Давайте разбираться...

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

Unit-тестирование скриншотами: преодолеваем звуковой барьер. Расшифровка доклада Тестировать регресс верстки скриншотами модно, этим никого не удивишь. Мы давно хотели внедрить этот вид тестирования у себя. Всё время смущали вопросы простоты поддержки и применения, но в большей степени — пропускная способность решений. Хотелось, чтобы это было что-то про...

Как я провел SberSeasons: четыре истории о разных специальностях Говорят, что работа в банке скучна, а стажировка однообразна — сидишь и перебираешь бумажки. Мы с этим не согласны. И, надеемся, с этим не согласны участники SberSeasons — оплачиваемой стажировки для будущих выпускников по техническим и математическим специальностям. Давайте...

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

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

Падение рынка криптовалют: причины и перспективы В понедельник курс биткоина упал ниже $8000 и приблизился к $7000 на фоне сохранения высокой волатильности на рынке цифровых валют. Первое падение произошло в пятницу: тогда стоимость криптовалюты снизилась до 7700$, потеряв 15% от начальной цены в момент открытия биржи, о...

От заплаток в борьбе с вредоносным ПО к целостной стратегии Как это не парадоксально, но я до сих пор регулярно слышу в качестве совета по борьбе с вредоносным ПО рекомендацию по использованию современного антивируса и его регулярному обновлению. Такое впечатление, что последние истории с WannaCry и Petya/Nyetya произошли в каком-то ...

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

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

Hypothesis Краткое руководство Краткое руководство Этот документ должен рассказать вам обо всем, что вам нужно, чтобы начать работу с hypothesis. Читать дальше →

Немецкие и американские ученые сообщили об опасности иноземных посланий. Без вариантов Ученые Германии и Соединенных Штатов рассказали о смертельной опасности посланий, отправленных землянам инопланетными цивилизациями. При этом было рассмотрено несколько возможных сценариев содержания писем и последствий их прочтения. Немецкие и американские астрономы заявили...

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

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

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

[Из песочницы] Топ-5 прогнозов в сфере информационной безопасности Давайте посмотрим правде в глаза, прошедший год был ужасным для кибербезопасности, с огромным количеством фишинговых атак, вирусов-вымогателей и т.д. Интересно, будет ли 2018 год лучше? Многие эксперты мирового уровня прогнозируют увеличение количества атак. Они считают, чт...

Финтех-дайджест: eBay против PayPal, международная платежная система на блокчейне Финтех-привет, Хабр! Одна из главных тем, над которой ломают копья участники профильных конференциях и колумнисты в СМИ – какая форма сотрудничества с финтех-стартапом оптимальна? Поглощение или партнерство? И приверженцы каждого подхода приводят весьма убедительные доводы....

[Из песочницы] Надоевшая почта или как отправлять сообщения с сайта в Telegram через Node.js (Express) После нескольких писем, отправленных с сайта себе на почту, понял что это достаточно неудобно, не современно (возможно), как минимум не прикольно. Задался целью отказаться от использования smtp для формы в пользу api Телеграма. Так как мое приложение работает на ноде, поду...

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

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

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

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

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

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

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

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

Защита беспроводной сети: WIPS. Часть 1: Mojo AirTight Доброго времени суток жителям Хабра. Можно подумать, что беспроводные системы обнаружения вторжений — это стоящие по периметру покрытия беспроводной сети зенитки и непрерывно вращающиеся тарелки радаров… Ан нет, в суровой реальности всё несколько прозаичнее. Этим постом ...

Двадцатка лучших Telegram каналов о науке и технологиях Чего не сделаешь ради читателей? Я погрузился в недра ненавидимого Роскомнадзором мессенджера, но не для того, чтобы связаться с террористами, а, в поисках лучших познавательных телеграм каналов, на которые стоит подписаться. Читать дальше →

Что мы читали в феврале: исходники Angular, итоги года в цифрах, распознавание кадров и другие полезные ссылки У нас больше тысячи сотрудников в разных отделах и с разными интересами. Иногда они делятся друг с другом полезными, интересными или просто забавными ссылками в корпоративном слаке. Я провел месяц, мониторя наши основные каналы, и собрал самые любопытные из них  — получилас...

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

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

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

Конвертация React в Angular с использованием универсального абстрактного дерева. Proof of Concept Вступление Доброго времени суток, меня зовут Владимир Миленко, я Frontend-разработчик в компании Lightspeed, и сегодня мы поговорим о проблеме отсутствия компонентов в том или ином фреймворке и попытках автоматически конвертировать их. Предыстория Исторически сложилось, что...

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

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

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

Защита ваших приложений Xamarin с помощью Dotfuscator Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions. Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый...

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

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

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

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

Выбираем платный музыкальный сервис для android-устройств: Boom и Яндекс.Музыка На дворе 2018 год, авторы всевозможного контента серьезно взялись за защиту своих прав. По их заявкам блокируется нелицензионная музыка, видео, фильмы и даже книги. Какой же выход из данной ситуации? Вариантов тут не так немного: либо искать лазейки, либо платить за контент....

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

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

Продолжаем изучение технологии Intel Optane Memory: влияние емкости кэширующего модуля и аппаратного окружения на производительность на примере двух моделей Intel NUC Продолжая тему технологии Optane Memory, мы решили снова вернуться к Intel NUC, однако рассмотреть некоторые вопросы, которые не поднимались в предыдущих статьях. В них, напомним, мы изучали разные системы хранения данных в одинаковом окружении. А как аппаратное окружение мо...

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

Кто такой программист? О времена, о нравы. Сегодня в Тостере увидел тему, в которой человек признавался, что работая java-разработчиком он знает алгебру и геометрию на уровне 6 класса и просил посоветовать учебники. Этот запрос несомненно вызывает уважение — человек хочет учиться. Начнём сначала....

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

Erlang, rebar3 и установка сервиса под Windows Как заставить Erlang релиз работать как сервис под Windows. Оставим за кадром вопрос зачем это делать. Просто иногда это нужно. Так что сосредоточимся на КАК. Что-бы было еще сложнее поставим себе задачу делать это с помощью wixtoolset. Читать дальше →

5 новых анти-спам плагинов от CleanTalk Мы решили продолжить вести блог и будем в нем рассказывать о своей работе. Начнем с того, что расскажем о том, что нами было нами сделано в 2017 году. За прошедший год нами были разработаны несколько антиспам модулей для CMS, о которых я расскажу подробнее. Читать дальше →

Учебник Thymeleaf: Глава 7. Условное выполнение Оглавление 7 Условное выполнение 7.1 Простые условия: «if» (если) и «unless» (если не) Иногда вам понадобится фрагмент шаблона, чтобы появляться только в результате выполнения определенного условия. Читать дальше →

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

Анимации в Android по полочкам (Часть 2. Комплексные анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. Ещё больше анимаций Часть 4. Анимации переходов Приведённые в предыдущей части инструменты были относительно низкоуровневыми и в Android есть куда более простые способы добиться красивых анимаций не прибегая к...

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

[Перевод] Люди не хотят чего-то действительно нового — они хотят привычное, но сделанное иначе От переводчика: это довольно старая статья 2015 года, однако, на мой скромный вкус, она по-прежнему актуальна, как и многие другие материалы от Нира Эяля. Если ваш новый продукт или сервис не набирает популярность, спросите себя: как найти мой ролл «Калифорния»? Должен приз...

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

Техническая программа PHDays: как ломают IoT, обходят Windows Hello и защищаются от квантового компьютера Прием заявок на участие в Positive Hack Days идет полным ходом. По многочисленным просьбам мы продлеваем Call for Papers до 31 марта. Это значит, что у всех желающих выступить на форуме есть еще пара недель, чтобы подать заявку. Недавно мы анонсировали первого ключевого д...

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

[Перевод] Learn OpenGL. Урок 5.3 — Карты теней Тень — это отсутствие света. Если лучи от источника света не попадают на объект, так как поглощаются другим объектом, то первый объект находится в тени. Тени добавляют реализма к изображению и дают увидеть взаимное расположение объектов. Благодаря ним сцена приобретает "глу...

Что происходит с надкусанным яблоком? Правильно — оно портится Или почему последние МакБуки Про — тот еще адок. Реальная история с недавно-купленным MacBook Pro в компании, который я взял домой для настройки. Итак, по пунктам: Нет USB и Ethernet. Надо было перекинуть файл 600Мб с одного компа на МакПро. Стоят рядом. Как? По медленному ...

Выбираем приложение для очистки памяти и оптимизации работы android-устройств: The Cleaner и CLEANit Вы все еще не оптимизировали работу своего android-устройства, не очистили внутреннюю память и не навели порядок на карточке MicroSD? Тогда стоит вспомнить о нашей серии статей по подбору соответствующего ПО и разобраться с завалами. А если серьезно, то в новом обзоре мы рас...

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

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

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

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

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

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

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

Kubernetes 1.10: обзор основных новшеств В конце марта состоялся релиз Kubernetes 1.10. Поддерживая нашу традицию рассказывать подробности о наиболее значимых изменениях в очередном релизе Kubernetes, публикуем этот обзор, подготовленный на основе CHANGELOG-1.10, а также многочисленных issues, pull requests и desig...

Compact varint — уникальность и большие значения за ту же стоимость Внимание: Код представленный в статье немного отличается от оригинальных EncodeVarint и DecodeVarint и даёт другие результаты. Будьте внимательны. В multiformats/unsigned-varint обсуждении правильной записи числа в varint было замечено что многие числа в оригинальном varint ...

Qualcomm назвала смартфон с поддержкой Quick Charge 4.0/4.0+ Почему пользователи выбирают смартфоны на базе платформ от Qualcomm? Естественно, прежде всего, из-за их производительности. Но есть те, для кого наличие американского чипсета обещает поддержку фирменной технологии быстрой зарядки Quick Charge. Эта технология постоянно совер...

Повесть о том, как один инженер HTTP/2 Client разгонял На примере «JEP 110: HTTP/2 Client» (который в будущем появится в JDK) Сергей Куксенко из Oracle показывает, как команда его запускала, где смотрела и что крутила, чтобы сделать его быстрее. Предлагаем вам расшифровку его доклада с JPoint 2017. В целом речь тут пойдет не п...

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

Блеск и нищета Java для настольных систем Вы не поверите, но в 2018 году всё ещё нужно разрабатывать Desktop приложения. Представьте себе такой клуб анонимных Java программистов, запойных и беспробудных, которые сидят и делятся своими проблемами. — Здравствуйте, меня зовут Юрий, я пишу Desktop приложения в 2018 ...

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

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

[Перевод] Разработка игр под NES на C. Главы 4-6. Рисуем персонажа В этой части рассмотрим работу с графикой: фон и спрайты персонажей. <<< предыдущая следующая >>> Что такое V-blank? PPU — графический процессор — может или отправлять сигнал в телевизор, или получать информацию от процессора, но не одновременно. Так что ед...

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

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

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

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

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

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

DigiCert отзывает 23 тысячи SSL-сертификатов: в чем причина 1 марта клиенты реселлера SSL-сертификатов Trustico узнали, что 23 тыс. сертификатов будут аннулированы в течение суток. Отзыв инициировал центр сертификации DigiCert — это было сделано потому, что в распоряжении Trustico оказались закрытые SSL-ключи клиентов. Подробнее о т...

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

Журналисты заподозрили проблемы у Apple на основе ответа Тима Кука в интервью Изображение: iphonedigital | CC BY-SA 2.0 Во время конференц-звонка, посвященного результатам продаж Apple, исполнительный директор компании, Тим Кук, впервые отказался отвечать на вопрос о том, сколько людей перешло с Android на IOS за отчетный период. По его словам, так...

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

Очевидное благо: как и зачем использовать сервисный подход за рамками ИТ (Часть 3) Продолжаю делиться опытом, как сервисный подход выходит из айтишной сферы (как управление процессами ИТ-обслуживания) и интегрируется с другими внутренними службами компании. Чем полезен сервисный подход и какие «подводные камни» ждут на этом пути я рассказывал. Сегодня – н...

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

[Перевод] Что есть в новом JupyterLab для пользователей? Всем привет! Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии. Поехали. Вкратце: JupyterLab готов к ежедневному использованию (установка, докуме...

Консоль управления Aether: как развернуть корпоративную защиту Основные шаги, которые необходимо сделать для внедрения корпоративной защиты Panda на устройства Windows, Linux, Mac, Android из веб-консоли централизованного управления Aether. Читать дальше →

Ищем отличия между Xiaomi Redmi 4 и 4x Появившийся не так давно Xiaomi Redmi 4X на первый взгляд очень похож на своего предшественника — Редми 4. Может даже создаться впечатление, что новинка является не более чем перевыпуском прошлогоднего «середнячка». Ведь Сяоми Редми 4 Икс отличается от него лишь немного ус...

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

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

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

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

[Перевод] Журнал о работе с сетью. Часть 2 Читайте часть 1 вот тут. Читать дальше →

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

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

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

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

[Перевод] HTTP-коды в комиксах ко Дню Святого Валентина День Святого Валентина уже завтра. Для некоторых это время романтических надежд, время, чтобы спросить «даму сердца» и получить ответ. Это может быть просто «да», грустное «нет» или загадочное «Я не думала о нас, как о паре, но, может быть, завтра мы сможем поужинать вместе?...

Bluebird: магия внутри Асинхронность. Асинхронность никогда не меняется. Node.js использовал асинхронность, чтобы получить большой rps для io-операций. TC39 добавила промисы в спецификацию для борьбы с адом колбеков. Наконец, мы стандартизировали async/await. Но асинхронность никогда не меняется. ...

Пошел ты на три веселых слова! Новое геокодирование и what3words.com В 2013 году два айтишника и музыкант собрались и подумали: давайте разобьем всю Землю на квадраты, а потом пометим каждый квадрат тремя словами. И разбили. И пометили. Получился бесплатный сервис what3words.com, который замахнулся на революцию в геокодировании. Ребята уве...

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

Храните данные в облаке Привет, Хабр! Сегодня речь пойдет о сервисах синхронизации и обмена файлами и объектные облачных хранилищах. Облачные хранилища, представленные такими сервисами как SkyDrive или Dropbox, хорошо знакомы пользователям мобильных устройств и компьютеров. В последние годы они поя...

[Перевод] Анонимные криптовалюты: почему Эдвард Сноуден поддерживает концепцию доказательства с нулевым разглашением Перевела – Мария Агеева, Binary District 6 февраля на блокчейн-митапе Zero knowledge proof protocols генеральный директор ZCash Зуко Уилкокс и основатель Ergo Platform Александр Чепурной обсудят основные принципы работы протокола с нулевым разглашением, а также специфику...

[Из песочницы] Как сделать адекватное отображение horizontal scroll bar в QTreeWidget с одной колонкой Привет, Хабр. В этой статье я решил оставить решение проблемы непонятного поведения QTreeWidget – GUI компонента кроссплатформенного фреймворка Qt. Проблема, мне кажется, актуальная, потому что вопрос задаётся на многих форумах, но верного решения не приводится. Впрочем, есл...

Facebook или Telegram? История украинского .NET Core Community Привет, Хабр! Однажды один человек, сильно заинтересованный в .NET Core, решил начать вести свой блог. И тут же перед ним встал вопрос: «Какой ресурс использовать?». Существующие Facebook и Telegram оказались совершенно неприспособленными для структуризации публикаций. В ито...

Выбираем недорогой android-смартфон с защитой от протечек Боитесь утопить смартфон в весенних лужах и ручьях, но не хотите таскать с собой традиционный «кирпич» с корпусом толщиной 2 см? К счастью, на дворе уже не 2008 год, и многие новинки не боятся воды. Защита по стандарту IP67/68 стала фактически обязательной в сфере флагманов....

Первый в Беларуси FrontSpot хакатон без правил. И это не шутка Пока по всему миру шутили про белые спины, новые логотипы старых футбольных клубов и пускали в «плаванье» первоапрельских уток, здесь креативили, генерили, презентовали и, само собой, кодили. Команды провели выходные за созданием проектов на JavaScript – таким было единствен...

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

[Из песочницы] От идеи до AppStore Пол года назад у меня появилась идея, и вот несколько дней назад (27.03.18) приложение под названием "***" опубликовали в AppStore. Но, обо всем по порядку. Все началось с простой идеи В нашей жизни постоянно происходят какие-то события, хорошие, плохие, не важно. Я всегда...

Открытая трансляция главного зала DotNext 2018 Piter Уже завтра сотни .NET-специалистов соберутся в Санкт-Петербурге, чтобы два дня подряд слушать доклады и общаться. Но даже если вы в эти дни будете не в Петербурге, многие доклады всё равно сможете послушать. Помимо платной онлайн-трансляции, дающей доступ к происходящему в...

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

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

[Перевод] Как использовать сжатие ответа в ASP.Net Core Воспользуйтесь преимуществами компонента промежуточной обработки для сжатия ответов (Response Compression Middleware) в ASP.Net Core, чтобы снизить требования к пропускной способности и повысить оперативность ваших приложений. Читать дальше →

Мозаика в ванной и диофантовы уравнения Дело было вечером, перед сном. Чистил я зубы и устало разглядывал мозаику в ванной. Почему-то меня заинтересовал такой простой факт: если прямоугольник из клеточек 2×3 обвести с двух сторон ещё клеточками, то площадь обводки окажется такой же как площадь прямоугольника: Гол...

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

Key transparency & Coniks для защиты структур данных Нас, как организаторов конференций для разработчиков, не обошел стороной мощный поток развивающейся технологии Blockchain. На осеннем Highload++ было несколько докладов, касающихся технологических особенностей и способов применения этой технологии в различных задачах. Под ...

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

Тренируемся на кошках: модификация коллекций и таблиц в iOS Для визуализации массивов произвольных данных Apple дала нам таблицы UITableView для одномерных визуализаций и коллекции UICollectionView для более сложных случаев. Например, в iFunny ежедневно десятки тысяч пользователей публикуют и рассылают «мемасики». Приложение постоян...

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

Санаторий для мозга: как не заставлять пользователя напрягаться © The Awkward Yeti Говорят, лень — двигатель прогресса. Это неправда. Лень ничего не двигает, потому что ей лень. На самом деле, двигатель прогресса — это стремление к комфорту и к тому, чтобы для достижения результата приходилось совершать как можно меньше действий. А уже...

[Перевод] HoleyBeep: объяснение и эксплоит В былые времена люди использовали \a для генерирования неприятных «гудков» из спикеров системных блоков. Это было особенно неудобно, если хотелось генерировать более сложные звуковые последовательности вроде 8-битной музыки. Поэтому Джонатан Найтингейл написал программу be...

Для надежного хранения: Toshiba X300 4 ТБ Проблема хранения объемных данных до сих пор решается преимущественно силами жестких дисков. SSD хоть и насчитывают более 7 лет успешного покорения рынка, совершенствования конструкций и роста скоростей, не могут приблизиться к старым-добрым хардам по цене одного гигабайта. ...

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

«Привет, Хабр» на частоте 835 кГц Как-то раз в голове возникла мысль, а что бы сделать такое, чтобы скрестить старый радиоприемник в деревянном корпусе и современный контроллер для интернета-вещей ESP32? То ли с головой не так что-то, то ли делать мне нечего, но скрестить получилось. Не шаблонно, в целом, х...

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

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

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

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

Планы на JPoint 2018 Уже скоро в Москве пройдет международная Java-конференция JPoint, поэтому пора определиться с докладами, на которые стоит сходить. Рассказ пойдет о докладах, на которые пойду лично я и почему. Я зарабатываю разработкой приложений на Java c 2012 года. В основном решаю пробле...

Обзор сервера удаленных рабочих столов ThinLinc для Linux Решение Cendio ThinLinc в России пока не получило большой известности, хотя постепенно начинает привлекать к себе внимание. Мы решили опубликовать небольшой обзор, чтобы читатели смогли оценить удобство программного продукта под Linux. Читать дальше →

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

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

Nokia на MWC 2018: что нового? Для пресс-конференции на MWC 2018 HMD Global подготовила четыре новых устройства и пару интересных анонсов. Давайте посмотрим, что интересного предложит Nokia на этот год? Nokia продолжает перезапускать культовые устройства. На этот раз обновлению подверглась модель Nokia 8...

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

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

Другая реальность финансового рынка «Нашей задачей было исследование возможности и потенциала HoloLens для игроков финансового рынка», — рассказали нам ребята из dxFeed. А мы не удержались и хотим рассказать про это вам. Disclaimer: данная статья не призвана научить вас разработке под HoloLens на Unity. Для...

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

DEFCON 24: “Как занять лучшие места в театре безопасности, или взлом посадочных талонов ради веселья и выгоды" Меня зовут Пржимек Ярошевский, я руковожу командой Current Threat Analysis и польской национальной группой исследований компьютерной безопасности CSIRT, которая является частью академической компьютерной сети CERT Polska. Я более 10 лет занимался программированием, но это бы...

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

От коробка спичек до 411 магазинов: истории нового музея IKEA В этом блоге мы в основном говорим о стартап-программах, разработках, перспективах и вообще о том, что ждет нас впереди. А как насчет «акселератора в прошлое»? Полтора года назад в шведском городе Эльмхульте, где начиналась история IKEA, вместо выставки IKEA Through the Ages...

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

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

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

Если влюбленные держатся за руки, то переживают боль легче Американские учены смогли доказать, что влюбленным лучше почаще держаться за руки. Это улучшает работу головного мозга, а также позволяет уменьшить ощущаемость боли. Исследования в этой области инициировал нейробиолог из США. Такая идея появилась у него после родов жены, инф...

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

Дружим gRPC с долгоживущим проектом, PHP и фронтендом Пару лет назад мы достаточно спокойно работали нашей небольшой командой и делали хостинг. Вышло так, что каждый сервис в системе обладал собственным уникальным и неповторимым API. Но потом это стало проблемой и было решено все переделать. Мы расскажем о том, как объединить ...

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

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

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

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

На волнах эффекта Ли: Питонизируем генерацию DAF По статистике 1-4 % населения Земли подвержены дефекту речи, характеризующимся частой пролонгацией звуков (слогов, слов) и/или частыми остановками в речи, нарушающими ритмическое ее течение. В простонародье этот феномен известен как заикание. На данный момент мир не знает п...

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

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

Как быстро заблокировать Mac Если вы используете в работе macOS, то наверняка сталкивались с ситуацией, когда вам нужно было заблокировать компьютер, пока вас не будет на месте. 
Начиная с macOS High Sierra Apple наконец внедрила эту долгожданную функцию. Раньше для этого приходилось использовать разл...

И тебя посчитаем. В России грядёт всеобщая маркировка товаров Система всеобщей маркировки товаров скоро заработает в России. До 2024 года она должна будет охватить все основные группы промышленной продукции: от одежды и обуви до продуктов питания. Сейчас над созданием глобальной системы трудятся министерство промышленности и торговли...

Выбираем ультрабюджетный android-смартфон из Китая: зима 2018 Процессор помощнее или вытянутый экран плюс двойные камеры? Если выбирать максимально «нафаршированный» китайский аппарат в бюджетном сегменте, приходится тщательно взвешивать свои «хотелки».

iPhone X против Galaxy S9+: Чья камера лучше? В течение этой недели все рассматривали новые флагманские смартфоны Samsung Galaxy S9 и Galaxy S9+, поскольку эти два устройства являются крупнейшим конкурентом iPhone X, сообщает ITbukva.com.Samsung решила в значительной степени сосредоточиться на качестве изображения на св...

Как развернуть HD Wi-Fi для 45 тысяч болельщиков за 10 дней? Стадион «Спартака» в ожидании ЧМ-2018 Нельзя просто взять и пригласить иностранные футбольные команды сыграть на стадионе в рамках Чемпионата мира. Стадион построен недавно и соответствует международным стандартам? Этого мало. Нужно пройти сертификацию FIFA. Международная федерация футбола, помимо прочего, контр...

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

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

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

DevConf: как ВКонтакте шел к своей платформе для live-трансляций DevConf 2018 состоится 18 мая в Москве, в Digital October. А мы продолжаем публиковать доклады с прошлогодней конференции. На очереди доклад Алексея Акуловича из ВКонтакте, где он поведает о том, о чем внимательные читатели уже догадались по сабжу. В 2015 году мы использов...

Разработка AI для пошаговой игры на Node.js (часть 2) И снова здравствуйте, друзья! Не так давно я поделился с вами своим опытом применения нейронной сети для для решения задачи выбора действия ботом. Чтобы подробнее узнать о сути задачи, пожалуйста, ознакомьтесь с первой частью статьи. А я перейду к рассказу о следующем этап...

Дайджест продуктового дизайна, март 2018 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыдущие выпу...

Визуализация связей процессов в Linux Приходилось ли вам отслеживать зависимости системных процессов, «кто чей папка», найти императора и убить его, чтобы рабы не респаунились? Можно ps'ать и grep'ать, можно lsof погонять, ведь это так увлекательно ;) Но любые связи, как мне кажется, всегда проще анализировать ...

Налетай! 12 платных икон-паков из Google Play Store Сегодня 11 февраля, и Google Play Store снова радует нас крайне привлекательными предложениями. Они настолько выгодные, что заполучить их можно, в этот раз целых 13 наборов иконок, вообще ничего не заплатив. Легально, официально, без регистраци...

UE4 и мобильная разработка: мифы и реальность Широко распространено мнение, что Unreal Engine 4 — слишком «тяжелая» технология для мобильных игр. В то же время число проектов, выпущенных на этом движке в мобильных сторах, растёт с каждым днём. Почему все больше разработчиков выбирают для своих проектов UE4? С какими сл...

От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible Количество серверов в нашей инфраструктуре уже перевалило за 800, хотя еще год назад их было около 500. Для работы с этим всем активно используются решения от Red Hat. Про FreeIPA — для организации и управления доступами для Linux-серверов — мы уже писали, сейчас же я хочу...

Businessman Simulator 3 Clicker Продолжение хорошего кликера — симулятора бизнесмена. В этой новой части ваш ждет обновленный геймплей. Задания станут интереснее и их будет больше. Вам придется продавать товары, выбирая из предложений покупателей самое выгодное. Вас ждут много новых менеджеров и теперь у к...

Дождались: поддержка YAML и Ansible (без коров) в dapp В начале этого года мы посчитали, что наша Open Source-утилита для сопровождения процессов CI/CD — dapp версии 0.25 — обладает достаточным набором функций и была начата работа над нововведениями. В версии 0.26 появился синтаксис YAML, а Ruby DSL был объявлен классическим (...

Показатели Huawei P20 на Geekbench совпадают с Galaxy S8 Результаты тестов не показывают реальную производительность устройства, но они дают представление того, что нам ожидать. Подробнее об этом читайте на THG.ru.

Continuous Integration для новичков Что такое CI Continuous Integration — это практика разработки программного обеспечения, которая заключается в слиянии рабочих копий в общую основную ветвь разработки несколько раз в день и выполнении частых автоматизированных сборок проекта для скорейшего выявления потенциал...

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

Интеграция Google Pay Привет, Хабр! Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API. Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает...

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

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

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

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

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

Учебный фреймворк на Java по глубокому обучению Недавно мы выпустили первую версию нового фреймворка по глубокому обучению DeepJava (DJ) 0.01. Основная цель фреймворка, по крайней мере, на текущий момент, чисто учебная. Мы строим шаг за шагом фреймворк, у которого: будет понятная кодовая база будет набор бранчей, по кото...

JMeter 4.0. Что нового? 11 февраля состоялся релиз новой мажорной версии 4.0 Apache JMeter. Поскольку мы используем этот инструмент для нагрузочного тестирования на многих проектах, мы не могли оставить данное событие без внимания. Предыдущий мажорный релиз (версия 3.0) был выпущен чуть меньше дв...

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

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

Не хватает в жизни грусти? Зацените Animoji по версии ASUS В рамках выставки MWC 2018 компания ASUS представила свой новый смартфон ZenFone 5, в котором не стала демонстрировать чудеса изобретательности, а скопировала основные дизайнерские особенности iPhone X — двойную вертикальную камеру и пресловутую «челку». И хотя у тай...

Учебник Thymeleaf: Глава 4. Standard Expression Syntax Оглавление 4 Стандарт синтаксиса Выражений/Standard Expression Syntax Мы сделаем небольшой перерыв в развитии нашего виртуального магазина бакалейных товаров, чтобы узнать об одной из наиболее важных частей Стандартного диалекта Thymeleaf: Стандарте синтаксиса выражений Thy...

Как настроить Apple Pay на всех устройствах Россия находится на первом месте в мире по числу транзакций с помощью платежной системы Apple Pay. Если вы еще не настроили эту опцию, самое время это сделать. Тем более оплачивать покупки можно не только с iPhone, но и с Apple Watch или MacBook Pro. Рассмотрим процесс нас...

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

[Из песочницы] Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker Добрый день! Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить. Но в целом они упираются в одну связку это N...

Онлайн шутер на Unreal Engine 4 за 90 часов (видео создания + исходники) Привет, харб! Примерно год назад я выкладывал статью о том, как я в прямом эфире создал выживалку за 150 часов. На этот раз хочу представить вам сетевой шутер, который я создал за 25 заходов по 3 — 4 часа. Всего вышло около 90 часов и в итоге мы создали онлайн шутер, в котор...

Учебник Thymeleaf: Глава 2. Хорошая виртуальная бакалейная лавка Thymes Оглавление 2 Хорошая виртуальная бакалейная лавка Thymes Исходный код примеров, показанных в этом и будущих главах руководства, можно найти в репозитории Good Thymes Virtual Grocery GitHub https://github.com/thymeleaf/thymeleafexamples-gtvg. 2.1 Вебсайт для бакалейной лавк...

Разбор ICO TenX: scam или нет? 2017 год был годом бума криптовалют и ICO. Миллиарды долларов были собраны проектами у большинства из которых был только whitepaper и честное слово. Не было ни юрлиц, ни собственности, ни продукта, ни команды. Я решил пристальнее разобрать проекты собравшие десятки миллионов...

Китайцы показали Samsung Galaxy S9 с двойной камерой На сайте китайского центра по сертификации телекоммуникационного оборудования TENAA был замечен новый смартфон Samsung с модельным номером SM-G8850, пока не представленный официально. По своим размерам и основным параметрам он схож с флагманским Galaxy S9, но ...

[Из песочницы] Bitcoin и Ethereum: что происходит на узлах, которые не занимаются добычей, и что с ними будет дальше? Введение В последнее время довольно часто говорят о перспективах блокчейн систем, о том, что в будущем блокчейн заменит классические платёжные системы, такие как, например, Visa или Mastercard, а затем, возможно, коренным образом изменит и юриспруденцию благодаря возможност...

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

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

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

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

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

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

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

Снижение доверия к Symantec PKI: рекомендации владельцам сайтов Привет Хабр, ранее, в своем блоге по безопасности, мы объявили о планах по снижению доверия Chrome к сертификатам Symantec (включая принадлежащие Symantec бренды, такие как Thawte, VeriSign, Equifax, GeoTrust и RapidSSL). В этом посте описывается, как владельцы сайтов могут...

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

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

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

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

Как подружить MKS MINI12864LCD и Repetier-Firmware Данный вопрос уже несколько раз поднимался на 3dtoday, но толкового решения (насколько мне известно) найдено не было. Опишу действия, которые мне помогли (версия Repetier-Firmware 1.0.1). 1) В конфигураторе Repetier-Firmware в качестве дисплея выбираем VIKI 2 graphics contro...

Как мы в ISPsystem резервные копии делали. Часть первая История о том, как в ISPsystem разрабатывали решение для резервного копирования. Рассказывает руководитель разработки Александр Брюханов. Все пользователи делятся на три группы: те кто не делает бэкапы, те, кто их уже делает, и те, кто проверяет сделанные. Кого-то мой...

Почему приложения на iOS «падают» чаще, чем на Android? Почти год назад компания Blancco Technology Group написала в своем отчете, где анализируются диагностические сведения с мобильных устройств, что приложения на iPhone «падают» почти в три раза чаще, чем на Android. Этого хватило для того, чтобы в СМИ появились громкие загол...

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

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

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

5 важных правил, как давать ребёнку карманные деньги Если вы даёте сыну или дочери деньги «на булочку» или «на проезд», вы всё делаете неправильно.

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

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

Google запустила программу рекомендации смартфонов для корпоративного сегмента Google запустила Android Enterprise Recommended — программу рекомендации смартфонов для корпоративного сегмента. Она предназначена для того, чтобы бизнес-пользователям было проще выбирать устройства под управлением Android, соответствующие определённым требова...

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

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

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

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

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

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

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

[Перевод] Как подобрать хорошее освещение для реалистичных интерьеров? Родриго Льорет показал способ, которым он добился такой реалистичной картинки для своей последней работы в UE4. Введение Меня зовут Родриго Льорет, я ведущий художник окружений, живу в Мальмё и сейчас работаю в Massive Entertainment ведущим художником пропсов. Я участвую в...

Финтех-дайджест: триллион рублей на ветер, банковское отделение под управлением роботов и PayPal в качестве банка Привет, Хабр! Предлагаем обсудить то, что произошло в финтех-сфере за последние несколько дней. А случилось много всего интересного. Прежде всего — то, что некоторые эксперты считают попытки построить цифровую экономику в России полностью напрасной. И ладно, если бы поте...

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

Можно ли войти в закрытую дверь, или как патчат уязвимости В мире каждый день публикуются десятки CVE (по данным компании riskbasedsecurity.com за 2017 год было опубликовано 20832 CVE). Однако производители стали с большим пониманием и вниманием относиться к security-репортам, благодаря чему скорость закрытия багов существенно увели...

[Перевод] Разработка игр под NES на C. Главы 1-3. От введения до Hello World Впервые я задумался о том, как разрабатывают игры под приставки где-то через 20 минут после того, как в самый первый раз увидел Turbo Pascal. На глаза иногда попадался Subor с клавиатурой, и появилась мысль: "Наверное можно набрать какую-то программу, а потом в нее поиграть"...

Тестирование производительности гиперконвергентных систем и SDS своими руками — Штурман, приборы! — 36! — Что 36? — А что приборы? Примерно так на сегодня выглядит большинство синтетических тестов систем хранения данных. Почему так? До относительно недавнего времени большинство СХД были плоскими с равномерным доступом. Что это означает? Общее до...

SelectelTechDay: как это было 5 апреля прошла третья конференция SelectelTechDay, собравшая около 200 представителей организаций из разнообразных сфер деятельности. Атмосфера дружеского общения, интересные доклады и интерактивная демонстрация возможностей новой услуги Selectel VMware Cloud — вот лишь н...

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

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

Интернет вещей: от проектирования бэкенда до абсорбции энергии Умное всё, должно бы по идее избавить человека от всех забот, но пока, чтобы это всё могло поумнеть, разработчикам интернета вещей приходится очень много думать и решать самые разные задачи. Какие именно, обсуждали на InoThings++. Это была открытая конференция, поэтому з...

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

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

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

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

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

Три ЦОДа без швов, или как ВТБ защищает бизнес-системы Розничный бизнес ВТБ обслуживается более 150 системами, и все нужно надежно защищать. Некоторые системы критичны, некоторые плотно привязаны друг к другу — в общем, задача масштабная. В этом посте вы узнаете, как она была решена. Чтобы даже при падении метеорита на один из Ц...

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

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

Casio анонсировала WSD-F20A – “умные” часы для туристов Компания Casio анонсировала WSD-F20A – новые “умные” часы для туризма под управлением Wear OS. Новинка имеет интересный дизайн, что является их отличием от предыдущих моделей. Если сравнивать с WSD-F20, то большими изменениями часы не обзавелись, за исключе...

[Питер] Встреча JUG.ru с Дмитрием Александровым — Java на GPU В среду, 11 апреля, в петербургском офисе компании T-Systems пройдет встреча JUG.ru с Дмитрием Александровым, Java Champion-ом, ведущим экспертом-программистом в T-Systems. Тема встречи — Java на GPU. Участие бесплатное, регистрация обязательная. Зарегистрироваться можно тут...

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

Беспилотные авто. Ответы эксперта Intel В этом посте мы публикуем ответы эксперта Intel Ивана Кузьмина на вопросы Хаброчитателей по теме «Искусственный интеллект и автономные транспортные средства». Вопросов, как обычно, было много, и мы предоставили Ивану выбрать те, на которые он может и хочет ответить. Для ра...

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

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

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

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

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

I/O Extended 2018 Moscow: приглашение На дворе весна, а это значит, что приходит время традиционных конференций технологических гигантов. Среди таких событий — Google I/O, которая в этом году пройдет с 8 по 10 мая в Сан-Франциско. Если вы не хотите смотреть трансляцию Keynote в одиночестве, а готовы сразу обсуди...

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

Transcend представила противоударные жесткие диски Речь идет о моделях StoreJet 25M3S и StoreJet 25M3G, которые по сравнению с предшественниками стали легче на 45 граммов, а их толщина снизилась до 16,1 мм.

[Перевод] Почему "=" означает присваивание? Давайте посмотрим на следующий код: a = 1 a = a + 1 print(a) В среде ФП часто критикуют данный момент императивного программирования: «Как так может быть, что a = a + 1? Это всё равно что сказать „1 = 2“. В мутабельном присваивании нет смысла». Здесь мы наблюдаем несовпад...

[Перевод] Откровения работника крупных IT-компаниях [в Кремниевой долине] Это письмо пришло мне на электронную почту. Я лишь немного отредактировал его, чтобы убрать некоторые личные данные. Рассказ длинный, поэтому прячу под кат: Предыстория [Ранее] я присоединился к компании Google в качестве технического директора. Я так полагаю, что это произ...

Установка центра сертификации на предприятии. Часть 1 Привет, Хабр! Мы начинаем новую серию статей. Она будет посвящена развертыванию службы сертификатов на предприятии на базе Windows Server 2016 с практическими примерами. Сегодня обозначим вступительные моменты и поговорим о типовых схемах развёртывания иерархии PKI: двухуров...

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

[Из песочницы] Amazon S3 + 1С. Часть 1. Интерфейс Всем привет, с вами Низамов Илья и сегодня я начинаю цикл статей по написанию обработки взаимодействия с облаком Amazon s3 из 1С. Обработка Amazon s3 позволяет получат список файлов по фильтру, скачать необходимые файлы с Amazon s3 используя amazon s3 api, отправлять фай...

Avito Quiz: Golang Привет! Сегодня продолжаем серию мини-квизов в нашем блоге. Этот выпуск (предыдущий здесь) будет посвящен языку Go — будем считать, что это разминка в преддверие GopherCon Russia 2018 (кстати, у нас на этой конференции будет стенд, и мы планируем несколько интересных активно...

Java Puzzlers NG S02: всё чудесатее и чудесатее Тагир Валеев (lany) и Барух Садогурский (jbaruch) собрали новую коллекцию Java-паззлеров и спешат ими поделиться. В основе статьи – расшифровка их выступления на осенней конференции JPoint 2017. Она показывает, сколько загадок таит в себе Java 8 и едва замаячившая на гори...

Новые уязвимости 4G LTE: массовая рассылка сообщений, имперсонификация абонентских устройств и другие Сетевая архитектура LTE На прошедшей конференции по безопасности сетей и распределённых систем в Сан-Диего NDSS 2018 было немало интересного, но самое большое внимание привлёк доклад американских исследователей из Университета Айовы и Университета Пердью по уязвимостям в с...

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

В Серовском районном суде в день президентских выборов будет дежурить судья В день президентских выборов, 18 марта, в Серовском районном суде будет работать дежурный судья. Об этом «Глобусу» рассказала консультант суда Ксения Лушникова. Все споры, связанные с выборами, будет оперативно рассматривать федеральный судья Николай Кишкурин. В 2017 году на...

Как стать видеоблогером? Выбираем оборудование Видеоблоги в 2018 году превратились в новое телевидение. CHIP разбирается, что нужно для того, чтобы создавать качественный контент для канала на YouTube. В этой статье познакомимся с оборудованием, которое пригодится видеоблогеру в домашней съемочной студии.

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