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

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

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

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

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

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

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

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

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

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

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

[Перевод] Как попасть в Microsoft, Amazon или Twitter без диплома престижного колледжа Эта статья для тех, кто готовится искать работу и, возможно, тревожится о том, что в топовые компании без диплома Стэнфордского университета по информатике не пробьешься. Вам наверняка говорили, что вас никто не возьмет в Facebook или Microsoft. Но я хочу вам сказать, что эт...

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

[BugBounty] Раскрытие 5 миллионов ссылок в приватные чаты Telegram и возможность редактирования любой статьи telegra.ph   Вот уже больше года я пользуюсь мессенджером Telegram: это удобно и, насколько мне казалось, полностью конфиденциально. Так как я исследователь безопасности web-приложений, то должен был проверить соответствующую версию приложения на уязвимости. Я не видел в этом острой ...

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

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

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

Рубрика «Читаем статьи за вас». Декабрь 2017 — Январь 2018 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Читать дальше →

Рубрика «Читаем статьи за вас». Февраль — Март 2018 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Читать дальше →

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

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

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

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

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

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

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

Анимации в Android по полочкам (Часть 1. Базовые анимации) Всем привет! Сегодня я хочу немного рассказать про анимацию в Android. Думаю для всех достаточно очевидный факт, что анимации могут украсить наше приложение. Но я считаю, что они могут намного больше. Первое это — хорошие анимации даже при скромной графике могут вывести наш...

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

[Перевод] Опасные pickles — вредоносная сериализация в Python Всем привет! Panta rhei и вот уже приближается запуск обновленного курса «Web-разработчик на Python» и у нас остался ещё материал, который мы нашли сильно небезынтересным и коим хотим поделиться с вами. Чем опасны pickles? Эти соленые огурчики крайне опасны. Я даже не зна...

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

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

Как оптимизировать DevOps с помощью машинного обучения Популярная сегодня методология разработки программного обеспечения DevOps (development и operations) нацелена на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. Характерно, что в ходе DevOps генер...

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

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

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

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

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

Cradle: Rave. Два хакатона + конференция, с упором на Big Data & ML, Blockchain, Quantum Computing, DevOps и Mobile На прошлой неделе друзья позвали отдохнуть на неком Cradle:Rave. Судя по названию, это могло быть всё что угодно, включая кислотную вечеринку, поэтому я решил провести некие исследования в интернетах. На Хабре быстро отыскалась статья в блоге Сбертеха с анонсом мероприятия. ...

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

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

Как в hh.ru тестируют поиск по вакансиям Я уже делился рассказом о нашем опыте применения искусственного интеллекта в поиске на hh.ru, а сегодня хотел бы остановиться на измерении качества этого поиска поподробнее. Для нормальной работы поиска крайне важна система метрик — локальных, A/B-тестов, очередей на проде ...

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

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

Панель управления услугами. Часть 3. Рекогносцировка В предыдущей части я закончил рассказ про API и стык с фронтендом. В этой статье я расскажу про сам фронтенд и начну с темы, которая обычно раскрывается ближе к концу. Тестирование. Читать дальше →

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

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

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

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

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

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

Разработчики видеоигр считают прекращение работы Steam Spy негативным моментом для индустрии Сайт Сергея Галёнкина Steam Spy, который собирал данные пользователей Steam, чтобы дать представление о продажах на самой крупной игровой платформе ПК, прекратил работу из-за изменений в политике конфиденциальности Valve (библиотека пользователя теперь скрыта по умо...

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

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

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

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

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

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

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

Уязвимости вашего приложения Актуальны ли ещё угрозы XSS? Прошло около 20 лет с тех пор, как Cross Site Scripting (XSS) появился как вид атаки. С тех пор мы получили богатый опыт и знания, защита наших сайтов стала намного сложнее, а многочисленные фреймворки были призваны оберегать нас от ошибок. Но по...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И снова о блокировке Telegram. Разворачиваем собственный VPN О том, что мессенджер Telegram заблокирован на территории России, сейчас не говорит и не пишет только ленивый. Общее количество пользователей мессенджера в РФ по словам Павла Дурова составляет примерно 15 млн, что весьма немаленькая цифра. Если Telegram сделать недоступным...

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Выученная беспомощность в разработке ПО Лучше зажечь одну свечку, чем проклинать темноту. За последние 24 часа, две мои статьи «Почему ваш программист просто хочет кодировать» и «Менеджерам пора проснуться» прочитаны более 96 000 раз на Medium и получили более 900 комментариев на Reddit. Похоже, проблема серьёз...

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

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

Backend United #1. Винегрет. Анонс Привет. Хочу пригласить бэкендеров на Backend United #1. Винегрет — митап, посвященный кросс-языковым решениям для разработки серверной части. Обсудим общие подходы и инструменты для разных языков. Вы услышите доклады от представителей Gett RnD и Avito. Встреча пройдет в сре...

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

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

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

Как выполнять много UI-тестов параллельно, используя Selenium Grid? Всем привет! Я работаю в Avito и занимаюсь разработкой инструментов для тестирования. Когда у нас стало много UI-тестов, мы столкнулись с проблемой масштабирования Selenium-серверов, и сейчас я расскажу, как мы ее решили. И так как же все-таки выполнять много UI-тестов парал...

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

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

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

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

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

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

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

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

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

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

Как мы делаем AB-DOC В этой статье я хочу рассказать о нас и о том, как мы делаем AB-DOC — бессерверное веб-приложение, предоставляющее интерфейс к хранилищу Amazon S3. Подробнее про AB-DOC можно почитать в нашей предыдущей статье. Сейчас речь пойдет о технологических решениях, которые лежат в о...

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

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

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

[Из песочницы] Mobility Express — когда решили мигрировать и масштабировать беспроводную сеть, но как всегда, денег нет С выхода первой статьи на Хабре описывающей решении Mobility Express уже прошло более 2-х лет. И что странно, больше эту тему не трогали. Читать дальше →

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

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

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

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

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

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

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

Cluster of Puppets: опыт использования Amazon ECS в iFunny Несмотря на название, эта статья не имеет ничего общего с системой управления конфигурацией Puppet. Вместе с трендом «распила» больших монолитов на небольшие микросервисы в эксплуатацию веб-приложений пришёл тренд на оркестрацию контейнеров. Сразу после хайпа на Docker подн...

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

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

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

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

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

Как победить рутину, или Готовое приложение в Xcode за пару кликов У каждого опытного разработчика есть набор инструментов, к которым он привык и с которыми ему удобно работать. Это может быть простейшая настройка окружения, утилиты для промежуточных операций (к примеру, помощник по тестированию API Postman), проверенные временем и лично ра...

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

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

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

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

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

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

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

Большой комок грязи, часть 2 Продолжение перевода статьи «Big ball of Mud». ОДНОРАЗОВЫЙ КОД он же QUICK HACK (быстрый хак) KLEENEX CODE (код на салфетке) DISPOSABLE CODE (утилизируемый код) SCRIPTING (скрипт) KILLER DEMO (демо-убийца) PERMANENT PROTOTYPE (постоянный прототип) BOOMTOWN (быстро выросший ...

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

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

Житель Москвы хочет добиться замены iPhone 6 на iPhone X через суд После того, как в конце прошлого года представители Apple подтвердили наличие в системе специального механизма, замедляющего старые iPhone с подсевшими аккумуляторами, на компанию буквально посыпались иски. Однако в последнее время скандал вокруг замедления iPhone несколько ...

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

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

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

Управляем состоянием приложения без шаблонного кода и магии Хочу поделиться с сообществом своей реализацией концепции flux как единого источника данных и видением построения веб-приложений. Мотивом к созданию своего решения послужило желание избавиться от большого количества шаблонного кода и сделать взаимодействие с источником дан...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как выбрать PoE-коммутатор для проектов разного масштаба. Примеры из практики Видеонаблюдение, Wi-Fi сети и даже кассовое оборудование: в нашем портфолио есть проекты, под которые закупалась не одна сотня наших PoE-коммутаторов. Мы хотим рассказать вам о применении PoE оборудования, некоторых нюансах при его подборе — а самое вкусненькое мы припасли, ...

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

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

Общий обзор стенда Candy и Hoover на EuroCucina 2018 Друзья, у нас для вас очень интересный репортаж. наша редакция посетила интересное мероприятие EuroCucina 2018, которое проводят в Милане, Италия, с 17 по 22 апреля. Международная выставка кухонной мебели порадовала нас не просто качественными устройствами, но и их дизайном,...

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

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

SOA: послать запрос на сервер? Что может быть проще? Возможно, вы уже слышали про компанию Booking.com, что они много экспериментируют и часто деплоятся без тестирования. И еще, что есть один большой репозиторий на 4 Гб, в нем 4 миллиона строчек перлового кода, и вообще монолитная архитектура. В то же самое время Booking.com ...

Мобильная связь в СССР Высокотехнологичные проекты СССР в 20 веке гремели на весь мир — первый спутник, «Восток-1», семь советских атомных ледоколов; но есть технологии, о которых мы знаем не так много. Чаще всего мобильную связь мы упоминаем в контексте сотовой связи. Мобильная связь — это люб...

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

Организация системы мониторинга Мониторинг — это главное, что есть у админа. Админы нужны для мониторинга, а мониторинг нужен для админов. За последние несколько лет поменялась сама парадигма мониторинга. Новая эра уже наступила, и если сейчас вы мониторите инфраструктуру как набор серверов — вы не монито...

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

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

4K UHD BenQ W1700 начал поставляться в Россию со всеми шансами стать таким же популярным, как знаменитый W1070 В проекторе реализована новая технология воспроизведения 4K изображения, которая исключает потери исходного сигнала Первыми покупателями W1700 наверняка станут обладатели его Full HD предшественника W1070, потому что они хорошо помнят как и почему W1070 стал самым популярным...

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

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

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

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

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

3 причины не любить корпоративные приложения Сотрудники не любят корпоративные приложения Исследование Stratecast and Frost & Sullivan делает заключение, интересное для ИТ-специалистов — 80% участников опроса признаются в использовании облачных сервисов и приложений, формально не разрешенных в их компани...

[Перевод] Угнать за 1100 секунд – самый странный баг, который я видел Два дня назад я получил странное сообщение от клиента: видеозвонок загадочно оборвался ровно через 18 минут. А потом это случилось снова, также после 18-ой минуты. Совпадение? Этот баг был не только странный, но и страшно неловкий. Наша цель – делать настолько простой инст...

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

«Несуществующая» криптомашина «несуществующего» агенства: NSA (No Such Agency) и KL-7 Агентство национальной безопасности США (NSA), Форт-Мид (штат Мэриленд), считается самой крупной и самой закрытой американской спецслужбой. Осенью 1952 года президентом США Труманом был подписан меморандум об образовании NSA. Учреждение нового органа проходило под грифом «се...

[Перевод] Сравнение Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold В последнее время Kubernetes пользуется большой популярностью, и разработчики ищут дополнительные способы и методы для развёртывания приложений в кластере этой системы. Даже командная строка kubectl стала восприниматься как инструмент низкого уровня, при этом пользователи п...

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

Алексей Рагозин о Java Mission Control на jug.msk.ru 13 марта 2018 года прошла первая в этом сезоне встреча московского сообщества Java-разработчиков jug.msk.ru. Алексей Рагозин провёл мастер-класс по использованию Java Mission Control. Как прошла встреча, что именно на ней рассказывалось, как приняли доклад участники — обо вс...

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

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

У Минкомсвязи есть вопросы не только к Telegram, но и к Whatsapp и Facebook С таким дурдомом, что происходит сейчас в Сети, скоро выучишь имена всех министров. Николай Никифоров — глава министерства связи и массовых коммуникаций рассказал, что вопросов к Facebook и WhatsApp имеется не меньше, чем Telegram, который собирает больше всего хайпа. Боле...

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

[Перевод] Отчаянный поиск квадрокруга Поиск таинственной математики, на которой основана фигура в iOS Это история о том, как один инженер Figma искал идеальный ответ на программистскую задачу. В знаменитом интервью 1972 года Чарльз Имз кратко ответил на несколько фундаментальных вопросов о природе дизайна. ...

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

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

[Из песочницы] Ускоряем время сборки и доставки java web приложения TLTD удалил jar из сборки проекта заменил его таском, который быстрее в 7 раз Детали и результат под катом. Читать дальше →

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

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

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

Райффайзенбанк начинает второй набор в Java-школу Скрам, смузи, эджайл, блокчейн, биг дата, «в каком отделении карту оформляли, туда и идите». Ну, в общем, все мы слышали, что сейчас в тренде в банковской сфере. Где можно в это втянуться и набрать критическую массу знаний молодому разработчику? В Java-школе Райффайзенбанка...

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

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

Краеугольный камень псевдослучайности: с чего начинается поиск чисел (с) Случайные числа постоянно генерируются каждой машиной, которая может обмениваться данными. И даже если она не обменивается данными, каждый компьютер нуждается в случайности для распределения программ в памяти. При этом, конечно, компьютер, как детерминированная система,...

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

Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...

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

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

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

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

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

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

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

Что ещё мы проверяем при помощи Selenium, кроме логики интерфейса Привет, Хабр! Меня зовут Виталий Котов, я работаю в отделе тестирования Badoo. Большую часть времени я работаю с Selenium. Этот замечательный инструмент мы используем для решения разнообразных задач: от тестирования функционала до упрощения работы с логами ошибок и проверки...

RoboCon 2018: отчёт о первой конференции по Robot Framework В начале года в Хельсинки прошла первая официальная конференция RoboCon 2018, посвящённая инструменту автотестирования Robot Framework. И мы, мейнтейнеры группы автоматизации интеграционного и системного тестирования компании «Петер-Сервис», не могли такое событие пропусти...

Как мы делали олимпиаду по SQL (окончание) Продолжаю рассказ о том, как мы делали олимпиаду по SQL. Это продолжение предыдущей статьи, в которую всё просто не уместилось. Краткое содержание предыдущей серии: прошло два заочных тура олимпиады в декабре 2016 и марте 2017 соответственно, где претенденты на победу прошли...

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

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

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

Как киту съесть Java-приложение и не подавиться Здравствуйте, уважаемые хабравчане! Сегодня я хотел бы рассказать о том, как «скормить» Java-приложение докеру, как при этом лучше действовать, а чего делать не стоит. Я занимаюсь разработкой на Java более 10 лет, и последние года три провёл в самом тесном общении с Docker, ...

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

#Видео: Как изношенная батарея влияет на скорость работы iOS? В декабре прошлого года Apple призналась в замедлении iPhone и в настоящее время предлагает пользователям скидку на замену аккумуляторов. Пользователь по имени Беннетт Сорбо решил проверить, насколько сильно меняется производительность iPhone 6s, если в нем заменить аккуму...

Пиратский экшен Sea of Thieves стал самой быстропродаваемой игрой Microsoft в этом поколении консолей Корпорация Microsoft объявила о том, что новый приключенческий экшен Sea of Thieves — самая быстропродаваемая оригинальная игра издательства в этом поколении консолей. Сообщество проекта продолжает активно расти и насчитывает уже более двух миллионов игроков. ...

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

Способ управления цветовыми схемами приложения под iOS Даже для самого что ни на есть начинающего разработчика (скорее, на которого и рассчитан данный очерк), надеюсь, не секрет, что в коде не должно присутствовать никаких т.н. «hardcoded»-значений и прочих всяких там «magic numbers». Почему – тоже, надеюсь, понятно, а если нет,...

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

Volkswagen возьмёт пример с Apple при создании электрокаров Volkswagen будет руководствоваться продуктами Apple при разработке нового поколения электромобилей. Об этом в интервью изданию Reuters сообщил ведущий дизайнер компании Клаус Бишофф (Klaus Bischoff).  Крупнейший в Европе автопроизводитель считает гайдлайны американского...

Почему Xioami Mi MIX 2 лучший вариант для тех, кто хочет безрамочности? На фоне всех безрамочных устройств, которые пытаются быть похожими на Apple iPhone X, есть один производитель, который пока держит марку. К большому удивлению, это Xiaomi. К данному производителю я отношусь очень тепло, и во владении был не один девайс от данного бренда. Мн...

Игровой движок на Microsoft Excel Пользователь сайта Gamasutra представил 3D движок, сделанный на основе Excel. В нем есть бесконечно процедурно генерируемый лабиринт, рендеринг сцены в реальном времени, расчет теней и света, враги с анимацией и т.п.

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

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

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

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

QA на CodeFest: будущее, iOS-фермы и backdoor’ы Пока ребята из бекендов и фронтендов шлифуют последние фразы для рассказа о своих секциях, ребята из тестирования уже всё проверили. Читать дальше →

Полезное дизайнеру / разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 8 В этом выпуске Вы найдете 34 ссылки на свежие и полезные релизы, авторы которых вносят значительный вклад в развитие профессионального сообщества дизайнеров и разработчиков, так как делают это безвозмездно. В сегодняшнем выпуске будет summary того, что я уже публиковал на ка...

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

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

9 лучших книг про IT и программирование, которые вы могли пропустить Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что...

Интернет людей и не-людей Источник «Бессмыслица — искать решение, если оно и так есть. Речь идет о том, как поступать с задачей, которая решения не имеет.» (Братья Стругацкие «Понедельник начинается в субботу») Трудно показаться оригинальным, обратив внимание на то, как прогрессивное человечество мо...

Запуск приложений с блокчейн на SAP Cloud Platform SAP Cloud Platform — это облачная платформа, которая работает по модели PaaS или платформа-как-сервис (Platform as a Service). С её помощью компании могут разрабатывать собственные приложения, расширения или дополнения для уже существующих продуктов SAP или же создавать гибр...

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

Свои 5 копеек: Wi-Fi сегодня и завтра Смартфоны или планшеты сегодня можно видеть на каждом рабочем месте. Это столь же неотъемлемый его атрибут, как когда-то – авторучка, карандаш и бумага. Причем число мобильных устройств быстро растет, продолжается и развертывание корпоративных облачных сервисов. По информац...

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

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

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

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

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

[Перевод] Фейс-контроль для питомцев Компьютерщики, с днём вас! Пусть и не совсем официальным. Недавно мы провели опрос в нашем сообществе Microsoft Developer и выяснили, что у многих из вас есть котики. Поэтому решили сегодня рассказать вам о создании IoT-дверцы для животных с распознаванием мордочки (+ тутори...

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

Как мы участвовали в хакатоне от OpenData Всем привет, в этой статье я хочу рассказать про Why So Serious Hack. Про то, что вообще нас туда привело, чем хакатоны в классическом понимании отличаются от хакатонов с контестом и что нам помогло выиграть. Читать дальше →

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

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

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

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

[Перевод] Lightning Network In Depth, part 2: HTLC And Payment Routing В прошлой статье мы с вами подробно разобрали работу платежных каналов, а также несколько различных методов по обеспечению безопасности платежей, проходящих через них, однако этого все еще недостаточно для построения рабочей сети каналов: даже если мы уверены в том, что внут...

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

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

Как уничтожить Интернет? Помните угрозу анонима уничтожить Интернет? Где хакер грозился «положить» 13 корневых DNS серверов сети Интернет и сделать получение информации, посредством запроса с использованием доменного имени, невозможным? В результате чего любой, кто введёт «http://www.google.com» или...

Централизованный сontinuous deployment за год vol 2 В нашей прошлой статье мы рассказали о том как строили централизованный конвейер, но описали его довольно поверхностно. Это породило массу вопросов, которые мы не можем оставить без ответа. Здесь мы попробуем максимально глубоко залезть «под капот» и рассказать, как работает...

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

Обзор внешнего жесткого диска Transcend StoreJet 25C3N Компьютерные комплектующие, вроде внешнего HDD Transcend StoreJet 25C3N – это не просто расширители функциональности. Герой моего обзора – стильный, аккуратный и компактный аксессуар, который не стыдно добыть из кармана пиджака на солидной встрече. Вопрос в том, ...

Управление трафиком с использованием Fiddler Автор: Ольга Еременко, QA Engineer При тестировании сайтов или мобильных приложений иногда возникает необходимость не только отловить трафик между клиентом и сервером, но и модифицировать его, чтобы посмотреть, как это обработает бэкенд и что поменяется на UI. В таких сл...

5 интересных фактов о новых процессорах AMD Ryzen 2200G/2400G На фоне сумасбродных цен на видеокарты выпуск APU Raven Ridge от AMD – это просто золотая жила. Несмотря на шикарную производительность за свою цену, Ryzen 2200G и 2400G очень интересны сами по себе. И сейчас я расскажу вам пять самых неочевидных фактов, которые вы нав...

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

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

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

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

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

[Перевод] Подсчитываем коллективный интеллект Хабра (и любой другой организованности людей) Питер Хинченс (Pieter Hintjens), автор книги «Социальная Архитектура», на основе многолетнего опыта управлением open source сообществом предлагает свою систему оценки организованности. Коллективный Индекс Интеллекта или КИИ (CII) Я собираюсь предложить инструмент по изме...

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

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

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

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

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

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

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

Создание компании. Идеология — first Приветствую, коллеги. Сегодня я хочу поделиться с вами своей мечтой. Я работаю в сфере разработки ПО примерно 12 лет. За это время я сменил более 10 организаций. Были только два места, где я задержался надолго — на 3 и 5 (привет, Валера) лет, а в остальных компаниях я отраб...

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

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

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

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

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

"Эмо-чёлка" отросла у будущего OnePlus 6 Буквально в прошлой статье мы писали о том, что Android-смартфоны сегодня в очередной раз копируют iPhone, на этот раз модель X от Apple. И даже предлагали вам проголосовать по этому поводу или высказать своё мнение в комментариях. Теперь совершенно официально становится и...

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

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

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

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

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

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

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

Задай вопрос создателю Vue.js Vue — JavaScript фреймворк для разработки веб-приложений на JavaScript, созданный Эваном Ю (Evan You) в 2013 году. Vue нашел золотую середину между React и Angular и испытал взрывной рост в последние два года, попав в тройку лидирующих JS фреймворков. В отличии от Angular/...

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

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

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

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

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

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

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

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

Walmart будет создавать роботизированных пчел Мы уже неоднократно упоминали замечательный британский (а теперь уже американский) сериал «Черное зеркало», а также то, что многие идеи, заложенные в нем, пугающе часто находят воплощение в окружающей действительности. Не так давно мы писали о создании искусственных цветов...

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

[Из песочницы] True XP/TDD в Пивотал изнутри: как это выглядит и возможно ли это? Ранее на хабре публиковалась статья о том, как в теории выглядит Xp/Tdd в Пивотал Лабс, и были вопросы о том, возможно\нужно ли это в действительности. Я попытаюсь объяснить, как это выглядит на практике и почему это может быть (внезапно) хорошо. В последние полгода мне при...

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

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

Почему Швеция отказывается от идеи полного перехода на безналичные платежи Изображение: Pexels Банк HSBC в своем недавнем отчете назвал переход на безналичные средства платежа одним из главных трендов текущего года наряду с развитием технологии блокчейна. Во многих странах эта тенденция видна уже сейчас — существуют даже рейтинги стран, в которы...

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

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

Онлайн-хакатон: создание приложений для SharePoint Online Привет, Хабр! Хочу поделиться информацией об онлайн-хакатоне для специалистов по автоматизации бизнес-процессов. Кто организует конкурс Соревнование проводится на новой специализированной платформе Contestars.com, а его организатором выступило сообщество разработчиков Iz...

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

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

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

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

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

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

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

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

Компактный ноутбук Panasonic Let’s Note CF-SV7 оснащается ODD, CPU Intel Coffee Lake, модемом LTE, портами USB-C и D-Sub Самобытные ноутбуки, предлагаемые японскими компаниями на домашнем рынке, представляют для нас интерес скорее академический, чем реальный. Тем не менее, порой полезно взглянуть на эти устройства, чтобы иметь хорошее общее представление об индустрии. Современные ноутбу...

Математический пакет для Android “Микро-Математика”: что нового? Вот и пролетело полгода с тех пор, как я перевёл свой математический пакет на Андроид, “Микро-Математику”, в статус свободных приложений с открытым исходным кодом и опубликовал код на github. Благодаря такому шагу, “Микро-Математика” получила мощный импульс для развития, а ...

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

[Из песочницы] Даже в Java 9 ArrayList всё ещё можно (и нужно) улучшать Думаю, большинство джавистов согласится, что java.util.ArrayList — наиболее используемая коллекция в мире Java. Она появилась в версии 1.2 и быстро стала "коллекцией по умолчанию", ведь в большинстве случаев её возможностей вполне достаточно для повседневной работы...

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

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

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

CLOUD Aсt: новый законопроект США открывает доступ к персональным данным за рубежом На прошлой неделе, 23 марта 2018 года, Конгрессом США был принят законопроект, получивший название CLOUD Act. Он значительно расширяет возможности правоохранительных органов Соединенных Штатов по доступу к частной информации в сети. Подробнее об акте и о том, как к нему отн...

Chuwi Hi9 Air с 2К дисплеем Все мы любим скидки и ситуации ,когда можно купить себе какое-то устройство по более низкой цене. Сейчас такая возможность есть в планшетным компьютером Chuwi Hi9 Air, который лично мне кажется наиболее интересной моделью на рынке на данный момент. Это очень крутой продукт с...

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

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

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

На платформе GOG появились профили Платформа GOG.COM сильно проигрывает своему основному конкуренту — Steam. Да и Origin с Uplay более популярны среди пользователей, хотя там продаются игры исключительно EA и Ubisoft. Хотя, стоит отметить, создатели GOG предоставляют пользователям намного больше преимуществ, ...

Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так» Здесь вы не увидите ни строчки кода. Мы поговорим об обычных людях — о наших пользователях, точнее о том, как сообщать им, если в системе возникла какая-то непредвиденная ситуация. В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается п...

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

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

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

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопились некоторые советы и решения, среди которых open-source фреймворк, которыми я хотел бы поделиться. В данной статье мы пройдемся по некоторым принципам, а так же посмотрим на р...

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

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

К 2024 году выпуск панелей AMOLED увеличится более чем в четверо По мере роста спроса на панели AMOLED для телевизоров, поставки панелей такого типа будут увеличиваться. Суммарная площадь панелей, отгруженных в прошлом году, составляет 5,0 млн м2. В 2024 году она достигнет 22,4 млн м2, то есть вырастет более чем в четыре раза. Так ви...

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

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

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

Elit Web рассказал, как продвигать новый сайт Работая над созданием нового сайта, позаботьтесь заранее об оптимизации. SEO на сегодня главный инструмент развития проекта в Интернете. От того, насколько качественно и быстро оптимизация организована для сайта будет зависеть скорость и успешность проекта в Сети.

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

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

[Перевод] Руководство по фоновой работе в Android. Часть 3: Executors и EventBus Приветствую, коллеги. Рад видеть вас снова в третьей части «Руководства по фоновой работе в Android». Если не видели предыдущие части, вот они: Часть 1: AsyncTask Часть 2: Loaders В прошлый раз мы разобрались, как работают Loaders, а сразу после этого Google взял и соо...

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

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

Анатомия .NET Core: как мы настроили NTLM под Linux Мы продолжаем рассказывать про миграцию мобильного сервиса в ASP.NET Core и Docker. В этой статье будет идти речь про модуль WCF-клиента, упомянутый в предыдущей статье, NTLM-авторизацию и другие проблемы при его миграции. Сейчас расскажем, почему нам пришлось немного изучит...

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

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

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

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

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

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

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

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

Mikrotik: Балансировка в КПСС и соблюдение скоростного режима В этой статье я хочу поделится своим решением балансировки с применением Классификатора по Сетевым Соединениям (Per Connection Classificator) и маркировкой трафика для QoS. Предисловие На просторах Хабра и интернета я встречал множество реализаций балансировки, включая и PP...

Ложные срабатывания. Новая техника ловли двух зайцев Проблема ложных срабатываний. Точность и полнота. Если есть универсальная болевая точка DLP-систем, то это, без сомнения, ложные срабатывания. Они могут быть вызваны неправильной настройкой политик, но соль в том, что даже если интегратор постарался, и все внедрено-настро...

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

Android Oreo уже можно протестировать на ZTE Axon 7 Хорошая новость для владельцев ZTE Axon 7. У пользователей появилась возможность установить бета-версию Android Oreo. Правда, сказанное касается только жителей США. Другим обладателям телефона придется подождать. Android Oreo кардинально меняет опыт взаимодействия с гаджетом...

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

Huawei готовит эмоционального виртуального помощника для смартфонов Уже не в первый раз можно услышать, что Huawei готовит свои собственного электронного помощника, которого компания поселит в свои смартфоны. У Apple есть Siri, Samsung разжилась Bixby, Google Assistant появится в виде отдельной кнопки, например, в LG G7, другие же вендоры ...

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

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

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

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

Моделирование динамических систем: решение нелинейных уравнений Введение Содержание циклаВведение Численные методы решения ОДУ Введение в GNU Octave Задача внешней баллистики Конечной целью математического моделирования в любой области знаний является получение количественных характеристик исследуемого объекта. Некоторые параметры пу...

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

Android-приложение поверх других приложений В 2013-году Facebook выпустил функцию Chat Heads для своего мессенджера, который позволяет вести переписку, не открывая сам мессенджер путем нажатия на маленькое круглое окошко, которое всегда висит на дисплее даже поверх других приложений: Facebook одним из первых продемо...

Телевизор Xiaomi Mi TV 4A временно распродают менее чем за 9 000 рублей Есть сейчас покупать себе хороший телевизор, чтобы на нем можно было не только смотреть фильмы, но еще и играть в игры, например, используя Xbox One X или PlayStation 4 Pro, то он должен обладать минимальным

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

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

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

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

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

Разработчики рассказали, насколько популярны Apple Watch Series 3 Разработчики популярного приложения Pedometer++ для iPhone и Apple Watch рассказали, какие модели умных часов пользуются наибольшим спросом среди их пользователей. Полученные данные позволяют не только получить представление о степени распространенности Apple Watch Series ...

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

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

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

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

Только в конце прошлого года YouTube удалил более 8 млн. роликов YouTube сообщил о том, что между октябрём и декабрём 2017 года было удалено 8,3 млн. роликов, которые не соответствовали новым правилам, принятым после ряда скандалов. YouTube бдит Читайте также: Зарабатывать на YouTube станет еще сложнее Это сообщение YouTube выложил в на...

Есть ли жизнь на Марсе: насколько близки учёные к решению этого вопроса Краткая история научного спора вокруг Красной планеты — адаптированный перевод статьи Теда Антона.

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

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

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

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

[Перевод] Упрощение кода с помощью if constexpr в C++17 Несколько новых возможностей C++17 позволяют написать более компактный и ясный код. Это особенно важно при шаблонном мета-программировании, результат которого часто выглядит жутко… Например если вы хотите выразить if, который вычисляется во время компиляции, вы будете вынужд...

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

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

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

#PostgreSQL. Ускоряем деплой в семь раз с помощью «многопоточки» Всем привет! Мы на проекте ГИС ЖКХ используем PostgreSQL и недавно столкнулись с проблемой долгого выполнения SQL скриптов из-за быстрого увеличения объема данных в БД. В феврале 2018 года на PGConf я рассказал, как мы решали эту проблему. Слайды презентации доступны на сайт...

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

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

Майнинг в блокчейн-сетях: как он работает В начале января правительство Китая приказало «армии биткойн-майнеров» страны, которые генерируют 3/4 всей мировой криптовалюты, прекратить работу. Одной из главных причин такого решения стало слишком высокое количество электроэнергии, которое потребляют майнинговые фермы — ...

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

Из первых рук: креативный директор проекта рассказывает о Far Cry 5 Креативный директор игры Дэн Хэй (Dan Hay) поделился с общественностью важными фактами, которые связаны с грядущим релизом Far Cry 5. В Far Cry 5 нет заданного главного героя «Впервые в истории Far Cry вы сможете создать своего персонажа перед тем, как начнете исследов...

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

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

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

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

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

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

ASUS ZenFone 5 привезли в Россию На территорию России официально привезли смартфон ASUS ZenFone 5, который стоит очень хороших денег — 27990 рублей. Это шикарная цена для смартфона с огромным дисплеем, который занимает 90% фронтальной панели. Дело в том, что производитель пошел по пути современного дизайна ...

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

Глава Samsung Mobile: Мы не копировали идеи Apple Работая над созданием селфимоджи, Samsung не пыталась скопировать анимодзи и другие идеи компании Apple. С таким заявлением Донг Джин Ко, глава мобильного подразделения Samsung Electronics, выступил перед журналистами The Wall Street Journal. По его словам, у корейской ком...

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

Ищем спикеров на Front-End MeetUp 28 марта Наше внутреннее Front-end сообщество в Райффайзенбанке активно развивается, коллеги регулярно встречаются для обмена опытом и полезными полезными знаниями. Мы знаем, как важно общаться с людьми из других команд и проектов, иметь возможность спросить совета, обсуждать тольк...

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

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

Новости из страны Go, или что нового в GoLand 2018.1 Привет, Хабр! В конце прошлой недели вышла GoLand 2018.1! Для нашей команды этот релиз особенный, — это первое крупное обновление IDE с момента ее запуска четыре месяца назад. Подсказки при редактировании, и навигация по коду, которыми наша команда гордится, стали еще боле...

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

Xiaomi Mi MIX 2S вновь слили в сеть На MWC 2018 смартфон Xiaomi Mi MIX 2S не привезли, так что фанты и инсайдеры продолжают ломать голову над тем, как бы выглядела новинка. Вот в сети появились новые изображения продукта, на которых ничего не видно, но отчетливо виден экран продукта. На нем нет никаких выступо...

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

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

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

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

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

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

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

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

[Перевод] Часть 2: Сетевое взаимодействие — Написание blockchain менее чем за 200 строк кода на Go Вы прочитали первую часть из этой серии? Если нет, то стоит взглянуть. Не волнуйся, мы подождем... Читать дальше →

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

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

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

Nissan представила миру «беспилотные» тапочки, которые никогда не потеряются Каждый день мы слышим об новых инновациях и изобретениях, и наблюдаем, как технология совершенствуется и становится лучше. Nissan, чья беспилотная машина Leaf выиграла награду за «Лучшую инновацию», поспешила порадовать мир своим новым творением: тапочками, которые сами возв...

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

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

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

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

Индексы в PostgreSQL — 10 В прошлых статьях мы рассмотрели механизм индексирования PostgreSQL и интерфейс методов доступа, а также хеш-индексы, B-деревья, GiST, SP-GiST, GIN, RUM и BRIN. Нам осталось посмотреть на индексы Блума. Bloom Общая идея Классический фильтр Блума — структура данных, позволя...

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

Как я переучился из тестировщика в .NET-разработчика Дмитрий Мишин из Рязани начинал свой путь в IT на позиции тестировщика, но еще с университета хотел стать разработчиком. Два года он искал баги на работе, а в свободное время самостоятельно изучал .NET. Сейчас Дмитрий работает Senior .NET-программистом. Он рассказал, как у...

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

Что общего у компании Crossover, космонавтики и NASA? У удалённой работы и фриланса в буквальном смысле многовековая история. Но её современная разновидность, известная под названием telecommuting, разумеется, гораздо моложе, а к его рождению самое непосредственное отношение имеет космическое агентство NASA. В общем, день космо...

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

«CI плохо справляются с требованиями мобильной разработки»: интервью с создателем fastlane Феликсом Краузе Многие мобильные разработчики любят инструмент fastlane, автоматизирующий задачи при выпуске приложения (генерацию скриншотов, code signing в случае с iOS, деплой в магазин или в систему бета-тестирования). Долгое время fastlane можно было использовать только на macOS, но ...

Почему я не люблю DevOps (и современное ПО) Предисловие Данная статья очень субъективна и основана на моём опыте в ИТ-индустрии (Я разработчик с 10-и летним стажем и опытом работы в различных проектах, командах и странах (Казахстан, Канада)). Уверен, что многие не поддержат мою точку зрения и могут назвать эту статью ...

Shadowgun Legends совсем скоро пустят в релиз Хотя игра Shadowgun Legends ещё не вышла в свет, разработчики периодически проводят прямые трансляции и показывают геймплей всем фанатам, желающим получить больше информации о продукте. Уже сейчас понятно, что шутер от первого лица очень похож на Destiny, и это многим понрав...

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

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

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

Семинар «Разработка vs Эксплуатация. Почему ни Agile, ни DevOps – это не волшебная пилюля», 22 марта, Москва Мы запускаем новое направление Университетов DataLine — семинары по поддержке интернет-проектов и взаимодействию разработки и эксплуатации. Новым будет и формат — теперь мы будем вести онлайн-трансляции со всех наших семинаров! Дата: 22 марта в Москве. Тема: «Разработка...

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

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

Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе Как известно, в Unity нельзя было создавать трехмерные модели. Т.е. нативных средств и инструментов для редактирования трехмерных моделей в Unity нет, есть несколько встроенных объектов (куб, сфера и т.п.), но с ними невозможно, опять же, встроенными стредствами редактора ...

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

Пользователи имиджборда Pr0gramm ополчились против Брайана Кребса из-за Coinhive и пожертвовали $120 000 на борьбу с раком Известный журналист Брайан Кребс провел расследование, в попытке установить, кому сейчас принадлежит сервис для браузерного майнинга Coinhive. Но в своей статье Кребс «обидел» сообщество имиджборда Pr0gramm, и пользователи устроили очень необычную акцию протеста.

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

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

Mozilla разработала открытый шлюз для Интернета вещей Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple Ho...

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

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

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

Видеообзор ридера AirOn Airbook Pro 6 Не так давно мы познакомились с флагманским ридером от компании AirOn. Сегодня пришел черед рассказать о младшей, более компактной модели – Pro 6. Как и Airbook Pro 8, книга неплохо оснащена, но обладает более компактным габаритами, которые хорошо подойдут для повседневного ...

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

Редактор скриншотов из Android P теперь можно установить на любой смартфон Вчера мы описывали новые возможности Android P Developers Preview 1, в числе которых упоминали и новое приложение, которое позволяет удобно и быстро редактировать скриншоты. В настоящее время данное приложение имеет имя «Markup» и уже сейчас (в первой превью верс...

[Видео] Как мы провели очередной Android Paranoid Android почти исполнилось десять лет. Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта...

Богомолы маршируют в VR Лекарство от рака? Полёты в космос? А давайте оденем на богомола 3D очки? Несмотря на странность идеи, она намного полезней, чем кажется. Думаю, каждый смотрел фильм «Парк Юрского Периода». Если да, вы помните Т-Рекса, который видел жертв только тогда, когда они двигались. ...

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

Обзор Audio-Technica ATH-ANC40BT Audio-Technica — японская компания с более чем 50-летним опытом создания высококлассного звукового оборудования. Беспроводная гарнитура ATH-ANC40BT одна из самых технологичных моделей в каталоге компании. В арсенале наушников: качественный звук, система активного шумоподавле...

Медленно заряжается телефон: что делать? У всех смартфонов на Android есть кое-что общее — они быстро разряжаются. Это связано с большим количеством факторов, включая первоначальную емкость...

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

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

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

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

Нативно или нет? 4 мифа о кросс-платформенной разработке Смартфоны продолжают отвоевывать все больше места под солнцем не только как инструмент потребления фотографий котиков, но и в качестве рабочего инструмента. Поэтому и спрос на мобильную разработку растет. Принято считать, что тру и кул — это Objective-C/Swift для iOS и Java/...

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

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

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

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

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

В прошлом году Google продала 3.9 миллиона телефонов Pixel Насколько успешен мобильный бизнес Google? Ответ дает исследовательская компания IDC. Если верить опубликованному отчету за 2017, пользователи купили порядка 3.9 миллиона смартфонов Google Pixel. Это касается не только второго поколения, но и первого. Число вдвое превышает р...

Snapdragon 636 рвёт большинство флагманских чипсетов прошлых поколений Вы заметили, что сейчас в описании смартфонов реже стали использовать прилагательное "премиальный"? А раньше каждый второй, даже с переклеенным китайским логотипом именовался маркетологами премиальным. Сейчас с этим стало попроще, видимо, потому что значительно сместились ...

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

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

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

Новое правительство Германии пошло на примирение с Россией Новое правительство кабинета министров ФРГ пытается наладить свои отношения с Россией. 6 января министерство Германии выдало документ. в котором указано, что их целью сейчас есть возврат политических отношений с Россией, а также к взаимному доверию, которое возвратит стран...

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

Новые возможности LISP в nanoCAD 8.5 Поддержка LISP в nanoCAD появилась давно и связывалась в первую очередь со специальной командой LSP, которая открывает LISP-консоль, предназначенную для ввода выражений и анализа переменных: Рис. 1. Окно LISP-консоли Релиз 8.5 сделал следующий важный шаг вперед, теперь вв...

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

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

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

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

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

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

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

Владимир Ефимов: в 2017-м г. бизнесмены Москвы приобрели свыше 77 тысяч патентов В прошлом году столичному бюджету удалось заработать более 5,4 млрд. рублей благодаря реализации патентов для бизнеса. Если сравнивать с 2016-м годом, то это прирост на 54 процента. В общей сложности представителями московского предпринимательского сообщества было приобрете...

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

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

Yii 2.0.14 Команда Yii рада представить новую версию PHP фреймворка: Yii 2.0.14. В неё вошло более сотни улучшений и исправлений, включая исправления безопасности. В релиз вошли несколько изменений, которые могут повлиять на уже работающие приложения. Эти изменения описаны в UPGRADE.md...

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

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

[Перевод] Пол Грэм: как делить доли в стартапе Июль 2007 Инвестор готов дать вам деньги за некий процент вашего стартапа. Соглашаться? Вы вот-вот наймете своего первого сотрудника. Сколько акций ему пообещать? Это одни из тех сложных вопросов, которые встают перед основателями. Но на есть ответ: 1/(1 — n) На что бы...

[Перевод] Разработка статического блога на Gatsby и Strapi Статические веб-сайты содержат страницы с неизменным содержимым. Технически — это набор HTML-файлов, которые, для каждого посетителя сайта, выглядят одинаково. В отличие от динамических веб-сайтов, для разработки таких сайтов не нужно серверное программирование или базы данн...

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

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

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

От корутин до ARKit: всё, о чём можно будет узнать на Mobius 2018 Piter   Когда в декабре мы анонсировали новый петербургский Mobius, нам самим были известны имена лишь нескольких спикеров. А теперь, когда до конференции осталась лишь неделя, рассказываем как следует о докладах, которые на ней можно будет услышать: от рассказа о мультиплатформе...

Кто там? В Евросоюзе предложили скрыть данные владельцев доменных имен 25 мая в Евросоюзе вступает в силу Общий регламент по защите данных (GDPR). Постановление изменит способ хранения и обработки персональных данных компаниями, работающими на территории ЕС. Однако некоторые его положения до сих пор вызывают у сообщества вопросы. Так, Корпорац...

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

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

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

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

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

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