Pull to refresh
-1
0
Send message

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

Reading time3 min
Views20K


Почти любое современное приложение не обходится без загрузки картинок из сети и мы, Surfingbird, не исключение. Однако, нельзя просто загружать картинки последовательно, потому что, если пользователь перемотает пару экранов, ему придётся ждать пока загрузятся предыдущие изображения, которые уже и не нужны.
Поэтому, для увеличения отзывчивости приложения и снижения времени ожидания пользователя, мы применили несколько приёмов, о которых и хотим сейчас рассказать.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments9

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

Reading time1 min
Views12K
Выкладываем доклад мобильного архитектора ТКС Банка Дмитрий Тарасова «Практический пример переиспользования кода. Как повысить качество и ускорить разработку» с конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября.


Презентация

В разработке может сложиться ситуация, когда у вас есть несколько приложений с общей логикой и поведением интерфейса. Дмитрий Тарасов рассказывает о пути, по которому развивалась разработка мобильного банка и кошелька ТКС для Android. Откровенный рассказ о последствиях нетехнологичных решений в стиле copy-paste общего кода из приложения в приложение. Следующий шаг — общая библиотека. Как ее оформить? В виде jar? Оформив, как ее подтягивать в проекты? Grandle или subtree/submodule? Что делать с неравномерным развитием потребителей библиотеки? Решить этот вопрос выстраиванием правил ветвления? Как это вписать в стандартную связку bug tracker — code review — CI (в случае ТКС Jira + Stash + TeamCity)? Что будет, если к изначальным двум приложениям добавится еще два, причем у последнего будет другой backend? Смотрите видео выступления.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments0

10 главных советов Mac OS X

Reading time5 min
Views454K
Я давно и весьма успешно пользуюсь техникой и ОС от Apple. При этом, я постоянно вижу, как окружающие меня люди: начинающие пользователи, да и весьма оптыные зачастую, не очень хорошо ориентируются в богатых возможостях этого ПО и железа. Поэтому я решил помочь и перевести несколько западных статей с советами и секретами. Считаю, что «родная» для Apple пресса наилучшим образом справляется с раскрытием потенциала OS X.

Первый материал с Lifehack.org

Вы когда-нибудь видели того, кто действительно умеет пользоваться компьютером Mac и операционной системой OS X? Иногда выглядит просто волшебством, как они заставляют двигаться окна, появляться изображения, запускаться приложения и делать множество других классных вещей – при этом их пальцы, кажется, вообще не покидают клавиатуру.Я не могу похвастаться знанием многих советов и рекомендаий Mac, тем не менее, у меня есть в запасе несколько советов, которые могут показаться вам полезными. Некоторые из них достаточно распространены, некоторые – не столь известны, но все они сделают нечто важное, на шаг приближая вас к рангу Мастера Джедаев вашего Mac.

Читать дальше →
Total votes 136: ↑90 and ↓46+44
Comments223

Установка Hackintosh на примере Packard Bell TM85

Reading time4 min
Views83K
Здравствуй, Хабр. Хочу поделиться своим опытом относительно установки Мака на обычные ПК. Возможно кому-то этот топик будет интересен или полезен.
В этой статье я рассмотрю еще один способ установки Hackintosh на конкретную конфигурацию, без использования различных сборок.
Ставить будем оригинальную Mac OS X 10.7.3 (на момент написания) c загрузочной установочной флешки.
Кстати, данный метод применим и к любому другому IBM PC-совместимому компьютеру.
В итоге Вы получите полностью рабочий Hackintosh.
Читать дальше →
Total votes 68: ↑49 and ↓19+30
Comments41

25 полезных шорткатов для Photoshop

Reading time3 min
Views187K
Здравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!


Читать дальше →
Total votes 126: ↑103 and ↓23+80
Comments76

Ребенок в семье гика или у нас свой подход

Reading time2 min
Views18K
Когда в семье рождается ребенок, это, черт возьми, здорово! Как говорил Гришковец в фильме «сатисфакция»: «все становится сложно, но в то же время все становится просто». Так вот, о простом: существует огромное количество литературы, рассчитанной на молодых мам. Существует даже пара книжек о детях, написанной для мужчин (причем очень дурным языком). Но почему-то очень мало информации, рассчитанной на технарей. Считается, видимо, что у нас до детей не доходит.

Лично мне, когда я читал эти книжки (первое правило — RTFM), очень не хватало каких-то четких инструкций и вариантов использования техники и разных приспособ. А поскольку все мы, сидящие тут, не просто технари, а немного техногики и живем в окружении бешеного количества техники, давайте посмотрим, как ее можно было применить для пользы ребенка.


Читать дальше →
Total votes 256: ↑211 and ↓45+166
Comments324

Smart KM Link A820

Reading time2 min
Views8.7K
Часто приходится работать за ноутом и ПК одновременно — не весь софт есть и там и там, не весь софт на ноуте работает достаточно быстро, часто нужно прервать работу и ехать на встречу.

Работая таким образом, я, как наверное и многие, периодически пытаюсь мышкой компа что-то щелкнуть на ноуте или передвинуть мышу с ноута на соседний монитор. Особенно это знакомо тем, у кого больше одного монитора на столе.
Теперь это возможно!
Такую штуку я ждал давно
Total votes 110: ↑100 and ↓10+90
Comments123

«Умный дом» собственными руками. Часть 5. Технологии Х10

Reading time7 min
Views53K
image

В прошлой статье мы прикрутили к нашей системе «умный дом» небольшой веб-интерфейс. Самое время обратиться к той части дела, ради которой все это и затевается — управление нагрузкой. Под нагрузкой подразумевается любое электроустройство, которым есть смысл управлять.
За подробностями реализации прошу под кат.

Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments46

«Хакинтош» – стоит ли игра свеч?

Reading time4 min
Views351K
imageХочу поделиться своим мнением и опытом относительно работы Mac OS X на обычном PC компьютере. Может кому-то этот топик будет интересен или полезен.

Я разработчик ПО для Mac OS X и iOS. И я обожаю технику и ПО от Apple (но я не являюсь ярым фанатом). За свою жизнь у меня побывало много гаджетов от Apple: PowerBook G4, MacBook, iMac, MacBook Pro, iPhone, iPad и пр.

Техника для меня лишь инструмент достижения целей. В данный момент времени на работе я использую iMac (Core i5), в личных целях: обычный стационарный PC, ноутбук Lenovo, телефон на Android и iPad.

Недавно мне для работы дома понадобился очень мощный компьютер с Mac OS X. По характеристикам из техники Apple подходили лишь топовый iMac (с Core i7-2600 3,4 ГГц) и Mac Pro. Оба стоят просто запредельные деньги — более 100 тыс. рублей. Я психологически не был готов потратить такие деньги на компьютер. Ограничил бюджет суммой 55 тыс. рублей и решил собрать «Хакинтош». Я немного слежу за тематикой «Хакинтош» и имею четкое представление, что «там и как».

Читать дальше →
Total votes 330: ↑239 and ↓91+148
Comments331

«Умный дом» собственными руками. Часть 4. Организуем веб-интерфейс

Reading time9 min
Views49K
В прошлой статье мы смогли научить нашу систему «умный дом» распознавать сказанное нами и синтезировать голосовые ответы при помощи Google.
Сегодня я хочу рассказать, как организовать доступ к нашей системе через веб-интерфейс.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments13

«Умный дом» собственными руками. Часть 3. Синтез и распознавание голоса с помощью Google

Reading time9 min
Views83K
В прошлой статье мы смогли добиться получения изображения с наших веб-камер в виде снимков раз в секунду. Теперь пришла пора взяться за обещанное — распознавание и синтез голоса.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments47

Печать файлов с Android-устройств через интернет

Reading time4 min
Views114K
Понадобилось более активно использовать телефон (HTC Desire) и планшет (сейчас Asus Transformer, но подумываю о замене на Lenovo Thinkpad — очень хочется нормальный стилус и полноразмерный USB) в работе, потенциально — как замена ноутбуку (когда это возможно).
Для этого понадобилось реализовать возможность печати с андроида на домашний и рабочий принтеры. Попутно захотелось просто печатать с любых моих компьютеров на любые мои принтеры — и домашний, и рабочие. Если не изображать костыли вида почтового робота, который печатает все, что ему присылают, то очевидное решение — облачная печать (cloud printing).



Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments36

«Умный дом» собственными руками. Часть 2. Видеонаблюдение

Reading time4 min
Views96K
В прошлой статье (линк) мы ознакомились с теоретической частью построения нашего «умного дома» и определились с используемыми технологиями. Теперь начнем реализацию практической части :)

Первой жертвой нашего интереса станет система видеонаблюдения.
Читать дальше →
Total votes 95: ↑85 and ↓10+75
Comments88

«Умный дом» собственными руками

Reading time5 min
Views126K
Представьте картину: вы входите домой, автоматически включается свет и приятный женский (мужской, впрочем — кому как) голос приветствует вас. Вы небрежно бросаете фразу в сторону микрофона: «Дом, включи мой компьютер». Через несколько секунд слышите привычный шелест кулеров своего родного железного коня.

Фантастика? Под хабракатом я хочу поделиться своими успехами в построении подобной системы у себя дома.
Читать дальше →
Total votes 88: ↑68 and ↓20+48
Comments47

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views197K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments96

Node.js: Обзор технологий разработки библиотек общего назначения

Reading time6 min
Views27K
node.js
В этом посте я хочу обобщить и поделится полученным опытом при разработке библиотеки node-queue-lib. Я расскажу о технологиях, которые помогли мне довести дело до финального конца — работоспособного кода, который уже работает на одном из моих сервисов. Особенностью данной библиотеки является кросс-платформенный клиент, т.е. клиент работающий в node.js и браузере и основан на одном и том же коде. В посте будут описаны следующие инструменты, без которых разработка этой библиотеки превратилась бы в ад:
  • Тестирование (jasmine_node)
  • Покрытие кода тестами (istanbul)
  • Сборка клиенткой части библиотеки (browserify)
  • Автоматизированное тестирование клиента (phantomjs)
  • Поиск утечек памяти (memwatch)

Если Вы об этом ещё ничего не слышали и имеете желание написать законченный продукт в надёжности которого Вы будете уверены, эта обзорная статья поможет Вам познакомится с одним из вариантов комплекта инструментов для полноценного контроля качества кода javascript библиотеки.

И дополнительно, повторю, что статья обзорная, и не ставит целью научить Вас виртуозно пользоваться всеми перечисленными инструментами. Я лишь покажу дверь, но откроете Вы её сами…
Читать дальше →
Total votes 45: ↑37 and ↓8+29
Comments11

Приводим в порядок css-код. Опыт Яндекса

Reading time6 min
Views89K
Всем привет!

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

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



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

Как мы этого добились, можно прочитать под катом.
Читать дальше →
Total votes 174: ↑169 and ↓5+164
Comments70

Почему мы для code review выбрали Bitbucket, а не GitHub

Reading time2 min
Views69K


В нашей небольшой компании (6 backend + 4 frontend разработчика) для code review (далее CR) мы использовали Gerrit. Gerrit используется, например, для разработки Android. Это инструмент, дающий очень много свободы в настройке процесса CR, но мы от него отказались. Почему? Он прекрасен для суровых backend парней, который легко делают interactive rebase, merge, resolve conflict, amend commit и т.д. Люди из frontend команды по ночам плачут в подушку от тягот рабочего процесса в Gerrit.

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

Мы пришли к Bitbucket. Под катом ответы на вопросы почему Bitbucket и почему не GitHub.
Читать дальше →
Total votes 85: ↑73 and ↓12+61
Comments65

Потоки — это Goto параллельного программирования

Reading time6 min
Views39K
Сразу раскрою мысль, вынесенную в заголовок. Использование потоков (также именуемых нити, треды, англ. threads) и средств прямой манипуляции ими (создание, уничтожение, синхронизация) для написания параллельных приложений оказывает столь же пагубное влияние на сложность алгоритмов, качество кода и скорость его отладки, какое вносило использование оператора Goto в последовательных программах.
Как когда-то программисты отказались от неструктурированных переходов, нам необходимо отказаться от прямого использования потоков сейчас и в будущем. И так же, как каждый из нас использует структурные блоки вместо Goto, вместо потоков должны использоваться структуры, построенные поверх них. Благо, все инструменты для этого появились во вполне традиционных языках.
Автор фото: Rainer Zenz
Читать дальше →
Total votes 76: ↑63 and ↓13+50
Comments57

ImageLoaders: Продолжение

Reading time5 min
Views9.1K
В предыдущей статье я сравнивал библиотеки UniversalImageLoader (UIL) и Picasso на предмет оптимального использования памяти. Среди комментариев были некоторые тонкости применения библиотек и просьбы протестировать другие загрузчики. Эти вопросы дали начало второй части benchmark-а с участием 5 библиотек.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments16
1
23 ...

Information

Rating
Does not participate
Registered
Activity