Социальные сети Рунета
Вторник, 23 апреля 2024

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

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

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

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

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

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

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

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

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

Разбор перформансных задач с JBreak (Часть 3) Публикую предпоследнюю часть разбора с третьей задачей. До этого выходил разбор первой задачи и второй задачи. Код к третьей задаче: public static double compute( double x1, double y1, double z1, double x2, double y2, double z2) { double...

Собственная игровая аналитика за $300 в месяц На рынке много продуктов, подходящих для игровой аналитики: Mixpanel, Localytics, Flurry, devtodev, deltaDNA, GameAnalytics. Но все же многие игровые студии строят свое решение. Я работал и работаю со многими игровыми компаниями. Я заметил, что по мере роста проектов, в сту...

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

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

7 критических замечаний к анализу различий между Viber/ICQ/WhatsApp/FB и Telegram Юрия Синодова Шинкарёв: уровень аргументации у главреда «Роем!» примерно одинаков с уровнем у пресс-секретаря Президента страны, то есть — недостаточный.

UX-кинотеатр – Эмоции. Чувства. Интервью Перед нами стоит задача улучшать продукты банка с учетом пользовательского опыта. Можно решить эту задачу, протестировав всё приложение, и написать отчёт на несколько сотен страниц с рекомендациями по исправлению. По времени эта работа займёт где-то 3-4 месяца (кошмар, Agi...

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

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

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

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

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

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

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

Чего не хватает в Trello для Agile разработки и где искать альтернативы? Многие из тех, кто привык работать с Trello, отмечают удобство и универсальность инструмента, но забывают о том, что вокруг появляется много новых сервисов и функций. Trello построен на базе Kanban досок. К сожалению, Kanban доски в Trello сильно упрощены: с общими офисными...

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

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

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

Обзор Xilence xpf120.r и Titan TFD-12025H12ZP/KE(RB). Сравнение корпусных вентиляторов Всем привет! Давненько у нас не было подобных сравнений и тестирования интересных железяк для настольного компьютера (да-да, мы читаем комментарии и видим, чего вам не хватает), так что сегодня я решил рассказать вам о двух вентиляторах. Мы сравним две модели - Xilence xpf12...

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

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

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

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

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

Разбор задачек от Одноклассников на JPoint 2018 Алоха! Самым, наверное, интересным событием на этой неделе в мире Java стала конференция JPoint, которая прошла в Центре Международной Торговли в Москве. Одноклассники предложили посетителям тоже поучаствовать в разработке самой высоконагруженной системы на Java и помочь на...

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

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

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

[Перевод] Как стать фронтенд-разработчиком в 2018 году Камран Ахмед, автор материала, перевод которого мы сегодня публикуем, говорит, что занимается фуллстек-разработкой уже 5 лет и в настоящее время работает на должности ведущего инженера в компании tajawal. Там ему приходится заниматься многими вещами. Ему, по долгу службы, на...

[Из песочницы] Немного о физике в почти Agar IO на aicups.ru В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб. Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО. Читать дальше →

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

Задача про forEach(ps::println) от СКБ Контур На конференции JBreak я не читал задачки спонсоров специально. Ну, конечно, кроме ада от Excelsior: уж эти ребята всем задали жару. А тут принесли мне листок от СКБ Контур, смотри, мол, посмейся. Я посмеялся: первая задача действительно выглядела настолько наивно сформирован...

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

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

Разбор перформансных задач с JBreak (Часть 1) Первая часть — разбор самой холиварной задачи из четырёх: void forEach(List<Integer> values, PrintStream ps) { values.forEach(ps::println); } void forEach(List<Integer> values, PrintStream ps) { values.stream().forEach(ps::println); ...

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

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

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

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

[Из песочницы] Explicit Proxy c авторизацией по AD Group + Interception Proxy с авторизацией по MAC Во многих организациях структура сети предполагает использование терминальных серверов, персональных компьютеров, а также мобильных устройств. В данной публикации пойдет речь о том, как все это пустить через прокси сервер Squid, не прописывая лишний раз настройки браузера н...

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

[Перевод] Дорога на войну: ИИ игр серии Total War С самого основания моей серии видео «AI and Games» на YouTube я исследовал различные реализации ИИ, решающие определённые задачи в дизайне видеоигр, требующие немедленного, реактивного поведения в сочетании с долговременным и стратегическим принятием решений. Популярным жан...

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

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

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

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

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

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

В Москве расскажут о вики-сообществе и проектах Википедии 22 февраля 2018 года в 19:30 при поддержке Impact Hub Moscow состоится митап  «Как работает Википедия». На встрече выступит Станислав Козловский, исполнительный директор «Викимедиа РУ», администратор Википедии. Участники узнают, как возникла Википедия, как раб...

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

Тестирование и непрерывная интеграция для Ansible-ролей при помощи Molecule и Jenkins После того, как Ansible вошёл в нашу практику, количество кода на нём и, в частности, ролей стало расти очень быстро. Роли для бэка, фронта, прокси, баз данных, мониторинга, сбора логов и т. д. и т. п.—их количество насчитывает десятки. Часть из ролей специфична для опреде...

Экспресс-оценка сложности алгоритма (+разбор задачи c Joker 2017 и DotNext 2017 Moscow) Для любого практического применения log(n) можно считать константой. Просто в некоторых компаниях эта константа больше, чем у вас. © народная мудростьПоловину жизни я учу программировать. В том числе учу разработчиков делать быструю оценку вычислительной сложности алгоритма....

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

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

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

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

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

[Из песочницы] Team Leader. Быть или не быть, вот в чем вопрос Данную статью меня побудил написать тот скрытый и для каждого свой смысл должности/роли Team Leader. Многие хотят им стать, многим интересно что там, "под капотом", работы в этой должности. Поэтому кому интересно узнать еще одно мнение об этом всем безобразии, то ...

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

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

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

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

«HR-аналитика» средствами R Является продолжением предыдущих публикаций. Неожиданно оказалось, что для одной из задач, которую пришлось решать примерно год назад, а именно оценка «надежности» большого коллектива, нынче есть весьма популярное название «HR аналитика». Актуализируя в рамках новой задачи м...

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

JPoint 2018: разбор полётов 6-7 апреля 2018 года в Москве проводилась Java-конференция JPoint 2018. Далее представлен «разбор полётов» конференции, прошедшей при активной поддержке и участии популярного подкаста Разбор полётов: информация и впечатления о докладах, организации мероприятия, проиллюстриро...

Разбор перформансных задач с JBreak (часть 4) Разбор последней четвёртой задачи: public double octaPow(double a) { return Math.pow(a, 8); } public double octaPow(double a) { return a * a * a * a * a * a * a * a; } public double octaPow(double a) { return Math.pow(Math.pow(Ma...

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

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

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

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

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

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

Google предлагает весенние обои для смартфонов Иногда у любителей смартфонов появляется возможность скачать новую пачку обоев для своего устройства. Чаще всего это набор фотографий-обоев с другого смартфона, который только готовится к релизу, либо только-только вышел. Например, как это было с Huawei P20 и Nokia 7, когд...

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

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

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

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

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

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

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

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

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

Android Go Pixel Launcher доступен для загрузки на устройства с ограниченным RAM Большой выбор лончеров — одна из главных прелестей операционной системы Android. Теперь разнообразить использование смартфона можно с ещё одной оболочкой. Pixel Launcher для Android Go доступен для скачивания. Запустить его смогут в том числе устройства с небольшим объёмом ...

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

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

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

Некоторые владельцы Galaxy S9 жалются на проблемы сенсора экрана Некоторые купившие смартфон Samsung Galaxy S9 жалуются, что у них плохо работает сенсор экрана. То есть у пользователей есть некоторые «мёртвые пятна», где на нажатия экран не реагирует, хотя прекрасно считывает и обрабатывает тапы в других местах. Об этом отписались участ...

Шансы на успех в Европейском Суде жалоб на блокировку ресурсов Вероятнее всего жалобы в Европейский Суд на блокировки ресурсов в связи с попытками Роскомнадзора заблокировать Телеграмм могут иметь большие шансы того, что Суд может признать нарушение. Вопросы блокировки сайтов рассматривались Европейским Судом в нескольких делах. Больш...

Подборка: 12 сервисов для защиты от DDoS-атак По статистике, около 33% компаний попадают под DDoS-атаки. Предсказать атаку невозможно, а некоторые из них могут быть действительно мощными и достигать 300-500 Гб/с. Для того чтобы обезопасить себя от DDoS-атак можно воспользоваться услугами специализированных сервисов. Н...

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

От смутной идеи до спонсируемых НИОКР: путеводитель неуверенного стартапера В предыдущем посте мы рассказали о проектах-финалистах МЕГА Accelerator 2, которые прошли путь от сыроватой идеи до полноценного бизнеса. Но есть множество проектов, которые застревают на ранних этапах: в поисках инвестора, мотивации или смелости для «выхода из сумрака». В э...

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

Разбор перформансных задач с JBreak (Часть 2) Только поутихли страсти с первой части разбора, вышедшей на прошлой неделе, как публикую продолжение: сегодня речь пойдёт о второй задаче. Код второй задачи: String format(String user, String grade, String company, String message) { return String.format( ...

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

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

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

[Перевод] Мы сосредоточились на клиенте (а не на конкурентах) — и за год получили более миллиона новых пользователей Кейс компании JotForm. В феврале прошлого года мы выпустили новую версию продукта. До этого почти весь 2016 год мы потратили на обновление основной функциональности и были в восторге от того, что получилось. Но вскоре после выпуска новой версии главный дизайнер наткнулс...

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

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

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

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

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

О невнимательности, похожести и подлянке от дядюшки Ляо. О невнимательности, похожести и подлянке от дядюшки Ляо. Имеем, собираемый принтер на базе Re-D-Bot, и небольшую проблему: Загрузка плеера window.bxPlayerOnloadbx_flv_player_679603931 = function(config) { if (typeof config != 'object') config = {'file':'https://www.you...

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

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

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

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

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

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

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

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

IntelliJ IDEA 2018.1 — улучшенный анализ кода, поддержка частичных коммитов Git, Android Studio 3.0 и многое другое Привет, Хабр! Недавно мы запустили IntelliJ IDEA 2018.1 – первое большое обновление в этом году. В нем вас ждет множество важных улучшений: поддержка частичных коммитов Git, отображение внешних аннотаций в коде, функциональность, добавленная из Android Studio 3.0, и многое д...

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

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

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

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

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

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

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

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

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

Slingshot APT: найден продвинутый вирус — он оставался незамеченным 6 лет На прошлой неделе исследователи из «Лаборатории Касперского» обнаружили вирус, который оставался незамеченным на протяжении шести лет. Он получил название Slingshot. Многих из своих «жертв» вредонос атаковал через скомпрометированные роутеры MikroTik. Как отмечают специалис...

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

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

NeoQuest 2018: Читерство да и только Всем доброго времени суток. На прошлой неделе закончился очередной очный этап NeoQuest. А значит пришло время публиковать разбор некоторых заданий. Знаю многие ждали этого разбора, поэтому всех интересующихся прошу под кат. Читать дальше →

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

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

Вам действительно нужен Redux? Не так давно React позиционировал себя как "V in MVC". После этого коммита маркетинговый текст изменился, но суть осталась той же: React отвечает за отображение, разработчик — за все остальное, то есть, говоря в терминах MVC, за Model и Controller. Одним из решений для упра...

Путь IT-менеджера (часть #1) Привет! Меня зовут Алексей и я предлагаю сразу перейти на “ты”. Один мой друг разрешил опубликовать его историю про путь в руководители, что я и делаю с небольшими литературными изменениями. Все совпадения и имена совершенно случайны. Текст написан от первого лица. Ровно та...

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

Архивирование и восстановление индексов в Elasticsearch Однажды в одно прекрасное утро перед нами встал вопрос архивирования индексов Elasticsearch. Захотелось увидеть в хранилище стройные ряды сжатых файлов, по одному на каждый индекс. «Из коробки» Elastic такого решения не предлагает, по крайней мере, в версии 5.х. Немного пос...

Приглашаем на хакатон Whatever Hack 16 марта В нашем московском офисе 16 марта начнется 48-часовой марафон по машинному обучению, в ходе которого вы сможете продемонстрировать свои скиллы, чтобы создать решение для генерации мемов, отличить шкаф от ковра или сделать лучший MVP (minimum viable product) в рамках свободн...

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

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

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

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

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

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

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

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

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

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

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

CQRS. Факты и заблуждения CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, про...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Учебник Thymeleaf: Глава 15. Подробнее о конфигурации Оглавление 15 Подробнее о конфигурации 15.1 Resolver шаблонов Для нашего виртуального бакалейного магазина Thymes мы выбрали реализацию ITemplateResolver под названием ServletContextTemplateResolver, которая позволила получить шаблоны в качестве ресурсов из контекста сервле...

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

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

Сравнение ITSM-систем По мере своего развития у компаний появляется необходимость развивать и адаптировать свою структуру ИТ. И возникает логичный вопрос: «А что для этого нужно?» или «С чего начать?» И тут на помощь приходит ITIL и ITSM. ITSM — это подход к управлению и организации ИТ-услуг, ...

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

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

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

В сети появились тесты AnTuTu нового флагманского смартфона ASUS На днях в синтетическом тесте AnTuTu “засветился” новый флагман компании ASUS, который имеет кодовое название Z01RD. Согласно спецификациям, которые были зафиксированы программой при проведении тестов, новинка будет работать на ОС Android 8.0 Oreo. Смартфон буде...

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

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

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

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

Подсчитана стоимость производства флагманских смартфонов Нелегкая задача рассчитать стоимость изготовления смартфона, поскольку компании не разделяют свои затраты на компоненты. Тем не менее Techinsights провела сравнение цен для разных флагманов на рынке. Подробнее об этом читайте на THG.ru.

SOC — это люди. Как собрать команду в условиях кадрового голода Говорят, в 70-х годах Геннадий Зайцев, первый президент легендарного Ленинградского рок-клуба, так сформулировал принцип отбора музыкантов: «Беглость пальцев — дело наживное. Был бы человек хороший». Возможно, если бы мы с Геннадием Борисовичем решили за рюмкой чего-нибудь...

Хочу как у YouTube Вы когда-нибудь задумывались как устроен ID видео на YouTube? Возможно, вы уже знаете/нашли ответ, но, как показали обсуждения на Stack Overflow, многие понимают эту технологию неправильно. Если вам интересно изучить что-то новое, добро пожаловать под кат. Читать дальше →

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

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

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

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter? (*одно из значений слова flutter — порхать) Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться. Дисклеймеры: для понимания нужно иметь ...

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

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

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

Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo, в отделе QA. Большую часть времени занимаюсь автоматизацией тестирования. Недавно я столкнулся с задачей максимально быстро развернуть Selenium-тесты для одного из наших проектов. Условие было простое: код должен леж...

Final Fantasy XV: Pocket Edition вышла на iOS и Android на день раньше срока Final Fantasy XV: Pocket Edition вышла раньше ожидаемого. Первая часть доступна бесплатно, а все остальные можно будет приобрести приблизительно за 1299 рублей. Как вы понимаете, эта версия довольно сильно отличается то того, что есть на консолях и ожидается на ПК. Все сдела...

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

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

Первые проблемы Lego за 13 лет: Компания выпустила слишком много кубиков Популярный производитель конструкторов Lego переживает не лучшие времена: впервые за 13 лет продажи и прибыль компании упали. Тревожный звоночек для империи конструкторов В 2017 году Lego выпустила два фильма и несколько видеоигр. Связано это с, как выразилась представитель...

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

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

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

MediaTek Helio P60 принесёт искусственный интеллект на смартфоны-середнячки На выставке MWC 2018, которая проходит в Барселоне с 26 февраля по 1 марта, компания MediaTek представила новый процессор Helio P60, ориентированный на смартфоны среднего уровня. Как отмечает производитель, это первая «система-на-чипе» с многоядерным блоком обра...

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

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

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

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

Кто есть кто в команде разработки и стоит ли программисту работать на аутсорсе — Oh, my code Несколько месяцев назад мы запустили серию интервью Oh, My Code на образовательном канале Технострим. И сегодня хотим поделиться интервью с одним из наших гостей. Как из космоса попасть в мобильную разработку, кто есть кто в команде разработки и стоит ли программисту работат...

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

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

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

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

Украину сравнили с «негритянским Гарлемом» Журналист, после последних криминальных событий, сравнил Украину с Гарлемом, в котором процветает криминал и вооруженные преступления. Политолог Ростислав Ищенко считает такое сравнение некорректным. В своем выступлении журналист Вячеслав Чечило рассказал о многих криминал...

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

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

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

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

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

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

Операторы будут продавать свои версии устройств на Windows 10 ARM Как известно, на американском и европейском рынках очень популярны так называемые операторские устройства. Например, можно купить смартфон у Verizon, который можно будет использовать только в мобильных сетях данного оператора, но при этом покупка обойдется дешевле, чем если...

[Перевод] Сравнение открытых OLAP-систем Big Data: ClickHouse, Druid и Pinot ClickHouse, Druid и Pinot — три открытых хранилища данных, которые позволяют выполнять аналитические запросы на больших объемах данных с интерактивными задержками. Эта статья — перевод подробного сравнения, выполненного Романом Левентовым. Спойлер ClickHouse Druid или Pin...

В администрации Трампа предложили национализировать 5G-сеть Медиакомпания Axios сообщает, что администрация Дональда Трампа намерена сделать 5G государственной собственностью. По словам одного из представителей администрации президента США, целью этого проекта является защита американской сети от кибератак из Китая. Подробнее об ини...

Появились результаты тестирования SoC Exynos 9810 в сравнении с Snapdragon 845 и многими другими платформами Как известно, новые флагманские смартфоны Samsung поступят в продажу лишь 8 марта. Но это не помешало специалистам AnandTech протестировать модель Galaxy S9 и оценить её производительность. В данном случае исследовались возможности SoC Exynos 9810, которая будет основ...

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

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

[Перевод] Эксперименты с AR: когда C# встречается с CSS Часто при работе над проектом самые большие технические сложности возникают тогда, когда меньше всего этого ожидаешь. В моём случае это произошло, когда я работала с Google Creative Lab над прототипом эксперимента по переносу песни Грейс Вандервол Moonlight в дополненную ре...

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

[Из песочницы] 5 уроков, которые мы получили, проведя 100500 РК на Facebook Работать на рынке интернет-рекламы — это значит постоянно учиться чему-то новому. Появляются новые инструменты, растут бюджеты, расширяются настройки таргетинга, которые помогают нам экспериментировать и запускать масштабные рекламные кампании. Мы учимся, иногда совершаем ош...

Apple заняла 7 место в рейтинге производителей ноутбуков Каждый год издание Laptop Mag публикует рейтинг производителей ноутбуков, и этот год не стал исключением. По сравнению с прошлогодним списком «Лучших и худших производителей ноутбуков» компания Apple опустилась на две позиции, заняв только седьмое место.Читать дальше... Pro...

Red Dead Redemption 2 опять перенесли Red Dead Redemption 2 – одна из самых ожидаемых игр 2018 года – оказалась вновь перенесена, на этот раз на 26 октября 2018 года. Это первый раз, когда мы знаем точную дату выхода – ранее сообщалось, что тайтл выйдет весной этого года. Приключения на Диком западе придётся от...

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Room: Один ко многим Всем привет. На дворе 2018 и уже почти год как Google активно работает над Architecture Components. Неплохая документация и примеры позволяют начать использование новых компонентов без каких-либо проблем и сложностей. Но всегда есть ложка дегтя в бочке меда кода. Заметки ниж...

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

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

Neoquest 2018: «Дирижабль? Ага!» Недавно закончился CTF NeoQuest 2018. Под катом разбор второй части задания про дирижабль, ZeroNet, регистр сдвига с обратной связью и систему линейных уравнений. Читать дальше →

Видео с первого Badoo PHP Meetup 7.04.2018 Привет, Хабр! 7 апреля мы впервые собрали PHP-сообщество в офисе Badoo. Спасибо всем, кто пришел пообщаться, и тем, кто был с нами онлайн! Похоже, пэхэпэшники изголодались по митапам. Встреча получилась ну очень душевной — разговоры за жизнь и PHP из afterpaty переместил...

Ещё раз о JetBrains Open Day в Москве Привет! Мы очень рады, что событие вызвало большой интерес. Зарегистрировалось очень много участников: в офис столько не поместится. Поэтому мы решили арендовать зал и провести мероприятие в один день: 19 апреля. Итак: Банкетный зал Crystal Ballroom в Москва-Сити, 1-й красн...

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

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

Карго-культ вокруг и внутри нас: IT HR и маркетинг Совсем недавно я наткнулся на очередное обсуждение DevRel в «Разборе Полетов», в котором услышал странно знакомое слово «карго-культ». Потом оно же всплыло и в Telegram-канале Алексея 23derevo Федорова. Потом еще где-то… Всё это привело меня к мысли, что карго-культ охватил ...

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

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

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

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

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

WIP: Product Design Хочу рассказать про цикл работы над дизайном готового продукта, опираясь на собственный опыт работы в beepcar.ru. Это сервис который одним помогает попасть из пункта А в пункт Б, другим — сэкономить на бензине, а иногда — даже заработать. Короче, сводит водителей и пассаж...

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

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

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

Плавный старт шпинделя CNC Собрав станок, начал его отлаживать и столкнулся со следующей неприятностью. Двигатель шпинделя имел субомное сопротивление и при подключении его через реле по команде M03 происходило вырубание блока питания из-за защиты от КЗ. Первоначально собрал схему плавного пуска с ШИМ...

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

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

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

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

Разработчикам на Unreal Engine 4 бесплатно доступны ресурсы стоимостью $12 млн из закрытой Paragon Компания Epic Games объявила о том, что разработчики на движке Unreal Engine 4 теперь имеют доступ к ресурсам закрытой многопользовательской игры Paragon, включая 20 персонажей высочайшего качества с их обликами, анимацией, эффектами и диалогами, а также более 1500 ...

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

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

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

Знакомство с ConcourseCI Привет, Я заметил, что на Хабре очень мало информации про такой сервер сборки, как ConcourseCI. Я решил восполнить этот пробел и написать небольшое введение. Под катом описание этого инструмента и небольшой туториал. Читать дальше →

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

О чем не пишут в документации, или тонкости рефакторинга на .Net Core Всем привет! Этим материалом мы открываем цикл из нескольких статей, посвященных длинной истории о том, как мы пришли с одной стороны к CD, а с другой — к high availability, основанной на избыточности. Начнем по порядку. У нас есть API для мобильного приложения, которое нахо...

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

Neoquest 2018: «Найти ихтиандра» Недавно закончился очередной NeoQuest. Под катом разбор третьего задания, относящегося к области OSINT. Все, кого интересует стеганография и поиск информации о человеке, добро пожаловать под кат. Читать дальше →

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

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

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

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

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

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

SvelteJS: Релиз второй версии Буквально вчера вышла 2-я версия молодого, но весьма многообещающего фреймворка SvelteJS. Версия мажорная, а значит содержит не только новые фичи и исправленные баги, но и соответствующие «breaking changes». Что новенького предлагает разработчикам новая версия и почему Svelt...

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

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

Выпуск#16: ITренировка — актуальные вопросы и задачи от ведущих компаний Публикуем очередную подборку задач и вопросов с собеседований в крупных IT-компаниях (для тех, кому мало задач из предыдущего сета :) Ниже приведены вопросы и задачи для соискателей в Google, с различным уровнем сложности. Набор получился с лингвистическим уклоном, но зна...

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

Как играть в крутые игры на Mac Несмотря на то, что количество игр для macOS с каждым годом только растет, яблочную настольную платформу все еще нельзя назвать подходящей для игр. Большинство крупных и популярных AAA-проектов либо становится доступно владельцем iMac и MacBook с большой задержкой, либо не п...

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

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

Создатель Vue.js отвечает Хабру Всех с пятницей! Как и обещали, публикуем ответы Эвана Ю (Evan You) на вопросы, которые мы долго и мучительно собирали в предыдущем посте, а также русскоязычном Vue чате в Telegram. Читать дальше →

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

Управление IAX каналами при большом количестве Asterisk Добрый день. Каждый, кто мало-мальски администрирует Asterisk, сталкивается с такой задачей как объединить несколько серверов между собой. Тут уже не важно какой протокол выбран IAX или SIP, так как не зависимо от протокола будет приблизительно одинаковый набор действий. В ...

Разбираем по косточкам: Xiaomi Mi Mix 2 против Huawei Honor View 10 Сегодня благодаря стараниям уже зарекомендовавших себя китайских брендов, можно за 500 долларов взять какой-нибудь смартфон, который по навороченности будет сопоставим с Galaxy S9 или Galaxy Note 8 от Samsung, которая раньше часто оказывалась технологическим лидером. Сегод...

Блокчейн: возможности, структура, ЭЦП и задание для студента, часть 1 Предисловие Работаю ассистентом в вузе (как хобби), решил написать несколько лабораторных для студентов по дисциплине «распределенные системы». В первой части будет рассказано про возможности, структуру и ЭЦП, а во второй части про: проверку подписи, майнинг и примерную орга...

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

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

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

Хана котёнку. Почему сотрудники ненавидят CRM? В комментариях к одной из недавних статей ncix поднял вопрос о саботаже CRM со стороны сотрудников и заметил, что был бы рад почитать об этом. В первые минуты мы даже растерялись — неужели мы об этом не писали? Писали, но как-то обрывками и к слову. А проблема, действительно...

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

«Цифровые государства»: с чего все началось Иллюстрация: Жан Гранвиль PD Консалтинговая компания Deloitte в конце 2017 года выпустила доклад о технологиях в международном государственном секторе. Главный тренд на 2018 год — то, что исследователи называют symphonic enterprise. Эта концепция подразумевает достижение кум...

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

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

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

[Перевод] Сетевая физика в виртуальной реальности Введение Около года назад ко мне обратилась компания Oculus с предложением проспонсировать мои исследования. По сути, они сказали следующее: «Привет, Гленн, существует большой интерес к передаваемой по сети физике для VR, а Вы сделали отличный доклад на GDC. Как считаете, с...

Интегрируем TeamCity с JIRA – без плагинов и администраторов Мы разрабатываем большое модульное UI-приложение, состоящее из большого количества плагинов с разными циклами релиза. Весь код располагается в одном репозитории, так что к разработчикам постоянно приходит QA-специалист и спрашивает: «А какой компонент поменялся? Какую версию...

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

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

FlyJacket – необычный способ управления дроном в VR Как насчет того, чтобы собственным телом управлять дроном в VR-шлеме, который в реальном времени транслирует картинку с самого дрона? Это стало возможным благодаря костюму, разработанному в Федеральном технологическом институте Лозаннского университета в Швейцарии. Проект на...

ТОП-10 самых прожорливых Android-приложений по версии Avast Компания Avast собрала статистику и составила отчёт о некоторых популярных приложениях для Android. В итоге получилось 2 списка, первый из которых рассказывает о наиболее прожорливых в плане энергопотребления программах, работающих в фоновом режиме. Второй приводит топ-10...

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

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

[Из песочницы] Как написать обмен с 50 поставщиками и не сойти с ума Поставщики бывают разные. Одни готовы подстроиться под наш формат — другие нет; одни обмениваются SOAP'ом — другие REST'ом; одни работают с кодами товаров — другие с идентификаторами предложений; одни готовы отдать статус по заказу — другие нет; у одних есть справочники, эле...

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

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

Vivaldi 1.14 — продольно-поперечная версия Всем привет! Вот и наступил новый год, в течении которого мы будем радовать вас новыми версиями браузера с новыми функциями. И сегодня мы готовы порадовать очередной стабильной сборкой -  Vivaldi 1.14. Процесс подготовки этой версии сопровождался довольно напряжёнными нед...

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

[Перевод] 31 совет по кибербезопасности для бизнеса Интернет постоянно растёт и улучшается, благодаря этому мы теперь можем свободно общаться с людьми во всем мире. С распространением Wi-Fi мы начали создавать устройства, которые тоже подключаются к интернету, передавая данные по сети. Это замечательно, но обратная сторона ме...

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

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

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

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

PHP 5.x – старикам здесь (не) место Индустрия хостинга неразрывно связана с PHP, на котором полностью или частично написаны более 80% сайтов в Internet. Это сильно влияет на разработку любого софта, предназначенного для работы с хостингом — в том числе такого, как контрольная панель Plesk. Мы делаем продукт дл...

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

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

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

Обновление ОС Fitbit 2.0 уже доступно для Ionic Компания Fitbit подтвердила, что на следующей неделе выйдет версия ОС Fitbit 2.0 для “умных” часов Ionic. Новая версия ОС внесет ряд дополнительных функций, а также будет доступна на новых Fitbit Versa. Интересным нововведением новой версии ОС станет приложение ...

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

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

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

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

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

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

Настраиваем Syncthing. Синяя изолента в мелком бизнесе и дома У меня тут внезапно завалялся гайд по настройке syncthing. Я уверен, что многим это может пригодиться. Про революцию в дистрибуции файлов, которую совершил torrent-протокол рассказывать излишне. Одна проблема была у классических версии технологии — статичность. Если данн...

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

Камера Samsung Galaxy S9+ признана лучшей в мире по версии DXOMark Как известно, новые флагманские смартфоны серии Samsung Galaxy S9 получили улучшенные, по сравнению с предшественниками, камеры. И приложенные корейским производителем усилия заслужили самую лестную оценку специалистов DXOMark. Подробнее об этом читайте на THG.ru.

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

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

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

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

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

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

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

IPv6 в каждый дом: Cвой собственный IPv6 сервер брокер (6in4) IPv6 шагает по планете, во многих странах поддерка IPv6 уже есть нативно от своего провайдера, если у вас еще нет IPv6 но вы хотите что бы у вас он был — вы сможете это сделать используя эту инструкцию. Что важно — трафик мы будем пускать через свой собственный арендованн...

Часть старых приложений «отвалится» в Android P Разработчики нашли очередное ограничение в Android P Developer Preview, которое теперь задаёт минимальную версию API. Если она не совпадает с той, что использована при создании приложения, то такая программа работать в системе уже не будет, а выдаст предупреждение, что она...

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

[Перевод] Замок или Город Я собираюсь обсудить два основных архетипа большой организации — замок и город — и сравнить их. А что насчет вашего проекта? Это замок или город? Замок Замок большой и строится со временем путем усердной работы. Он олицетворяет силу, влияние и власть. Есть один Замок и у ...

Как мы ломали Glusterfs История началась год назад, когда к нам пришёл наш друг, коллега и большой эксперт по энтерпрайз стораджам со словами: «Парни, у меня тут завалялась шикарная хранилка со всеми модными фичами. 90Tb». Особой необходимости мы в ней не видели, но, естественно, отказываться не ...

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

Что нового в PostgreSQL 11: INCLUDE-индексы Релиз PostgreSQL 11 состоится еще не скоро, только в октябре. Но фичфриз уже наступил, а значит мы знаем, какие фичи попали в этот релиз, и можем их потестировать, собрав PostgreSQL из ветки master. Особого внимания заслуживает фича под названием INCLUDE-индексы. Патч изна...

[Перевод] Кладбища стартапов полны провидцев без опыта и знаний Часто, когда я посещаю конференции или нетворкинг-ивенты, я удивляюсь, как много людей работают на периферии технической индустрии. Гуру социальных сетей, SEO «ниндзя», блоггеры и тому подобные. Это тусовка промоутеров технического сообщества. «Проруби свой путь к успеху», ...

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

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

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

Microsoft снижает ценник на Surface Book 2 до $1199 Сегодня Microsoft представила новую модель Surface Laptop со сниженным ценником. Это Surface Book 2 с диагональю экрана 13,5 дюймов стоимостью $1199. Технические характеристики новинки: процессор Intel Core i5, 8 ГБ ОЗУ и 128 ГБ SSD-накопитель. Напомним, что предыдущая верси...

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

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

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

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

«Когда я стал Android-разработчиком, ещё негде было искать примеры»: интервью с Давидом Гонсалесом Android-разработчики могут знать Давида Гонсалеса в связи с несколькими разными вещами. Например, он участвует в open source-проекте Android Architecture Blueprints, где разные архитектурные подходы демонстрируются на конкретных примерах (недавно проект набрал 25 000 звёзд...

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

Игра на UWP: расширенный экран-заставка Привет, Хабр! Мы продолжаем нашу экспериментальную серию статей для программистов-самоучек, в которой Алексей Плотников, один из участников нашего сообщества Microsoft Developer, рассказывает о создании игры на UWP. Сегодня поговорим о расширенном экране-заставке. Не забывай...

Блокировка Telegram и AWS — Утро начинается не с кофе Вот так сегодня началось утро тех, кто попытался зайти на docs.mongodb.com Также под раздачу попали сервисы, количество которых на данный момент сложно подсчитать. Учитывая «непреклонную» позицию РКН и Telegram — ожидать быстрого разрешения данного вопроса не приходится. ...

Heatmap Painter Тепловая карта — картограмма, визуально показывающая интенсивность какого-либо точечного показателя в пределах территории на карте. Интенсивность кодируется цветом и прозрачностью. Наверняка вы не раз видели такие картинки. Так вот, что если вам нужно сделать такую картогра...

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

Транскрипция географических названий в Open Street Map. Латвия, Литва, Польша, Эстония Привет всем, кто использует OSM. У каждого из нас свои задачи при работе с картами, однако одним из базовых функционалов конечно является поиск географических объектов, как минимум населенных пунктов, а так же рендеринг карт. Проблема в том, что значение тега name для узлов,...

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

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

Обзор митапа OpenDay JetBrains 19 апреля 2018 года в Москве прошел митап OpenDay JetBrains, который посетило большое количество людей, в том числе и я. Я решил поделиться своими впечатлениями об этом мероприятии и о самой компании. Читать дальше →

Стали известны цены на Huawei P20 в Европе В течение нескольких месяцев мы были видели утечки спецификаций и дизайна серии Huawei P20, но одна ключевая деталь, о которой не упоминалось, - это цена, сообщает ITbukva.com.Популярный пользователь Twitter @rquandt предоставил информацию о ценах всех трех версий P20. Обрат...

[Перевод] Чего не ждать от 802.11ax? Еще не утвержденный 802.11ax («Следующее поколение Wi-Fi») уже достаточно популярен для того, чтобы плохой маркетинг начал туманить разум потенциальным клиентам. Спецификация планируется к утверждению только в Декабре 2018, но уже можно купить точки! Самое время написать р...

Кого купить? Honor 9 Lite или Xiaomi Redmi Note 5 Смартфоны в районе 200 долларов — это категория, которая отлично продаётся не только в России, но и по всему миру. Сейчас уже нет нужды покупать флагманы. Аппараты среднего-ценового сегмента удовлетворяют большинство пользователей, если девайс нужен для работы и использова...

«Не влезай, убьет!» или вся правда о безопасности АСУ ТП Больша́я часть наших заказчиков — это промышленные и производственные компании. Каким бы крупным и значимым ни был фронт-офис и корпоративная сеть подобных компаний, основной их бизнес — непосредственно производство, а также связанные с ним задачи и процессы. И зачастую, реш...

Как переехать с BuddyBuild на GitLab CI за 4 часа Предыстория Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах. До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild. Он работал ...

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

РКН заблокировал несколько КРУПНЫХ подсетей Amazon и Google Сегодня вечером сразу на нескольких ресурсах появилась новость о блокировке РКН нескольких подсетей Amazon. Странно, что до сих пор не вижу поста на эту тему. Хотя, возможно, Хабр просто тоже решил отключиться. Приводится такой перечень подсетей: Заголовок спойлера18.184....

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

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

Смартфон Samsung Galaxy S9 с SoC Snapdragon 845 оказывается чуть быстрее варианта с Exynos 9810 Как известно, для многих своих смартфонов компания Samsung использует разные платформы. Обычно это решения Qualcomm и собственные SoC Exynos. Новый флагман Galaxy S9 может быть основан как на Snapdragon 845, так и на Exynos 9810. Особой разницы между вариантами быть ...

[Из песочницы] Автоматизация UI-тестирования на PhoneGap. Кейс платежного приложения Не знаю, как вы, но я в воде чувствую себя уверенно. Однако недавно меня решили научить плавать снова, применив старый спартанский метод: кинули в воду и велели выживать. Но довольно метафор. Дано: PhoneGap-приложение с iframe, внутри которых загружается сторонний сайт;...

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

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

Исходный код System Shock выложен в открытый доступ под GPL Исключительно хорошая новость: исходный код культовой игры System Shock (в версии для PowerMac) официально выложен под GNU General Public License v3.0. Игра была выпущена в 1994 году и написана на C. Как известно, автор оригинальной игры, студия Looking Glass Studios, пре...

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

Автоматизация обновлений CleanTalk Anti-Spam для WordPress Если вы обслуживаете пару-тройку сайтов, то обновление плагинов не вызывает каких-то сложностей. Сложности появляются, если вы обслуживаете несколько десятков, а то и сотен сайтов. CleanTalk Антиспам требует частых обновлений (нам приходится выпускать новую версию раз в 1-...

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

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

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

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

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

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

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

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

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

Xiaomi запускает в России официальный форум по MIUI В рамках продолжающейся экспансии отечественного рынка Xiaomi запускает в России форум поддержки пользователей MIUI. Об этом AndrodInsider.ru рассказали представители компании. Русскоязычная платформа стала третьей в списке официальных платформ, посвященных фирменной прошив...

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

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

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

[Перевод] Руководство по созданию собственных шейдеров в Unreal Engine Благодаря системе нодов редактор материалов является отличным инструментом для создания шейдеров. Однако у него есть свои ограничения. Например, там невозможно создавать циклы и конструкции switch. К счастью, эти ограничения можно обойти с помощью написания собственного ко...

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

Vegas Movie Studio 14 на бесплатной раздаче ещё 3 дня! Если вы постоянно читаете наш сайт, возможно, помните, когда проходила раздача Vegas Movie Studio 13. Продукт можно было скачать бесплатно и получить к нему официально лицензионный ключ для пожизненного использования. Сегодня у нас для вас аналогичная акция, но теперь, ска...

Galaxy S9 получил 99 баллов от DxOMark, но заслуженно ли? Да, заслуженно. В этой статье я буду опираться на мнение Twitter-пользователя под ником @cdriper, который ведет собственный блог и не так давно опубликовал материал, касающийся оценки DxOMark. Автор, как и я, скептически относится к тестам DxOMark, потому что ранее к метод...

Snapdragon 855. Две инновации «железа» флагманов-2019 Совсем недавно компания Qualcomm на своей презентации 5G Day дала широкой аудитории возможность «заглянуть в будущее». И почти сразу в Сети появилось сообщение о том «железе», на котором, возможно, станут базироваться наиболее яркие флагманы 2019 года. Ведь многим пользоват...

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

Samsung Galaxy S9+ против iPhone X: кто быстрее? Почти сразу же после выхода смартфонов Galaxy S9 и Galaxy S9+ от Samsung в Сети появилось сравнение новинок с флагманами Apple в синтетических тестах, где iPhone одержал уверенную победу. Но реальная эксплуатация зачастую отличается от показаний на бумаге, поэтому Galaxy S...

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

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

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

Apple подтвердила сроки релиза нового Mac Pro Модульный Mac Pro станет одним из главных продуктов, которые Apple выпустит в 2019 году. С таким заявлением представители руководства компании выступили перед журналистами TechCrunch. Это, пожалуй, первый случай за долгие годы, когда Apple оглашает сроки релиза нового това...

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

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

Все самое интересное что показали на MWC 2018 Выставка MWC 2018, как всегда, впечатлила высокотехнологичными новинками. На ней были представлены смартфоны – от high-end до low-end, концепты и даже чипсеты. Выбрать изо всей массы гаджетов самые интересные – задача не из лёгких. Нам с трудом удалось остановиться на восьми...

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

Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы Сегодня мы открываем регистрацию на международный конкурс по программированию Яндекс.Алгоритм. В этом году мы решили не только запуститься раньше, но и добавили два новых трека: оптимизационный и трек по машинному обучению. Каждый участник может выбрать, в каких треках участ...

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

В минувшем квартале выручка TSMC составила 8,46 млрд долларов Крупнейший мировой контрактный производитель полупроводниковой продукции опубликовал отчет за минувший квартал. Консолидированная выручка за отчетный привод составила 8,46 млрд долларов, а чистый доход — 3,06 млрд долларов. Стоит уточнить, что под чистым доходом ...

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

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

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

[Перевод] Learn OpenGL. Урок 4.11 — Сглаживание Сглаживание В своих изысканиях, посвященных трехмерному рендеру вы наверняка сталкивались с появлением пикселизованных зазубрин по краям отрисовываемых моделей. Эти отметины неизбежно появляются из-за принципа преобразования вершинных данных в экранные фрагменты растеризато...

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

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

Уже видели пасхалку из Android P Developer Preview? У Google есть сразу пара интересных традиций касаемо Android. Во-первых, устраивать негласное состязание среди тех, кто угадает, как же назовут на самом деле очередную версию системы. Android P. И мы знаем, что за литерой «P» скрывается название какого-то десерта. Какого И...

Срочный переезд с Amazon Web Services — истории двух клиентов Блокировки задели многие проекты, работающие для российского рынка. Ниже — история одного из срочных переездов нашего заказчика. 19 апреля они заметили блокировку одного из IP-адресов своего публичного сервиса частью провайдеров на территории РФ. 20 апреля ситуация усугу...

[Перевод] Сравниваем Tarantool с Redis и Memcached Выбираете между Tarantool и Redis или между Tarantool и Memcached? Давайте рассмотрим основные различия, чтобы вам легче было определиться. Читать дальше →

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

Установка Facebook image recognition package. Все грабли в одном месте Недавно Facebook выпустила свой open-source-проект по распознаванию образов. Конечно же, его сразу захотелось пощупать, посмотреть, как он работает и что с его помощью можно получить. Мы решили разобраться с его установкой и опытным путём проверить, так ли легко его использо...

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

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

Летняя школа Intel 0x7E2 — есть повод поучиться Фото The Village Весна в этом году опаздывает, а вот традиционная летняя школа Intel, как всегда, пройдет строго по расписанию. С 3 июля по 24 августа в свежеотремонтированном офисе Intel — смотрите, какой красавец — мы проводим молодежную интернатуру для студентов и аспира...

Видеообзор: Huawei P20 и P20 Pro — только с огня Сегодня в Париже состоялась презентация нового флагмана от компании Huawei, который получил название Huawei P20. Мы уже успели изучить его и составить первое впечатление. Подробности в этой статье. Внешне смартфон получился более приятным на ощупь, чем предыдущее поколение...

iPhone SE 2 будет «чёлкофоном» Судя по последним «утечкам», компания всё-таки готовит в 2018 году наследника популярного iPhone SE. Аппарат даже успел показаться в сомнительном мини-клипе, где отчетливо виден вырез на дисплее. Сравнение ...

Какого элемента лишится iPhone SE 2? Релиз iPhone SE второго поколения состоится уже в следующем месяце, сообщает японский ресурс Mac Otakara со ссылкой на осведомленные источники. По имеющейся информации, будущий смартфон сохранит большинство отличительных черт своего предшественника, но лишится одного функц...

В сети появился новый концепт iPhone SE 2 Пока не известно собирается ли Apple обновлять iPhone SE. Слухи о новом поколении смартфона время от времени появляются в сети. Однако пока не было опубликовано ни одного более-менее реалистичного снимка iPhone SE 2. Но это совершенно не мешает дизайнерам самостоятельно прид...

Ускорение сайта. Как понять, актуально ли это для вашего сайта Зачастую скорость сайтов оценивается очень субъективно. То есть начальство/разработчиков/админов устраивает и не бесит — значит, все хорошо. Так ли это? Маркетологи отлично оценивают свою целевую аудиторию, но вот далеко не у всех доходят руки, чтобы посмотреть, как эта целе...

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

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

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

Собрали максимум изменений Android P — Google показала всё Google официально объявила о выходе Android P developer Preview. Разработчики и любопытствующие по всему миру уже гоняют эту версию на своих устройствах и эмуляторах. Уже можно составить впечатление о самых интересных моментах новой версии системы. Читать полную статью ...

[Из песочницы] Задача инкассатора Перечислим задачи, составляющие «задачу инкассатора»: выбор формы сделки по приобретению УС. кластеризация Сети. Решение этой задачи даст заданное нами некоторое количество множеств УС для внутридневного (внутрисменного) обслуживания если существуют ограничения по количест...

Примерить внешний вид Android P можно уже сегодня через Xposed В Android P Developer Preview Google ощутимо изменила внешний вид системы во многих местах. Публикой эти изменения по большей части были восприняты положительно. Не удивительно, что уже сейчас появляются способы перетащить часть этих визуальных вмешательств на более старые...

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

Путь IT-менеджера (часть #2) (часть #1) Поняв, что двигаться быстрее и делать все больше и больше в неправильном направлении – не вариант, я стал смотреть в сторону процессов управления. Но каких? Я сообразил, что мне нужна помощь или толковый совет. К сожалению, атмосфера в компании не располагала к ...

Windows 10 Build 17643 – Sets, WebDriver, Экранная лупа Как и обычно, компания Microsoft в конце недели выпустила очередную Redstone 5 сборку под номером 17643. Пока идет неразбериха с RTM-версией Redstone 4, Microsoft уже во всю работает над следующим релизом под кодовым названием Redstone 5. В предыдущей сборке усовершенствовал...

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

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

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

Наш путь ресайза изображений В интернете достаточно статей и проектов для ресайза изображений. Почему же нужна еще одна? В этой статье я расскажу почему нас не удовлетворили текущие решения и пришлось пилить собственное. Читать дальше →

Приглашаем на MiniAiCup#2. В этот раз мы испортили AgarIO Шесть лет подряд мы (Mail.Ru Group) совместно с СГУ проводим Russian Ai Cup (соревнование по написанию игровых ботов). Придумываем игровой мир, пишем к нему API и сталкиваем лбами стратегии, написанные участниками. Выходит каждый раз довольно интересно, самобытно и вообще э...

Let's Encrypt отложил выпуск wildcard-сертификатов из-за проблем безопасности Статистика Let's Encrypt 4 января 2018 года центр сертификации Let's Encrypt начал тестирование конечной точки программных интерфейсов для автоматической выдачи wildcard-сертификатов. Эти сертификаты выдаются только в новой версии автоматизированной среды управления сертиф...

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

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

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

Готовый шаблон сайта с регистрацией, юзерами и админами на Flask Бывает, приходится делать сайты на flask, у которых есть пользователи и админы. Чисто для себя решил как-то это стандартизировать и, главное, не терять время, когда такая задача появляется. Цель — в несколько команд получить рабочий сайт у которого есть: Регистрация Email...

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

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

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

Что пошло не так: аудит сообщества приюта для животных ВКонтакте Евгений Зубов, автор проекта Mercy Marketing разбирает кейсы некоммерческих организаций и проводит анализ работы НКО в социальных сетях. В этой статье он рассмотрел сообщество волонтеров приюта для животных. Требовалось найти причину сильного снижения количества пристроенных...

Оштрафованная на $5,7 млн HFT-компания обвинила в нарушениях собственных трейдеров Издание Bloomberg рассказало об интересной истории разбирательств между одной из американских HFT-компаний и ее собственными трейдерами. Они не могут решить, кто должен выплачивать крупный штраф за фиктивные сделки на бирже. Читать дальше →

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

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

О кодерах, программистах и инженерах-программистах На этот пост меня натолкнули недавние статьи на Хабре "Кто такой программист?" и "Почему Python так хорош в научных вычислениях". Читая комментарии к ним, я неоднократно натыкался на рассуждения с разделением разработчиков на «кодеров», «программистов» и «инженеров-программ...

Overwatch на Xbox One X демонстрирует большой прирост разрешения Обновления игр для Xbox One X продолжают выходить, — очередным пунктом в этом обширном списке стал шутер Overwatch от Blizzard. Журналисты цифровой лаборатории Eurogamer протестировали эту версию, приступив к делу с некоторым предубеждением: в конце концов, вс...

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

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

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

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

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

Galaxy S9 далеко не на первом месте по автономности среди современных флагманов, а Sony XZ 2 радует владельцев Galaxy S9 — Штука далеко не дешёвая. Когда покупаешь такой агрегат, то хочется, чтобы он радовал тебя буквально во всём. Не везде Samsung удаётся быть первой, а в некоторых случаях первенство достигается за счёт принесения в жертву каких-то иных параметров. Например, по ре...

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

[Перевод] Трассировка JS ↔ DOM, или Туда и обратно Отладка утечек памяти в Chrome 66 стала гораздо удобней. DevTools теперь могут проводить трассировку, делать снапшоты DOM-объектов из C++, отображать все доступные DOM-объекты из JavaScript вместе со ссылками на них. Появляение этих возможностей стало следствием нового механ...

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

Вдвое мощней за те же деньги! Intel Xeon E5 против E3-серии Не так давно мы публиковали статью Сравнение производительности процессоров Intel разных поколений, в которой представлены результаты тестирования 8-ядерных процессоров Intel Xeon E5. С тех пор, по акции, было продано несколько сотен серверов на базе процессоров V1/V2, котор...

Чем отличается iPad 6 (2018) от iPad Pro: подробное сравнение В марте 2018 года Apple представила новый бюджетный планшет iPad с поддержкой Apple Pencil стоимостью в 25 000 рублей (в базовой комплектации) – почти в два раза меньше (47 000 рублей) по сравнению с самой дешевой моделью 10,5-дюймового iPad Pro (без учета Apple Pencil) и бо...

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

[recovery mode] 5 отличий technical product manager от бизнес-ориентированного PM Многие наверняка сталкивались с разными вариантами и интерпретациями роли и функционала менеджера продукта. В крупных компаниях и стартапах сегодня можно найти стратегически важных сотрудников разного уровня, связанных с управлением продукта, которые становятся все востребов...

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

[Перевод] Без new: Указатели будут удалены из C++ Две недели назад в Джэксонвилле встречался комитет стандарта ISO C++. Сегодня я хочу представить короткую сводку и написать о революционном решении, принятом на собрании в Джэксонвилле. Для получения дополнительной информации я рекомендую к прочтению статью C++ больше не буд...

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

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

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

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

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

Обзор программы Java-конференции JBreak 2018: абсолютный баланс Конференция: JBreak 2018 Суть: Единственная Java‑конференция в Сибири Дата: 4 марта 2018 Место: Новосибирск, Экспоцентр, Станционная ул., 104 Меньше, чем через 2 недели, состоится JBreak 2018. В этот раз я смог поучаствовать в Программном комитете и могу не просто пересказ...

В своё время Uber отказалась от большого количества лидаров в своих беспилотных авто, оставив лишь один В деле со смертельным ДТП при участии беспилотного автомобиля Uber продолжают появляться новые детали. Буквально позавчера мы узнали, что машины Uber не способны долго передвигаться без водителя и требуют вмешательства чаще, чем каждые 20 км. Теперь же сообщается, что ...

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

[Перевод] Современный PHP без фреймворков У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать ...

Создан "рекордный" квантовый регистр, состоящий из 20 запутанных кубитов За последние годы исследователи, работающие в области квантовых вычислений, добились некоторых успехов и на свет уже начали появляться квантовые вычислительные системы, количество квантовых битов, кубитов, в которых исчисляется несколькими десятками. Тем не менее, для реализ...

Новое приложение для Youtube умеет менять задний фон на видео В Google начали тестировать новую функцию для Youtube, позволяющую заменить задний фон на видео так же просто, как, например, выбрать фильтр к фотографии в Instagram. Приложение, созданое с применением алгоритма искусственного интеллекта, способно делать это «на лету&...

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

Street Fighter IV: Champion Edition уже доступна в Google Play Как и было обещано, Street Fighter IV все-таки добралась до Android. Это почти та же игра, что выходила на iOS в июле прошлого года, включая три новых играбельных персонажа, которые появились в обновлениях уже после релиза. Однако Android-версия файтинга предложит игрокам и ...

Бывшие сотрудники Google основали сообщество xGoogler Blockchain Alliance Три бывших ведущих сотрудника Google основали сообщество xGoogler Blockchain Alliance (GBA) для тех, кто работает или работал в этой компании и интересуется технологией блокчейн. Создатель блокчейн-сети Nebulas Хиттерс Сю (Hitters Xu), бывший техдиректор Google Дэниел Ванг (...

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

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

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

[Хабра-оффтоп] Maratona di Roma, или первый марафон для ИТ-шника В Риме 8 апреля 2018 года я пробежал свой первый марафон (время — 4:29.41). У нас очень спортивная компания (см. отчет о ИТ-чемпионате в Гонке героев), но очень многие друзья и коллеги, которые меня поздравляли, абсолютно не представляли себе, что такое марафон и как интерпр...

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

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

[Из песочницы] Как не стать Python-разработчиком Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес? Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Бо...

Видеозаписи выступлений по геймдеву в Лектории Вышки В марте этого года в рамках лектория Вышки прошел цикл лекций об игровой индустрии. Лекции читали преподаватели программы «Менеджмент игровых проектов» ВШБИ НИУ ВШЭ. Под катом я собрал для вас видеозаписи, ссылки на конспекты и краткое описание всех докладов. Читать дальше...

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

Дольше ли работает батарея iPhone на iOS 11.3? Сравнение с iOS 11.2.6 (видео) Апдейт iOS 11.3 стал одним из главных «долгостроев» Apple — купертиновцы работали над ним необычно долго. Но ожидание того стоило — теперь владельцы старых устройств наконец-то могут отключить замедление производительности. Но как насчет еще одного важнейшего аспек...

Apple активно набирает людей в команду Siri Siri уже не раз признавали одним из самых «глупых» голосовых ассистентов. Однако, как стало известно на днях, руководство компании Apple решило исправить ситуацию. Специально для работы над интеллектом Siri купертиновцы планируют нанять больше 140 новых специалистов. Читать ...

Собеседование с ног на голову Помните свое последнее собеседование при устройстве на работу? Кем себя видите через 10 лет? Какие ваши достижения на последнем месте работы? Почему мы должны выбрать именно вас? Откуда только современные HR-ы берут все эти зубодробительные вопросы. Недолго думая решил пер...

Релиз YouTrack 2018.1: зависимые поля задач, персональная локализация и многое другое Всем привет! Мы выпустили новую версию системы управления проектами — YouTrack 2018.1 — и спешим поделиться с вами нововведениями. Читать дальше →

Apple выпустила вторую публичную бета версию iOS 11.3 Компания Apple продолжает работать над новой версией своей мобильной операционной системы. Сегодня ночью пользователям стала доступна уже вторая публичная тестовая сборка iOS 11.3. Опробовать ее могут все участники программы предварительного тестирования Apple.Читать дальше....

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

[Из песочницы] Истоки мотивация в управлении по Agile и SCRUM Agile и SCRUM – это методики управления проектами, суть которых заключается в принципе «проверять и адаптироваться». Этот процесс заключается в том, что можно и нужно как можно чаще внедрять небольшие готовые вехи продукта, чтобы понимать, создается ли именно то, что нужно р...

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

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