Continuous Integration — Непрерывная интеграция

Continuous Integration  См. также слайды по теме  Непрерывная интеграция — это такой подход к разработке ПО, когда делают несколько раз в день слияния рабочих копий в основную ветку и частого выполнения автоматизированных сборок и тестов проекта для быстрого выявления и решения проблем.   Требования к проекту для непрерывной интеграции: Исходный код и все необходимое для тестов/сборки хранится … Читать далее Continuous Integration — Непрерывная интеграция

Учебные заметки — Бинарное дерево

Дерево — не циклический граф. Деревья представляют собой структуры данных, в которых реализованы операции над динамическими множествами. Из таких операций хотелось бы выделить — поиск элемента, поиск минимального (максимального) элемента, вставка, удаление, переход к родителю, переход к ребенку. Таким образом, дерево может использоваться и как обыкновенный словарь, и как очередь с приоритетами. Есть корень и … Читать далее Учебные заметки — Бинарное дерево

Учебные заметки — нейросеть, 1

Биологический нейрон Состоит из: Аксон — отдает сигнал Дендриты — принимают сигналы Синапс — место соединения двух нейронов Синапс В месте соединения двух нейронов для коммуникации между ними выделяется нейромедиатор — специальное вещество. Чем важнее информация — тем больше выделяется нейромедиатора. Искусственная нейронная сеть Нейронная сеть — множество нейронов работающих как единое целое Структура искусственной сети … Читать далее Учебные заметки — нейросеть, 1

Рабочие заметки — Java Exceptions

Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable. Его потомками являются подклассы Exception и Error. Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемы и предсказуемы. Например, произошло деление на ноль в целых числах. Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует … Читать далее Рабочие заметки — Java Exceptions

Рабочие заметки — Java intern()

В Java строки сравниваем при помощи метода equals(). Простое сравнение при помощи String s1 == String s2 проверит не содержимое объектов, а указывают ли ссылки на один и тот же объект. Но, если строки с одинаковым значение — тогда имеет смысл использовать один и тот же объект для этих ссылок. (у String final value). Тогда … Читать далее Рабочие заметки — Java intern()

Рабочие заметки — Uri

URI —  унифицированный (единообразный) идентификатор ресурса. URI — символьная строка, позволяющая идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. URI, URL, URN URI является либо URL, либо URN, либо одновременно обоими. URL — это URI, который, помимо идентификации ресурса, предоставляет ещё и информацию о местонахождении этого ресурса. URN — это … Читать далее Рабочие заметки — Uri

Рабочие заметки — тестирование приложений

Факты и примечания Тестирование нужно для проверки кода после правок — нет ли регрессии Mock — подмена реального объекта на тестовый, который нужен для теста. Тест считается выполненным если завершился без ошибок. @Test Метод теста должен быть аннотирован @Test Дополнительно можно задавать параметры к аннотации, например: @Test(expected = NullPointerException.class) — этот тест выполнится, если будет … Читать далее Рабочие заметки — тестирование приложений

Рабочие заметки — Moxy

Плюсы MVP Асинхронная работа уходит в Presenter Вся бизнес-логика — в Presenter и Model Activity/Fragment — ViewMvp Плюсы и возможности Moxy Presenter не пересоздаеться при пересоздании Activity Автоматическое восстановление состояния ViewMvp после пересоздания Activity Один Presenter может менять сразу несколько ViewMvp Интересные мысли Для каждого блока бизнес-логики нужен свой Presenter. Таким образом мы можем менять … Читать далее Рабочие заметки — Moxy

Рабочие заметки — Handler, Looper, MessageQueue

MessageQueue MessageQueue — однонаправленный, связанный список сообщений, неограниченный по размеру. Потоки-производители вставляют сообщения в очередь, а потом эти сообщения передаются потоку-потребителю. Сообщения сортируются по таймстемп, и доступны для обработки только, когда их отметка времени меньше текущего времени. То-есть мы можем отправить сообщение с временем на 5 сек больше чем текущее, и это сообщение будет доступно … Читать далее Рабочие заметки — Handler, Looper, MessageQueue

Рабочие заметки — потоки в Android

Все потоки в Android базируются на низкоуровневых потоках pthreads в ядре Linux и их представлении в Java — Thread. С точки зрения приложения существует три типа потоков: UI-поток Связующие потоки Фоновые потоки UI поток Создаётся при запуске приложения и продолжает существовать на протяжении всей работы процесса Linux. UI-поток постоянно последовательно обрабатывает события. События находятся в … Читать далее Рабочие заметки — потоки в Android