Три года назад, я написал статью о DI библиотеке для языка Swift. С того момента библиотека сильно измененилась и стала лучшей в своем роде достойным конкурентом Swinject, превосходящяя его по многим показателям. Статья посвящена возможностям библиотеки, но и имеет теоретические рассуждения.И так кому интересны темы DI, DIP, IoC или кто делает выбор между Swinject и Swinject прошу подкат:Читать полностью »
Рубрика «library» - 2
Спокойствие спокойствию рознь
2019-06-22 в 16:43, admin, рубрики: dependency injection, framework, ioc контейнеры, iOS, library, open source, swift, разработка под iOSПримеры C++ кода до и после Ranges
2019-06-17 в 15:07, admin, рубрики: c++, C++20, library, ranges, Блог компании OTUS. Онлайн-образование, ПрограммированиеСнова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня.
Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотека предоставляет компоненты для обработки диапазонов значений, направленных на упрощение нашего кода. К сожалению, библиотека Ranges не очень хорошо документирована, из-за этого ее труднее понять тем, кто хотел бы ее освоить. Этот пост предназначен для ознакомления с примерами кода, написанного с использованием Ranges и без нее.Читать полностью »
What to think during NALSD interview
2019-01-15 в 13:15, admin, рубрики: design interview, distributed system, Google, interview, library, long story, nalsd, system design, work at google, Анализ и проектирование систем, Блог компании Google, высокая производительность, Карьера в IT-индустрии, распределенные системыThere are a lot of posts about what a typical coding interview at Google looks like. But, while not as widely described and discussed, there is also quite often a system design interview. For an SRE position it’s NALSD: non-abstract large system design. The key difference between SWE and SRE interviews consists in these two letters: NA.
So, what is the difference? How to be prepared for this interview? Let’s be non-abstract, and use an example. To be more non-abstract, let’s take something from the material world, such that you won’t be asked the exact same thing at the real interview (at least, not at the Google interview) :)
So, let’s design a public library system. For the paper books, like you have seen everywhere around. The whole text below was written all at once within around one hour, to roughly show you the areas that you should be able to cover / touch during the interview. Please excuse some disorder, that’s how I think (therefore I am).
Читать полностью »
Анимированные числа на Android
2018-08-28 в 3:28, admin, рубрики: android, animation, custom view, DIGITS, java, library, UI, vector drawable, дизайн, дизайн мобильных приложений, интерфейсы, Разработка под androidКрасивый и привлекательный UI — это важно. Поэтому для Android существует огромное количество библиотек для красивого отображения элементов дизайна. Часто в приложении требуется показать поле с числом или какой-либо счетчик. Например, счетчик количества выделенных элементов списка или сумму расходов за месяц. Конечно, такая задача легко решается с помощью обычного TextView
, но можно ее решить элегантно и еще анимацию изменения числа добавить:
На YouTube доступно Demo-видео.
В статье пойдет рассказ о том, как все это реализовать.
Библиотека Reamp: обезболивающее для ваших Android-приложений
2017-09-26 в 11:56, admin, рубрики: #eastbanctech, android, library, mvp, mvvm, open source, Блог компании EastBanc Technologies, разработка мобильных приложений, Разработка под androidОднажды мы в компании EastBanc Technologies устали бороться с теми архитектурными проблемами, которые возникают в Android-разработке и решили все исправить:). Мы хотели найти решение, которое удовлетворит всем нашим требованиям.
И, как это часто бывает, готового решения тогда не нашлось и нам пришлось сделать собственную библиотеку, которая уже приносит счастье нам, и может помочь и вам.
Какие проблемы решали:
- Уйти от жизненного цикла экранов, будь то Activity, Fragment или View
- Уйти от необходимости писать код для сохранения и восстановления состояния для каждого экрана
- Повысить стабильность: защититься от досадных крешей и утечек памяти
- Повысить переиспользуемость кода между телефонным UI и планшетным UI
Дизайн-система Acronis. Часть первая. Единая библиотека компонентов
2017-09-20 в 7:34, admin, рубрики: acronis, angular 4, components, design system, library, product design, UI, UX, Блог компании Acronis, Inc, веб-дизайн, интерфейсы
Меня зовут Сергей, я работаю старшим дизайнером в компании Acronis. В отделе дизайна продуктов для бизнеса я отвечаю за разработку и внедрение единой библиотеки компонентов.
Так как у нас много продуктов и сервисов, а дизайн в этих продуктах и сервисах сильно отличается, мы решили его унифицировать и привести к единому UI. Зачем? Все просто: такой подход дает возможность оптимизировать работу отдела, сосредоточить дизайнеров на UX, ускорить процесс разработки и запуск новых продуктов, снизить нагрузку на отделы тестирования и значительно сократить количество багов на стороне front-end. В этой статье я расскажу о нашем опыте, остановлюсь на инструментах и покажу, как устроена библиотека изнутри.
История создания библиотеки для группового общения андроид-устройств через Wi-Fi Peer-to-Peer соединение
2017-07-15 в 8:26, admin, рубрики: android development, Android OS, bicycle, library, wi-fi, wi-fi direct, wi-fi peer-to-peer, Разработка под android, Разработка систем передачи данных
Предыстория
Мотивом написания данного приложения послужила курсовая работа по дисциплине «Компьютерные системы и сети». Честно говоря, эта одна из самых мной нелюбимых сторон в компьютерных технологиях, и я решил «подстраивать» курсовой проект под свои интересы, а именно, под Андроид-разработку.
Было решено создать библиотеку для соединения Андроид-устройств по средством Wi-Fi Direct технологии и передачи данных между ними (Wi-Fi Peer-to-Peer соединение осуществляется как раз с помощью технологии Wi-Fi Direct).
Читать полностью »
«Runn Me!» — говорит нам очередной фреймворк* на PHP. А слышится «Throw Me!». Часть 2
2017-05-05 в 14:28, admin, рубрики: composer, framework, github, laravel, lgpl, library, php, PHP 7, symfony, yii, Zend Framework* вообще говоря это пока еще не фреймворк, а просто набор библиотек, фреймворком он станет чуть позже
Не прошло и недели с момента «безумного успеха» (тут мнения немного расходятся, конечно...) первой части нашего повествования, как пришло время выпустить вторую.
Сегодня мы продолжаем путешествие в бездонную глубину библиотеки runn/core будущего фреймворка «Runn Me!». Под катом нам встретятся следующие обитатели бездны:
- Концепция «мультиисключения» и ее реализация в библиотеке
- Понятие объекта с внутренней валидацией и эталонная реализация такого объекта
- Немного заглянем в мир валидаторов и санитайзеров (подробный рассказ о них будет позже)
- Рассмотрим реализацию объекта с обязательными полями
Уточка говорит «кря-кря», коровка говорит «му-му», «Runn Me!» — говорит нам очередной фреймворк* на PHP. Часть 1
2017-05-01 в 12:28, admin, рубрики: composer, framework, github, laravel, lgpl, library, php, PHP 7, symfony, yii, Zend Framework«О нет!», воскликнет читатель, утомлённый разными мини-микро-слим-фреймворками и QueryBuilder-ами и будет прав.
Нет ничего скучнее, чем очередной фреймворк на PHP. Разве что «принципиально новая» CMS или новый дейтинг.
Так зачем же я с упорством, достойным лучшего применения, шагаю по неудобным подводным камням и выставляю на потеху публике суд товарищей своё творение? Заранее зная, что гнев критиков, как мощное цунами обрушится на этот пост и похоронит его на самом днище Хабра?
Не знаю. Как не знал в своё время Колумб, зачем он отплывает от уютных берегов Испании. Надеялся ли он найти путь в Индию? Конечно да. Но не знал точно — доплывёт ли?
Видимо и у программистов на PHP, к которым я вот уже 13 лет себя причисляю, есть такая же внутренняя потребность — выставлять свой код и зажмуривать глаза, ожидая реакции коллег.
Что вас ждет под катом?
- Открытый исходный код, лицензия LGPL
- Код, полностью совместимый с PHP 7.0-7.2
- 100% покрытие юнит-тестами
- Библиотеки, проверенные временем в реальных проектах (и только проклятая прокрастинация мешала мне опубликовать их ранее!)
Ну и, разумеется, история изобретения очередного велосипеда на костыльном приводе фреймворка*!
* вообще говоря это пока еще не фреймворк, а просто набор библиотек, фреймворком он станет чуть позже
Jerminal — эмулятор терминала для Java-программ
2017-04-24 в 10:01, admin, рубрики: cli, console, java, java 8, library, terminal, библиотека, консоль, консольная утилитаВступление
Привет, читатели! Решил поведать вам о мини-библиотеке Jerminal. Я сейчас работаю над большим коммерческим проектом на Groovy/Java. Ну и мне пришло задание — написать консольку для приложения. К сожалению, было поставлено условие: никаких сторонних решений, все только свое. Недолго думая, я сел и написал ее. Подробнее — под катом.