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

Компания True Engineering временно не ведёт блог на Хабре

Сначала показывать

Как заполнить 100 таймшитов за 2 минуты

Время на прочтение12 мин
Количество просмотров23K
Пост о том, почему наши программисты теперь заполняют таймшит не 32, а только 2 минуты и о том, как можно наладить автоматический учет рабочего времени за счет импорта данных из трекинговых систем TFS, Redmine и Jira на Microsoft Project Server.



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

Проблема — бардак в заполнении таймшитов


Для 99% компаний-разработчиков учет рабочего времени программистов нужен как воздух, чтобы считать затраты.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии25

Представляем библиотеку right-angled, конструктор гридов для angular2

Время на прочтение7 мин
Количество просмотров7.4K


Сегодня хотим рассказать о том, как мы решили отдать долг open source сообществу и создали библиотеку right-angled. Только вчера мы перевели ее в статус beta и решили поделиться этой отличной новостью с Хабрасообществом c самым первым.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии9

100% онлайн-авиапроездной или Как укротить систему бронирования

Время на прочтение8 мин
Количество просмотров8K
Путешествие между Петербургом и Москвой за последние годы из события превратилось в рутинную задачу. Кто-то еженедельно мотается из Питера в Москву или наоборот на работу, по работе. У кого-то там девушка, родители, друзья… Перелет на самолете занимает чуть больше часа. Между двумя столицами в день летают более 40 рейсов.

Да и не только Москва и Питер генерируют постоянный трафик. Появляются и другие экономические и культурные центры. В Казань летает свыше 10 рейсов в день. В Краснодар – более 20.

Вслед за изменением поведения людей, меняется и такая консервативная область, как авиация. Гибкие тарифы, билеты с открытой датой, а теперь и проездные билеты.



Сегодня расскажем, как реализовали онлайн-покупку, оформление и изменение билетов в рамках авиапроездного или multipass. И дали активно путешествующим возможность курсировать между городами максимально легко. Если вам интересны технические аспекты укрощения систем бронирования, или вы один из путешественников – наша статья для вас.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

Практики успешной монетизации API на базе Azure API Management

Время на прочтение6 мин
Количество просмотров9.5K
Всем привет!
Сегодня хотим обсудить тему управления API. Когда имеет смысл открывать свой API, кто имеет возможность монетизировать свой API и как внедрить систему API менеджмента, чтобы затраты, как на начальное внедрение, так и на его эксплуатацию были минимальны.



Мы хотим поделиться своим опытом разработки системы управления API на базе Azure API Management. Давайте начнем с самого начала.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

На пути к полной типизации с TypeScript, Swashbuckle и AutoRest

Время на прочтение10 мин
Количество просмотров14K

Введение


В данной статье рассматривается вопрос о том, как реализовать обмен типизированными сообщениями между Back-End на основе ASP.NET Web API и Front-End, созданного с использованием TypeScript. Это приобретает особенное значение при работе над объёмными проектами, и тем-более важно, если команда является распределенной. Например, когда Back-End и Front-End разработчики работают из разных мест, в разных часовых поясах, и не всегда имеют возможность проконтактировать и обсудить что-либо. В этом случае отслеживание изменений представляет кропотливую работу, которая может быть чревата множеством трудноуловимых ошибок.

Для автора статьи, как для человека, который пришел к разработке Front-End со стороны WPF и Silverlight, большой проблемой, стало отсутствие статической типизации. Сколько раз вместо того чтобы сложить “2” и “2” складывал “2” и “Функцию возвращающую 2”, или передавал DOM объект вместо его jQuery обертки. Появление статических анализаторов кода, таких как JSLint, несколько облегчило проблему, но настоящим прорывом, особенно в командной разработке, для нас стал TypeScript.


Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии3

Мобильное приложение против мошенников и бумажной волокиты в автостраховании

Время на прочтение10 мин
Количество просмотров8.6K
Сегодня хотим поделиться нашим опытом в разборе автомобилей. Нет, мы не планируем устраивать выпуск Top Gear. У нас для вас другая тема – как с помощью мобильного приложения перевести в цифровой формат бумажную волокиту вокруг добровольного автострахования – всем известного КАСКО.

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

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии5

IoT-решение за 1,5 часа

Время на прочтение13 мин
Количество просмотров29K
Или как мы зажгли лампочку со смартфона через облачную службу на глазах изумленных студентов НГУ.

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

Глава 1. Лирическая


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

Что самое интересное в Днях открытых дверей для студента? Ходить, задавать вопросы, смотреть на реальных людей, которые занимаются настоящим делом, которое кому-то нужно.
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии21

Портал на службе бухгалтерии или автоматизация авансовых отчетов

Время на прочтение8 мин
Количество просмотров12K
Всем привет! Сегодня мы решили поделиться результатами небольшого, но важного проекта, как это часто бывает очень простые с первого взгляда вещи решают сложные задачи, которые дают существенную эффективность в повседневной жизни.

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

Итак, представим средних размеров организацию, которая разбросана по территории нашей большой страны, а именно такие компании выбирают SharePoint в качестве корпоративного портала. Самый обычный сотрудник собирается поехать в командировку и вот тут начинается самое интересное: заполни заявку, согласуй у руководителя, передай в службу персонала, получи аванс на расходы, съезди в командировку, заполни отчет, сдай его в бухгалтерию.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии6

Съемки корпоративного календаря: как создавалась история с сотрудниками EastBanc Technologies в ролях

Время на прочтение5 мин
Количество просмотров11K
Тема корпоративного календаря – извечный источник холиваров. Многие не понимают, зачем они нужны, но каждый раз под новый год тема поднимается в новостях и разгораются ожесточенные бои. А мы сняли и не пожалели! Хотя это было очень тяжело.

Календарь 2016
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии4

Рецепты под Android: IoC со вкусом Gradle

Время на прочтение10 мин
Количество просмотров12K
Android-проекты бывают большими. Иногда действительно большими. Один из наших проектов — новостное приложение, которое разрабатывается одновременно под две альтернативные платформы: Android и FireOS, что от Amazon. Это позволяет расширить круг читателей новостей, ведь пользователи читалок Kindle Fire любят почитать:). Однако, это же накладывает обязательство считаться с особенностями каждой из платформ. Например, если в Android вы используете GCM для push-сообщений, то в FireOS вы должны использовать для этого Amazon AWS. Аналогично и для систем покупок внутри приложения: Google in-app billing vs. In-App Purchasing. Но большой размер проекта != большой размер приложения!

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

Что готовим?



Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

Диагностика и устранение утечек памяти в приложениях с TypeScript

Время на прочтение10 мин
Количество просмотров8.5K

Введение


Недавно у нас закончился крупный проект с довольно сложным продвинутым UI. Не вдаваясь в детали, скажем, что внутри браузера было реализовано что-то вроде рабочего стола (desktop) с окнами, перекрытиями и всем, чем полагается. Разумеется, проблемы с утечками памяти не обошли нас стороной. Признаемся честно, до поры до времени сосредоточились на получении бизнес-результата. Когда дошли руки до утечек памяти, то обнаружилось, что окна браузера занимают гигабайты оперативной памяти. Мы классифицировали ошибки и в общем виде выработали подход к их устранению. Этим подходом и хотим поделиться с вами.

По теме утечек памяти в клиентских приложениях написано уже немало. Изначально основную проблему представляли из себя браузеры IE8 и младших версий (смотрите, например:
http://habrahabr.ru/post/141451/
http://habrahabr.ru/post/146784/
https://learn.javascript.ru/memory-leaks).
Но и теперь, когда можно сказать, что IE8 в прошлом, проблемы остаются. Даже применение такого языка как TypeScript не гарантирует их отсутствия. А с учетом того что front-end в web-приложениях становится все сложнее, актуальность проблемы только возрастает.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии3

KeyCloak – щит от JBOSS для WEB приложений

Время на прочтение24 мин
Количество просмотров47K
Из диалога двух программистов:
— Кажется, у нас дыра в безопасности!
— Слава Богу, хоть что-то у нас в безопасности…

1. Введение


Пару лет назад мы уже затрагивали тему безопасности в веб-приложениях. Тогда в рамках исследовательских работ был реализован собственный Service Provider для интеграции с продуктом Shibboleth по протоколу SAML 2.0.

В сегодняшней статье речь снова пойдет о безопасности веб-приложений. Мы сделаем небольшой обзор продукта KeyCloak (доселе оставленного без внимания сообществом Habr).



В качестве практической ценности будет разобран пример, как защитить простое JEE приложение средствами KeyCloak, а также как осуществить взаимодействие между двумя защищенными приложениями.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Рецепты под Андроид: Selectable соус для LayoutManager'a

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



Нас тоже не обошла стороной эта тема, и в одном из приложений нам пришлось потрудиться, чтобы сделать как можно более удобную функцию выделения и копирования текста. Секретом этого рецепта мы и хотим поделиться с общественностью.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии1

Рецепты под Android: Как вкусно приготовить LayoutManager

Время на прочтение16 мин
Количество просмотров49K
Привет хабр!

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


Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии4

Облака на службе СМИ, или Как Amazon помогает обрабатывать большие объемы видеоконтента

Время на прочтение6 мин
Количество просмотров7.8K
Нашему заказчику, одному из крупнейших мировых издательств, потребовалось увеличить производительность приложения для публикации видео новостей в связи с возросшим объемом трафика. Пользователи приложения — редакторы media-ресурсов. В день через него проходит порядка 200 новостных роликов, средний размер каждого из них ~ 500 мб, итого около 100 Гб свежих новостей в сутки.

Сегодня мы поделимся опытом, как CloudFront и S3 помогли нам построить высоконагруженную и устойчивую систему обработки контента.



Надеемся, наш опыт заинтересует разработчиков/проектировщиков систем по хранению и обработке медиаконтента (видео, аудио, изображения) и технических специалистов, активно использующим сервисы AWS.

Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии2

Битовое кунг-фу, или Как оптимизировать трафик между мобильным приложением и сервером

Время на прочтение7 мин
Количество просмотров14K

Старо как мир…


Люди всегда стремятся быть в курсе последних событий. Благодаря этому стремлению возникло много media, которым необходимо собственное мобильное приложение для доставки контента своим читателям. Так в магазинах появилось великое множество новостных приложений. Сотни приложений для чтения новостей, газет и журналов.


Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии9

Как заставить дженкинс сделать вашу жизнь проще и стать счастливым

Время на прочтение7 мин
Количество просмотров34K
Когда разработка мобильных приложений в компании переходит на промышленные рельсы, неизменно всплывает вопрос об автоматической сборке. Continuous Integration — это то, что является неотъемлемой частью процесса. Итог этого процесса — сборки для тестирования на устройствах компании для OTA распространения заказчикам и удаленным тестировщикам.

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

Итак, эта статья о том, как реализовать копирование сертификатов и профилей для iOS сборок и свойств, и ключей для Android сборок на все слейвы дженкинса в рамках Continuous Integration. Такая автоматизация экономит время и помогает избежать ошибок. Статья будет интересна разработчикам мобильных приложений и тем, кто администрирует Jenkins.

Поехали!


Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии2

Битва за ADFS (Active Directory Federation Services)

Время на прочтение12 мин
Количество просмотров17K

Предыстория


Проект начинался как портал на основе SP 2007, а позже на основе 2010 SP. Изначально все пользователи были в Active Directory. Был только один тип пользователей. Связи между ними были достаточно простыми. Появлялись новые типы пользователей, которые сложным образом становились связаны друг с другом. Также постепенно проект обрастал различными связанными подсистемами, часть из которых работала внутри портала, часть вне его. И это все усложняло схему авторизации.


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

Корпоративная социальная сеть – зачем и для кого?

Время на прочтение6 мин
Количество просмотров18K
В начале 2015 года мы выпустили в релиз корпоративное мобильное приложение, поддерживающее социальную сеть для компании Леруа Мерлен. Разработано приложение было полностью нами с учетом специфики компании и целей нашего заказчика.

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


Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии11

Как отличить день от ночи, если ты Android

Время на прочтение8 мин
Количество просмотров26K

Привет, Хабр.


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


Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии9