Как стать автором
Обновить

Разработка

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Open Telegram — воссоздание идеи Павла и Николая Дуровых

API *Разработка мобильных приложений *Разработка под Android *
Из песочницы

Наверняка каждый слышал о грандиозной идеи Павла и Николая Дуровых об интеграции крипто кошелька, основанного на созданном ими же блокчейне TON (Telegram Open Network) в мессенджер Telegram. Накануне запуска, SEC США объявила о чрезвычайных мерах против Gram (криптовалюта) и выдала временный запретительный судебный приказ в отношении Telegram.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 325
Комментарии 0

Новости

Проверка Chromium спустя три года. Ну и как оно?

Блог компании PVS-Studio C++ *Google Chrome Open source *

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


chromium_N7_ru/image2.png

Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 317
Комментарии 0

KC3000 или 13 с половиной миллионов чатлов

Блог компании Kingston Technology Высокая производительность *Накопители Настольные компьютеры Ноутбуки

Новый SSD Kingston стоил бы целое состояние в вымышленной галактике Кин-дза-дза. К счастью, обладать им в реальности гораздо дешевле.

В линейку SSD Kingston KC3000 PCIe 4.0 NVMe входят несколько моделей от 500 ГБ до 4 ТБ. Наибольшая скорость под 7 ГБ/сек доступна для SSD 2 и 4 ТБ. В основе используется контроллер Phison E18, что относит накопители к производительному классу. Форм-фактор всех накопителей – привычный М.2 2280, но т.к. две наиболее емкие модели имеют NAND память с обеих сторон, то толщина накопителя составляет 3,5 мм.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 658
Комментарии 4

Хакатон по медицинскому ИИ 2021

Блог компании Наносемантика Программирование *Хакатоны Искусственный интеллект Natural Language Processing *

Всем привет! ФГАУ «Ресурсный центр универсального дизайна и реабилитационных технологий» и компания «Наносемантика» приглашают всех желающих 7-9 декабря 2021 года принять участие во всероссийском хакатоне по медицинскому искусственному интеллекту, который мы помогаем организовать.

Разработчики смогут посоревноваться в разработке технологически полезного решения – тренажёра для пациентов с дизартрией – и получить ценные призы.

Под катом – задача, правила, ссылка на регистрацию и расписание хакатона.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 187
Комментарии 0

Рождественские календари для разработчиков

Информационная безопасность *Разработка веб-сайтов *JavaScript *Программирование *Java *

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.

Сегодня я хочу поговорить про Рождественские календари для разработчиков. А именно - как провести декабрь с пользой.

Читать далее
Всего голосов 6: ↑2 и ↓4 -2
Просмотры 742
Комментарии 3

Настройка auditd для обнаружения и расследования инцидентов информационной безопасности

Информационная безопасность *

Одной из важных составляющих информационной безопасности инфраструктуры компании является SIEM - система управлением событиями и информацией безопасности. Такую систему можно условно поделить на 2 основные части — подсистему сбора событий и подсистему анализа полученных событий. Правильная настройка первой поможет обнаружить вторжение на ранних этапах проникновения, облегчит написание событий тревоги (алертов), а если вас всё-таки взломали, то позволит разобраться, как и почему это произошло, какие действия выполняли злоумышленники. Основным инструментом для сбора системных событий в линукс-системах является auditd. На основе этого инструмента созданы и другие, например, auditbeat, go-audit, которые дополняют основной функционал auditd. Поэтому, разобравшись с основными принципами работы базового инструмента, вам не составит труда воспользоваться и всеми остальными.

Структура статьи:

- Краткое знакомство с инструментом: общее описание auditd, плюсы и минусы, синтаксис;

- Принципы написания правил: практические советы по специфике инструмента, которые позволят делать меньше ошибок при работе с ним;

- Как тестировать правила: порядок действий, который позволит внедрить наборы правил в инфраструктуру любого размера;

- Алгоритм тестирования правил: упорядоченный список действий для проверки отдельно каждого правила и фильтров к нему;

- Модель угроз: как рассматривать систему с точки зрения атакующего, чтобы ничего не забыть;

- Пример: применяем полученные знания на практике.

Читать далее
Рейтинг 0
Просмотры 461
Комментарии 2

Еще одна практика разработки REST API

Проектирование и рефакторинг *
Из песочницы

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

Определения

/users: – маршрут коллекции

/user: – маршрут объекта

Получить пользователя по номеру телефона, почты, СНИЛС и т.д.

Если хотите получить один объект по id или ошибку 404, сделайте так …

/users/{id}:

Если хотите получить один объект по прочим уникальным ключам или ошибку 404, сделайте так …

/user: … parameters: phone, email, snils, login etc.

Если нужно получить сравнительно небольшой список по критериям выборки, то так …

/users: … parameters: …

Если список очень большой и получение предполагается в несколько итераций, то с помощью выделенной операции …

/users/list: … parameters: lastKey, limit.

Напоминание, используйте параметр fields для подрезки трафика, забирайте только нужные данные.

Не более одного параметра в маршруте

Если у вас не составной ключ, что для реляционной модели редкая редкость, то так …

Плохо:

/orders/{orderId}/items/{itemId}:

Хорошо:

/orders/items/{itemId}:

Делайте дружественный API

Если к вам будут ходить разные системы и каждая система хочет работать со своим ключом объекта – сделайте дружественное API. Полиморфность идентификатора реализуется так:

Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры 731
Комментарии 1

Kotlin и Python в одном проекте

Блог компании OTUS Python *Kotlin *Изучение языков

Я в компании отвечаю за работу команды разработчиков. Команда небольшая -  всего 6 разрабов, но за последний год с небольшим мы с нуля разработали и внедрили пять проектов. Причем это были не детские проектики, а вполне промышленные проекты, которые сейчас начинают свою работу на металлургическом заводе и интегрированы со сталеплавильными установками. Много это или мало? Чаще всего, от запуска проекта до его внедрения проходит примерно год-два. А тут средняя скорость разработки получается примерно проект за два-три месяца.

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 715
Комментарии 0

Руководство по ручному текстурированию в Substance Painter

Блог компании OTUS Работа с 3D-графикой *Разработка игр *
Перевод

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 119
Комментарии 0

Можно ли сделать унифицированный UID во всех играх

Разработка игр *Социальные сети и сообщества Игры и игровые консоли

Привет, хабровчане!

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

User ID (а иногда Player ID или Gamer ID) — штука, без которой не обходится почти ни одна игра с социальным взаимодействием между пользователями. Мы в Gameram решили посмотреть с точки зрения комьюнити-менеджмента (и самую чуточку со стороны разработки), как эта фича реализована в разных проектах, и можно ли сделать её удобнее для всех сторон.

К содержанию
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 852
Комментарии 6

Как мы визуализировали большие данные на картах: трудности и особенности

Блог компании Lineate Разработка веб-сайтов *JavaScript *Maps API *Big Data *

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

В статье будет две части:

1. Теоретическая расскажет о визуализации данных на картах в принципе, о распространенных JS библиотеках для решения этой задачи и их основных возможностях. 

2. В практической рассказ пойдет о трудностях, с которыми мы столкнулись, и о путях их преодоления.

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

Читать далее
Рейтинг 0
Просмотры 470
Комментарии 0

Hibernate Reactive: стоит ли оно того?

Блог компании OTUS Программирование *Java *
Перевод

В течение последнего года мы готовились к выпуску первого стабильного релиза Hibernate Reactive и пытались ответить на некоторые вопросы, которые у нас возникли.

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

Читать далее
Рейтинг 0
Просмотры 369
Комментарии 0

Генерация текстуры с предписанными параметрами

Алгоритмы *Компьютерная анимация *

Генерация текстуры с предписанными параметрами

Описание проблемы

В компьютерной графике принято понимать под текстурой любое изображение, применяемое в реализации сцены. В теории цифровой обработки изображений текстуры это случайные поля. В данной статье рассматриваются случайные поля и способы из описания. Случайное поле есть функция F(x,y), значениями которой являются случайные величины. Если предполагается использовать значения этой функции в качестве генератора текстуры, то на значения поля накладываются дополнительные ограничения:

Все случайные величины z поля имеют одно и то же распределение.

Ковариация между F(x0,y0) и F(x1,y1) зависит только от вектора, соединяющего точки ( x0,y0) и (x1,y1) . (стационарность)

Важность выполнения указанного свойства случайного поля вытекает из следующей гипотезы.

Восприятие случайного поля человеком зависит только от значений ковариаций.

Не существует математического (статистического) доказательства справедливости данной гипотезы, но в практических исследованиях она считается выполненной.

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

Читать далее
Рейтинг 0
Просмотры 178
Комментарии 0

Микрооптимизация кода на Go на примере простого веб-сервиса

Блог компании «Лаборатория Касперского» Программирование *Go *


Привет, Хабр! Я работаю старшим Go-разработчиком в «Лаборатории Касперского». Сегодня хочу поговорить о том, как искать узкие места и оптимизировать код на Go. Разберу процесс профилирования и оптимизации на примере простого веб-сервиса — покажу, с помощью каких встроенных инструментов искать функции, активнее всего использующие CPU и память. Расскажу, какие можно применять подходы, чтобы повысить производительность. Хотя речь пойдет о микрооптимизации, в моем примере шаг за шагом производительность удалось поднять в 5 раз!

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 913
Комментарии 0

Overpass API: следующий уровень владения OpenStreetMap

Блог компании VK OpenStreetMap *Геоинформационные сервисы *

В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. Этот API работает как на чтение, так и на запись и предоставляет лишь минимально необходимые возможности. Через него выборку можно ограничить только прямоугольником, но не произвольной полигональной областью, также нет ни фильтрации данных, ни способов их преобразования перед отправкой клиенту. Но что делать, если тебе нужно выбрать данные из OSM, отсеив много лишнего, желательно сразу показать результаты на карте, и при этом ты ни разу не программист? Тут-то на помощь и приходит Overpass API — мощный инструмент запросов к данным OSM, и Overpass Turbo — веб-приложение, предоставляющее графический интерфейс к Overpass API и дополнительные удобства при работе с запросами.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 329
Комментарии 0

Mozilla Sops для управления секретами в гите

Настройка Linux *Информационная безопасность *Системное администрирование **nix *DevOps *
Tutorial

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

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

В индустрии, по мере наработки практик, появилось множество систем управления секретами: с собственными серверами (hashicorp vault), 'as a service' (их ещё называют KMS, key management system), аппаратные (токены и TPM), самописные скрипты на gpg и т.д.

Среди всего этого множества я хочу выделить Mozilla Sops, и, как мне кажется, это один из лучших инструментов. Предупреждая возражения: я говорю про инструмент, а не решение. SOPS не заменяет KMS и не претендует на отмену Hashicorp'ового vault'а.

На Хабре уже был перевод про sops с точки зрения IT-директора, весьма убедительная статья, после которой я и занялся sops всерьёз. Если вы ту статью не читали, очень рекомендую начать с неё, чтобы получить заряд мотивации.

В этой статье я расскажу про техническую часть.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 445
Комментарии 2

Разделяй и властвуй: детерминированный и скриптованный Match-3 движок

Блог компании MY.GAMES Разработка игр *C# *Игры и игровые консоли

Привет! Я Павел Щеваев, CTO студии BIT.GAMES, части MY.GAMES. Вы можете знать нас по таким играм, как «Гильдия Героев» и «Домовята» в Одноклассниках (да, это тоже были мы), а также по нашему текущему флагману Storyngton Hall — это классическая три-в-ряд с сюжетом в викторианском стиле. О нем-то и пойдет речь далее.

Когда я писал про тестовую ферму из Android-устройств, я не раз упоминал наш самописный детерминированный движок Match-3, благодаря которому и возникла возможность повсеместного покрытия игры тестами без ущерба для жизни и здоровья QA-команды.

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 579
Комментарии 1

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов

Блог компании Arenadata Big Data *Хранилища данных *Распределённые системы *Data Engineering *
Tutorial

Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких запросов уходит неадекватно много системных ресурсов. В этой статье мне бы хотелось поделиться своими наработками и рассказать о трёх проверенных мной способах мониторинга утилизации системных ресурсов, потребляемых запросами в Greenplum.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 286
Комментарии 0

Как мы делали первый в СНГ хакатон для автоматизаторов: от идеи до реализации, достижения и ошибки

Блог компании EPAM Тестирование веб-сервисов *

Всем привет! Я Алексей Платковский, драйвер QA SPb Community в EPAM. И сегодня я расскажу вам про свой опыт организации хакатона для автоматизаторов, от этапа идеи до финала. Не обойдём стороной и ошибки, выученные уроки, и в финале поделимся планами на будущий год.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 292
Комментарии 2

Как перейти с Windows 7 на Ubuntu — установка (A1, для начинающих)

Блог компании Фактор груп Open source **nix *DevOps *
Перевод
Tutorial

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

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

Читать далее
Всего голосов 21: ↑5 и ↓16 -11
Просмотры 2.6K
Комментарии 5