Pull to refresh
99
4

Пользователь

Send message

Технический долг на проекте или выбраться из черной дыры

Reading time6 min
Reach and readers15K
Каждому разработчику знакома ситуация, когда реализация новой возможности в системе занимает большое количество времени, но релиз уже близко, а тимлид или менеджер проекта пятый раз за день задают уже надоевший вопрос: “Ну когда будет готово?”. И тогда встает непростой выбор — сделать все правильно и не уложиться в сроки релиза или реализовать минимально работающий, но не идеальный с точки зрения технического решения, функционал. Очевидно, что в большинстве случаев будет выбран второй вариант, так как релиз и предоставление результата клиентам здесь и сейчас важнее чистоты кода и архитектуры системы. Но проходит несколько месяцев, и вот уже старое не идеальное техническое решение мешает реализации другого функционала. И дальше такие решения будут накапливаться в огромный ком. Разбираясь с этой проблемой, очень важно сделать правильные выводы и выбрать нужное решение. От этого решения будет зависеть дальнейшая судьба всего проекта. В данной статье мы постараемся разобраться с природой технического долга и посоветовать пути его устранения.
Читать дальше →

Особенности использования вещественных регистров x86 архитектуры

Reading time8 min
Reach and readers11K
В этой статье рассмотрим опыт автора, столкнувшегося с особенностями реализации работы с вещественными числами на аппаратном уровне. Многие современные специалисты в области информационных технологий работают с высокими уровнями абстракции данных. Думается, что статья откроет им глаза на некоторые интересные вещи.
Читать дальше →

Советы по чистому коду новичкам в Java/Android

Reading time11 min
Reach and readers44K

Теме чистого кода на одном только habrahabr посвящено тысячи статей. Никогда бы не подумал, что захочу написать свою. Но после проведения компанией курсов для желающих связать карьеру с разработкой ПО, в частности разрабатывать под Android, мое мнение поменялось.


За основу статьи взяты советы из классики “Роберт К. Мартин: Чистый код”. Отобрал из них те, которые наиболее часто встречались в виде проблем у студентов. Приведенные советы написаны с учетом моего опыта разработки коммерческих Android приложений. Поэтому не ко всем Android-проектам приведенные ниже советы подойдут, я уже не говорю про другие системы.


Советы в основном приводил с примерами кода как НЕ НУЖНО делать. Как ни странно, у большинства студентов были одни и те же ошибки. Все примеры кода были придуманы, любые совпадения с реально существующим кодом случайны.

Читать дальше →

Быстрый рендеринг океанских волн на мобильных устройствах

Reading time9 min
Reach and readers16K


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


В этой статье мы хотели поговорить о моделировании волн в открытом море и представить алгоритм, который позволил достичь достаточно интересные результаты при приемлемых 25-30Fps на среднем китайфоне.

Читать дальше →

Обзор всех инструментов разработчика Chrome DevTools

Reading time6 min
Reach and readers256K
Начинающему JS разработчику чаще всего не понятно назначение всех инструментов, которые ему предоставляет браузер. Да и относительно опытный разработчик, если в основном решает однотипные задачи вряд ли может похвастаться, что регулярно пользуется всеми возможностями, которые ему предоставляют инструменты разработчика браузера. Однако познакомиться с ними было бы крайне полезно хотя бы для того, чтобы при решении каких то новых проблем Вы сразу же знали где искать ответ, а более подробно изучив тонкости каждого из них, Вы сможете поднять свою производительность труда на новый уровень.

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

Основы CQRS

Reading time14 min
Reach and readers175K
Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

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

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

Canvas & SVG: работаем с графикой

Reading time8 min
Reach and readers36K
В HTML5 представлено два элемента для работы с web графикой: Canvas и SVG. Две эти технологии достаточно сильно отличаются друг от друга. Важно знать об их преимуществах и недостатках, чтобы выбрать наиболее подходящую для конкретной задачи технологию. Элемент SVG позволяет создавать векторную графику, а элемент Canvas предназначен для создания растровых изображений. Элемент Сanvas также используется технологией WebGL для аппаратного ускорения 3D-графики.
Читать дальше →

Чат своими руками

Reading time7 min
Reach and readers6.8K
В этой статье мы опишем тонкости написания чата. Понимаю, что придумано уже достаточно готовых решений. Побродив по закоулкам бескрайнего, отыскали пару годных библиотек, которые предоставляют чат «из-коробки». В этой статье они перечислены не будут. Так вот, перспектива заюзать готовое решение казалась соблазнительной. Но, ещё раз подумав о комплексности предстоящей задачи, мы решили писать с нуля.
Читать дальше →

Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

Reading time16 min
Reach and readers33K
Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.
Читать дальше →

Использование Spring Groovy-контекста для создания конфигурируемого, интерактивного графического UI

Reading time11 min
Reach and readers4.5K
В конце 90-х годов работал в одной организации, которая занималась развитием контактной электрической сети и эксплуатацией питающих энергетических установок (тяговых подстанций), плюс осуществляла мониторинг и управление этого хозяйства с помощью специализированного программно-аппаратного комплекса из нескольких диспетчерских пунктов. Комплекс работал под управлением АСУ ТП на древнем советском железе. Тогда стояла задача перевести этот комплекс под windows, включая разработку графического интерфейса, который бы отображал схематически в виде карты всю сеть и события происходящие на ней и подстанциях. Ну и естественно, предоставлял бы возможность управлять ими.
Читать дальше →

Поддержка нестандартного XMPP-протокола с помощью Smack

Reading time6 min
Reach and readers5.3K
В одном из недавних проектов мы реализовывали взаимодействие Android-приложения с ejabberd-сервером через кастомизированный XMPP-протокол.

В этой статье приведены примеры как можно отправлять/получать кастомизированные пакеты XMPP-протокола в Android-приложении.

Для работы с XMPP протоколом была выбрана библиотека Smack 4.1.8.
Читать дальше →

Автоматизация тестирования по методологии Scrum

Reading time5 min
Reach and readers20K
Все больше и больше набирает обороты использование методологий семейства Agile, так называемых гибких методологий, в сфере IT. К этому семейству, как вы знаете, относятся такие методологии, как Kanban, XP, Scrum и прочие, менее известные методологии.
Читать дальше →

Как мы тестировали юзабилити интерфейса

Reading time6 min
Reach and readers12K
Исследование UX-интерфейсов популярный тренд последних нескольких лет. В нашей компании для этих целей мы создали юзабилити-лабораторию. В ней мы исследуем удобство использования не только создаваемых в компании продуктов, но и проводим аудит внешних проектов по просьбе клиентов.
image
Читать дальше →

СМАРТ ТВ – будущее телевидения

Reading time8 min
Reach and readers12K
Привет, Хабр! Сегодня предлагаем обсудить тему рынка Smart TV: рассмотрим перспективность данной технологии, ее ограничения, а также затронем вопросы о рынке разработки приложений для телевизоров.
image
Читать дальше →

Про разделение труда и его последствия

Reading time7 min
Reach and readers19K
Несколько лет назад довелось нам принять участие в разработке счётчика газа. На момент начала работ с заказчиком, у него уже были некоторые наработки. И наработки эти показались нам очень интересным примером для демонстрации последствий неудачного разделения труда по компетенциям. Под катом опишем, почему разделение было неудачным, и как мы решали проблемы, возникшие в результате.
Читать дальше →

Методы сбора требований или «Как понять, что хочет заказчик?»

Reading time7 min
Reach and readers224K
Данная статья будет полезна как аналитикам, так и менеджерам, занимающимся сбором и анализом требований. В ней описаны основные методики сбора требований, а также их плюсы и минусы. Возможно, что-то вы уже применяли на практике, а о чем-то, возможно, не знали. В общем, эта статья для всех тех, кто уже занимается бизнес — анализом или только планирует пополнить ряды аналитиков.
image
Читать дальше →

Как работать из AWS Lambda с Elasticache и DynamoDB

Reading time3 min
Reach and readers6.9K
С февраля месяца 2016 года сервис AWS Lambda получил возможность доступа к ресурсам внутри Virtual Private Cloud, но по умолчанию все лямбды работают вне VPC. Поскольку эта возможность появилась относительно недавно и статей, как это реализовать, не так много, мы хотели бы поделиться с вами своим опытом.
Читать дальше →

Борьба за кодстайл или Bracket Wars

Reading time8 min
Reach and readers6.2K
Привет хабровчанам! В этой статье мы попытаемся рассмотреть такой «скользкий» вопрос, как оформление кода и кодстайл, и предложить одно из решений, которое имеет успех в ежедневной практике.

Для JavaScript'а, который долгое время оставался «за бортом» большой разработки, настала золотая эра быстрого развития и появления все новых и новых технологий на его основе, а приложения становятся все комплекснее с каждым днем. Учитывая, что принятие ежегодных стандартов, появление нового синтаксического сахара и «плюшек» делают его очень привлекательным для большего числа разработчиков, данная тема будет актуальна не один год. Новички в JavaScript с энтузиазмом берутся за его изучение, пробуя все новые и новые фишки, однако в большинстве своем они забывают об оформлении кода и о такой вещи, как технический долг.
Читать дальше →

Информационная архитектура в Интернет

Reading time8 min
Reach and readers6.8K
The beginning of all understanding is classification.
Hayden White

О чем эта статья?

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

Information

Rating
1,154-th
Location
Россия
Works in
Registered
Activity