53ningen.com

@gomi_ningen's Website

Java8 + AWS Lambda + API Gateway で遊ぶ

この記事では Java8 で書いたメソッドを AWS Lambda に実行させ、その実行結果を API Gateway を用いて外から取得できるような簡単なアプリケーションを作成していきます。

めっちゃ雑にいうと、Java で String を返すメソッドを書いて、その文字列を返す API を作るというようなことをやります。

この際、String を返す Java のコードを実行するのが、AWS Lambda の役割で、その実行結果を取得できるエンドポイントを提供するのが API Gateway の役割になります。

また、ちょっと手を加えるだけで簡単に JSON を返す API を作ることもできるので、使い方次第では遊べるツールになるのではないでしょうか?

固定した文字列を返す API を作成する

まず、あるエンドポイントを叩くと、ただ文字列が帰ってくるだけの API を作成しながら、AWS LambdaAPI Gateway の使い方を確認していきます。

Gradle プロジェクト作成〜実行対象のメソッド作成

gradle で適当にプ...

Read More

ゆきんこ・りえしょんのいちごまみれだよ~公開録音に行ってきた

 2月14日に神戸国際会議場で行われた、ゆきんこ・りえしょんのいちごまみれだよ〜公開録音に行ってきました。

 とりあえず、行きは10時羽田発のANA19便。当日、激しい暴風雨で羽田の滑走路が一本しか空いてないという状況になってしまいました。結局出発は45分遅れ。定刻通りに出発していたらおそらくもうすでに着陸体制に入っているころだったはず...。そんなかんじでなかなか時間的に厳しいかんじで大阪・伊丹に到着。JRのバスで三ノ宮まで移動しました。最初、公録の会場を勘違いしていて、「神戸国際会館」なるところに行ってしまいました。ただしくは「神戸国際会議場」でした。テンパってタクシーに乗って会場入り。到着は13時すぎ...。当然座席は後ろのほうになってしまう。つらい。

 公録はゆきんこさんむっちゃ緊張していて非常に良かった。途中からりえしょんがいいかんじにフォローしてもぜんぜん緊張しっぱなしなように個人的に見えました。ゆきんこさんかわいい...。そして、りえしょんは、真っ赤ないちごまみれTシャツむちゃくちゃ似合うなぁ...。まあいろいろ公録の内容はまだ放送されていないので、そちらをお楽しみに...

Read More

Swift2で静的なDIを実現する謎のソースコード

とりあえず書いたら動いたけど、なんだかよくわかっていないのでコードだけ貼っておきます。元ネタはここ。元ネタでは AppContext で頑張って配線しているけど、めんどうくさいのでどうにかならんのか、と思っていろいろいじってたらこうなった。

いろいろ分かったらまとめて記事を書きます。Xcode の Playground で動いたので、貼っていじってみるとよいのではないですかね。

// A & AComponent
public protocol A {
    func getA() -> String
}

private class AImpl: A {
    private func getA() -> String {
        return "a"
    }
}

public protocol AComponent {
    static var a: A { get }
}

public pro...
Read More

ReSwiftのサンプルコードの仕組みをRxSwiftで実現する

ReSwiftのサンプルコード程度であれば、RxSwiftの機能を使って自前で実装ができてしまうのでは、と考えたので実際にやってみました。不必要に依存ライブラリを増やしたくないという気持ちがモチベーションとなっています。まずは ReSwift のサンプルコード的なものを確認するところから始めます。

ちなみにこの記事は ReSwift を使い始めて数時間の人間が書いているので、間違っている可能性が大いにあります。嘘を嘘と見抜きながら読んでいただけると幸いです(そして、コメント欄で刺してください)。

ReSwift とは?

Redux の Swift 実装らしいです。そもそも Redux がよくわからないのですが、そんなものわかってなくても動くコードはかけそうでした。ということで、とりあえずコードを書いて読んでから、小難しい記事を読んで理解してく方針にして、Redux および ReSwift の解説は他の記事に譲ります。 ...

Read More

飯山市とふるさと納税は最高

飯山市にふるさと納税したら、お礼の品として iiyama のディスプレイが届きました。 デカイし作業しやすいし非常によい。飯山市は最高。行ったこと多分一回もないけど最高だ。

696146367886938113

ありがとうございます。 ...

Read More

Swiftで同期HTTP通信を走らせる

NSURLSession を使って通信を走らせる場合、コールバックやデリゲートなどで後処理を指定する非同期通信となります。基本的に通信処理を非同期で扱うのは正しいと思います。しかし、コールバックやデリゲート、FutureObservable などに縛られず処理を書きたいとなると、同期通信でないと困ります。

そこで強制的に同期通信にしてしまうコードを書いてみました。これで晴れてコールバックを渡す必要も無く、デリゲートを指定する必要もない。そして FutureObservable に包む必要のない状態になりました。

public class HttpClientImpl {

    private let session: NSURLSession

    public init(config: NSURLSessionConfiguration? = nil) {
        self.session = config.map { NSURLSession(configuration: $0) } ?? NSURLSession.sha...
Read More

Copyright © 53ningen.com