技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Java

複数のインストール済み Java を速攻で切り替える jenv

つってもそんなに難しい話はない。 Install Mac なら brew だよね。 $ brew install jenv Homebrew 知らない人はこっち。 brew.sh ちなみに Windows だと jenv.io なるサイトで Windows で動く Jenv 頑張ってたらしいのだけど、消えていた(2020/09/20 現在)…

Kubernetesの勉強がてら勉強会

参加してきたのは以下。 SpringBootでマイクロサービスを作ってKubernetesにデプロイしてみる【実践編】 dreamarts.connpass.com 尚、当日資料は下記。 github.com K8S とは? コンテナオーケストレーション技術。 コンテナオーケストレーションは、 コンテ…

TSVInporter を H2 で動くようにしてみた

github.com TSV インポーターを作ってみた。 とりあえず H2SQL だけ対応した。 非常に残念なことに、java.sql.Types の中に定義してある型を、各 DB がどんな型として扱うのかは、JDBC の実装依存らしい。 そのため、極論するとデータの型変換は、DB の種類…

Checkstyle の Metrics 近辺の内容を日本語で分かり易く

checkstyle.sourceforge.net 個人的にチェックスタイルでもっとも素晴らしいチェックの項目群だと思うのだけど、これで引っかかると、意味が理解できなくて直すの止める人とか、「チェックが開発の邪魔だ」とか言ってくる人が多いので、なるだけ分かり易くメ…

ちょっとだけ書いたメモ(2)

昨日の続き。 テーブルの形を知らずに Insert だけぶち込むのは、INSERT 文をむりくり生成してやればできなく無いのだけど、その場合文字列とか日付型とか、利用者側が型を意識しなくてはならず、扱いがめんどい。 というか TSV 作るときは、値だけあってれ…

ちょっとだけ書いたメモ

TSV をテーブルにぶち込むライブラリがあったらテスト捗るかなーと思って少しづつカキカキ。 UT コミでおよそ 1h 目的がテスト用途でしかないので、Iterable とか Stream で返すのは諦めた(というかめんどくさかった)。 作りを見えばわかるけど、UTF-8 で…

React とか Gradle とか

Mac に Java と Node と Gradle と React 突っ込んで連携させようとしたメモ Homebrew 話はそれからだ インストールは超簡単 ここ 見てコピペすればok 次はJavaだ 最近バージョアップでゴタゴタ感のある Java だけど、Oracle に付き添う気はないので、Zulu …

誰かの作ったビルド環境だけで仕事してた人も、ビルド環境構築を覚えるべき理由

Java を例に挙げますが、大体他の言語でも一緒。 半分ライブラリの紹介。 環境構築を覚える理由 ビルド環境をIDEとかに頼らず自前で作ることには大きな意味があります。 それは、自動ビルド、自動テスト、CI への入門になります…のも大きな理由ですが、 何を…

入門向け?Java11 と gradle5.0 で JUnit5 を動かすセットアップ

と言ってもそんな難しい話ではない。 Java11 JDK インストール OracleJDK は有償になってしまったので、ZuluJDK をインストールする。 とくに難しい話はなくて、インストーラーを起動するだけでいい。 注意が必要なのは、すでに OracleJDK 10 以下が入ってい…

Java8 の Stream が物足りない人たちへ

www.vavr.io 言ってみれば、Scala 並の Collection を Java で提供するライブラリ。 何がいいって、Tuple とか Either 型もあるから、クソッタレな null や throw とおさらばできる。 その昔 javaslang (java.lang があるなら俗語があってもいいよね)と名…

JUnit をもう少し管理者にみやすくしてみた

今日紹介するのはこれ。 Scala でザクッと作ってみた。 github.com 制作時間は調べ物 6h 、実装 4h か… まだまだ精進が足りない。 こいつは先日書いた、JavaDoc を XML で吐き出すメモ - 謎言語使いの徒然 と、JUnit の結果をマージして出力するツールだ。 …

JavaDoc を XML で吐き出すメモ

やりたい事が何かと言うと、外部プログラムにおいて、Java クラスのリスト取得と、そのドキュメントを引き抜きたいと考えた。 しかしながら、単純に javadoc のコマンドだけ実行すると、HTML ファイルが出てくる。 これは JavaDoc コマンドの仕様であり、基…

Java/Scala 比較。一定期間の曜日ごとの購買集計

単純なお題。 標準出力から、日数と、その日数に応じた日々の購買金額が入力されたとき、曜日ごとの集計額を計算しなさい。 ただし日数は 7 の倍数であることが保証され、曜日の先頭は日曜日である。 入力例: 14 日間を指定、各日付の購買数は、下記の通り…

Kuromoji 形態素解析を使ってみた

ぶっちゃけこれ kuromoji - japanese morphological analyzerwww.atilika.org Scala2.11.6 +SBT 0.13.x で使ってみたログ。 まずは build.sbt libraryDependencies ++= Seq( "org.atilika.kuromoji" % "kuromoji" % "0.7.7" ) にこんなん書いて、 import org…

google_diff_match_patch

Google 先生で採用している Diff ライブラリ。 https://code.google.com/p/google-diff-match-patch/ jar 配布なしで、ソースでの提供です。Apache2 ライセンスなので、安心して使えますね。 各種言語で可能な限り同じ使い勝手を想定しているのか、命名規則…

Webjars が何気に便利だった件

公式サイトは http://www.webjars.org/ 何ができるかというと、様々な JavaScript ライブラリの css やら js やらを手動で assets とかに突っ込まなくても利用できるようにしてくれるライブラリ。 知った経緯は TypesafeActivatoer でPlayframeworkのサンプ…

JavaでActorを書く

並列で処理させるには複数のインスタンスを作る必要がありますが、ざっくりActorを実装。 Actor ってなんぞや? http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%A2%E3%83%87%E3%83%AB アクターモデルのこと。 Simla とか Smallta…

Twitter4J でざっくりデータを引っこ抜く

事前に https://dev.twitter.com/ でアカウント登録と、アプリケーション登録を済ませておくこと。 参考はこれ使うのはこれhttp://twitter4j.org/ja/index.htmlで、application.conf *1に twitter { consumerKey = "ZZZZZZZZZZZ...." consumerSecret = "AAAA…

形態素解析ライブラリを触ってみる【Igo】

先ず適当なディレクトリを掘って、ダウンロード - Igo - SourceForge.JP と MeCab - Browse /mecab-ipadic/2.7.0-20070801 at SourceForge.net を配置。 MeCab のtarボールは解凍しとく。 で、 C:\common\projects\lab\Igo>dir ドライブ C のボリューム ラベ…

Ubuntu12にJava7突っ込む

$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java7-installerこんだけ。

シェル実行監視プログラムをさくっと書いてみた。

まずは結果を受け取る構造体。(bean にしたきゃすればいい) public class ExecutionResult { public String execDir; public String execTarget; public int resultCode; public ArrayList<String> stdResult; public ArrayList<String> errResult; } シェルの仕様上、戻り値</string></string>…

ProcessBuilder注意点

java の process builder と、シェルの仕様に嵌められたとかそういう話。 ことの発端は、シェルで書いたプログラムをどうテストしようかとか考えた所から。 なんせユニットテストしようっても、結果がXMLで出てこないってから、どうにかjunitに乗っけようと…

Jenkinsいじってみよう

一人だと要らないんだけど、複数人で始めるとどうしても要るよね。てことでメモ。 https://wiki.jenkins-ci.org/display/JA/Jenkins インストール方法はマジ簡単。ServletContainer で動かすか、 java -jar jenkins.jar詳しいのは ここ セットアップ自体はか…

日曜にやったことぺたり

色んなコードを逆コンパイルして、実装眺めてた。 ても、結構色んなパターンやったくせにログが残ってないので、やったことの記憶を辿って一部だけ。 (貼りつけるだけで面倒)まずは object の実装。 package sample object HelloWorld { def tak( x:Int , …

WCF Webサービスに、JavaからWindows 認証してみる

とりあえず、統合Windows認証にしとくと非常にタチが悪いので、NTLM(Kerberos抜きのWindows認証)設定をWCF側に設定しとく。 このとき、認証を、Messageではなくて、TransportOnlyにしておいた。 wsHttpBinding では、どうも TransportOnly ができない、、、…

Javaクライアントで統合Windows認証Webサービスを使えないか

サンプルとか資料無くて悶絶。 とりあえず候補をいくつかメモ。JAX-WS にコレ組み合わせるとよいらしい? http://jcifs.samba.org/ソース元 http://markmail.org/message/573z2n7k3ndxrpjz何となく使い方っぽいもの http://jcifs.samba.org/src/docs/ntlmhtt…

使えそうなツールを列挙してみる

JUnit(テストフレームワーク)コレは有名。いまさら隠してもしょうがないwdjUnitJUnit でコードの何処を走らせたのか、また、走ってないコードは何処の行かを判定し、教えてくれるツール。 世の中便利になったものだ。コード分析のソフト3つ http://checkstyle…

Javaで束縛(bind)とか

こんなんやったら絶対怒られるよな。使ってる要素は、 Generics,匿名クラス,autoboxing 位だろうか?やってみればわかるが、変数「map」が関数終了後もメモリに存在し、束縛される。 map の型と、インターフェースを弄れば、キャッシュ実装できるんじゃね? …

Jython突っ込んでみた

西尾様の新書が出てて、Jython本だった。 衝動買い。Javaは好きじゃないが、Pythonは大好き。 業務ではJavaだけど(;・∀・)個人のコーディングで、Javaが必要なときはコレ使うわー なんせ蛇依存(じゃいぞん)だから。

今更だけど、Java 1.6 新機能で気になったもの

元ネタ http://java.sun.com/javase/ja/6/webnotes/features.html個人的に気になった部分をメインに抽出。 Arrays に copyOf と copyOfRange メソッドが追加 配列とか普通によく使うから恩恵大きいだろうか? /* old */ int[] newArray = new int[newLength]…