Поясняю за Mid по запросу @aleksei_t
Исходная мысль была такая. Итак у нас есть
trait MyBusinessModule[F[_]]{
def doBusinessThing(entity: Entity, info: Info): F[Value]
def undoBusinessThing(entity: Entity): F[Respect]
}Поясняю за Mid по запросу @aleksei_t
Исходная мысль была такая. Итак у нас есть
trait MyBusinessModule[F[_]]{
def doBusinessThing(entity: Entity, info: Info): F[Value]
def undoBusinessThing(entity: Entity): F[Respect]
}Приветствую, любители реверс-инжинирить Android. Перед вами шпаргалка по Smali - аналогу ассемблера для Android-приложений.
Изначальный текст на русском взят отсюда. Там текст появился из машинного перевода официальной документации.
В итоге, оформил сухой текст + поправил небольшие опечатки и корявости перевода. По поводу замечаний и предложений можете писать либо мне в ЛС, либо оформлять PR на Gist.
| ---------------- Базовое ---------------------- | |
| type Число = Int | |
| type Строка = Text | |
| type Строчное = Show | |
| type ИО = IO | |
| type Сравнимое = Eq | |
| type Упорядоченное = Ord | |
| печатать :: Строчное значение => значение -> ИО () | |
| печатать = print |
| val compileTimes = inputKey[Unit]("Get compilation time for each folder") | |
| compileTimes / aggregate := false, | |
| compileTimes := { | |
| import complete.DefaultParsers._ | |
| // val ((depth, _), filter) = (NatBasic ~ " " ~ StringBasic).parsed | |
| val (depth, filter) = spaceDelimited("depth filter").parsed match { | |
| case Seq(depth, filter) => (depth.toInt, filter) | |
| case _ => sys.error("expected depth and filter arguments, eg '2 /'") | |
| } | |
| val s = state.value |
| trait IdNewtype { | |
| trait Tag extends Any | |
| type Type <: Tag | |
| def apply(value: UUID): Type = value.asInstanceOf[Type] | |
| implicit def ops(id: Type): IdNewtype.Ops[Type] = new service.IdNewtype.Ops[Type](id) | |
| def random() = apply(UUID.randomUUID()) | |
| def parse(s: String): Option[Type] = Try(UUID.fromString(s)).toOption.map(apply) |
| @echo on | |
| REM checked for Windows 10 | |
| REM fork from https://gist.github.com/theultramage/cbdfdbb733d4a5b7d2669a6255b4b94b | |
| REM you may want full list https://gist.github.com/raspi/203aef3694e34fefebf772c78c37ec2c | |
| REM SET attrib=+ATTRIB_HIDE | |
| SET attrib=-ATTRIB_HIDE | |
| REM Hard disk burst ignore time | |
| powercfg -attributes 0012ee47-9041-4b5d-9b77-535fba8b1442 80e3c60e-bb94-4ad8-bbe0-0d3195efc663 %attrib% |
Для тех, кто не следит за интеренетом, собрал драму в нескольких актах. ВОРНЕНГ: ссылки могут не работать, сохраняйте скриншоты.
Статья на хабре https://habrahabr.ru/post/335876/ (читайте коментарии platoff)
Твиты которые могут содержать комментарии (если потёрли)
| import JsEither._ | |
| case class Page(id: Int, name: String, screen_name: String, is_closed: Int, photo_50: String, photo_100: String, photo_200: String) | |
| object Page { | |
| implicit val format = Json.format[Page] | |
| } | |
| case class Profile(id: Int, first_name: String, last_name: String) | |
| object Profile { | |
| implicit val format = Json.format[Profile] |