2017-01-01から1年間の記事一覧

Webサーバを作りながら学んでいる

初めに 少し素振りにScalaを書いている。 タイトル通りだが、以下の本を読みながら書いている。 Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門 まだまだ序盤だが なかなか丁寧に解説されているのと 実験ベースでゆっくり進んでいく。 最…

Byte BuddyのAdvice APIを触ってみる

はじめに 前回から色々と触ってきた Byte Buddyというライブラリですが、自分の頭の整理のために ここに簡単にまとめておく。 Byte Buddyはバイトコード操作用のライブラリがあり その中にAdviceというAPIが存在する。 このAPIでは、メソッドの先頭や最後に…

バイトコード操作でロギング処理を追加する

はじめに 前回はただフィールドを追加するだけのコードを書きました。 なんのひねりもありません。 progret.hatenadiary.com そして今回はメソッドの最初と最後にロギング処理を追加します。 今回は簡単化のため、標準出力に出力します。 今回の記事ではJava…

バイトコード操作でフィールドの追加をする

バイトコード操作を使って 本記事では、フィールドを追加してみます。 対象クラスをAfterのような形に操作してみます。 (テストではstaticな内部クラス) // Before class Some{} // After class Some{ private String foo; } Javassistでフィールドを追加…

ラムダ式、完全マスターした。

今日はここのところずっと調べていたラムダ式、およびメソッド参照について調べていましたので それをこの記事でまとめたいと思います。 まずはじめに。 ここに、テストコードを含む、ラムダ式およびその他のコードをあわせた、3種類のコードを用意した。 も…

MethodHandlesで遊ぶ

初めに 今回出てくるのはこの辺 MethodHandles (Java Platform SE 8) MethodType (Java Platform SE 8) MethodHandle (Java Platform SE 8) MethodHandles.Lookup (Java Platform SE 8) MethodHandleの朝はLookupオブジェクトを作ることから始まる。 Lookup …

無限にTODOアプリを作っていき

今回はReact+TypeScript+Spring Bootで書いてみる。 フロントエンド構成 TypeScript React Webpack Jest (一応入れたけど、習熟度が足りず画面のIFがガンガンぶっ壊れるから現状テスト書いてない) bulma (CSSフレームワーク, そういえばhack使ってみたかっ…

TypeScriptでモデルの型定義を良い感じに管理したい。

効率良くTypeScriptでドメインモデルの型定義を管理したい。 例えばここに、以下のようなツイッターのような投稿を模したモデルがあるとする。 type Post = { id: number, content: string }; ふむ。特筆すべきものはない。 ではこれをモジュールとして型だ…

curlでログインしてAPIを叩く

Spring Bootで作った認証で保護されているAPIを叩く。 ログインページに入って、セッションを確立する -c オプションでクッキーを保存する。 $ > curl -c my.cookie http://localhost:8080/login 以下みたいなクッキー(のファイル)ができるのでcatで確認 $…

Spring Security入門した

はじめに 今回の記事では以下の実装を行ったのでメモ書きとして残しておきます。 EclipseでのSpring Loadedを使ったHot Swap Thymeleaf3とSpring Securityによるフォーム認証 EclipseでのSpring Loadedを使ったHot Swap 公式に見にいくとIDEAしか書いてませ…

TypeScriptとjestでカバレッジを取る

前置き この記事は下記の記事を補足する形で書いていきます。 React + TypeScriptでjestを使ったテストをする - かずきのBlog@hatena この記事で行うのはTypeScriptのテストを行って、jestでカバレッジを取るまでです。 足回り まずはtsconfig.jsonです。と…

TypeScript環境でnycとtapeを使って、カバレッジを取るテスト環境を整える。

初めはavaを使おうと思ってたんです。 下記の説明を見たところコンパイルしてからやってね、みたいな形になっています。 github.com github.com avaはmagic-assertを使っており、jsに対してassertの表示を見やすくするための処理が入ってるはずです。 そのた…

アノテーションを体が欲している:NotNull:NotNull:NotNull

みんなだいすきアノテーション みんな大嫌いアノテーション あの手この手でアノテーション というわけでNotNullアノテーションが付けられたメソッドを バイトコード操作する話です。 NotNull制約をアノテーションだけで実現します。 似たような仕組みはCheck…

JavaFX入門した

やる気ない感じでJavaFXを軽く触ることにした。ごらんの有様だよ!!ドラッグ・アンド・ドロップしたファイル(.jar or .class)をデコンパイルします。 ドラッグ・アンド・ドロップしたファイルと同じディレクトリにdecompiledというフォルダを作成し そこに…

Spring Messaging でのWebSocketメモ

Spring MessagingでのSTOMPは以下の形で設定を行う。 これがなぜ動くのかを軽く探ってみたのでメモとして残しておく。 普通にSpringでWebsocketを使いたいならリファレンスのここ見ればよいかと。 なぜこのリファレンスにあるソースが動くのかを大まかに調べ…

Spring入門した。

遅まきながらSpringを入門した時のメモを書きます。 Spring Bootではありません。 経緯 WebScoketやりたい。 Spring使ってみよう。 Spring WebScoketあるじゃん使おう。 Spring Messagingの連携良さそう。 Stomp、SockJS?よく分かりません。(socket.ioがい…

新卒2年目のエンジニアの自分がやっている、心掛けていること

初めに こんばんは。初めましての方は初めましてかもしれません。少し新年明けて思うところがあったので書いてみます。 ネガティブな話はできるだけ避けて。まず、自分の素性を軽く説明しておきます。新卒で小さいSIerに就職しました。 今は現場に常駐して作…