Mastodon の API を叩くには以下の手順を踏む必要がある:
- OAuth2 クライアントを登録する
- アクセストークンを取得する
- アクセストークンを
Authorization
ヘッダに指定して API にアクセスする
Mastodon の Apps API に登録情報を送ってクライアントを払い出してもらう(一度だけやれば OK).
Mastodon が他のインスタンスと情報交換をする OStatus API の使い方。使ってるだけのユーザは知る必要がない裏側の話。
Mastodon インスタンスに対して、RFC6415 が規定する /.well-known/host-meta
というパスを要求すると以下の XML が返ってくる.
<?xml version="1.0"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
<Link rel="lrdd" type="application/xrd+xml" template="https://[MASTODON_HOST]/.well-known/webfinger?resource={uri}"/>
</XRD>
This is a document describing how to install Ubuntu 16.04 LTS on ThinkPad T470s.
#include "lets_split.h" | |
#include "action_layer.h" | |
#include "eeconfig.h" | |
extern keymap_config_t keymap_config; | |
// Each layer gets a name for readability, which is then used in the keymap matrix below. | |
// The underscores don't mean anything - you can have a layer called STUFF or any other name. | |
// Layer names don't all need to be of the same length, obviously, and you can also skip them | |
// entirely and just use numbers. |
// ref. https://gist.github.com/cvogt/9193220 | |
// See the example in http://slick.lightbend.com/doc/3.2.1/gettingstarted.html | |
// I add an optional `buyer` column to Suppliers: | |
class Suppliers(tag: Tag) extends Table[(Int, String, String, String, String, String, Option[String])](tag, "SUPPLIERS") { | |
... | |
def buyer = column[Option[String]]("BUYER") | |
... | |
} |
import akka.actor.ActorSystem | |
import akka.http.scaladsl.Http | |
import akka.http.scaladsl.model.{HttpMethods, HttpRequest, StatusCodes, Uri} | |
import akka.http.scaladsl.unmarshalling.{FromEntityUnmarshaller, Unmarshal} | |
import akka.stream.ActorMaterializer | |
import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport | |
import scala.concurrent.{ExecutionContext, Future} | |
import scala.util.{Failure, Success} |
ローカル環境で Kubernetes を構築できる Minikube (https://github.com/kubernetes/minikube) を使っていろいろ試してみる。
公式の手順にしたがって手元のマシンに minikube
と kubectl
をインストールする。基本的に VirtualBox で動かすので併せてインストールする(Linux の場合は --vm-driver=none
を使えば Docker 上で動かせるが起動時にセキュリティ関連の設定をするように警告が出る)。
下記の記事の手順にしたがって操作してみる。minikube start
で k8s を起動したあとは kubectl
を使う。ダッシュボードを出すには minikube dashboard
。
import $ivy.`io.skuber::skuber:2.0.5` | |
import skuber._ | |
import skuber.json.format._ | |
val nginxSelector = Map("app" -> "nginx") | |
val nginxService = Service("nginx").withSelector(nginxSelector).exposeOnNodePort(30001 -> 80) | |
import akka.actor.ActorSystem | |
import akka.stream.ActorMaterializer |
import sys | |
import timeit | |
sys.stdout.write("numpy array: ") | |
print( | |
timeit.timeit( | |
"[iter.next() for i in range(0, 60000, 100)]", | |
setup=""" | |
import numpy as np | |
import chainer |
import argparse | |
import timeit | |
parser = argparse.ArgumentParser() | |
parser.add_argument('--number', type=int, default=10000000) | |
parser.add_argument('--device', type=str, default="native:0") | |
parser.add_argument('--nargs', type=int, default=2) | |
parser.add_argument('--wrap-variable', action='store_true', default=False) | |
parser.add_argument('--batch-size', type=int, default=1) | |
args = parser.parse_args() |