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

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

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Функции обратного вызова в скриптах Иногда наш COM‐компонент должен отправить клиенту уведомление или вызвать функцию обратного вызова. Схема простая: компонент публикует интерфейс, клиент создаёт унаследованный от интерфейса объект и передаёт его компоненту, компонент в свою очередь вызывает функции интерфейс...

Зачем смотреть онлайн-трансляции, если можно читать Хабр «Зачем мне смотреть конференцию онлайн, я потом расшифровку докладов на Хабре прочитаю» — скажет человек, который любит читать тексты на Хабре. «Зачем смотреть онлайн, если можно сходить вживую?». По крайней мере, я именно это спросил пару лет назад. Потом я вбил эти вопросы...

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

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

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

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

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

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

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

[Из песочницы] Jenkins для Android сборки, с помощью Docker Всем привет! Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для раз...

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом Привет, Хабр! Периодически посматриваю на Swift в качестве языка прикладного программирования для Linux — простой, динамичный, компилируемый, без сборщика мусора, а значит, теоретически, пригоден и для устройств. Решил сравнить его с чем-то таким же молодым и модным — напри...

[Перевод] Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас! В Visual Studio вы можете открыть любой EXE-фа...

Асинхронные пользовательские сценарии на чистом Rust без фреймворков и SMS Привет, Хабр! Иногда при разработке сетевых сервисов и пользовательских интерфейсов приходится сталкиваться с достаточно сложными сценариями взаимодействия, содержащими ветвления и циклы. Такие сценарии не укладываются в простую стейт-машину — недостаточно хранить все данны...

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

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

Автоматизация импортов в Python До После import math import os.path import requests # 100500 other imports print(math.pi) print(os.path.join('my', 'path')) print(requests.get) import smart_imports smart_imports.all() print(math.pi) print(os_path.join('my', 'path')) print(requests.get) Так получи...

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

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

Кто звонит "Кто звонит" – удобный определитель номеров Внимание! Акция! «Кто звонит» со скидкой 62%! Заплатил один раз и навсегда забыл о спамерах! Названивают с незнакомых номеров? Стали жертвой холодного обзвона и назойливых спамеров? Узнайте, кто вам не звонúт, а на...

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

Telegram. Безлимитный сетевой диск. Бесплатный Привет, Хабр. Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа. TgCloud: Виртуальная файловая система с открытым исходным г****кодом. На локальном...

[Перевод] Основы PowerShell: определение конца строки с определенным символом Знаете ли вы, что можно определить, заканчивается ли строка определенным символом или начинается с него в PowerShell? Томас Рейнер (Thomas Rayner) ранее поделился на CANITPRO.NET, как это легко сделать с помощью регулярных выражений (regular expressions) или, проще говоря, R...

Им было нечего скрывать Мы не первый год работаем на рынке информационной безопасности. Основные наши клиенты – правоохранительные органы разных стран, спецслужбы, а также отделы IT безопасности в крупных компаниях. Иногда наши клиенты делятся с нами интересными историями; о некоторых из них можно ...

Холодные звонки — что это и как с ними бороться? Советы и законы России, которые помогут избавиться от «холодных» обзвонов. «Холодные» звонки — метод обзвона клиентов, который...

[Перевод] Настало ли время для URL, содержащих эмодзи? Домены с эмодзи существуют уже много лет, но до сих пор не обрели популярность [К сожалению, редактор Хабра не позволяет вставлять в текст эмодзи. Эмодзи-ссылки можно найти в оригинальном тексте статьи (копия статьи на сайта Archive) / прим. перев.] Если вы введёте в адре...

Безликий код убьет программирование, и ничего мы с этим не сделаем Во время очередного спора знакомый озвучил мысль, которая меня очень сильно задела. «В большинстве популярных ЯПов существует очень много разных путей сделать одно и то же. Это приводит к проблемам. А вот в Go всё не так. Философия языка такова, что на Go разные разработчик...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Introscope: ну очень ленивое unit-тестирование Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно струк...

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

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

[Из песочницы] Внедрение в компании системы поиска конструкторов-механиков с помощью Low-Code платформы Проблема подбора конструкторов для небольшой компании Так получилось, что любой проект в нашей компании не обходится без участия конструктора-механика и они постоянно перегружены работой. Сейчас в штате 4 конструктора. За последние 2 года мы сменили уже троих. Бывали моменты...

[Перевод] Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). ...

Создание бота для участия в Russian AI Cup 2018 CodeBall Сложилась традиция, что после соревнований по спортивному программированию победитель или просто игрок выкладывает на Хабре статью, чтобы рассказать как здорово было участвовать в соревновании и как вариант победить в нем. Из его статьи конечно же многое можно почерпнуть дл...

[Перевод] Рукопожатие SSH простыми словами Secure Shell (SSH) — широко используемый протокол транспортного уровня для защиты соединений между клиентами и серверами. Это базовый протокол в нашей программе Teleport для защищённого доступа к инфраструктуре. Ниже относительно краткое описание рукопожатия, которое происхо...

«АйТеко» разработала чат-бот на базе ИИ Чат-бот, разработанный Центром когнитивных технологий «АйТеко», решает задачи по автоматизации бизнес-процессов для компаний и оптимизации сценариев общения с клиентами в режиме 24/7. Специалисты «АйТеко» создали гибкий инструмент ...

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

[Перевод] Расцвет и упадок Visual Basic Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Ba...

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

Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно пр...

Как распознать картинки и тексты на телефоне с помощью ML Kit Два года назад Сундар Пичаи, глава Google, рассказал о том, что компания из mobile-first становится AI-first и фокусируется на машинном обучении. Год спустя вышел Machine Learning Kit — набор инструментов, с которым можно эффективно использовать ML на iOS и Android. Об ML ...

Создаем краудсорсинговые карты помощи на WordPress + shMapper TL;DR мы сделали бесплатный опен-сорсный плагин shMapper, который позволяет создавать карты помощи, а также другие краудсорсинговые карты (с подложкой на Я.К и OSM) на WordPress. Завязка Девять лет назад горела вся центральная Россия. Я написал хабрапост, в котором призвал...

Julia. Генераторы отчётов и документации Одной из актуальных проблем во все времена, является проблема подготовки отчётов. Поскольку Julia — язык, пользователи которого непосредственно связаны с задачами анализа данных, подготовки статей и красивых презентаций с результатами расчётов и отчётов, то эту тему просто ...

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

[Перевод] Автоматически импортируем избранные библиотеки в IPython или Jupyter Notebook Всем привет! Сегодня мы разберем очень короткий, но полезный лайфхак о том, что нужно сделать, чтобы не вводить, к примеру, «import pandas as pd» по 10 раз в день. Для этого нужно: Перейти к ~/.ipython/profile_default; Создать папку с именем startup, если ее там еще нет; ...

Asterisk. Dialplan Askozia 6. Исходящие звонки В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков. Как это было В старой версии Askozia использовались стандартные “шаблоны” dialplan. X! — все номера телефонов XXX — трехзна...

Статистика сайта и своё маленькое хранилище Утилита Webalizer и инструмент Google Analytics помогали мне много лет получать представление о том, что происходит на веб сайтах. Сейчас я понимаю, что они дают очень мало полезной информации. Имея доступ к своему файлу access.log, разобраться со статистикой очень просто и ...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

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

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

9 лет в монолите на Node.JS Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить...

АйТеко разработала чат-бот на базе искусственного интеллекта Чат-бот, разработанный Центром когнитивных технологий АйТеко, решает задачи по автоматизации бизнес-процессов для компаний и оптимизации сценариев общения с клиентами в режиме 24/7.

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Статически безопасная динамическая типизация à la Python Привет, Хабр. На днях в одном моём хобби-проекте возникла задача написания хранилища метрик. Задача сама по себе решается очень просто, но моя проблема с хаскелем (особенно в проектах для собственного развлечения) в том, что невозможно просто взять и решить задачу. Необходим...

Что такое DevOps Определение DevOps очень сложное, поэтому приходится каждый раз запускать дискуссию об этом заново. Только на Хабре тысяча публикаций на эту тему. Но если вы это читаете, то наверняка знаете, что такое DevOps. Потому что я — нет. Привет, меня зовут Александр Титов (@osminog)...

Встраиваем интерпретатор Python в java-приложение с помощью проекта Panama Пару дней назад увидел твит Брайана Гетца, но только сегодня дошли руки поиграться с примерами. Про это и хочу кратко рассказать. О проекте Panama на Хабре уже писали, поэтому просто покажу пару простых примеров того, как можно применить native binder. Читать дальше →

Операция “Миграция”: как происходит переезд в облако DataLine Лет 7 назад самые первые проекты переезжали в наше облако просто и незатейливо. Образы виртуальных машин загружались на FTP-сервер, или их привозили на жестких дисках. Затем через специальный импорт-сервер ВМ загружали в облако. Если для клиента не проблема выключить виртуа...

Mockdown: самый быстрый способ создания вайрфреймов При создании технического задания клиенты часто отправляют много ссылок на сайты для понимании бизнес задач. Например: хочу регистрация и авторизацию как у twitter, список с новостными блоками как в Яндекс Дзен и т.д. Очень сложно такие части проекта задокументировать, хочет...

Программист сделал игру Sid Meier’s Civilization в… Microsoft Excel Находчивый фанат классической «Цивилизации» перенёс первую часть стратегии Sid Meier’s Civilization 1991 года выпуска в Microsoft Excel. Проект под названием [CELL]IVIZATION был создан всего за неделю пользователем с ником s0lly в рамках конкурса среди программистов OLC Code...

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

Бесшовный клиент-сервер Любой клиент-серверный проект подразумевает четкое разделение кодовой базы на 2 части (иногда больше) — клиентскую и серверную. Зачастую, каждая такая часть оформляется в виде отдельного независимого проекта, поддерживаемого своей командой девелоперов. В этой статье я пред...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

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

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

Есть ли разница между номерами на 8 и +7? Почему в России используется сразу два кода — и +7, и 8? Любой номер телефона начинается с международного кода страны — в России это +7. При этом...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

Мы agile или аджайл нас? Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — комму...

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

Собираем окружение для современного TDD на JavaScript + VS code TDD уже давно не является чем-то диковинным: на хабре можно найти об этом подходе сотни статей, а каждый новичок знает, какую книгу об экстремальном программировании ему нужно прочитать. Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, по...

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

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

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

[Из песочницы] Расшифровка LUKS контейнера в момент загрузки системы Всем доброго дня, ночи! Этот пост будет полезен тем, кто используется шифрование данных LUKS и хочет производить decryptдешифровку дисков под Linux (Debian, Ubuntu) на стадии расшифровки root раздела. И такой информации в интернете я найти не смог. Совсем недавно с увеличен...

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

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

Ежегодный отчетный хабрапост — 2018 Подводя итоги 2018 года для блога Intel, мы, прежде всего, вспоминаем историческое воссоединение GeekTimes и Хабра (кто из них Бендер, а кто Бендер — решайте сами). В свое время мы много писали о том, что идея разделения Хабрахабр не кажется нам удачной и безмерно рады, чт...

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

[Перевод] Parcel — мой любимый сборщик проектов Сегодня мы поговорим о сборщиках проектов (о бандлерах), об инструментах, которые облегчают жизнь разработчиков. Суть работы бандлеров заключается в том, что они берут JavaScript-код, содержащийся во множестве файлов, и упаковывают его в один или несколько файлов, определённ...

Случайные базы данных. Oracle Enterprise Data Quality — щит и меч корпоративного хранилища Процесс мышления любого человека с трудом подвергается математизации. Любая бизнес-задача порождает набор формальных и неформальных документов, информация из которых имеет отражение в корпоративном хранилище. Каждая задача, порождающая любой информационный процесс, создает в...

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

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

Peloton: следующая Apple или еще один скам? На Хабре о Peloton пока что знают только по короткой новостной заметке. А зря. Кейс тут очень интересный. Эта компания делает велосипеды с встроенным онлайн-стримингом. Казалось бы, что за бред (и что может быть проще)? Тем не менее она уже оценивается более чем в $9 млрд,...

Победители хакатона JAVA HACK разыграли призовой фонд 600 тысяч рублей Первое место и приз в 300 тысяч рублей получила команда "Программисты 1С" с проектом "Робозакупки". Разработчики представили сервис, позволяющий сократить расходы на поиск поставщиков товаров и услуг. Приложение ищет контакты надежных поставщиков по указа...

[Перевод] Н.М.Д. (Не Моё Дело) В последние несколько лет передо мной жёстко встал вопрос расстановки приоритетов. Я видела, что многие друзья и коллеги тоже страдали от этого: как понять, какую проблему решать, а какую игнорировать? Где проходит черта? Установка Если вы читаете это в поисках совета, веро...

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

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

Allure-Android. Информативные отчеты для мобильной автоматизации Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тести...

Как мы создавали технологию оптического распознавания текста. OCR в Яндексе Привет! Сегодня я расскажу читателям Хабра о том, как мы создавали технологию распознавания текста, работающую на 45 языках и доступную пользователям Яндекс.Облака, какие задачи мы ставили и как их решали. Будет полезно, если вы работаете над схожими проектами или хотите узн...

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

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

[Из песочницы] Как и зачем я писал парсер для сайта Tradingview. Автоматизация торговли своими руками Проблема: На текущий момент наиболее удобным и полноценным программным обеспечением (далее ПО) для автоматизации торговли на российском биржевом рынке является небезызвестный ТСЛАБ. Несмотря на несомненные плюсы в виде удобного визуального редактора для написания торговых ск...

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

Метод бисекционного деления в тестировании Содержание Описание метода Применение тестировщиками Строка данных Файл Применение разработчиками Резюме Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравилс...

Avalonia мои за и против Я очень много пишу про Авалонию и часто восторгаюсь этим фреймворком, но, как и у любой технологии, у нее есть свои достоинства и недостатки, о них и хотелось бы поговорить. Читать дальше →

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

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

Хочу рецензии на хабр С момента моей регистрации на хабре у меня было ощущение какой-то недосказанности в статьях. Т.е. вот есть автор, вот его статья = мнение… но чего-то нет. Чего-то нехватает… Спустя время я понял, что недостает критического взгляда. В целом, его можно найти в комментариях. ...

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

Хватит думать, что SLA вас спасет. Оно нужно, чтобы успокоить и создать ложное чувство безопасности SLA, оно же «service-level agreement» —соглашение-гарантия между заказчиком и поставщиком услуг о том, что получит клиент в плане обслуживания. Также в нем оговариваются компенсации в случае простоев по вине поставщика и так далее. По сути SLA — это верительная грамота, с ...

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

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

Как решить старую задачу с помощью ML на Python и .Net Бывает, что некоторые задачи преследуют тебя много лет. Для меня такой задачей стала склейка предложений текстов, в которых жестко забит переход на новую строку, а часто еще и перенос слов. На практике, это извлеченный из PDF или с помощью OCR текст. Часто можно было встрет...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Он вам не дRook В связи с набирающей популярностью Rook хочется поговорить о его подводных камнях и проблемах, которые ждут вас на пути. О себе: Опыт администрирования ceph с версии hammer, основатель комьюнити t.me/ceph_ru в телеграм. Дабы не быть голословным я буду ссылаться на принятые...

Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился ...

Если связь — просто жесть, то ее нужно закопать Любой советский школьник, собиравший подобную схему знал, что без заземления — никак. Нынешнее поколение Z, взращенное айфонами, сомневается даже в необходимости антенн! Эта статья показывает важность и необходимость двух данных элементов в условиях слабого сигнала. У истин...

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

Что же такое «Модель предметной области»? Привет, Хабр. Сегодня зашел в канал #school в русскоязычном GoCommunity в Slack и обнаружил там один интересный диалог. Данный диалог навел меня на некоторые мысли относительно того, как коллеги интерпретируют понятие “модель предметной области (домена)”. Как оказалось, су...

Распределенная компиляция C/C++ проектов с помощью ICECC … Работаете вы, например, над очень большим проектом. Проект реально очень большой, написан на C или C++, и его билд «с нуля» может занять несколько часов, да и сборка после каких-то фиксов или патчей тоже требует немало времени, особенно если изменения коснулись чего-то фу...

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

Новый чемпион от Лего, встречайте: Lego Boost На Хабре есть два типа статей про робототехнику компании Лего: условно «хейтерские», с лейтмотивом «Lego не нужен» и от самой компании Лего. Оправдано это, или не очень – тема отдельной статьи, но, по всей видимости, в Лего понимают, что робо-конструкторы становятся все бол...

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

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

Как перенести файлы между Mac и Android Предположим, у вас есть MacBook или любой другой компьютер Mac и мобильный телефон Android, и вы хотите перенести файлы с MacBook на устройство Android. Если вы захотите использовать USB-кабель, вы не сможете передавать файлы с Mac на Android из-за несовместимости двух платф...

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

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

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

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

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

[Из песочницы] Эволюция самого популярного инструмента любого разработчика В любой среде разработки есть инструмент с названием «Output». Нет нужды описывать что он делает, поскольку абсолютно все разработчики его используют в своей работе ежедневно. Он прост и консервативен. По сути не менялся десятилетиями и до этих пор выглядит как то так: Т...

Как быстро переименовать группу файлов в macOS Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о службе, которая ...

[Перевод] Почему все мои игры выглядят так отстойно Мы потратили на создание этой игры несколько лет. От неё зависит будущее нашей семьи. Почему же она так ужасно выглядит? Я уже 25 лет зарабатываю на жизнь написанием инди-игр. У нас с женой есть небольшой семейный бизнес. Мы создаём низкобюджетные ролевые игры в ретро-стил...

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

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи Все документы курса можно скачать здесь. Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language. Однако, конечно, время не стоит на месте и за по...

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

[Из песочницы] Как было устроено хранилище DWH в TELE2 Здравствуйте, дорогие друзья. Сегодня хочу поделиться историей из жизни, как было устроено хранилище DWH в Tele2 до внедрения КХД (EDW). А в следующих статьях рассказать, как внедрялись ETL-инструменты, EDW и BI решения в Tele2. Поступил я в ИТ подразделение Tele2 в 2012 в о...

Новый алгоритм работает как дата-сайентист Сбербанк создал новую модель машинного обучения Auto ML, сообщил на Российском инвестиционном форуме заместитель Председателя Правления Сбербанка Анатолий Попов.Auto ML - алгоритм, который умеет создавать другие модели. А они, в свою очередь, уже решают прикладные задачи - н...

Универсальные «свистки»: обзор USB-донглов Snom A230 и A210 Сегодня мы рассмотрим два маленьких, но полезных устройства. Это USB-донглы Snom A230 и A210. Первый в связке с модулем Snom C52 позволяет проводить конференц-звонки где угодно, а с помощью второго любой настольный телефон Snom можно превратить в Wi-Fi-клиента и установить...

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

Опять сотни тысяч платежей граждан в ГИБДД и ФССП находились в открытом доступе Помните я писал на Хабре и у себя в Telegram-канале, как в открытом доступе оказались подробности платежей в пользу ГИБДД и ФССП пользователей сайтов оплатагибдд.рф, paygibdd.ru, gos-oplata.ru, штрафов.net и oplata-fssp.ru? Только не надо смеяться, это вовсе не шутка — тот ...

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

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

Гибкий график работы. Российский опыт Привет, Хабр! Мы занимаемся HR в ИТ, с небольшим уклоном в экономику и организацию труда. Придумываем подходы, инструментарий и первые эксперименты ставим на себе. Нам интересна тематика операционной эффективности, повышения рентабельности и прочих приятных вещей в сферах,...

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

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

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

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

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

Новый взгляд на изучение и документирование исходного кода TL;DR Привет. Меня зовут Богдан и я изучаю проблемы чтения кода. Я только что закочнил первую рабочую версию «codecrumbs» — визуального инструмента для изучения исходного кода с помощью «хлебных крошек». Гитхаб репозиторий можно посмотреть тут. Проблема Недавно я проводил...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

Проблемы использования сервиса Яндекс.Метрика В последние дни наблюдаем весьма странное поведение сервиса Яндекс.Метрика. Некоторые сайты, в которых нужно вводить/выбирать пользовательские данные, стали вести себя не очень адекватно. При полной очистке истории браузера проблема пропадает, однако далее всё возобновляется...

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

[Из песочницы] Python + Pyside2 или просто «Калькулятор» Привет, Хабр! Меня зовут Саша. Я Junior разработчик. Работаю тестировщиком ПО. В основном я пишу тесты при помощи Python+Selenium, но Python стал настолько интересен, что мне захотелось углубиться в него и выучить как можно больше фреймворков! Я захотел написать десктопное ...

«ТехноТекст», эпизод II. Рассказываем, как живут и работают над статьями авторы Хабра Приглашаем к участию в конкурсе хабраавторов. Самое главное в Хабре — это его читатели, которые одновременно и авторы. Без них Хабра бы не существовало. Поэтому нам всегда интересно, как у них дела. Накануне второго «ТехноТекста» мы решили поговорить с победителями прошлого...

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

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

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывае...

Подсчитаем баги в калькуляторе Windows На днях компания Microsoft открыла исходный код калькулятора. Это приложение входило во все версии операционной системы Windows. Исходный код разных проектов Microsoft достаточно часто открывался за последние коды, но новость о калькуляторе в первый же день просочилась даже...

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

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

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

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

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

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

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

Обзор утилит из пакета iSkysoft Toolbox: переезд между iOS и Android с помощью компьютера Перенос всех данных со старого телефона на новый — это просто. Просто? Допустим, с iPhone на iPhone действительно нетрудно перенести контент так, чтобы новый телефон не отличался от старого. С Android всё несколько сложнее, особенно если переезд осуществляется из экосистемы ...

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

[Перевод] На что способен формат Mini PCI-e Мне очень нравится формат Mini PCI-e. Это крохотный форм-фактор, служащий базовым для mSATA и M.2, но в основном он используются для подключения карт WiFi и Bluetooth в ноутбуках или маленьких ПК. Но по сути это просто PCI-e, поэтому с его помощью можно сделать гораздо бол...

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

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

Жизнь до рантайма. Доклад Яндекса В большом проекте может возникнуть задача идентификации изменений для конечного пользователя по отличиям в коде фронтенда приложения. Разработчик из Яндекс.Маркета Никита Сидоров рассказал, как мы решали эту проблему при помощи библиотеки Diffector, о построении и анализе гр...

Ключевые цели Яндекс.Директа вышли из беты Специалистам станет проще понять, решает ли кампания бизнес-задачи

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

[recovery mode] Tcl для Cisco IOS в простых примерах Представим, что вам нужно развернуть «с нуля» десяток однотипных access-коммутаторов Cisco. Типовая конфигурация включает имя хоста и домена, шлюз по-умолчанию, пароли, список пользователей, IP-адреса для SVI, номера VLAN'ов, настройки транков аплинков и т.д. Вводить это каж...

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

Поди туда — не знаю куда Как-то раз я обнаружил за лобовым стеклом в машине жены бланк для номера телефона, который вы можете видеть на фото выше. У меня вскочил вопрос: почему бланк есть, а номера телефона нет? На что был получен гениальный ответ: а чтобы никто не узнал мой номер. М-да… "Мой телеф...

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

Сколькими смартфонами вы владеете? Интересно узнать, сколькими смартфонами владеют наши читатели. Если раньше использование лишь одного телефона было нормой, сегодня всё больше людей предпочитают несколько аппаратов. Это могут быть обычные кнопочные телефоны для звонков и смартфоны линейки Galaxy Note для бо...

Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS) Привет, Habr! Решил поделиться своим опытом, как яблочному рабу владельцу iPhone без проблем мигрировать от одного мобильного оператора к другому. Итак, все знают, что в России с 1 декабря 2013 года можно перейти от одного мобильного оператора к другому со всеми вытекающим...

Качаем 16GB торрент через планшет с 4GB свободного места Задача: Есть ПК без интернета но есть возможность перекинуть файл по USB. Есть планшет с интернетом с которого этот файл можно перекинуть. На планшет можно скачать нужный торрент но не достаточно свободного места. Файл в торренте один и большой. Путь к решению: Я запустил т...

Опыт использования Starwind VSAN и EMC ScaleIO (VxFlexOS) + шпаргалка по мини Enterprise СХД (1 часть) Иногда возникает необходимость в организации отказоустойчивого хранилища СХД маленького объема до 20Тб, но с функционалом Enterprise — All-Flash, SSD кэш, MPIO,HA(Activ-Activ) и всё это с бюджетной ценой. Готовые аппаратные решения с данными функциями начинаются от сотен тер...

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

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

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

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

Муки с калибровкой стола Re-De-Bot на Т-образных шпильках или как в прошивке Marlin отключить выключение питания двигателей по оси Z Собрал себе принтер Re-De-Bot.В начале, по оси Z, я использовал обычные оцинкованные шпильки из строительного магазина, отнюдь не идеальной прямоты, диаметром 8 мм. Качество печати  получилось на 3+. Но при этом я ждал из китая Т-образные шпильки. И вот они наконец приш...

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х...

Что ты такое? Как мы spoof от human отличали — да еще и победили Недавно прошел ID R&D Voice Antispoofing Challenge, главной задачей которого было создать алгоритм, способный отличить человеческий голос (human) от синтезированной записи (spoof). Я — ML Researcher в Dasha AI и много работаю над распознаванием речи, поэтому и решил поуч...

Деплоим код напрямую в docker-контейнер. Или как не прокрастинировать после каждого коммита Пришла задача WEB-12982 Создаешь ветку web-12982 в репозитории Пока ветка собирается, читаешь тз и пьешь кофе Приступаешь непосредственно к разработке git commit, git push Пока ветка пересобирается листаешь хабр git commit, git push Пока ветка пересобирается листаешь твитте...

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

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов. Что такое web-сервисы 1с? Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки...

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

[Из песочницы] Импорт в Я.Коннект из файла списка пользователей через API Столкнулся с проблемой «ненахода» актуального скрипта для массового создания сотрудников. Проблема связана с переходом Яндекса с PDD (Почта для домена), на Я.Коннект с новой версией API. Скрипты которые мне попадались, были написаны только для «старой» версии API, и потому...

Как интеллект-карты помогают вести IT-проекты В продолжение статьи о тайм-менеджменте, опубликованной ранее в блоге ЛАНИТ, предлагаю вашему вниманию историю о своем опыте использования инструмента по работе с интеллект-картами. Последние десять лет я занимаюсь управлением проектами в ИТ и телекоме, и всё это время я исп...

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

Привет от программистов 80-х Современных программистов можно назвать баловнями. К их услугам — мощнейшие среды разработки, множество языков программирования. А всего 30 лет назад учёные и энтузиасты-одиночки писали программы даже на калькуляторах. Осторожно, под катом много фотографий! Читать дальше ...

Платные подписки — зависимость автоподключения от мобильного устройства Наверное почти каждый сталкивался с ситуацией, когда мобильный оператор подключал какие-то подписки к вашему номеру телефона, но вы точно были уверены, что ничего не подключали. Да и кто в здравом уме подключит, например, «Гороскоп за 9р/сутки» (280р/мес), когда в интернете...

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

GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ Привет всем, Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разн...

Google Assistant будет сам слушать музыку при звонке в Call-центры Google Assistant сделает звонки в службу поддержки приятнее С распространением чатов обращение в службы поддержки вышло на новый уровень. Если раньше многие пренебрегали такой возможностью, предпочитая решать возникшую проблему самостоятельно, в основном из-за нежелания по п...

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

Доктор Джекил и мистер Хайд корпоративной культуры Вольные размышления на тему корпоративной культуры, навеянные статьей Three Years of Misery Inside Google, the Happiest Company in Tech. Есть также ее вольный пересказ на русском языке. Если очень-очень кратко, то суть в том, что благие по смыслу и посылу ценности, которые ...

Анализ коммитов и pull request'ов в Travis CI, Buddy и AppVeyor с помощью PVS-Studio В анализаторе PVS-Studio для языков С и C++ на Linux и macOS, начиная с версии 7.04, появилась тестовая возможность проверить список указанных файлов. С помощью нового режима можно настроить анализатор для проверки коммитов и pull request'ов. В этой статье будет рассказано,...

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

TDMS Фарватер. Методики PMBOK и российские проектные организации TDMS — известная объектно-ориентированная среда для хранения и управления разнообразными данными и процессами. После настройки объектов и бизнес-процессов можно применять систему TDMS практически в любой предметной области. Настройка – это описание на языке TDMS объектов пре...

Как работает PageRank: реализация на языке R через линейную алгебру и power-метод Привет, хабровчане! Меня зовут Алексей. На этот раз я вещаю с рабочего места в ИТАР-ТАСС. В данном небольшом тексте я познакомлю вас с методом расчета PageRank © (далее буду называть его ПР) на простых, понятных примерах, на языке R. Алгоритм является интеллектуальным дос...

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

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

Алексей Доскин (РА «MANPLAT Group», Ярославль): «Я выстраиваю коммуникации для клиента через понимание его бизнеса» Постоянная задача бизнеса — настройка работы отдела продаж, увеличение количества сделок или среднего чека. Задача рекламщиков в работе со своими клиентами — не просто продать, настроив какой-то канал коммуникации, но и показать, чем бизнес клиента может быть полезен людям; ...

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

[recovery mode] Первая волна пострадавших от уязвимости Exim. Скрипт для лечения Уязвимость с RCE в Exim уже довольно сильно нашумела, и довольно сильно потрепала нервы системным администраторам по всему миру. На волне массовых заражений (очень многие наши клиенты используют Exim в качестве почтового сервера) быстренько накидал скрипт для автоматизации...

[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

Удаляем лишние фичи и продукты, чтобы улучшить бизнес Юрий Андрейкович, Senior Product Manager в Wrike, рассказал на конференции ProductSense в Минске, когда и зачем надо удалять фичи из продукта. Я работаю в Wrike — это сервис для совместной работы и управления проектами. В Wrike более миллиона пользователей, но наши прямые...

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

AIDE 3.2.190122 AIDE — одна из лучших сред программирования для ОС Android, её ближайшие аналоги — Java IDE и Java Editor. Позволяет писать как консольные, так и полноценные, компилируемые в apk, приложения на языках Java и C/C++ В AIDE встроены Designer, автодополнение кода, проверка ...

Пиксельные отступы в текстурной развертке Представляем четвертую статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни». В предыдущей статье мы упомянули о проверке тексту...

«Скользкие» места C++17 В последние годы C++ шагает вперед семимильными шагами, и угнаться за всеми тонкостями и хитросплетениями языка бывает весьма и весьма непросто. Уже не за горами новый стандарт, однако внедрение свежих веяний — процесс не самый быстрый и простой, поэтому, пока есть немного...

Хотите немного СУБД из первых рук? Открытой встрече в Нижнем Новгороде — быть На Хабре есть дайджесты анонсов для Москвы и Санкт-Петербурга, а для Нижнего Новгорода пока почему-то нет, хотя здесь и IT-компаний много (очень много!), и событий хватает всех форматов и для любого стека, и читателей Хабра ого-го. Я для дайджестов слишком ленива занята, но ...

[Перевод] Искусство аннотирования: пишем Java-friendly код на Kotlin Привет, Хабр! Сегодня мы затронем важнейшую тему: интероперабельность Java и Kotlin. Авторы предлагаемой публикации разумно предполагают, что переписать на Kotlin базу кода, сделанную на Java, маловозможно. Поэтому правильнее обеспечить взаимодействие кода на Java и Kotlin....

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

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

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

Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML). ESP Home представляет собой набор библиотек и инструментов, генерирую...

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

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

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

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

История STAX: электростаты против конъюнктуры рынка Мне редко хочется написать хвалебную оду какому бы то ни было бренду, как правило, меня интересуют личности, которые создали компанию или внедряют передовые технологии. Именно для людей я не скуплюсь на эпитеты. Однако, в данном материале будет исключение из правил. В очеред...

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

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

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

Первые. История, без которой бы не было Tesla 2016 год. Жара. Нижний Новгород. На стоянке ретро-ралли «Пекин — Париж» толпился народ, около огромной La France стоял парень и что-то бормотал, наводя смартфон на каждую деталь. Я прислушалась, он заметил моё внимание и спросил удивлённо: «Неужели оно сюда само?!» Действите...

Как мы боремся с копированием контента, или первая adversarial attack в проде Привет. Вы знали, что платформы для размещения объявлений часто копируют контент у конкурентов, чтобы увеличить количество объявлений у себя? Они делают это так: обзванивают продавцов и предлагают им разместиться на своей платформе. А иногда и вовсе копируют объявления без р...

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

WebFPGA — разработка на Verilog в браузере Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования элек...

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

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

Как в Яндекс.Такси ищут машины, когда их нет Хороший сервис для заказа такси должен быть безопасным, надёжным и быстрым. Пользователь не станет вдаваться в детали: ему важно, чтобы он нажал кнопку «Заказать» и как можно быстрее получил машину, которая доставит его из точки А в точку Б. Если рядом нет машин — сервис д...

[Перевод] Как соединить GitLab и Pantheon и оптимизировать рабочие процессы Drupal и WordPress Наш гость, создатель инструментов для разработчиков из Pantheon, рассказывает, как автоматизировать деплои WordPress с помощью GitLab CI/CD. В Pantheon я занимаюсь связями с разработчиками, поэтому всегда ищу новые способы помочь разработчикам WordPress и Drupal решать проб...

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

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

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

[Перевод] История 3dfx Voodoo1 Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време...

Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...

В Java может появиться новая сериализация На сайте OpenJDK появился новый исследовательский документ, в котором описывается идея введения в язык новой улучшенной сериализации взамен старой. Сериализация в Java существует с версии 1.1, то есть практически с момента её рождения. С одной стороны, сериализация является...

10 ярких докладов TechTrain 2018: ИИ для масс, интерфейсы и многое другое Как оценивать, какие доклады на мероприятии оказались лучше? Если собираешь зрительские оценки, задача может выглядеть простой: высчитай для каждого доклада среднее, вот и всё. Но стоит ли, например, учитывать количество зрителей? Если один доклад получил высокие оценки, с...

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

Клиентам Сбербанка позвонили мошенники Злоумышленники использовали номера телефонов самого банка и знали информацию по счетам — звонки были очень правдоподобны.

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

[Из песочницы] Разработка под Docker. Локальное окружение. Часть 1 Возможно, одна из самых основных причин почему мне нравится докер это то, что он позволяет избавиться от необходимости установки на компьютер различных сервисов. К их числу можно отнести и сам веб-сервер Apache или Nginx, базы данных и прочие компоненты инфраструктуры прилож...

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры) Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню. По...

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз Скачать файл с кодом и данные можно в оригинале поста в моем блоге Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самы...

SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

4 способа спрятать приложения на вашем Android-смартфоне А вы знали, что на вашем Android-устройстве можно спрятать программы? Иногда было бы полезно спрятать некоторые приложения на вашем смартфоне или планшете от посторонних глаз. Например, убрать подальше жестокие игры, если ваш смартфон время от времени берут в руки дети. Или ...

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

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

Онлайн игра с RC моделями, управляемыми через интернет Продолжение статьи Как мы запустили роботов в маленький Чернобыль про игровую концепцию Remote Reality. Мы очень благодарны сообществу Хабр за проявленный интерес к нашему проекту, за много хороших слов и полезных комментариев к первой статье. Надеемся вторая часть нашей ис...

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

Z-man создал проект L3COS для коммерциализации блокчейна Экс-руководитель Softbank Зураб Цицуашвили, или просто Z-man, представляет L3COS — проект, направленный на предоставление правительствам, бизнесу и частным лицам возможностей блокчейна в аспекте безопасности и эффективности. Основатель и генеральный директор проекта им...

AMA с Хабром (Прямая линия с TM, v 6.0) Хабр детям не игрушка, а развлечение, информация и знания для брутальных айтишников и их боевых подруг. В общем, вы поняли, что расположение духа у нас праздничное, и нас тянет на поговорить. Как, впрочем, каждую последнюю пятницу месяца в рамках проекта АМА. А ещё мы вам по...

QVD-файлы — что внутри, часть 2 В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хранения информации о колонках, поделюсь своим опытом трактовки этих данных. Итак (вспоминаем) QVD файл соответствует реляционной табл...

Раскрашиваем ч/б фото с помощью Python Привет Хабр. Одной из интересных и популярных (особенно перед разными юбилеями) задач является «раскрашивание» старых черно-белых фотографий и даже фильмов. Тема это достаточно интересная, как с математической, так и с исторической точки зрения. Мы рассмотрим реализацию это...

С Днём работника технической поддержки 1 августа — день работника технической поддержки в России (международный — 16 мая). Упоминаний о нём не так много и он не так популярен как день программиста, но почему бы и нет? Техническая поддержка, саппорт, справочная служба — эти ребята отвечают на тысячи сложных, прост...

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

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

Windows 10 Build 18841 доступна для загрузки Неожиданно быстро Microsoft выпустила вторую сборку Windows 10 20H1 под номером 18841.Во-первых, много улучшений получила песочница Windows. Теперь она поддерживает виртуальный ГПУ (vGPU), сетевые папки, появилась возможность захвата горячих клавиш Windows, исправлена пробле...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

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

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

И-н-в-о-й-с. Как продавать в интернете без сайта — Пожалуйста, вышлите нам инвойс! — Не слышу! — Вышлите инвойс! — Что выслать??? — Инвойс. Говорю по буквам: Инна! Наталия! Валерий! Ольга! Ирина! Сергей! — Кто эти люди???? Один мой знакомый решает студентам задачи по программированию — у него нет своего сайта, но е...

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

RESHI.RU — робот решает и объясняет школьные текстовые задачи по математике Введение Когда я объяснял своему ребёнку в 4-м классе, как решать текстовую задачку по математике, то неожиданно понял две вещи. Во-первых, процесс объяснения решения можно автоматизировать. А во-вторых, для большинства школьных вычислительных задач подходит универсальный ме...

Волшебная фея для юнит-тестов: DSL в C# Как часто бывало так, что написав рабочий юнит-тест, ты смотришь на его код, а он… плохой? И ты такой думаешь: «Это же тест, оставлю так…». Нет, %username%, так оставлять не надо. Тесты — это значимая часть системы, которая обеспечивает поддерживаемость кода, и очень важно, ...

Синхронизация клиентских запросов в Spring Сегодня предлагаю Вам разобрать одну практическую задачу о гонке клиентских запросов, с которой я столкнулся в МаксимаТелеком при разработке back-end для нашего мобильного приложения MT_FREE. При старте клиентское приложение асинхронно отправляет «пачку» запросов к API. При...

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

Как я патчил Вселенную :) На Хабре достаточно много статей про разработку игр, однако среди них очень мало статей, которые касаются “закулисных” тем. Одной из таких тем является организация доставки, собственно, игры большому количеству пользователей на протяжении длительного времени (год, два, три...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

[Из песочницы] Гнев, торг и депрессия при работе с InfluxDB Если использовать БД временных рядов (timeseries db, wiki) как основное хранилище для сайта со статистикой, то вместо решения задачи можно получить много головной боли. Я работаю над проектом, где используется такая база, и иногда InfluxDB, о которой пойдет речь, преподнос...

BIGTREETECH SKR mini E3 V1.2 Прошивка, начальная настройка. S-Curve, вертикальные полосы. В связи с обилием вопросов и ошибок снял видео с установкой SKR mini E3 V1.2 на Ender 3. Вот краткое содержание:Распаковка и установка кратко. Всё уже расписано неоднократно, распиновка есть на оффсайте, на плате всё подписано, места подключения совпадают со стоковой платой....

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

[Из песочницы] Феерический screensaver для Kodi Назначение хранителя экрана для «Kodi» Проект предназначен для создания «Феерического» хранителя экрана с минимальным количеством исходного кода на языке Python. Проект является простейшим плагином для мультимедиа центра Kodi. Проект показывает как можно создать очень кра...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

FLProg – Самостоятельная интеграция в программу кастомных контроллеров На Хабре достаточно давно не освещался проект FLProg. Это связанно с отсутствием времени на написание статей, да и моими собственными личными проблемами. Но проект не умер, он живёт и развивается. В среднем раз в месяц выходит очередная версия программы. Со времени последне...

[Из песочницы] Выборы, выборы, кандидаты — хостинги «Нам нужен новый хостинг», — осенило нашего шефа в начале весны. Это не было весенним обострением, это было объективной необходимостью, потому что старая кобра пережила свой яд предыдущий почему-то решил, что раз клиенты из-за 152-ФЗ идут сами, то можно предоставлять услуги ...

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

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

Как выбрать прокси-сеть для бизнеса: 3 практических совета Изображение: Unsplash Маскирование IP-адреса с помощью прокси нужно не только для того, чтобы обходить цензуру в интернете и смотреть сериалы. В последние годы прокси все чаще используют для решения корпоративных задач от тестирования приложений под нагрузкой, до конкурен...

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

[Из песочницы] Что такое информация? Исследование How Much Information, проведенное в 2009 году показало, что количество потребляемой в неделю информации с 1986 года выросло в 5 раз. С 250 тысяч слов в неделю до 1,25 миллиона! С тех пор это цифра увеличилась в разы. Далее следуют более ошеломительные показатели...

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

.NET Core на Linux, DevOps на коне Мы развивали DevOps как могли. Нас было 8 человек, и Вася был самым крутым по Windows. Внезапно Вася ушел, а у меня появилась задача вывести новый проект, который поставляет Windows-разработка. Когда я высыпал на стол весь стек Windows-разработки, то понял, что ситуация — бо...

[Из песочницы] Создание библиотеки в стиле Spring Data Repository своими руками при помощи Dynamic Proxy и Spring IoC А что если бы можно было создать интерфейс, например, такой: @Service public interface GoogleSearchApi { /** * @return http status code for Google main page */ @Uri("https://www.google.com") int mainPageStatus(); } А затем просто внедрять его ...

В Android-приложении Госуслуг появилась поддержка Google Pay Google Pay теперь позволяет расплачиваться на Госуслугах Как бы плохо я не относился к бесконтактной оплате через Google Pay, нужно признать, что иногда сервис всё-таки может быть полезен. Например, при оплате покупок в интернет-магазинах. Очень удобно бывает вместо того что...

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

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

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

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

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

Открытая трансляция Главного зала HighLoad++ 2019 В эфире главное событие для разработчиков высоконагруженных систем. По хорошей традиции 7 и 8 ноября мы собираемся, чтобы делиться опытом в построении веб-сервисов, позволяющих одновременно помогать десяткам, сотням тысяч пользователей решать свои задачи. Если в этот раз мы ...

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

Как мы мониторили Black Hat Europe 2018 Полгода назад я уже писал на Хабре заметку, где делился нашим опытом мониторинга различных конференций по ИТ и ИБ, в которых Cisco приглашают для обеспечения работы SOC и NOC (Black Hat, Mobile World Congress, RSAC и т.п.). Сегодня я бы хотел поделиться опытом участия в рабо...

Криптовалютный океан: обзор топ-50 проектов с CoinMarketCap Когда смотришь на бесконечный список криптовалют на CoinMarketCap, первый вопрос который приходит в голову: а чем все они отличаются? И зачем их столько? Первый же ответ из зала — это все хайп и маркетинг! Но осознанные люди не поддаются очарованию простых ответов. Чтобы от...

AMA с Хабром v.8.0. Онбординг, новости для всех, PWA Апрель — месяц субботников. Наша команда тоже провела  виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хаб...

Миграция на Zimbra без рисков для бизнеса с помощью общего домена Ранее мы уже рассказывали о том, как можно мигрировать c IBM Notes/Domino на Zimbra. Изложенный нами вариант идеально подойдет для небольших предприятий с небольшим количеством сотрудников. Но что же делать крупным предприятиям с сотнями сотрудников, где резкий переход на но...

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

Используем mcrouter для горизонтального масштабирования memcached Разработка высоконагруженных проектов на любом языке требует особого подхода и применения специальных инструментов, но когда речь заходит о приложениях на PHP, ситуация может обостриться настолько, что приходится разрабатывать, к примеру, собственный сервер приложений. В д...

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Распространители вымогателя Shade активизировались В январе спам-кампания по распространению вымогателя Shade, также известного под названием Troldesh, возобновилась с новой силой. По сведениям аналитиков из компании ESET, на этот раз она идет через массовую рассылку электронных писем с вредоносными JavaScript-вложениями. Ча...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

Функциональное программирование с точки зрения EcmaScript. Композиция, каррирование, частичное применение Привет, Хабр! Сегодня мы продолжим наши изыскания на тему функционального программирования в разрезе EcmaScript, на спецификации которого основан JavaScript. В предыдущей статье мы разобрали основные понятия: чистые функции, лямбды, концепцию имутабельности. Сегодня поговор...

Вместе пытаемся сломать игру «7 на 9» Сегодня будет маленький этюд просто понять, интересно ли вам такое. В общем, есть такой дядька Алексей Савватеев, который читает потрясающий курс по теории игр. Он же написал книгу «Математика для гуманитариев», где очень тонко постебался над всеми гуманитариями. Просто это ...

LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динам...

[Из песочницы] Как маленькая программа превратила маленькую контору в федеральную компанию с прибылью 100+ млн.руб/месяц В конце декабря 2008 года меня пригласили в одну из служб такси г.Перми с целью автоматизации существующих бизнес-процессов. В целом передо мной были поставлены три фундаментальные задачи:
 Разработать программный комплекс для call центра с мобильным приложением для водител...

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

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

Расширяемый Postgres На прошедшем PGConf.Russia был доклад про расширение MobilityDB, а Андрей Бородин предложил идею расширять методы индексов под задачу. Продолжу тему с расширением Postgres под решаемую задачу на примере расширения сделанного в рамках HighLoad Cup 2018, код доступен на GithH...

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

Серый кардинал .NET — Джон Гэллоуэй Знаете ли вы, кто такой Джон Гэллоуэй? А между тем, он есть. Он не только один из авторов «Professional ASP.NET MVC», но и человек, который является исполнительным директором .NET Foundation, по сути – отвечает за весь опенсорс .NET. Основные темы этой статьи: подробности р...

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

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

Как создать радиостанцию в Apple Music на iPhone, iPad и Mac на основе определенной песни Вам нравится определенная музыка, и вы были бы не прочь слушать больше похожих песен? Не все знают, что у Apple есть замечательный инструмент для таких задач – ваша уникальная радиостанция. ПО ТЕМЕ: Как смотреть (сохранять) видеоклипы в Apple Music на iPhone, iPad и Mac. Соз...

Ломаем игру на память: целый детектив Эта игра не давала нам покоя несколько месяцев. Правила очень простые: надо выкладывать карточки с картинками и придумывать сказку. Потом вспомнить её. Простая штука на запоминание, подумали мы. Сто раз в такое играли, и всё наше образование просто вопит, что сейчас буд...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

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

Управление мобильными устройствами и не только с помощью UEM решения от Sophos Сегодня многие компании в своей работе активно используют не только компьютеры, но и мобильные устройства и ноутбуки. В связи с этим появляется проблема управления этими устройствами, используя унифицированное решение. Sophos Mobile успешно справляется с этой задачей и откр...

Электрички Москвы (и не только): спасибо тем, кто помогал в этом году Электричка слева — Аэроэкспресс — теперь тоже добавлена в приложение. В день расписание у нас просматривают 600 тысяч человек, поэтому каждое маленькое изменение имеет эффект большого масштаба. Я хочу немного отчитаться о том, что мы добавили в приложение электричек по п...

Как все начиналось: история паяльника и появление современных инструментов Паяльник второй половины XIX века, который нагревался на огне Пайка известна человеку около 4 тысяч лет — это исторически доказано. Разные народы в разное время паяли золотые, серебряные изделия и предметы из других металлов. Все паяльники до момента изобретения электриче...

[Перевод] Как мы оптимизировали свой Theme Hospital под разные платформы Project Hospital — это игра об управлении зданием больницы со всеми стандартными аспектами жанра: динамическими сценами, создаваемыми игроком, множеством активных персонажей и объектов, развёрнутой системой UI. Чтобы заставить игру работать на разном оборудовании, нам пришл...

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

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

Руководство для модераторов Facebook: более 1400 страниц противоречивых слайдов В руководстве объясняется какие смайлики могут рассматриваться как угрозы или, в контексте специфических групп, для разжигания ненависти Находясь под огнём критики, Facebook вынужден принимать меры по модерации контента. Но эта задача не такая простая, как кажется. В СМИ ...

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

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

HL SIRIUS - проба пера. Приветствую всех!Наконец-то, дорвался я до полимерника работающего на параледе. Пока делаю различные тесты, не хочу много умничать, и просто поделюсь первыми результатами самостоятельной печати. Вообще, о первом знакомстве с принтером писал Здесь. Ещё, хочется выразить отдел...

[Из песочницы] React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-пл...

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает пр...

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

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

Опасные производства: мы следим за тобой, %username% (аналитика видео) Один товарищ — без каски, второй — без перчатки. На производствах есть много не самых хороших камер, в квадраторы которых смотрят не самые внимательные бабушки. Точнее, они там просто с ума сходят от однообразности и не всегда видят инциденты. Потом медленно звонят, а есл...

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

Наблюдаем Солнце: 5 видов гаджетов, от простых до «профессиональных» Привет, Хабр. Как ни странно, но на Хабре/Geektimes было довольно много статей по астрономии, но про наблюдение нашего самого яркого светила практически нет ни одной статьи. Восполним этот пробел, и посмотрим как можно наблюдать Солнце. Ведь как известно, просто так в телес...

Prisma-CMS как движок для быстрого создания MVP Наверняка многие слышали понятие MVP (Минимально жизнеспособный продукт вики). На хабре тоже много статей про MVP, но в основном это или просто описание что такое MVP и для чего оно, или различные success и не очень story. Но я не нашел ни одной статьи, где бы описывалось на...

Бизнес на свои: мы написали книгу с тактикой прохождения этой игры Привет! Я хотел сказать, что вчера вышла третья наша книга, и тоже очень помогли посты с Хабра (а частично и вошли). История такая: на протяжении примерно 5 лет к нам подходили люди, которые не умели в проектное мышление, не понимали разные вопросы бизнеса и задавали одни ...

Настольный. Металлический. Бесшумный. Твой? Почти полтора года прошло с момента появления на Хабре моего рассказа про самый умный обогреватель. Менялись времена года. Упал и опять начал подниматься курс биткоина. Отгремел чемпионат мира по футболу. В Терконе придумали, как сделать массовый бесшумный компьютер. Под ка...

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core) Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении. С помощь...

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

[Из песочницы] Основные заблуждения о SCRUM SCRUM? Какой SCRUM? Впервые подход SCRUM (англ. scrum «схватка вокруг мяча») описали Хиротака Такэути и Икудзиро Нонака, которые заметили, что небольшие команды (5 — 9 человек), укомплектованные разнопрофильными специалистами, дают лучшие результаты. Наиболее полное описание...

Серия вебинаров по системе технического документооборота TDMS Фарватер Какие задачи стоят перед системой технического документооборота? Вот только часть ситуаций, задач, вопросов и сложностей, с которыми сталкиваются проектные компании ежедневно: Приходится искать актуальные файлы чертежей на компьютерах пользователей. Не получается с первог...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

Библиотеки Electronic Arts почти хорошего качества Наше внимание привлёк репозиторий Electronic Arts на GitHub. Он очень маленький и из двадцати трёх проектов нас заинтересовали только несколько C++ библиотек: EASTL, EAStdC, EABase, EAThread, EATest, EAMain и EAAssert. Проекты оказались тоже очень маленькими (около 10 файлов...

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

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

Lazarus начала боевые действия в России? Последние несколько недель исследователи из Check Point наблюдают подозрительную активность, направленную против российских организаций. Атаки носят скоординированный характер, а используемые при этом тактические приемы, техники и инструменты указывают на Lazarus — APT-групп...

[Из песочницы] Windows service. Поиск системных ошибок и отображение их в WinForm C# В этой статье мы разберем как с нуля создать приложение, которое будет работать со службами windows и отображать системные ошибки в WinForm (C#). План этой статьи: Создание службы Event Viewer Код службы Проверка работы службы(Запуск службы вручную) Отображение WinForm ...

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

Что разработчикам надо знать про бизнес Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менед...

Следим за изменением файлов с помощью Alerting OpenDistro for Elasticsearch Сегодня возникла потребность в мониторинге изменений определенных файлов на сервере, существует много разных способов например osquery от facebook, но так как недавно я начал пользоваться Open Distro for Elasticsearch решил мониторить файлы эластиком, одним из его beat'ов. Ч...

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

[Из песочницы] Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux Дисклеймер Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, эт...

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

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

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков описал типичные ошибки, которые встречались ему в проектах на языках Java,...

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

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

Культурное наследие Казахстана в 3D-моделях Сегодня в глобальной сети можно найти тысячи оцифрованных музейных экспонатов, а также огромные 3D-модели культовых зданий и комплексов Казахстана. И пока работа по «цифровизации» культурного наследия Республики продолжается, мы расскажем, как «ЛАНИТ-Интеграция» совместно с ...

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

В LinkedIn рассылают бэкдор More_eggs по компаниям в США Специалисты Proofpoint зафиксировали вредоносную кампанию по распространению JavaScript-бэкдора More_eggs. Злоумышленники используют фальшивые предложения о работе, чтобы заставить получателя перейти по зараженной ссылке или открыть файл с внедренным скриптом. Как выяснили э...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

[Из песочницы] Видеозвонок в браузере на PeerJS. Быстрый старт Приветствую всех читателей Хабра. В этом году довелось писать модуль видеосвязи для одного учебного портала для созвона по видеосвязи прямо на сайте учителя с учеником. Раннее такую задачу решать не приходилось. После недолгих поисков обнаружил, что есть 2 пути: Flash и WebR...

[Перевод] Руководство по Kubernetes, часть 1: приложения, микросервисы и контейнеры По нашей просьбе Хабр создал хаб Kubernetes и нам приятно разместить первую публикацию в нём. Подписывайтесь! Kubernetes — это просто. Почему же банки платят мне за работу в этой сфере большие деньги, в то время как любой может освоить эту технологию буквально за несколько ч...

[Из песочницы] Подсчет скорости скачивания в вашем приложении Предыстория Есть у меня маленький и уютный pet-project, который позволяет качать файлы из интернета. Файлы при этом группируются и пользователю отображается не каждый файл, а некоторая группировка. И весь процесс скачивания (и отображение этого процесса) сильно зависел от да...

Провинциальная ИБ – стагнация или развитие? Всем доброго времени суток. Сегодня нам хотелось бы обсудить информационную безопасность в регионах, и рассказать о прошедшем 19-20 июня восьмом ежегодном Форуме «Актуальные вопросы информационной безопасности», который мы традиционно с 2009 года проводим на базе Администр...

[Перевод] Пять вопросов о проектировании языков программирования Руководящая философия 1. Языки программирования для людей Языки программирования это то, как люди говорят с компьютерами. Компьютер будет рад поговорить на любом языке, который не будет двусмысленным. Причина почему у нас есть высокоуровневые языки — потому что люди не мо...

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

PVS-Studio for Java отправляется в путь. Следующая остановка — Elasticsearch Далеко не первый год команда PVS-Studio ведет блог о проверках open-source проектов одноименным статическим анализатором кода. На сегодняшний момент проверено более 300 проектов, а в базу найденных ошибок выписано более 12000 случаев. Изначально анализатор был реализован дл...

HabraСonf №1 — похабрим за бэкенд Когда мы чем-то пользуемся, редко задумываемся, как оно устроено изнутри. Вы едете в своей уютной машине и вряд ли у вас в голове крутится мысль о том, как ходят поршни в двигателе или смотрите очередной сезон любимого сериала и точно не представляете себе хромакей и актёра ...

Какие функции Asana помогут вам работать быстрее С помощью сервиса для командной работы Asana можно грамотно распределять нагрузку и планировать проекты. Журналист Теплицы Юлия Каленкова расскажет о функциях сервиса, которые сделают работу с задачами и письмами еще проще и быстрее. НКО используют Asana для подготовки к кон...

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

MacBook Pro 2015 запрещен для полетов из-за небезопасных батарей 2016 году, Galaxy Note 7 из-за риска пожара и небезопасных аккумуляторов, U.S запретил запуск телефона на любой рейс. Теперь Apple оказалась в аналогичной ситуации благодаря отзыву о 15-дюймовом MacBook Pro 2015 года. Первые отзыве Apple MacBook Pro были в июне, который каса...

Работа с внешними ресурсами в Unity 3d Введение Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d. По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

Розыгрыш смартфона Huawei P smart Z с необрезанным экраном и выдвижной камерой Пришло время нового конкурса на Root Nation! Сегодня мы разыграем бомбезный приз - смартфон Huawei P smart Z с необрезанным экраном и выдвижной камерой. Да еще и обворожительного изумрудного цвета. Присоединяйтесь!Читать наш обзор Huawei P smart Z:Обзор Huawei P smart Z с не...

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

Windows 10 Build 18323 доступна для загрузки Microsoft неожиданно рано утром выпустила новую инсайдерскую сборку Windows 10 Build 18323. Так как это уже пошла финальная стадия тестирования 19h1_release, то изменений там довольно мало. Можно отметить улучшенную поддержку формата изображений RAW, и при этом были произвед...

REST? Возьмите тупой JSON-RPC В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API. Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще? Что это — осознанный выбор или привычка? Возможно, именно вашему проекту RPC-like API по...

Лучшее программное обеспечение компьютерной сети Современная компания «Softinventive Lab» предлагает своим клиентам качественное программное обеспечение, которое позволит вести учет и контроль за работой сервера и общей рабочей сети. На сайте этой компании https://www.softinventive.ru/software-asset-management/ можно ознак...

Зачем совершать операции с валютой на бирже: 3 практических сценария Изображение: Unsplash По статистике, уровень финансовой грамотности в России растет. Сейчас он немногим ниже, чем, например, в Великобритании. Все больше людей экспериментирует со своими финансами, изучает различные способы их сохранения и приумножения активов. При этом е...

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

Каменная бумага хороша – но пока не решает проблему вырубки деревьев Компания Karst Stone Paper презентовала свою новую разработку – бумагу, изготовленную не из целлюлозы, а на основе каменной пыли и пластика. Она в разы прочнее традиционной, устойчива к разрывам и вдобавок водонепроницаема. Из-за этого на ней сложно писать чернилами, но марк...

Golang: специфические вопросы производительности Язык Go набирает популярность. Настолько уверенно, что появляется все больше конференций, например, GolangConf, а язык входит в десятку самых высокооплачиваемых технологий. Поэтому уже имеет смысл разговаривать о его специфических проблемах, например, производительности. Кро...

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

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

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

[Из песочницы] Пишем бот для рыбалки в игре Albion Online на языке Python Всем привет, я являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде». И еще меньше игр в жанре MMORPG. Однако, где-то пол года или год назад я узнал ...

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

[Из песочницы] Смок-тестирование релиз-кандидата автотестами за 15 минут Меня зовут Лилия, я QA Lead в одном из проектов финансовой группы БКС (сервис по подбору выгодных для клиента предложений из ряда кредитных продуктов), и сегодня я расскажу, как мы автоматизировали смок-тестирование, с какими проблемами столкнулись и какой стек технологий ис...

«Яндекс.Деньги» и WebMoney хотят подключиться к системе быстрых платежей, которая запускается сегодня Как известно, с января 2019 года Центробанк вместе с банками-партнёрами разворачивает систему быстрых платежей (СБП), которая позволяет гражданам переводить средства по номеру телефона получателя, даже если стороны имеют счета в разных банках. Официальный запуск СБП состоя...

Googlе «не видит» Турбо-страницы информационных сайтов Турбо-страницы для информационных сайтов не отображаются для роботов Google. Об этом сообщил в интервью Searchengines.ru руководитель проекта Турбо-страниц Станислав Макеев. «Коммерческие Турбо-страницы, создаваемые рекламодателями под кампании с помощью конструктора Директа...

У телефона Samsung со сгибаемым экраном за $2000 на дисплее образуется складка Не так давно на Хабре публиковалась новость о самом дорогом на данный момент телефоне Samsung. Его цена составляет $1980, что объясняется наличием сгибаемого дисплея, который позволяет превратить телефон в мини-планшет и наоборот. Когда устройство опробовали журналисты раз...

Flashforge adventurer 3 Всем доброго времени суток! Не так давно стал обладателем принтера FlashForge Adventurer 3. Это моё первое знакомство с 3D печатью. С фирменным филаментом FlashForge печатает просто замечательно, но с ESUN через некоторое время начал пропускать слои. Было решено связаться с ...

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

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

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

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

Освобождаем руки нескольким аналитикам: API Livy для автоматизации типовых банковских задач Привет, Хабр! Не секрет, что для оценки платежеспособности клиентов банки используют данные из различных источников (кредитное бюро, мобильные операторы и т.д.). Количество внешних партнёров может достигать нескольких десятков, а аналитиков в нашей команде наберётся лишь не...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

Книга «Классические задачи Computer Science на языке Python» Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач...

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

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

[Перевод] Я выставил счёт $18 000 за статичную веб-страничку… и мне это сошло с рук Не так давно я работал контрактником, перескакивая с одного проекта на другой. С некоторыми краткосрочными проектами справлялся за неделю. Другие длились пару месяцев. Они приносили достаточно денег, чтобы взять отпуск. Но я предпочитал короткие, потому что там можно было ус...

За вход — рубль, а выхода нет: как в блокчейн попадают сторонние файлы и что с этим делать Привет, Хабр! Я обещал делиться философскими мыслями о блокчейне. Поэтому сегодня будет статья на тему, которая часто всплывает в прессе: о «запрещенных» файлах в блоках. В марте 2018-го в одном из блоков биткоина обнаружили ссылки на детское порно и изображения сексуально...

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

Как уйти из IT? [Опыт перехода в психологию]. На Хабре довольно много статей о том, как стать программистом, сисадмином, сетевиком и много ещё кем. Материалов о том, как уйти из IT, гораздо меньше, и сегодня я постараюсь восполнить этот пробел. ППКС. Источник: t.me/smallpharm/559 Discla...

Ускоряем Ansible с помощью Mitogen Ansible стал одним из самых популярных Configuration Management систем. После того как был куплен Red Hat в 2015 году число участников проекта превысило тысячи и Ansible стал наверное самым используемой системой развертывания и оркестрации. Его широкие области применения оче...

Трагичная история знакомства с poppler …Или как мы писали пилот приложения для ОС Sailfish с использованием poppler. Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. о...

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

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

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

Как за 28 часов создать прототип сервиса сравнения документов и выиграть хакатон Привет! После долгого перерыва мы решили вернуться на Хабр и хотим поделиться опытом участия в хакатоне. В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии». Участие в хакатоне, организованном Phystech.Gen...

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

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

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

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

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

Как установить русский язык на iPhone или iPad (iOS) Достаточно часто к нам обращаются новоиспеченные iOS-пользователи, которые по разным причинам стали владельцами iPhone или iPad с языком системы отличным от русского. Надо сказать, что iOS поддерживает огромное количество языков и иногда изменить язык системы не так просто, ...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

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

Розыгрыш павербанка Canyon CNS-CPBP20 на 20 000 мАч Пришло время нового конкурса на Root Nation! Сегодня мы разыграем отличный приз, который нужен практически всем - павербанк большой емкости Canyon CNS-CPBP20 на 20000 мАч. Присоединяйтесь! Читать наш обзор Canyon CNS-CPBP20: Обзор пауэрбанка Canyon CNS-CPBP20 на 20 000 мАч ...

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

Колонка редактора: инфобизнес в благотворительности Евгений Зубов в родном городе Тольятти успел запустить серию it-порталов, информационных сайтов, модельное агентство. Уезжать не хочет и не думал, в свои 27 много путешествует. И бизнеса в один момент стало мало. Понял, что его навыки могут помочь в благотворительности, где...

Программный комитет FrontendConf: фреймворкы, горизонты, мировой опыт и миссия конференции Привет, Хабр! Я руковожу Программным комитетом конференции FrontendConf и хочу рассказать как все работает изнутри, объяснить, что мы вложили в программу, почему выбрали те или иные доклады. Почему, при всем обилии информации в интернете, конференции — не просто тематическа...

Для предпринимателей Москвы создали новый онлайн-сервис По словам вице-мэра Москвы Натальи Сергуниной, ГБУ «Малый бизнес Москвы» запустил на сайте своего проекта mbm.ru новый онлайн-сервис «Индивидуальная траектория развития» (ИТР). С его помощью предприниматели мегаполиса смогут оценивать уровень своих знаний. Программа поможет ...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

Разрушение Silo через адаптацию VeriSM™ подхода Силосная культура – бич современного бизнеса любого уровня. Главный признак ее возникновения – замкнутость подразделений внутри своих бизнес-процессов, что непременно ведет к смещению фокуса с глобальных задач компании на удовлетворение собственных. Силос по своей сути это б...

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

Расти большой: топ-10 докладов Mobius 2018 Moscow В 2018-м App Store и Google Play исполнилось 10 лет. За это десятилетие некоторые приложения, начинавшиеся как маленькие стартапы, разрослись в гигантские проекты — а по пути преодолели множество трансформаций, набили множество шишек и извлекли множество уроков. Мы откры...

[Из песочницы] Операционные vs аналитические базы: колоночное vs построчное хранение данных Базы данных можно реализовать с помощью Excel, GSheet или при помощи больших ORM систем. В своей практике бизнес-аналитика я сталкивался с разными решениями. А поскольку в бизнес-анализ я пришёл из финансов и аудита, то каждый раз встречая новую систему задавался вопросами —...

[Перевод] Алан Кей: «Могли ли древние римляне построить компьютер?» Это очень интересный вопрос — похож на тот, что я обычно задавал на уроке по компьютерному дизайну: «Какой компьютер капитан Немо разработал бы для «Наутилуса»? — Нарисуйте его дизайн!» Сегодняшний вопрос может быть понят по-разному: например, в значении «С технологиями, до...

Борщеvиктори: сайт и онлайн-карта для борьбы с борщевиком Опасно, ожоги, нельзя трогать руками – это первые мысли, которые обычно приходят нам в голову при виде борщевика. Мы понимаем, почему это растение несет вред на бытовом уровне. Но борщевик – это еще и угроза экологии. Он подавляет другие виды растений и заполоняет собой всю...

Приложение «Фотографии» для Windows 10 лишается синхронизации видеопроектов в OneDrive Видеоредактор в приложении «Фотографии» для Windows 10 лишится возможности синхронизации видеопроектов при помощи OneDrive. В настоящее время в облачное хранилище загружается информация о порядке клипов, музыке и тексте, благодаря чему видеопроекты выглядят одинаково на все...

[Из песочницы] Тестирование методом черного ящика Книга "A Practitioner's Guide to Software Test Design" Lee Copeland была опубликована в 2003 году. С тех пор она надежно закрепилась в списке книг, которые обязательно должен прочитать любой тестировщик. Её стоит прочитать в оригинале. Читается очень приятно: язык ...

5 крутых сервисов digital-маркетинга, о которых не слышали в России Привет, Хабр! Поделюсь своим опытом работы с сервисами, которыми практически не пользуются в России, но при этом они мега-популярны в Европе и США. Кратко распишу, что это за сервисы и для чего они нужны, их плюсы/минусы на личном опыте, и дам для сравнения аналоги популяр...

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

[Из песочницы] Quorum blockchain: интеграция в Java код Здраствуй, Хабр! Для тех кто интересуется темой блокчейна давно не секрет, что помимо публичных блокчейнов, таких как Ethereum, Bitcoin, Zcash и т.д., существуют также их "enterprise (private)" "братья", которые в кое чем лучше чем публичные сети, а в кое чем проигрывают им....

История одного лендинга: привлек много клиентов и был скопирован под сотню раз Привет, Хабр! Я Руслан Кокин, UX-дизайнер в компании UXhot, и у меня есть необычная история про лендинг, а также состояние копирайта в России. Среди созданных нами продуктов есть по-настоящему легендарный лендинг пейдж, ставший донором для зарождающегося в интернете сегме...

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

[Из песочницы] Автоматизация конвертирования word файлов в другие форматы Некоторые гос. структуры формируют отчёты в doc файлах. Где-то это делается руками, а где-то автоматически. Представим, что вам поручено обработать тонну таких документов. Это может быть необходимо для вычленения какой-то конкретной информации или просто проверки содержимого...

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

Розыгрыш умного фитнес-браслета Honor Band 5 Пришло время нового конкурса на Root Nation! Сегодня мы разыграем отличный приз для любителей здорового образа жизни, фитнеса и спортивных тренировок - новейший фитнес-браслет Honor Band 5. Присоединяйтесь! Читать наш обзор Honor Band 5: Обзор Honor Band 5 — достойный фитне...

[Из песочницы] DNS прокси на Node.JS своими руками Понесло пакет по кочкам в дальний лес за DNS… Л. Каганов "Гамлет на дне"При разработке сетевого приложения иногда возникает необходимость запустить его локально, но обращаться к нему по реальному доменному имени. Стандартное проверенное решение — прописать домен в ...

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

Математика любви По материалам статьи Julien Clinton Sprott. Dynamical models of love. Nonlinear Dynamics Psychology and Life Sciences, August 2004. Я алгеброй гармонию поверил… Теория мой друг суха, но древо жизни вечно зеленеет… Кто только не бился об эту «проблему»…. Ее разбирали в дре...

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

Подборка @pythonetc, июнь 2019 Это одиннадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc. ← Предыдущие подборки Символ \ в обычной строке имеет особое значение. \t — это символ табуляции, \r — разрыв строки, и так далее. Чтобы отключить такое поведение, вы ...

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам. CheckiO Проект из Украины «Чекио»...

Google Tag Manager: неочевидные и полезные настройки триггеров Маркетолог в Otzyvmarketing Станислав Романов рассказал, как с помощью диспетчера тегов Google Tag Manager (GTM) настроить аналитику и отслеживать скачивание файлов с сайта. Статья для тех, кто знает основы языка JavaScript и уже работал с GTM.  Читать дальше →

ИИ в собственном SOC’у: мечтают ли руководители центров мониторинга кибератак об электроаналитиках Тематика искусственного интеллекта, зародившаяся еще в 60-х годах, сейчас переживает просто сумасшедший бум. Компьютеры обыгрывают шахматистов и поклонников Го, порой точнее врача ставят диагнозы, нейронные сети (на этот раз не имеющие отношения к умам трех инженеров техподд...

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

Разгоняем Magento Rest API c помощью RoadRunner PHP создан умирать. И все было бы хорошо, но в последнее время это сделать ему не дают. Год назад на хабре состоялся анонс инструмента RoadRunner, заставляющего PHP процесс выйти из бесконечного круга гибели и воскрешения. Принцип работы RoadRunner заключается в удержании з...

[Из песочницы] Как Telegram-бот поборол дизайнерскую прокрастинацию и помог увеличить доход digital-агентства­ Основатель digital-агентства Роман Квартальнов делится простым решением, которое помогло сделать производственные процессы прозрачными, дало возможность в любой момент времени оценить себестоимость проекта и компании целиком, а также экономить около 1 000 000 рублей на сбор...

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

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

Samsung будет обновлять некоторые смартфоны 4 года, но не спешите радоваться Samsung решила обновлять свои смартфоны на год дольше, но только для корпоративных клиентов Обновления всегда были для пользователей Android чем-то таким, что случается не с ними. Конечно, иногда одним везло больше, чем другим, и они-таки получали несколько апдейтов, главной...

Как создать крутой экшен для Google Ассистента. Лайфхаки от Just AI Экосистема вокруг Google Ассистента развивается невероятно быстро. В апреле 2017 года пользователям были доступны всего 165 экшенов, а сегодня только на английском их – более 4500. Насколько разнообразным и интересным станет русскоязычный уголок вселенной Google Ассистента...

Новую проблему с Xiaomi Mi Band пользователям пока придётся решать самим Android 10 постепенно распространяется по рынку, и недавно стало понятно, что у браслетов Xiaomi Mi Band имеются проблемы при работе с новой версией ОС. Если точнее, с MIUI 11.  В частности, пользователи сообщают о проблемах с уведомлениями и вибрацией. К примеру,...

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

[recovery mode] Расширения Google Chrome для программиста Работа программиста настолько сложна и разнообразна, что в ней просто не обойтись без помощи различных инструментов. Подготовил для вас список полезных расширений для Google Chrome, которые облегчат вашу жизнь и сэкономят время. 1. Code Cola Плагин, который предлагает ши...

[Перевод] 7 привычек высокоэффективных программистов Начинающие программисты тратят много времени, набирая знания, необходимые для прохождения интервью. Они решают задачи и улучшают свои резюме. Но самое интересное начинается после того, как программист получает вожделенную должность — в каком-нибудь стартапе, в Google, в Amaz...

Задача N тел или как взорвать галактику не выходя из кухни Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного...

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

«Для сообщества критически важно установить стандарты»: Марсин Москала о Kotlin Пару лет назад было много блог-постов «смотрите, какой интересный язык Kotlin», где объяснялись основы. В 2019-м разжёвывать азы уже не требуется, зато теперь появляется публикация совсем другого формата. Марсин Москала, который уже не первый год учит людей этому языку, се...

50 избранных материалов о заработке музыкантов, звуке в играх и кино, необычных инструментах и хорошо забытом старом Это — мегаподборка из нашего блога на Хабре и «Мира Hi-Fi», настоящего тематического медиа, для которого мы подготовили и опубликовали сотни материалов на тему звука и аудитехники. Сегодня мы предлагаем вашему вниманию избранные топики. В них мы пишем о заработке и карьере ...

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

[Перевод] Анализ сишного Hello World Hello World — одна из первых программ, которые мы пишем на любом языке программирования. Для C hello world выглядит просто и коротко: #include <stdio.h> void main() { printf("Hello World!\n"); } Поскольку программа такая короткая, должно быть элементарно объяснить,...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

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

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

Сборка и деплой однотипных микросервисов с werf и GitLab CI Два года назад мы публиковали статью «Сборка проектов с GitLab CI: один .gitlab-ci.yml для сотни приложений», а теперь расскажем о решении схожей задачи сегодня. Новый материал — о том, как можно построить CI/CD-процессы для большого количества однотипных приложений с появ...

[Перевод] ИИ от Amazon облегчает борьбу с непристойным контентом, загружаемым пользователями Тысячи компаний используют cервис машинного зрения Rekognition от Amazon для поиска непристойных изображений и видеороликов, загружаемых пользователями Противоречивая технология Rekognition от Amazon уже используется для удаления изображений половых членов с сайтов, посвящ...

Десятка лучших докладов C++ Russia и плейлист конференции в открытом доступе Этот хабрапост объединяет десять лучших докладов от таких спикеров, как Nicolai Josuttis, Timur Doumler, Андрей Давыдов и многих других. C++17/20/23, concepts, immutable data structures, concurrency, parallelism, metaprogramming — всё это темы конференции C++ Russia 2019, пр...

Баг в mIRC позволяет выполнить в Windows сторонний код Специалисты в области информационной безопасности Батист Девинь (Baptiste Devigne) и Бенджамин Четиуи (Benjamin Chetioui) опубликовали описание и PoC-эксплойт уязвимости в mIRC — распространенном IRC-клиенте для Windows. Как выяснили исследователи, приложение допускает внедр...

Зачем компании управлять смартфонами сотрудников? В начале октября на Хабре обсуждалась утечка данных из «Сбербанка». Один из сотрудников банка продал информацию о тысячах или миллионах клиентов: ФИО, номер паспорта, номер карты, дата рождения, адрес и т. д. Сама по себе новость рядовая: такую приватную информацию о клие...

[Перевод] Создание процедурного генератора головоломок В этом посте описывается генератор уровней для моей игры-головоломки Linjat. Пост можно читать и без подготовки, но он легче усвоится, если сыграть в несколько уровней. Исходный код я выложил на github; всё обсуждаемое в статье находится в файле src/main.cc. Примерный план ...

[Из песочницы] Кое-что об inode Периодически, с целью переезда в ЦРС собеседуюсь в разных крупных компаниях, в основном питера и москвы на должность DevOps. Обратил внимание, что во многих компаниях (во многих хороших компаниях, например в яндексе) задают два сходных вопроса: что такое inode; по каким ...

Тестовый клиент TON (Telegram Open Network) и новый язык Fift для смарт-контрактов Больше года назад стало известно о планах мессенджера Telegram выпустить собственную децентрализованную сеть Telegram Open Network. Тогда стал доступен объемный технический документ, который, предположительно, был написан Николаем Дуровым и описывал структуру будущей сети. Д...

Три в ряд: топ-10 докладов Mobius 2019 Piter В День программиста делимся с мобильными разработчиками подборкой отличных докладов! В мае в Петербурге прошла конференция Mobius, а теперь мы опубликовали её видеозаписи — и для Хабра сделали подборку из десяти лучших (по зрительским оценкам). Темы очень разные — от масш...

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

Как я не стал специалистом по машинному обучению Истории успеха любят все. И на хабре их достаточно много. «Как я получил работу с зарплатой 300 000 долларов в Кремниевой долине» «Как я получил работу в Google» «Как я заработал 200 000 $ в 16 лет» «Как я попал в Топ AppStore с простым приложением курса валют» «Как я …» и е...

Google тестирует кнопку воспроизведения в Chrome Англоязычные пользователи заметили, что Google тестирует кнопку воспроизведения на панели инструментов в браузере Chrome. С её помощью можно проигрывать или приостанавливать видео и музыку на вкладках. Новая функция получила название «Global Media Controls». В настоящее врем...

Пишем меньше дублирующего кода, используя биндинг в Laravel Доброго времени, уважаемые господа. Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel. Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллек...

[Из песочницы] Анализ эмоциональной окраски отзывов с Кинопоиска Вступление Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно р...

Два студента обманули Apple на $1 млн Два юных китайца, проживающих в Орегоне по студентским визам, выдурили у Apple сотни тысяч долларов, провернув замысловатую схему. Расследование федералов (конкретно – спецагента Томаса Даффи) можно почитать тут, это почти детектив. Если вкратце: они брали айфоны-подделки ...

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