Pull to refresh
0
0
Send message

VectorDrawable — часть вторая

Reading time 5 min
Views 9.9K

В предыдущей статье мы рассмотрели, как преобразовать существующий svg-файл в VectorDrawable, который позволяет заменить много растровых изображений на одно, меньшее по размеру и более простое в обслуживании. Однако, это не все полезности, которые можно извлечь из VectorDrawable. Его можно анимировать. Это мы и рассмотрим в данной статье, заставив логотип андроид пожимать плечами.

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

VectorDrawable — часть первая

Reading time 7 min
Views 15K

Предлагаю вашему вниманию перевод статьи "VectorDrawables – Part 1" с сайта blog.stylingandroid.com.


По долгу службы потребовалось мне как-то разобраться с векторной графикой. Во время поиска наткнулся я на серию статей под названием “VectorDrawable” в блоге https://blog.stylingandroid.com/. Ответов на все интересующие меня вопросы я, конечно, не нашел, но статьи очень понравились своей последовательностью и четко выверенным объемом необходимого материала. Решил поделиться переводом этих статей с обитателями хабра.


Я не переводил названия, activity, bitmap и тому подобное, потому что считаю, что так легче воспринимать информацию, ведь разработчики, в силу профессии, эти слова в русском варианте практически никогда не у потребляют. Далее следует перевод:

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

Документация разработчика Hibernate – Глава I. Доступ к базе данных

Reading time 13 min
Views 56K
Представляю вашему вниманию перевод первой главы официальной документации Hibernate.

Перевод статьи актуален для версии Hibernate 4.2.19.Final

Cледующая глава — Документация разработчика Hibernate – Глава II. Транзакции и контроль многопоточности

Содержание
 Предисловие
 1. Доступ к базе данных
  1.1. Подключение
   1.1.1. Конфигурация
   1.1.2. Получение JDBC-соединения
  1.2. Пулинг соединений (Connection pooling)
   1.2.1. Пулинг с помощью с3p0
   1.2.2. Пулинг с помощью Proxool
   1.2.3. Получение соединений от сервера приложений, через JNDI
   1.2.4. Прочее по конфигурации соединений
   1.2.5. Необязательные свойства конфигурации
  1.3. Диалекты
   1.3.1. Указание диалекта для использования
   1.3.2. Разрешение диалекта
  1.4. Автоматическая генерация схемы при помощи Schema Export
   1.4.1. Кастомизация файлов маппинга (Customizing the mapping files)
   1.4.2. Запуск инструмента SchemaExport
Читать далее
Total votes 22: ↑17 and ↓5 +12
Comments 3

PostgreSQL: Случай в вакууме

Reading time 6 min
Views 34K

Один из наших клиентов, эксплуатирующий PostgreSQL под большой нагрузкой, столкнулся с проблемой, связанной с переполнением счетчика транзакций (xid wraparound), причем выхода из нее штатными средствами не существовало. Мы решили проблему с помощью хирургического вмешательства и выпустили патч, предотвращающий возникновение таких ситуаций в будущем.


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

Читать дальше →
Total votes 42: ↑41 and ↓1 +40
Comments 11

Как создать привлекающие внимание изображения если вы не дизайнер

Reading time 6 min
Views 28K
image

Прочитав эту статью, вы больше не когда не сможете запостить на Хабре статью с унылой картинкой.
Основные законы дизайна и простые инструменты ним, под катом.
Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Comments 16

Оптимизация Java-кода в Android Marshmallow

Reading time 8 min
Views 13K
Повышение производительности системы, улучшение впечатлений пользователей от работы с приложениями: вот направления, в которых развивается Android. В Android Marshmallow можно обнаружить множество новых функций и возможностей. В частности, речь идёт о серьёзных усовершенствованиях Android Runtime (ART). Они направлены на производительность, потребление памяти и многозадачность.

Вышел новый релиз платформы? Изменилась виртуальная машина Android? Любое из этих событий означает, что разработчику нужно срочно понять суть новшеств. А именно, надо разобраться с тем, какие методы, позволявшие достичь высокой производительности решений в прошлом, теперь уже не так эффективны. Нужно найти новые подходы к разработке приложений, способные дать наилучшие результаты. О подобных тонкостях почти не пишут, поэтому разработчикам приходится выяснять всё это методом проб и ошибок.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 4

Регулярные выражения для простых смертных

Reading time 6 min
Views 45K
Здравствуйте, уважаемые дамы и господа.

Мы активно ищем свежую литературу на тему регулярных выражений для начинающих. Причем в данном случае нас бы скорее привлекла не переводная, а исходно русскоязычная книга, которая каким-то образом затрагивала бы и регулярные выражения при обработке естественного языка. Хотим предложить вашему вниманию следующий текст — во-первых, напомнить об этой теме, во-вторых, продемонстрировать примерный уровень сложности, который нас интересует
Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Comments 22

Настройка UEFI Dual Boot системы, приправленной rEFInd

Reading time 12 min
Views 226K

КДПВ. Бут-менеджер rEFInd с темой оформления Regular.

На сегодняшний день практически все уже слышали про технологию UEFI. Говорить о том, что это такое и зачем оно нужно, я не собираюсь. Сегодня я бы хотел описать простейший сценарий установки Dual Boot системы с полной поддержкой UEFI, а также рассмотреть отдельно установку и настройку бут-менеджера rEFInd. Возможно вы уже видели подобные мануалы и гайды, но я постараюсь донести весьма доходчиво суть того, что мы будем делать и зачем. В других мануалах вы лишь смотрите за «магией» картежника и пытаетесь её повторить, делая, зачастую, элементарные ошибки. Кому эта тема интересна — прошу под кат.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 62

Дайджест интересных материалов для мобильного разработчика #153 (10-15 мая)

Reading time 2 min
Views 9.3K
Немного материального дизайна, немного ReactNative, ASO через Google Spreadsheet, новые отчеты App Annie и наконец-то CocoaPods 1.0 — все это и многое другое в новом дайджесте!

image
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 0

Пространство-время. Возраст вселенной. Пятница

Reading time 4 min
Views 16K
Добрый день. Всем веселого пятничного дня и такого же веселого вечера. Пришла одна идея и захотелось поразмышлять. Я не математик и не космолог, поэтому пусть оные воспримут это как несерьезный пятничный пост.

И так… Представьте шар. Представили. У него есть центр. Назовем его ЦЕНТР ВСЕГО (ЦВ). Представим сферу (поверхность этого шара). Назовем её ПРОСТРАНСТВО. И так на сфере у нас находится пространство. Где то там мы. Где то там солнце и другие галактики. Все они на плоскости сферы живут крутятся в своём плоском трехмерном пространстве. Но нам это не особо важно. Для нас это плоскость шара.

Читать дальше →
Total votes 22: ↑16 and ↓6 +10
Comments 55

Микросервисная архитектура, Spring Cloud и Docker

Reading time 14 min
Views 257K

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



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 32

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

Reading time 8 min
Views 133K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 7

6 причин провала мобильной игры на международном рынке

Reading time 5 min
Views 22K
Согласно прогнозам издания Wall Street Journal, в 2017 году объем глобального рынка мобильных игр увеличится в 8 раз по сравнению с 2010 годом – с $3,77 млрд до $29,6 млрд. Сегодня доминирующую позицию на рынке занимает Азиатско-Тихоокеанский регион во главе с Китаем и Японией. На его долю приходится 48 % доходов всей индустрии, а также в 3 раза больше игроков, чем во втором по величине регионе – Северной Америке.


Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 7

Лица технологий. Обзор стиля презентаций крупнейших технологических компаний

Reading time 6 min
Views 26K
image

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

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

Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Comments 10

Снова об Electron или рисуем музыку ВК

Reading time 7 min
Views 27K
image

Добра всем!
Electron — эта такая забавная штука, про которую мало статей на хабре(сходу нашел только habrahabr.ru/post/272075 и habrahabr.ru/post/278951). Давно хотел написать что-нибудь такое-эдакое, вот руки и дошли — заодно и одним велосипедом в мире станет больше.

Итак, если вкратце: electron — это такой гибрид node.js и chromium'а. Зачем? Очень разнообразный диапазон применений — мощное GUI(html/js/css), нехилая расширяемость(в том числе с возможностью использования других языков вроде C++ или C#), всякие приятности вроде jQuery и т.д. В-общем, удобная штука для разработки и дистрибуции standalone кроссплатформенных приложений.
Теперь о приложении. Оно реализует базовый пример расширения функционала стороннего сайта, базовые принципы работы с Raphael.js(графическая библиотека для отрисовки/анимации svg), Dancer.js(библиотека для визуализации звука, в данном случае — получения audio waveform).

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

Асинхронные операции и пересоздание Activity в Android

Reading time 11 min
Views 16K
В одной статье на хабре (274635) было продемонстрировано любопытное решение для передачи объекта из onSaveInstanceState в onRestoreInstanceState без сериализации. Там используется метод writeStrongBinder(IBInder) класса android.os.Parcel.

Такое решение корректно функционирует до тех пор, пока Android не выгрузит ваше приложение. А он вправе это сделать.
…system may safely kill its process to reclaim memory for other foreground or visible processes…
(http://developer.android.com/intl/ru/reference/android/app/Activity.html)

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 1

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

Reading time 13 min
Views 28K
Или как мы зажгли лампочку со смартфона через облачную службу на глазах изумленных студентов НГУ.

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

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


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

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

Сравнительное тестирование девяти ORM для Android

Reading time 7 min
Views 33K
На просторах интернета много отрывочной информации о той или иной ORM для Андроид. Пока что мне не попадалось качественное сравнение ведущих ORM. Существующие статьи попахивают пиаром той или иной системы и ставят в невыгодное положение своих конкурентов либо некорректной постановкой тестирования, либо вообще использованием заведомо неверных настроек, либо не включением в тестирование сильных соперников.

Данное тестирование проведено было скорее для собственного интереса. Т.к. ORM много, все они разные, и хотелось бы иметь объективное представление о существующих системах.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 11

Кюветы Android, Часть 2: SDK и Libraries

Reading time 10 min
Views 22K
Разрабатывая под Android, всегда нужно быть начеку. Шаг влево / шаг вправо — и вот прошел ещё один час за дебагом. Кюветы могут быть какие угодно: начиная от обычных багов в SDK и заканчивая неочевидными именами методов с контекстно зависимым результатом (да-да, Fragment.getFragmentManager(), это я о тебе).

В предыдущей статье были описаны кюветы «на поверхности» SDK, в которые угодить очень легко. На этот же раз кюветы будут поглубже, помудрёнее и поспецифичнее. Также будет несколько моментов, связанных с Retrofit 2 & Gson.
image
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 23

Что там в Git 2.8? Push, grep, rebase, config и прочие штуки

Reading time 3 min
Views 26K

Вышел новый Git 2.8.0! В течение пары последних недель, когда релиз был в стадии кандидата, я прошёлся по списку коммитов и заметок к нему, пробуя новые вещи и отмечая интересные моменты. Чтобы сохранить ваше время, предлагаю субъективную выборку фич, которые стоит попробовать. Пользуйтесь!


Краткий вариант push -d, синоним push --delete


Это отличное дополнение как для полноты множества опций, так и для скорости набора команд. Возможно, вы уже используете git branch -d, чтобы удалять локальную ветку, а теперь можно так же сократить команду удаления remote-ветки до git push -d.


git branch -d my-branch       # удаляет локальную ветку, если она уже слита
git push -d origin my-branch  # удаляет remote-ветку в origin-репозитории
Что ещё?
Total votes 37: ↑36 and ↓1 +35
Comments 9

Information

Rating
Does not participate
Registered
Activity