Skip to content

armcha/NotesForGithub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 

Repository files navigation

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

Android

  • Вообще Busy Coder's читаем сначала по всем пунктам. Эта книга стоит своих 45 USD в год

Data binding

TODO:

Data-binding & RecyclerView/ListView h

Annotations - начало

(Custom) Annotation processors

Libraries and Apps by Jack Wharton,etc

Butterknife

Other debugging tools

Network

Retrofit

Google Universal Analytics

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

Continouos Integration / Devlivery

Testing

mockito

Roboletric

Jenkins / Android Emulator issues

Genymotion

Travis CI

Circle CI

JIRA Clients

Play Store Autosubmission

Android tricks

Android bootstrapers

Android Bootstrap

Android Kickstartr

rxJava

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

Android/GUI

Android/Various

Java

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

Unsafe на Android - где ?

Support library

Percent support library

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

Constraint layout

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

Picture-in-Picture

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

Примеры

Android TV

iOS

OS X

In-app purchases

Swift

ReactiveCocoa/rXXX

GUI

ObjC непонятки

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

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

Тесты

Аудио-видео плееры / 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

Иконки

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

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

RestKit

Websocket library for iOS

Circle CI

VIPER

Typhoon

Плагины к Xcode

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

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

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

NodeJS,etc

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

Apache Spark/Hadoop

Scikit,etc

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

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

Xperia specific

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

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

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

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

Firebase

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

откуда ставили приложение

Ловля крешей

  • Testfairy умеет(если dSYM не с прробелом), Rollbar умеет(если dSYM не с пробелом), Countly заявлено что умеет в Opensource edition(минимум какой то) и в Enterprise
  • Crashlytics http://try.crashlytics.com crash reporting. бесплатно независимо от обьемов. умеет и NSLog'и с собой в крешлог включать.
  • Hockeyapp - куплен MS. что-то последние версии у меня совсем мышей не ловили на iOS.
  • Bugsnaq - https://bugsnag.com/pricing/ - 250 errors/day/7day retention - free. а дальше от 29US$/месяц
  • Buddybuild - в том числе и ловля крешей с видеозаписю (а вообще это CI-система + аналог старого testflight)

CI

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

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

Видеозапись

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

API Emulation

API Debugging

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

custom apis,etc

Разное

Docker

About

random development notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published