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

Разработка

Сначала показывать
Порог рейтинга

Добавляйте единицы измерения в имена

Блог компании билайн бизнес Java *Python *Программирование *Совершенный код *
Перевод

Есть одна ловушка читаемости кода, которой легко избежать, если вы о ней знаете; тем не менее она встречается постоянно: это отсутствующие единицы измерения. Рассмотрим три фрагмента кода на Python, Java и Haskell:

time.sleep(300)

Thread.sleep(300)

threadDelay 300

Сколько «спят» эти программы? Программа на Python выполняет задержку на пять минут, программа на Java — на 0,3 секунды, а программа на Haskell — на 0,3 миллисекунды.

Как это можно понять из кода? А никак. Вам просто нужно знать, что аргументом time.sleep являются секунды, а threadDelay — микросекунды. Если вы часто ищете эту информацию, то рано или поздно её запомните, но как сохранить читаемость кода для людей, никогда не встречавшихся с time.sleep?
Читать дальше →
Рейтинг 0
Просмотры 44
Комментарии 1

Новости

Азбука вкуса, Nuxt и наш тернистый путь к микрофронтам

Разработка веб-сайтов *JavaScript *Клиентская оптимизация *VueJS *TypeScript *

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

В процессе наступили на пару граблей, долго думали и наконец сделали.  

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

Узнать больше
Рейтинг 0
Просмотры 178
Комментарии 0

Порезать, чтобы выпустить реальный MVP

Анализ и проектирование систем *Управление разработкой *
Из песочницы

На проектах с большими объемами и сжатыми сроками всегда актуален вопрос приоритетов.

Обычно вопрос "Что же конкретно включено в MVP?" становится всё горячее с приближением сроков релиза.

В теории (разных книгах, статьях) предполагается проведение приоритизации при планировании скоупа работ.

А что же происходит в жизни реального проекта на примере заказной разработки?

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

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

Почему RISC-V? — лекция Станислава Полонского

Блог компании Samsung Исследования и прогнозы в IT Производство и разработка электроники *Процессоры Электроника для начинающих

Здравствуйте! Меня зовут Станислав Полонский. Я представляю Samsung Advanced Institute of Technology (SAIT) - научно-исследовательский центр, специализирующийся на передовых технологиях будущего.

Сегодня мы поговорим о том, что такое архитектура RISC-V (читается, как «РИСК-Пять»). Я расскажу вам о прошлом и будущем этих процессоров, о том, почему эта архитектура так подходит для Интернета вещей, а в конце скажу, как можно продолжить своё образование в этом направлении.

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

Парольная политика безопасности в Carbonio

Блог компании Zextras Информационная безопасность *
Tutorial

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

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

Делаем плату, или Как мы создавали гаджет, чтобы увидеть воздух, которым дышим. Фэйл и пара советов

Блог компании Nebo Развитие стартапа Производство и разработка электроники *Гаджеты Экология

Простой наглядный кейс - как мы решили собрать свое первое серийное электронное устройство.

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

Требования к такому продукту иные:

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

Распределенные Workflow на PHP. Часть 2

Блог компании Конференции Олега Бунина (Онтико) PHP *Программирование *Алгоритмы *Go *

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

Меня зовут Антон Титов. Я более 15 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang.

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

Руководство по Java 8 Optional

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

В этом учебном пособии мы рассмотрим класс Optional, который был представлен в Java 8.

Цель класса — предоставить решение на уровне типа для представления опциональных значений вместо null (нулевых) ссылок.

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

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

Курс по робототехнике и ROS в университете ИТМО

Программирование *Разработка робототехники *Учебный процесс в IT Робототехника Искусственный интеллект

Провел в мае учебный курс для студентов ИТМО по Robot Operating System. Экзаменационным заданием было соревнование AutoRace, Visual SLAM и алгоритм походки четвероногого робота. Под катом подробности о курсе и видео с роботом собачкой.

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

Книга «Spring Boot по-быстрому»

Блог компании Издательский дом «Питер» Java *Профессиональная литература
image Привет, Хаброжители! Spring Boot, который скачивают более 75 миллионов раз в месяц, — наиболее широко используемый фреймворк Java. Его удобство и возможности совершили революцию в разработке приложений, от монолитных до микросервисов. Тем не менее простота Spring Boot может привести в замешательство. Что именно разработчику нужно изучить, чтобы сразу же выдавать результат? Это практическое руководство научит вас писать успешные приложения для критически важных задач. Марк Хеклер из VMware, компании, создавшей Spring, проведет вас по всей архитектуре Spring Boot, охватив такие вопросы, как отладка, тестирование и развертывание. Если вы хотите быстро и эффективно разрабатывать нативные облачные приложения Java или Kotlin на базе Spring Boot с помощью реактивного программирования, создания API и доступа к разнообразным базам данных — эта книга для вас.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 891
Комментарии 0

Система распознавания шрифта Брайля. Читаем написанное белым по белому

Блог компании Open Data Science Обработка изображений *Accessibility *Машинное обучение *

В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для распознавания текстов, написанных шрифтом Брайля - Angelina Braille Reader.

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

Ниже расскажу о том, как делалась эта разработка и с какими трудностями пришлось столкнуться. Более развернутое описание приведено в публикациях [1,2].

Возможно, кто-то захочет внести в проект свой вклад.

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

Экспортируем модули из Go-сервиса: сотворение директории pkg

Блог компании Ozon Tech Программирование *Go *

Чтобы поделиться кодом, нужно создать библиотеку и разместить её в самостоятельном репозитории. Но иногда возникает необходимость хранить библиотеку вместе с сервисом, который её использует, — это может быть полезно при разработке в open source, в процессе дробления монолита на микросервисы и при шеринге своим API. Среди Go-разработчиков существует мнение, что экспортируемые библиотеки стоит хранить в директории pkg.

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

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

Как определить подходящую меру центральной тенденции?

Блог компании OTUS Математика *Машинное обучение *
Перевод

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

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

PHD11 – ВЗГЛЯД ИЗНУТРИ, ОПЫТ КОМАНДЫ GIS CYBERTEAM

Блог компании Газинформсервис Информационная безопасность *

С 16 по 19 мая команда сотрудников «Газинформсервис» принимала участие в кибербитве The Standoff, на стороне защиты. О том, как это было, рассказал участник проекта, Никита Платов инженер-проектировщик группы защиты АРМ и серверов «Газинформсервис».

Полигон

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

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

Снять с ручного тормоза: как новый сайт меняет бизнес-процесс

Блог компании AGIMA PHP *API *1С-Битрикс CRM-системы *
Из песочницы

Привет! Я Алексей Василенко, руководитель направления PHP в AGIMA. Четыре года назад работал с компанией, которая занималась b2b-продажами. В основном продавали товары для активного отдыха. Палатки, лодки, моторы, спальные мешки — всё, что пригодится туристу в походе. Ребята позвали меня поработать над их сайтом. Он казался им неудобным и малоэффективным. Но в итоге оказалось, что неудобным и малоэффективным был весь бизнес-процесс в компании. За 3 года мы не просто переделали сайт. Мы полностью поменяли подход к работе, увеличили количество заказов в 2 раза, а эффективность бизнеса — в 3. И всё это силами IT-отдела. Текст о том, как технологические решения влияют на доходы и клиентский сервиc.

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

Tarantool: от коммита до прода за 20 минут

Блог компании VK IT-инфраструктура *Tarantool *

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

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

Как работают безопасники: обследование промышленной инфраструктуры

Блог компании Бастион Информационная безопасность *IT-инфраструктура *

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

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

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

Создание демки специально для HABR — Часть 1

Блог компании RUVDS.com Ненормальное программирование *Assembler *Демосцена Старое железо
Tutorial

Многие из нас любят интеллектуальные игры, всякие головоломки, квесты, стратегии и многое другое. Но что, если игрой является само железо, а сценарий создаёте вы сами? В результате этого рождается невероятно интересная головоломка, которая невероятно меня увлекла на несколько месяцев.

Здесь я хочу поделиться «прохождением» этой «игры», под названием Демка для ПЭВМ «Микроша». В процессе чтения статьи может показаться, что всё просто и очевидно. Это всё так, когда есть документация и описание всех подводных камней. Когда каждый подводный камень ищешь сам, то это всё превращается в невероятно сложный квест.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 1.2K
Комментарии 9

Искусственный пинг для турнира по League of Legends

Разработка игр *Сетевые технологии *Игры и игровые консоли Киберспорт
Перевод

В последнее время Riot Esports Tech Team работала над решением серии технических проблем, связанных с инструментом, который мы используем для выравнивания значений пинга между локальными и удалёнными соперниками в турнире Mid-Season Invitational 2022 (MSI).

Первая проблема — это баг, найденный нами в ПО под названием Latency Service, которое должно было подстраивать задержку (пинг) на 35 мс для всех участвующих в турнире игроков. Баг проявлялся как избыточный пинг у игроков из Пусана (Южная Корея): их реальный пинг был выше, чем отображаемые на экране 35 мс. По сути, когда игроки из Китая играли с пингом 35 мс, пинг у игроков из Пусана был выше. К сожалению, проблема была выявлена лишь после начала турнира. Мы не нашли её раньше потому, что причиной проблемы был баг в коде, неверно рассчитывающий задержку, то есть значения в наших логах тоже были ошибочными. Поэтому онлайн-мониторинг и тестирование перед турниром показывали, что всё работает правильно, хотя на самом деле это было не так.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.5K
Комментарии 1

Dependency Injection и Full state сервер

Блог компании Timeweb Cloud .NET *ASP *C# *


Сразу же сообщу, что в данной публикации не сравниваются Fullstate и Stateless парадигмы построения серверов. Также отсутствует какая-либо агитация в пользу Fullstate. Мы исходим из ситуации, в которой мы приняли решение, что для конкретного проекта сервер ASP.NET должен между запросами не только хранить какие-то статические данные, но и возможно выполнять какую-то полезную работу.
При этом мы, разумеется, хотим использовать всю мощь DI-контейнера .NET!

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 790
Комментарии 3