タグ

ブックマーク / blog.satotaichi.info (11)

  • eclipseで作るSpringアプリケーション開発環境 | さにあらず

    はじめに#ここ最近は、SUN が Oracle に買収されて Java 自体の開発に関する状況が大きく変わってきている。 安定的に動作することを期待されている Java が他の言語みたいにどんどん変化するって方向に変わりたいようだ。 新しいもの好きな人々にとっては話題が多いのは素晴らしいことだろうが、アプリケーションが確実に動いて欲しいと思ってる人々にとっては困った話だ。 僕は SIer の従業員なんで、安定的に動作するってことが Java や JVM の素晴らしさだと考えている。 とはいえ、大きく変化してるってんなら、ちゃんとキャッチアップしておかないと困ったことになるのは自分だ。 そういう訳で、今回は eclipse を使って Spring Boot のアプリケーションを開発するための環境構築について説明する。 エントリの変更点#最初にこのエントリを公開した時には、MockMvc と

    eclipseで作るSpringアプリケーション開発環境 | さにあらず
  • デスマサバイバルガイド | さにあらず

    はじめに#僕がよく知っている業界は SI だが、これに限らずソフトウェア開発の現場には、過酷な現場…いわゆるデスマーチが多いと言われている。 一方で、そのような過酷な現場を渡り歩き生き残ることでしか、良いプログラマになる方法は無いと言った考え方もある。僕の個人的な経験則からすると、この理屈はある程度合っていると思う反面で、合っていて欲しくないという気持ちは強い。 高い技術力をもつプログラマの全てがデスマ職人という訳ではない。 デスマーチに巻き込まれたと気が付いた時の妥当で基的な戦術は撤退戦だ。何か理由をつけて逃げ出すのが望ましい。つまり、休職なり退職なり、異動なりして、その職場から離れるのが望ましい、出社拒否も良い。しかしながら、何か様々な理由があって、そこから逃げ出せないことはあるだろう。 僕はもう長い事デスマーチに関わることなく生きられているが、徐々に忘れつつあるので、若いころに獲得

    デスマサバイバルガイド | さにあらず
    atm_09_td
    atm_09_td 2017/10/12
    これら以外にも洗濯もネックになったりしたなあ。
  • ScoopでWindowsにおける開発環境構築を最適化しよう | さにあらず

    はじめに#Windows には他の OS には無い致命的な問題が一つあった。そう、OS 標準のパッケージマネージャが無いことだ。 Windows10 ではPackageManagementという大変素晴らしい OS 標準のパッケージマネージャが搭載された。 これでコマンドラインだけで開発環境をガンガン作れるに違いない。そう考える人がいてもおかしくはない。正直、僕だってそう思いたい。 PackageManagement の問題点#僕は PackageManagement のアーキテクチャが難しすぎる事は大きな問題だと考えている。このエントリを是非読んで欲しい。 Introducing PackageManagement in Windows 10もうね、何でこんなに大変なことになってるのかと。 いや、歴史的経緯を鑑みつつ、OS に標準搭載されるパッケージマネージャが持つべき仕組みをキチンと備

    ScoopでWindowsにおける開発環境構築を最適化しよう | さにあらず
  • 初学者としてJavaScriptを学ぶ | さにあらず

    はじめに#僕が以前書いたModern JavaScript 概観、そして Electron へは、読んで貰えただろうか? あれは初学者には全く向いてないエントリだ。 あのエントリは、僕の理解したモダンな JavaScript 全体について概観することを目的としているからね。 あれを読んで、「今の JavaScript ってこんなに大変なのか…」と感じた人は多いだろう。 しかし、ある程度のソフトウェアを開発するために技術全般を概観しようとすれば、ああいう分量になるのは致し方ない。 と言う訳で、今回はちゃんと初心者向けのエントリを書いた。 少し多く感じるかもしれないが、丁寧に説明しようとしたからだと好意的に解釈して欲しい。 開発環境#Thinkpad X1 Carbon 2016 年モデルに Windows10 をインストールしてある。 ハードウェアスペックは、こうだ。 CPU i7 6600

    初学者としてJavaScriptを学ぶ | さにあらず
  • RDBとスキーマレスDBの使い分けについて | さにあらず

    はじめに#RDB とスキーマレス DB をどういう基準で使い分けるのかを、会社で聞かれた際に答えた雑な回答をメモ書きしておく。 他にも多くの基準があるだろうし、スキーマレス DB というか KVS は様々な実装があり、そのそれぞれが微妙に違うので議論として曖昧な部分はある。 特に、運用面やデータ量がペタバイトクラスになる状況については考慮していない。 僕は SI 戦士なので、最終的には金を無限に突っ込んだ Oracle 先生が最高のデータベースであると考えている。 そういうバイアスのある人間の意見だと思って以下の文章は読んで欲しい。 念頭に置いているデータベースについて#このエントリを書くにあたって念頭においているデータベースは以下の通り RDBOraclePostgreSQLMySQLスキーマレス DBMongoDBAmazon DynamoDB最初は Redis を DB と書いていた

    RDBとスキーマレスDBの使い分けについて | さにあらず
  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplatemaster ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っているfrontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っているデフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っているはじめに#最近の JavaScript について#僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。どちらも便利

    Modern JavaScript概観、そしてElectronへ | さにあらず
  • Kotlinに対する雑感 | さにあらず

    1.0.0 がリリースされました。やりましたね。 僕の観測範囲内に見えることが増えてきたので、興味位で少しずつ触っています。 まず、ブラウザだけで試せるチュートリアルが大変素晴らしいので、Kotlin が肌に合うかどうか確認するといいですよ。 Kotlin Koansjs で実装されたエディタなのにシンタックスハイライトだけでなく、入力補完がガンガン効くので凄く良い。 僕の理解#大体 3 日くらいかけて言語仕様やマニュアルの類を読みながらチュートリアルをこなした結果、 Kotlin は 安全な次世代の Groovy であるという理解に到達しました。 僕が Groovy に対して持っていた不満は、大体以下の通り。 ランタイムがデカ過ぎるgroovy-all-2.4.6-indy.jar が 6.5Mバイトコードエンハンス等の危険な黒魔術がカジュアルに動く型がありそうで、実は殆どない型があま

    Kotlinに対する雑感 | さにあらず
  • Circle CIでJavaを使ってビルドする | さにあらず

    ここ何日か Circle CI を使ってみて何となく分かってきた事をまとめておきます。 完成した circle.yml だけ欲しい方はこちらをどうぞ。 checkout: post: - chmod +x ./gradlew machine: timezone: Asia/Tokyo environment: GRADLE_OPTS: -Xmx4G -Dorg.gradle.daemon=true JAVA_HOME: /usr/lib/jvm/java-8-oracle post: - sudo service mysql stop - sudo service postgresql stop dependencies: pre: - sudo apt-get install software-properties-common - sudo add-apt-repository -y

    Circle CIでJavaを使ってビルドする | さにあらず
    atm_09_td
    atm_09_td 2015/11/30
  • 「Javaの鉱脈」でJVMオプションの記事を書きました | さにあらず

    WEB+DB PRESS の Vol.82 に、かなり気合いの入った JVM オプションの記事を書いたので、是非読んで頂きたい。 2014/8/23 発売ですので、既に購入頂いてる方も多いと思います。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.82@Gihyo Digital Publishing今回の記事における対象読者について#今回の記事は、ターゲットとして Java に余り時間をコミットしていないけども便利なので JVM 上で動くアプリケーションをウッカリ運用している人をイメージしながら書きました。 例えば、OSS ものだと Hadoop や ZooKeeper、Lucene や Solr、商用製品だと Stash とか JIRA とか confluence とかそういうものですね。 僕の観測範囲だと、PHP

    「Javaの鉱脈」でJVMオプションの記事を書きました | さにあらず
  • Guiceで簡易的なプラグインシステムを構築するには | さにあらず

    Java 界隈には OSGi といういかついダイナミックモジュールシステムがあるのですけども、これは解決しようとしている問題の量が非常に多いのでちょっとしたものを作るために使おうとすると非常に辛い。 そもそも、アプリケーションのブートストラップ部分から全部 OSGi ベースで作りこまないと良い感じに動いてくれません。 そこで、OSGi を前提としたアーキテクチャ設計が必要になるのですけども、ちょっと便利なツール作りたいだけなのに膨大な時間をかけて OSGi を勉強するかと言われると、しませんよね。 という訳で、Java において簡易的なプラグインシステムを Guice で作ってみましょうという話です。 尚、Spring 界隈で実現する方法については@makingさんのエントリをどうぞ。 DI コンテナで実現する簡易プラグイン機構コードの場所#必要に応じてエントリ内にコードはありますが、実際

    Guiceで簡易的なプラグインシステムを構築するには | さにあらず
  • go言語のテスティングフレームワークについて — さにあらず

    長いので結論だけ先に。 BDD風味に違和感が無いなら、Ginkgoがオススメ。 もっと軽くてシンプルなのが良いなら、Testifyがオススメ。 テスト対象となるコード 公式のHow to Write Go CodeからYour first libraryにあるコードを持ってきます。 package go_testing // Sqrt returns an approximation to the square root of x. func Sqrt(x float64) float64 { z := 1.0 for i := 0; i < 1000; i++ { z -= (z*z - x) / (2 * z) } return z } 標準で組込まれているテスト用ライブラリについて testing.* 実用性は確かにあって必要なものは揃ってる感あるのだけど、僕にはいくばくかの辛みがあ

  • 1