Pull to refresh
2
0
Send message

B2P: как за 5 лет набрать 3 000 новостей для корпоративного издания в ИТ-компании численностью >100 человек

Reading time8 min
Views2.2K
Интернет не дает ответа на вопрос «Как собирать корпоративные новости в ИТ-компании для Business to Personal издания?». А между тем, он очень интересует пиарщиков и эйчаров. Всем очевидно: сотрудников нужно информировать о происходящем в компании, рассказывать им новости с соседних проектов, планы развития, транслировать как-то ожидания начальства насчет корпоративной культуры, целей… Но как собирать эту информацию? У кого спрашивать? Как ее преподносить?

За 5 лет мы в ИТ-компании EastBanc Technologies написали 3 108 новостей в нашем корпоративном настенном издании под названием «Сводка». Примерно 2,5 новости каждый день. В этой статье мы расскажем, как и зачем делаем это. По ходу повествования будем показывать результаты опроса, посвященного сводке, в котором поучаствовали 54% сотрудников.

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments4

Методы нахождения границ изображения

Reading time2 min
Views59K
Алгоритм выделения границ или иначе обнаружения границ работают после того, как качество изображения улучшено перечисленными выше методами. Эти алгоритмы можно подразделить на два класса:
1) подчеркивающие, усиливающие, выделяющие границы;
2) строящие контуры автоматически.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments35

Как упростить жизнь iOS разработчику

Reading time8 min
Views16K
Наверное, каждый разработчик, когда начинает осваивать новую технологию, хочет опробовать все самостоятельно, реализовать все с самого низкого уровня, чтобы потом наслаждаться результатом своей работы. Однако с накоплением опыта многие задачи становятся достаточно скучными и хочется избавить себя от этой нужной, но неинтересной рутины. В этой статье я хочу поделиться тем, какие способы и средства помогут упростить жизнь разработчику и сэкономить нервы.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments3

Книги, видео и другие материалы по разработке под iOS

Reading time4 min
Views114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


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

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →
Total votes 105: ↑99 and ↓6+93
Comments58

iOS-приложение от наброска до App Store

Reading time4 min
Views49K
Привет, хабр. Я работаю ведущим дизайнером в студии. Делюсь рассказом о своем первом приложении, которое я не только проектировал и оформлял, а прошел все шаги до релиза своими силами.



Осторожно: статья проиллюстрирована крупными анимированными изображениями.
Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments33

Apple Metal API: в чем же фишка?

Reading time5 min
Views68K
imageНа WWDC 2014 всех нас ждал сюрприз: анонс нового графического 3D API под названием Metal. Но на этот раз мы имеем дело не с новым высокоуровневым API поверх OpenGL ES (как было в случае с Scene Kit), а с новым низкоуровневым API для рендеринга и вычислений, которое может служить заменой OpenGL в играх. По словам Apple, Metal может быть до 10 раз быстрее, чем OpenGL ES (точнее говоря — может генерировать вызовы отрисовки [draw calls; передача данных на GPU] в 10 раз быстрее) и доступен только на устройствах с iOS и процессором последнего поколения A7.

Этот анонс спровоцировал новую волну обсуждения и споров насчет необходимости появления новых графических API, которые должны (или не должны — кто знает) заменить OpenGL. Предлагаемый вашему вниманию пост не намерен участвовать в этой дискуссии – его целью является разъяснение того, чем все-таки Metal отличается от OpenGL ES, чьей заменой он является. Чтобы понять, что такого особенного (или же наоборот, ничего особенного) есть в Metal API, нам придется немного заглянуть под «капот» графических API и GPU.
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments14

10 анти-паттернов навигации в Android

Reading time4 min
Views81K


В данной статье мы рассмотрим 10 анти-паттернов навигации в Android, которые допускают многие новички (и не только) в создании интерфейсов Android-приложений.

Читать дальше →
Total votes 116: ↑107 and ↓9+98
Comments26

Slack. Небольшой обзор отличного сервиса

Reading time3 min
Views372K


Некоторое время назад после волшебного пендаля под названием Tolstoy Summer Camp я начал пилить свой стартап.
Сначала у меня в команде было два разработчика и дизайнер. Потом один разработчик ушёл пилить свой проект. Затем появился другой разработчик. И всё бы ничего, но я сходил с ума от того что не мог найти простых и понятных средств ведения дел в таких маленьких компаниях как моя.
Я перепробовал тучу всяких Basecamp, Asana, Redmine, Trello, Мегаплан и прочих, массу мессенджеров в разных сочетаниях c он-лайн файлопомойками типа Dropbox и GoogleDrive — ничего мне не нравилось. «Ну, не то это всё, не то!».
Но, в конце-концов, решение было найдено.
Total votes 64: ↑55 and ↓9+46
Comments65

50 советов для разработки безупречного дизайна iOS приложения

Reading time12 min
Views58K
Привожу перевод статьи Ника Карсона. В статье собраны вместе, как мне кажется, основные правила построения интерфейса для iOS приложений.

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

2. Ориентируйтесь на устройство при создании приложений: учтите не только размер экрана, но и где и когда устройство используется. Больше всего iPad используется для развлечений между 8-11 часами вечера, перед сном, тогда как iPhone — в очереди на автобус или в кофейне. Учтите различные сценарии использования при разработке приложений – включая и то, как далеко устройство расположено от лица пользователя.

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

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

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

За остальными 45-ю — добро пожаловать подкат.
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments23

Продвижение приложений в AppStore (Google Play)

Reading time9 min
Views53K

Прежде чем мы написали этот материал, наши приложения загрузили более 2 000 000 раз, мы провели порядка 50 больших промо кампаний, побывали в топах AppStore более, чем в 24-х странах пока наконец не собрали всё это в один большой work flow. В статье почти нет очевидных вещей про ключевые слова, красоту иконок, скриншотов и рекламные кампании. Мы попытались привести работу продуктовой компании к единой модели, ответив на вопросы: «что?», «когда?», «зачем?» и даже на вопрос «а дальше что?». Если вы разрабатываете собственное приложение, хотите начать это делать или у вас просто есть друг разработчик или маркетолог продуктовой компании — в этой статье вы найдёте много полезной информации.
Читать дальше →
Total votes 58: ↑41 and ↓17+24
Comments9

Нелицеприятный тест вашего Agile

Reading time5 min
Views54K


Когда-то мне доводилось участвовать в попытках внедрения Agile в команде, разрабатывающей ПО. В регулярных дискуссиях, стараясь, чтобы это внедрение не превратилось в карго-культ, я снова и снова цитировал пост в блоге Элизабет Хендриксон. Ему уже больше трёх лет, но мне он нравится, и я бы хотел представить вашему вниманию (и вашей борьбе с карго-культом) перевод этого поста.
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments16

Как перевести игру на 20 языков и не попасть в ад

Reading time4 min
Views20K
Привет, я Владимир Купрацевич, управляющий переводческими проектами в компании Alconost. Однажды к нам обратился клиент — разработчик игр под Android и iOS. Он хотел локализовать свою игру на 20 языков, включая арабский, японский и корейский. Почему бы и нет, подумали мы: локализовать приложения мы умеем и любим, переводчики-носители языка у нас есть. Но дьявол в деталях. Забегая вперёд, скажу, что обряд экзорцизма мы провели успешно, заодно набив нехилой экспы получив полезный опыт. Мы решили делать переводы на облачной платформе — и не ошиблись. О том, каких дьяволов мы изгнали благодаря этому решению, я и расскажу. Думаю, что каждому разработчику и переводчику в сфере IT этот опыт пригодится.


Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments12

Сравнение сервисов для автодополнения адресов в форме

Reading time3 min
Views93K
Автодополнение адреса


На Хабре не раз поднимался вопрос автодополнения адресов в форме (раз, два, три).

Но вот и перед мной появилась задача реализовать такое автодополнение для небольшого интернет магазина. Критерии были такие:
  • Автодополнение адресов только Москвы
  • Автодополнение адреса одной строкой
  • Решение должно быть бесплатно (лимит запросов не менее 1000 в сутки)
  • Возможность подключить без дополнительных JS библиотек. (Я использую AngularJS Bootstrap-UI, в котором есть директива Typeahead, реализующая автодополнение формы)
  • Стопроцентный uptime не обязателен


Но какой источник данных выбрать? Я выбрал целых четыре, и решил их сравнить: в одном углу ринга заморские Google Geocode и Google Autococomplete, а в другом отечественные КЛАДР в облаке и DaData подсказки.

DISCLAIMER: Автор никак не причастен к разработчикам ни одного из представленных сервисов.
Интересно? Тогда прошу под кат
Total votes 56: ↑53 and ↓3+50
Comments56

Fast app resume для Windows Phone 8

Reading time7 min
Views6.4K
Fast App Resume

В продолжение последней статьи про интеграцию в хаб «Фотографии» сегодня раскроем тему Fast Application Resume, которая появилась в WP8, и рассмотрим, для чего он нужен и какие преимущества дает использование этой функции, а также различные сценарии использования App Resume.
Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments11

Пишем эффективный blur на Android

Reading time8 min
Views54K
image
Сегодня мы попытаемся разобраться с методами размытия (blur) доступными для Android разработчиков. Прочитав определенное число статей и постов на StackOverflow, можно сказать, что мнений и способов выполнить эту задачу достаточно много. Я попытаюсь собрать все это в кучу.

И так, зачем?


Все чаще и чаще можно заметить эффект размытия в приложениях появляющихся на просторах Google Play Store. Взять хотя бы замечательное приложение Muzei от +RomanNurik или тот же Yahoo Weather. Глядя на эти приложения можно заметить, что при умелом обращении размытием можно добиться очень впечатляющих результатов.

Читать дальше →
Total votes 50: ↑41 and ↓9+32
Comments11

Полезный Open Source и как мы научили Zxing разговаривать на другом языке

Reading time12 min
Views11K
В одной из наших статей мы рассказывали о том, как можно использовать функции входящей почты в SharePoint 2010 для приема и обработки документов, содержащих отсканированные талоны. При выполнении этого проекта нам пришлось решить несколько интересных задач. И сейчас мы хотим подробнее остановиться на одном моменте.



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

То, что мы увидели на сканах талонов, сильно напоминало штрих-код Codabar, с которым нам уже приходилось сталкиваться на других проектах.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Кроссплатформенная разработка на Titanium – это ужасный конец или ужас без конца?

Reading time13 min
Views22K
Image and video hosting by TinyPicВ этом топике мы хотим поделиться нашим опытом создания мобильных приложений на платформе для разработки кроссплатформенных приложений Titanium. Примерно с 2011 мы начали работы с кроссплатформенными фреймворками. Сначала это был PhoneGap, потом Titanium. Сделали десяток приложений, работающих и по сей день, как в России, так и в США. Мы сознательно хотим отойти от оценок — плохо это или хорошо разрабатывать кроссплатформенные приложения, а сосредоточиться на тех трудностях, с которыми предстоит столкнуться с точки зрения разработки и сопровождения этих приложений.

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

Итак, начнем со списка проблем, с которыми вам придётся столкнуться.

Проблемы:

  1. Проблема дабл-кликов.
  2. If’ный код.
  3. Управление памятью на Android.
  4. Недостаточная реализация отдельных функций, в том числе стандартных.
  5. Javascript — отсутствие типизации замедляет процесс написания кода и усложняет сопровождение.
  6. Отсутствие InterfaceBuilder — замедляет процесс написания приложения, весь UI пишется в коде.
  7. Titanium SDK обновляется позже SDK операционных систем.
  8. Каждая версия SDK содержит исправление старых ошибок и привносит новые ошибки.


Примеры, на которых мы столкнулись с этими проблемами.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments55

Преодолеваем скрытые опасности KVO в Objective C

Reading time21 min
Views26K
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
— Douglas Adams


Objective C существует уже с 1983 года и является ровесником C++. Однако, в отличие от последнего он начал приобретать популярность только в 2008 году, после выхода iOS 2.0 — новой версии операционной системы для революционного iPhone, включавшей приложение AppStore, позволяющее пользователям приобретать приложения, создаваемые сторонними разработчиками.
Дальнейший успех Objective C обеспечивался не только популярность устройств на базе iOS и относительной легкостью продаж через AppStore, но и значительными усилиями компании Apple по совершенствованию как стандартных библиотек, так и самого языка.
Согласно рейтингу TIOBE к началу 2013 года Objective C обогнал по популярности C++ и занял третье место, уступая только C и Java.

На сегодняшний день Objective C включает и такие относительно старые функции как KVC и KVO, существовавшие еще за 4 года до выхода первого iPhone, и такие новые возможности как блоки (blocks, появившиеся в Mac OS 10.6 и iOS 4) и автоматический подсчет ссылок (ARC, доступный в Mac OS 10.7 и iOS 5), которые позволяют с легкостью решать задачи, вызывавшие серьезные трудности ранее.

KVO — это технология, позволяющая незамедлительно реагировать в одном объекте (наблюдателе) на изменения состояния другого объекта (наблюдаемого), без внесения знаний о типе наблюдателя в реализации наблюдаемого объекта. В Objective C, наряду с KVO, существует несколько способов решения этой задачи:

Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments6

Мобильный Timeline корпоративной жизни для iPhone. Приглашаем высказаться!

Reading time6 min
Views3.4K
Привет!

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

Что важно: это не очередной агрегатор соцсетей, ключевое слово тут «корпоративный»!

Читать дальше →
Total votes 10: ↑3 and ↓7-4
Comments17

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity