覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

Kotlin - 名前付き引数

Javaで例えば、Book というクラスを定義するとして属性には以下を持つものとします。 Book title : 本のタイトル author : 著者 price : 価格(円) isbn : ISBN-13 remarks : 備考。(あれば何か書く。特に無いかもしれない) これを単純にJavaのクラスとし…

Kotlin - コレクションの生成

Javaでのコレクションの初期化とKotlinの関数でのコレクションの初期化を比較してみます。 コレクションの内容と、実クラスを表示してみます。 Javaのコレクション JavaにおけるList生成 List<Integer> list1 = Arrays.asList(1, 2, 3); System.out.printf("Data -> %</integer>…

Kotlin - 例外処理

「Kotlinイン・アクション」 を読みながらの写経まだまだ続いております。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア…

Kotlin - 繰り返し処理

Kotlin における while ループは Java と同じですが、 for ループは、Javaにおける for-each に該当するものしか存在しません。 いわゆるインデックス指定での for ループはありません。 whileループ Kotlin には while と do-while のループが存在していて…

Kotlin - when式

Java で switch文を使って処理を分岐するケースは、 when 式で記述します。 例えば、数値型の値を条件にとって 値が 1 なら ''Value is One" と出力する 値が 2 なら ''Value is Two" と出力する 値が 3から10 なら ''Value range in 3 .. 10 (value = xx)" …

Kotlin - Intellij IDEAで REPL

Kotlin ではREPLの機能が備わっているので、わざわざmain関数書いたりしなくても、 ちょっとしたコードを試すときにはREPLを利用するのが便利なケースがあります。 REPLは Intellij IDEA からも実行できるようになっています。 「Tools」→「Kotlin」→「Kotli…

Kotlin - クラスとプロパティ

「Kotlinイン・アクション」 を読みながらの写経続いております。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本…

AWS 認定ソリューションアーキテクト – アソシエイト

AWS 認定ソリューションアーキテクト – アソシエイト(AWS Certified Solutions Architect - Associate)の資格を取ってみました。(合格しました) 規約的にも細かな試験内容等書いたりはしませんが、受けてみた感想とか書いてみます。 もちろん、今回私が…

「失敗から学ぶRDBの正しい歩き方」

「失敗から学ぶRDBの正しい歩き方」 を読んでみました。 失敗から学ぶRDBの正しい歩き方 (Software Design plus)作者: 曽根壮大出版社/メーカー: 技術評論社発売日: 2019/03/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る 内容紹介では以下…

Kotlin - 文字列テンプレート

「Kotlinイン・アクション」 を読みながら相変わらず写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行…

Kotlin - 変数の基礎

「Kotlinイン・アクション」 を読みながら写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフト…

Kotlin - 関数の基礎

「Kotlinイン・アクション」 を読みながら写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフト…

「基礎からわかるTCP-IP-ネットワークコンピューティング入門-第3版」

「基礎からわかるTCP-IP-ネットワークコンピューティング入門-第3版」 を読んでみました。 基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版作者: 村山公保出版社/メーカー: オーム社発売日: 2015/02/26メディア: 単行本(ソフトカバー)この…

「イラスト図解式 この一冊で全部わかるセキュリティの基本」

「イラスト図解式 この一冊で全部わかるセキュリティの基本」 を読んでみました。 イラスト図解式 この一冊で全部わかるセキュリティの基本作者: みやもとくにお,大久保隆夫出版社/メーカー: SBクリエイティブ発売日: 2017/08/30メディア: 単行本この商品を…

「FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣」

「FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣」 を読んでみました。 話題になってる本なんですかね?素直に面白かったです。 FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正し…

Java 8 での java.nio.Files#existsは遅いのか?

Java 7で導入されたNew I/O API(NIO2)。その時に新規クラスとして、java.nio.Files などが増えました。 このクラスで、java.io.File のコードを置き換えることなどが可能です。 今はjava.io.Fileクラスではなく、NIO2の機能(java.nio.Filesクラス)を使うの…

HomeBrew で AdoptOpenJDK 11をインストールしてみる

macOSにJava 11をインストールしたかったので、HomeBrewでインストールしてみました。 ちなみにインストールしたのは、AdoptOpenJDK です。 Java 11 (AdoptOpenJDK)のインストール 以下実行して AdoptOpenJDKをインストールします $ brew cask install ado…

Go Conference 2018 Autumn に行ってきたよ #gocon

Go Conference 2018 Autumn に参加してきましたので、自分用のメモ。 といっても、今回は実務でゴリゴリにGolang使ってる人やGolangにかなり深い知見のある人の発表で、 正直自分の知らない単語拾いに行った感じでした。 概要 開催場所 Google Tokyo office …

ElectronでHello World

もう腐るほどやられてるとは思いますが、Electronで Hello Worldやっておきます。 というか、そもそも公式の electron-quick-start に従えばいいだけなんですが。 今回の私用のメモとしてののHello Worldは、以下の前回エントリの続きという感じになっていま…

Yarnを使ってみる

最近になって今更感かなりありますが、electron や Node.js を触り始めました。 パッケージを環境に導入するには、npmコマンドを利用するのが当然だと思ってたんですが、 Yarnというツールも存在している様ですね。いやー、この界隈全然詳しくないです。 Yar…

「ドラゴンクエストXを支える技術」

読書の秋なので、ということではないですが「ドラゴンクエストXを支える技術」を読んでみました。 ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏 (WEB+DB PRESSプラスシリーズ)作者: 青山公士出版社/メーカー: 技術評論社発売日: 2018/11/1…

Node.js で Hello, World

Node.js をインストールしましたので、とりあえずは Hello World やっておきましょう。 REPLでHello World Node.js は REPL を備えていますので、REPL使ってとりあえずやってみます。 ターミナルで node を実行すると Node.js の REPLが起動します $ node > …

macOS に入れてたNode.js(npm)をアップデートする

以前なにかの作業の時にnodebrewを使って、Node.jsをmacOS(npm)にインストールしました。 現在インストールしているものより、新しい安定板がリリースされているのでアップデートすることにします。 正直手探りでやってる感があるので、このやり方が正当な…

Node.js (npm) をWindowsにインストールする

最終的に、Electron でのアプリ開発がしたいわけなんですが、 その開発環境構築のためにも何はさておき Node.js (npm) をインストール必要があるので、インストールしました。 正直誰でもできるレベルのものですが、念のために手順をメモしておきました。 (…

Go言語 - システム情報を取得する

Golangで、システム情報というかOSのuptime(稼働時間)が取得したかったんですが、 Go sigarを利用すると楽そうだったのでお世話になります。 とりあえず、ライブラリのダウンロードを行います go get github.com/cloudfoundry/gosigar uptimeとか取得して…

Windows 10 - All Users のスタートアップフォルダを開く

Windows 7 だとAll Users のスタートアップフォルダの場所にExplorerなんかでも簡単に行きつけるんですが、Windows 10 だとすぐ迷子になってしまいます(行きつけません)。 というわけで、今後迷子にならないためのメモです。 場所は通常であれば以下パスに…

Go言語 - 置換文字列を一部置換しなかったらどうなるの?

fmt.Sprintf などでフォーマット文字列を置換する場合に、置換対象のパラメータが複数あることもあります。 その際に、置換すべき値の数が合わないとどうなってしまうのかな?と思って一応試してみました。 http://127.0.0.1:%d/%s というフォーマット用の文…

bashのProcess Substitutionを利用したdiff

bashに Process Substitution(プロセス置換) という機能があるのを全然知りませんでした。 詳しい説明は別の方の記事を参照ください。。。 たとえば、この機能をdiffコマンドと組み合わせて使ったりすると効果的なようです。 diffは、入力対象としてファイル…

例外のスタックトレースが出力されなくなる

Javaアプリケーションを実行していると、ずっと出力できていた例外(Exception)のスタックトレース(StakTrace)が出力されなくなる場合があります。 気づいてみたら、あれ?ログに例外のスタックトレースが出ていない! というような状況に出くわすことが…

truncate(ftruncate) はサイズを切り詰める(減らす)だけじゃないよ

Linuxのシステムコールの truncate, ftruncate は、対象のファイルのサイズを切り詰めるものです。 書式は以下の通りです。 #include <unistd.h> #include <sys/types.h> int truncate(const char *pathname, off_t length); int ftruncate(int fd, off_t length); 引数 pathname / </sys/types.h></unistd.h>…