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

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

Отправить сообщение

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

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


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

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

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


Презентация

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

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

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

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

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

Читать дальше →
Всего голосов 136: ↑90 и ↓46+44
Комментарии223

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

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

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

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


Читать дальше →
Всего голосов 126: ↑103 и ↓23+80
Комментарии76

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

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

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


Читать дальше →
Всего голосов 256: ↑211 и ↓45+166
Комментарии324

Smart KM Link A820

Время на прочтение2 мин
Количество просмотров8.8K
Часто приходится работать за ноутом и ПК одновременно — не весь софт есть и там и там, не весь софт на ноуте работает достаточно быстро, часто нужно прервать работу и ехать на встречу.

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

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

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

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

Читать дальше →
Всего голосов 52: ↑44 и ↓8+36
Комментарии46

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

Время на прочтение4 мин
Количество просмотров351K
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 тыс. рублей и решил собрать «Хакинтош». Я немного слежу за тематикой «Хакинтош» и имею четкое представление, что «там и как».

Читать дальше →
Всего голосов 330: ↑239 и ↓91+148
Комментарии331

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

Время на прочтение9 мин
Количество просмотров49K
В прошлой статье мы смогли научить нашу систему «умный дом» распознавать сказанное нами и синтезировать голосовые ответы при помощи Google.
Сегодня я хочу рассказать, как организовать доступ к нашей системе через веб-интерфейс.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии13

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

Время на прочтение9 мин
Количество просмотров83K
В прошлой статье мы смогли добиться получения изображения с наших веб-камер в виде снимков раз в секунду. Теперь пришла пора взяться за обещанное — распознавание и синтез голоса.
Читать дальше →
Всего голосов 75: ↑70 и ↓5+65
Комментарии47

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

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



Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии36

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

Время на прочтение4 мин
Количество просмотров96K
В прошлой статье (линк) мы ознакомились с теоретической частью построения нашего «умного дома» и определились с используемыми технологиями. Теперь начнем реализацию практической части :)

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

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

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

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

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

Время на прочтение9 мин
Количество просмотров198K
image
Дом — это машина для жилья
Ле Корбюзье

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

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

Читать дальше →
Всего голосов 60: ↑57 и ↓3+54
Комментарии96

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

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

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

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

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

Время на прочтение6 мин
Количество просмотров89K
Всем привет!

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

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



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

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

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

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


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

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

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

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

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

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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность