Skip to content

intari/NotesForGithub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Набор моих пусть частично полезных ссылок по разработке и не только, уровень...разный

C/C++

C/C++ разное

Общее

Универсальные полезные библиотеки

Gradle

Android

  • Вообще Busy Coder's читаем сначала по всем пунктам. Эта книга стоит своих 20 USD / полгода за подписку. Тем более что там добавления есть - например отдельная книга по Android architecture compontents...
  • Полезные книги для начинающего и не очень Android-разработчика https://habrahabr.ru/post/346412/

Общее

Data binding

Data-binding & RecyclerView/ListView

Android Architecture Components / AndroidX

Annotations - начало

(Custom) Annotation processors

Libraries and Apps by Jack Wharton,etc

Butterknife

Jetpack Compose

Other debugging tools

Network

Retrofit

Google Universal Analytics

Интересные (чем то) рекламные системы

Continouos Integration / Devlivery

Android Testing

mockito

Roboletric

Jenkins

Jenkins / Android Emulator issues

Genymotion

Travis CI

Circle CI

Github Actions

JIRA Clients

Play Store Autosubmission

Android tricks

разные сторы

Android bootstrapers

Android Bootstrap

Android Kickstartr

rxJava

Многопоточность отдельно

Android/GUI

Custom views

Android/Dagger 2 - Dependency Injection

Realm

Android/Various

Шины сообщений

Архитектура / Навигация внутри приложения под Android

  • Архитектура Android-приложений… Правильный путь? https://habrahabr.ru/post/250659/ перевод Architecting Android...The clean way?

Базовые вещи в плане навигации

  • FragNav: An Android library for managing multiple stacks of fragments https://github.com/ncapdevi/FragNav просто базовое управление стеками фрагментов

Moxy

Mosby

Square Flow

Conductor

Cicerone

Firebase

Сохранение Instance state и вообще Serialization

Безопасность - разное

Звук (iOS/Android)

Аудиовидео плееры / Android

OpenGL ES и прочая 3D-графика

Интересные примеры

Building A Shazam Clone (Kotlin, TDD) by Elvis Chidera

Building a video player app in Android

JWT - про JWT Web Tokens в том числе

Time/Android

Android Instant Apps

Debug/support tools

Stetho/Flipper от Facebook

Kotlin

Dagger 2

Kodein (замена Dagger 2)

Hilt (дополнение-замена Dagger 2, вообще - часть jetpack)

Kotlin Links collections

Kotlin serialization

Kotlin Coroutines

Kotlin flow

Arrow

  • Как писать полиморфические программы c помощью Arrow https://habr.com/ru/post/447234/
  • Функциональная обработка ошибок в Kotlin с помощью Arrow https://habr.com/ru/post/435254/ - то что можно сразу использовать и без мозголомства

Kotlin Android Various

Kotlin / Web

Java

Общее (TODO:остальные 'общие' ссылки сюда)

Lobmok - выкидка бойлерплейта (data class Kotlin -:))

как клонировать обьект если не хочется конструктор копирования и cloneable реализовывать

Code generation tools

Code-generation - Kotlin specific

Расширения AutoValue

Unsafe на Android - где ?

Android Support library

Android Percent support library

да, теперь она официально устарела

Android Coordinator Layout / Bottom Sheets,etc

Constraint Layout

Вспомогательные средства отладки GUI (Android)

Picture-in-Picture

Да, это есть на Android и давно было. И более общий функционал есть

Примеры

Android TV

iOS/macOS

iOS Общее

ARKit

WWDC

OS X

In-app purchases

Swift

ReactiveCocoa/rXXX

iOS GUI

Блоки (Если лень книжку почитать, все ОЧЕНЬ старое)

Cocoapods если не в других местах

MVP/MVC,etc в общем

iOS Testing

iOS Unit Tests

iOS UI Testing

Аудио-видео плееры / iOS

  • AVPlayer и компания системные конечно же. например PiP даже на iOS10 будет только с ними. Но требования по форматам, иногда долгий старт при сетевой загрузке.

MobileVLCKit

MobileVLCKit http://code.videolan.org/videolan/VLCKit.git

cd %DIR%
git clone -v http://code.videolan.org/videolan/VLCKit.git
cd VLCKit
git fetch origin
git branch -v -a посмотреть бранчи
git checkout -b iOS-2.7 origin/iOS-2.7
./buildMobileVLCKit.sh -f #  build for simulator and device

чтобы потом пересобрать - грохнуть MobileVLCKit/ImportedSources надо как минимум

  • лицензия: судя по том что делает pod install - достаточно положить в папку рядом с MobileVLCKit.Framework файл лицензии и выложить свои патчи к самому MobileVLCKit
  • как образец плеера - Dropin-Player - он под еще более либеральной лицензией

IJKPlayer ?

Чем нарезать GUI

Sketch

Иконки

AppStore tools,etc

Autolayout

Appearance proxy,etc

Navigation Drawer (aka Slide-out)

Beta Testflight

Как сделать submit в AppStore если клиент имеет Individual account

Ситуация

  • у нас есть свой Individual-аккаунт
  • у клиента Individual account, пароль от аккаунта он давать не хочет. Company account тоже не хочет делать.
  • Надо выложить приложение от имени клиента
  • Xcode 7

Что делать

  • получаем у клиента доступ в iTunes Connect на новый Apple ID (не тот на котором у нас все) с правами Application Manager / Developer
  • просим клиента (или через удаленный доступ на его машине) создаем application record. можно и через Xcode
  • просим клиента (или через удаленный доступ на его машине) его developer profile (да да я в курсе что можно руками все сертификаты и профили попросить но это дольше будет)
  • у себя при сборке ставим нужным provisioning profile (XC:…клиента) а code signing - automatic (или iOS Developer клиента ).
  • Собирать для build-only device
  • Archive
  • Export с use local signing assets. экспортируется все подписанное distribution-сертификатом клиента если все правильно сделали. Если получаем ругань от XCode на этой стадии - удаляем Developer Profile клиента (сертификаты останутся) и перезапускаем XCode
  • заходим своим новым Apple ID в Application Loader и выгружаем через него IPA. Он успешно загрузится
  • настраиваем своим новым Apple ID все что нужно в iTunes Connect

на что обратить внимание

  • что у клиента получены все сертификаты (запросить если нет
  • что у клиента корректно настроен provisioning profile (если надо in-app, push и так далее). Если настраивали через XCode то это будет XC:…профиль
  • при отправке не забываем in-app'ы тоже добавить в список на отправку если они есть.

что делать в случае проблем

  • если после установки Developer Profile клиента система просит пароль от его Apple ID…удаляем профиль (сертификаты и provisioning profile останутся)
  • после любых операций с профилями и малейших глюках - перезапуск XCode

что видимо не будет работать

  • crash log’и от Apple не получить, те что через XCode

полезные утилиты для iTunes Connect

полезная информация

вспомогательные средства отладки GUI (iOS)

CloudKit и CoreData-с-синхронизацией

RestKit

Websocket library for iOS

VIPER

Typhoon

Плагины к Xcode

Списки - iOS

  • Куда пойти, что читать, с кем общаться на профессиональные темы: дорожная карта для iOS-разработчика https://habrahabr.ru/company/avito/blog/333348/
  • https://iosdev.tools/ это и рассылка и список (тулзы для стора, сайт и так так далее)

https://www.objc.io/issues/11-android/

Полезные тулзы

Системные дела

Перехват трафика для отладки

Кросс-платформенные средства разработки и так далее

Локализация

Геолокация

React / React Native / ReactVR / Redux

NodeJS,etc

Big Data и поисковые технологии

Apache Spark/Hadoop

Apache Lucene/Nutch/YaCy/Поисковые технологии вообще

mBaaS

постепенно сюда переносить

Parse Server Hosting

NodeChef

изначально - хостинг для приложений Meteor

  • цены https://nodechef.com/pricing - от 9 USD, искуственных лимитов на количество запросов - нет
  • deploy cloud coude - одной командой (как и deploy статики)
  • используют RocksDB Storage Engine в MongoDB.
  • автоматические бекапы MongoDB каждые 16 часов + можно подключится MongoChef'ом и самостоятельно сделать
  • автоматический SSL (Let's Encrypt используют, можно свои сертификаты)
  • есть US-East и EU-West локации.
  • Static asset hosting + реверс-прокси
  • Background Jobs есть (в отличии от некоторых конкурентов)
  • LiveQuery есть (на данный момент - при одном App Container)
  • Различные метрики как БД так и AppServer есть
  • шаблоны писем и страниц для e-mail verification, сброса пароля и так далее - можно настроить например чтобы было MyCoolAppName
  • ParseConfig поддерживается
  • Почту отправляют через MailGun / Sendgrid (пользователь должен указать API Key)
  • Выбор версии Parse Server при желании
  • база где то 12 USD/Gb/Месяц после первого Gb

Недостатки

  • если кусок CloudCode упал - он просто упал. в логах чисто. надо обертывать в try/catch и писать в console.error
  • их гуглогруппу надо читать, настройки шаблонов почты...это было не очевидно
  • логи Cloud Code смотрятся ТОЛЬКО через App Logs (и в обратной сортировке). Через ту же Parse Dashboard - не видно вообще. транслировать
  • деплой-тулза требует указания логина и пароля....каждый раз. или в командной строке.
  • не прописано внятно что для работы e-mail verification/сбросов пароля, указанный домен должен 1:1 совпадать с тем что в MailGun

SashiDo

  • интеграция с github а не своя деплоилка как у NodeChef https://blog.sashido.io/how-to-set-up-cloud-code-on-sashido/
  • 4.95 USD/месяц минимум за приложение. но есть лимиты на запросы (превышение - платно).
  • Второй и дальше гигабайты базы - по 16 USD/Gb/месяц.
  • размер БД показывают значительно меньше чем Nodechef (да, nodechef storage used показывает а не размер БД но все же).
  • Логи в панельке таки есть. Только вот console.log - обещают в будущем. console.info/warn/error - работает. правда есть вопросы с паузами.
  • Advanced Cloud Code - там и custom express.js apps https://blog.sashido.io/our-big-things-to-announce/ - хотя сильно новое?
  • база видно что двухузловая
  • есть в том их примере на github как все локально запускать и чтобы после заливки тоже жило..синхронизация - не ясно
  • сервис болгарский. живут на Amazon
  • поддержки process.ENV как у NodeChef - нет. Предлагается использовать Parse Config который https://parseplatform.github.io/docs/js/guide/#config

Недостатки

  • за custom domain вроде как в саппорт
  • LiveQuery - обещано в этом году About the live queries: Yes we are planning to release them by the end of the year but first we will release Background Jobs and some other things like Scheduled Push Notifications, Backups and few more
  • background jobs нет. обещали к сентябрю 2016
  • бекапов согласно https://www.sashido.io/policies.html нет, это забота кастомера. но общеают сделать
  • панель вполне может начать показывать ошибку CloudFront
  • адрес отправки автоматических почтовых сообщений настроить нельзя - будет noreply@sashido.io но автор - корректно пишется. Сообщения через Amazon SES идут.

MongoDB hosting

Realtime app framework с nodejs server

GameDev

тут далеко не все, потом добавлять буду

Code generation

Базы данных

Web Dev

Extensions

ASP.NET

Flask

Spring

Various (=растащить в будущем по разным местам)

Git

Xperia specific

Вспомогательные средства для разработки

Системы удаленного логгирования

  • Rollbar http://rollbar.com По умолчанию просто последовательные логи. Умеет креши тоже. по умолчанию не делает группировку. dSYM'ы с пробелом в имени обрабатывает некорректно. Бесплатный план 5k событий в месяц. первый платный за 29 usd - 100k событий в месяц
  • Sentry http://getsentry.com Умеет NSError, вроде не умеет Android. Не умеет последовательно список событий вроде бы. Креши не умеет но вроде делают. Группировка по умолчанию странная. бесплатный - 250 событий day, а затем - за 9 долларов план с 9 событий в минуту. Opensource. и можно поставить себе.
  • Вообще если нам надо КРЕШИ логгировать - Crashlytics

Аналитика (все и под Android/iOS тоже живет)

Firebase

это такой BaaS от гугла - там много что - и креши и testlab и аналог parse (без cloud code) и аналог iCloud...

Firebase - заморочки с биллингом и почему НЕ стоит использовать Firebase
откуда ставили приложение

Ловля крешей

CI

  • BuddyBuild весьма платный. Ориентация похоже на распространение сборок тестерам а не CI
  • Bitrise https://www.bitrise.io/ - есть бесплатный план (ограничение - 10 min/build, 200 builds/month), платный начинается от 50 USD/месяц (45+ min build, и анлимы). Документация хорошая. Куча интеграций. Не все работающие.
  • Travis CI (для OpenSource либо платный)
  • Nevercode https://nevercode.io/ (бывший GreenhouseCI) - есть бесплатный сильно обрезанный тариф (вопрос чем - feature branches?) а так - 49 usd/месяц (и отличаются по фичам). С интеграциями все очень плохо. с JIRA-нет.
  • Circle CI https://circleci.com/ - минимальный тариф для OS X - 39USD/месяц. но там 2x OS X concurrency / 500 max minutes month а затем 0.08 usd/minute
  • упрощенно и ручками - fastlane
  • вообще смотрим https://github.com/ligurio/Continuous-Integration-services/blob/master/continuous-integration-services-list.md
  • подьем CI iOS своими руками https://habrahabr.ru/company/livetyping/blog/302642/
  • Jenkins - selfhosted
  • Bamboo - selfhosted
  • Buildkite - https://buildkite.com/ - 15 USD/month. агенты - сами ставим.
  • MS AppCenter - CI/крешлоги/бета-тестинг/аналитика+много_что https://appcenter.ms/ поддерживается вообще все включая React Native / Xamarin / UWP - HockeyApp купили для этого

Патчи в рантайме

  • (накрылся) Rollout https://rollout.io/ пока только iOS, поддержка Swift - минимальна. Минимальный hotpatching iOS-приложений даже в AppStore. В основном по сути защита от ситуаций "ой а оно внезапно падает на девайсах X а апдейт Apple долго аппрувит" но вообще можно все что угодно на JS цеплять к вызовам методов, например аналитику. Можно использовать как удобную систему удаленной конфигурации. Бесплатно если не использовать их javascript-based патчи.

Видеозапись

  • Testfairy цены https://app.testfairy.com/account/action/create-bug видеозапись действий приложения, NSLog'ов, сетевых запросов. заменой старому TestFlight тоже обещают что может. бесплатный план - без видео, и цены теперь тоже 'get quote'. Может не поймать логи за момент непосредственно перед крешем.
  • UXCam https://uxcam.com/ video recording,heatmaps,etc - мобильные И Web. Нестабильность на тестах(проверить в деталях). Цены по крайней мере в явном виде указаны. Есть бесплатный план.
  • Appsee https://appsee.com - куча интеграций (с AppsFlyer/Crashlytics/Google Analytics например), видеозаписи,etc. Функционал побогаче UXCam. История с Burger King. Цены - contact us. Есть бесплатный план.

On-device cloud testing

  • Bitbar http://bitbar.com/testing/pricing/public-cloud/ - минимальный Solo plan for Indie Developers - 99 USD/month. 10 hours of device time. JIRA integration НЕТ (это на следующем)
  • AWS Device Farm (бывший AppThwack) - https://aws.amazon.com/ru/device-farm/ - 250 минут бесплатно, 0.17 USD/минута потом. Анлим - 250 USD за слот в месяц.
  • Google Firebase Test Lab - только Android
  • Kobitron https://kobiton.com/ - минимальный план - 10/месяц(100 в год),100 минут в месяц. 1 concurrent device. 0.14 USD/минута превышение. ** чем они ЛУЧЩЕ симуляторов - https://kobiton.com/features/ - там записи

Прототипирование

API Emulation

API Debugging

Разработка API

Вспомогательные средства для создания мессенджеров

custom apis,etc

Web-отдельно

CSS

WebAssembly

Разное

Кросс-платорменные системы если нет другого раздела

Git и все такое - полезное

System tools

Docker

Машинное обучение

Scikit,etc

About

Random development notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published