プログラマーの調べ物

プログラマーが調べ物をするときに役に立つサイトを作ります。

"Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."

Ansibleで以下のようなエラーが出たときは、一度sshでログインして、fingerprintを残しておけばOK。 TASK [Gathering Facts] ******************************************************************************************** fatal: [app1]: FAILED! => {"f…

Playbookに変数を埋め込む

以下のように、debug-var.ymlに変数を設定してみる。 $ cat debug-var.yml --- - name: check variable action hosts: localhost vars: my_name: test machine tasks: - name: output my_name value debug: msg: "variable my_name's value is {{ my_name }}…

Ansibleで複数ホストに疎通確認

Inventory IngventoryとはAnsibleから操作する対象を定義するもの。 Inventoryファイルには、INI形式のファイルにホスト情報を記載できる。 [app], [db]のように、[…]で区切られた部分はセクションと呼ばれ、見出しの意味を持つ。 前回まで1行でhostsに書い…

Git Workflowでspikeブランチやprototypingブランチを作るということ

複数人で開発を行っているときは、他の人に開発中のソースコードを見せるのが望ましい。 まだちゃんとテストしてないけど、とりあえずコミットしたソース、というのをコミットするブランチがspikeやprototyingと呼ばれるブランチだ。 このspikeに色々とコミ…

ファイルやフォルダのアイコンはopenclipartで見つけるといいと思う。

以下のサイトのアイコンがすごくよかったのでメモ。 openclipart.org

Ansibleでリモートサーバのコマンドやシェルスクリプトを実行

リモートのサーバ上にあるhoge.shを実行してみる。 # cat hoge.sh #!/bin/sh echo "hogeeee" exit 0 [root@localhost script]# これをAnsibleホストから実行するには、以下のようなPlaybookを書く。 $ cat command.yml - name: execute shell script hosts: …

Ansibleで別のサーバにNginxをインストールしてみる

正直、感動した。 こんなに簡単にサーバが作れるなんて…。 site.ymlを以下のように書く。 $ cat site.yml --- - name: Ansible Example hosts: all become: true tasks: - name: Install libselinux-python yum: name: libselinux-python state: present - n…

Ansibleのpingを使って接続確認をしたら "to use the 'ssh' connection type with passwords, you must install the sshpass program"エラーが出た。

以下のホスト情報で接続を確認。 $ cat hosts vm-machine ansible_host=192.168.62.130 ansible_port=22 ansible_user=root ansible_ssh_pass=root_pass 以下のコマンド実行。 ansible all -i hosts -m ping すると、"to use the 'ssh' connection type with…

vagrant upを実行したら"VirtualBox is complaining that the kernel module is not loaded."というエラーが出た

vagrant upでエラーが出た。 VirtualBox is complaining that the kernel module is not loaded. Please run `VBoxManage --version` or open the VirtualBox GUI to see the error message which should contain instructions on how to fix this error. 指…

CentOS7にVagrantをインストール

まずはVirtualBoxをインストール 標準リポジトリにはVirtualBoxは含まれていないため、VirtualBoxコミュニティが公式に提供しているリポジトリからインストールする。 # yum install epel-release # cd /etc/yum.repos.d # wget http://download.virtualbox.…

pipでAnsibleをインストールしたときにエラーが出た

Ansibleをインストール 以下のコマンドでインストールする。 # pip2 install ansible すると、以下のようなエラーが発生。 unable to execute gcc: No such file or directory error: command 'gcc' failed with exit status 1 ----------------------------…

CentOS7にpipをインストールする

python-devel を入れる yum -y install python-devel pip を入れる packageをアップデートする yum -y update python-pip をインストールする yum -y install python-pip で、いけるはずが、エラー。 [root@localhost ~]# yum -y install python-pip 読み込…

ElectronでHello Worldアプリを作成する

ElectronはGitHubによって開発されたデスクトップアプリケーションフレームワークです。 AtomやSlackのクライアントアプリもElectronを使って作られています。 electronのhello world appを作ってみましょう。 まずはnpm install -g electronでelectronをイ…

WidowsにDockerをインストールする

Docker Toolboxのダウンロードとインストール 以下からインストール。 https://www.docker.com/products/docker-toolbox インストール後、「Docker Quickstart Terminal」を実行 Docker ToolboxがDockerを動作させるための仮想環境を作成 デスクトップのOrac…

Angular2でComponentにURLのパラメータを引き渡す方法

前回の記事の続きです。 次はURLに指定されたパラメータをコンポーネント側で受け取って表示してみます。 以下のようなリクエストを送るものとします。 http://127.0.0.1:8080/#/friend/1234 この「1234」をコンポーネント側に渡したい。 そのためにはどうし…

Angular2でルーティング機能を実装する

Angular2でルーティング機能を実装してみます。 Single Page Applicationでは、URLを変更することで、サーバにリクエストを送ることなく、画面に変化をつけることができます。 HashLocationStrategyというのは、ハッシュサイン(#)をURLに付け加えることで、U…

npmを使ってAngularプロジェクトの雛形を作ってみる

npmを使って、Angularプロジェクトの雛形を作ってみます。 フォルダ構成は以下のとおりです。 今回の目標は、ブラウザにHello Angular2!と表示させるところまでです。 npm init -yコマンドで、まずはpackage.jsonの雛形を作ります。 package.jsonを以下のよ…

TypeScript+AngularでHelloWorldを表示する。

index.htmlはこんな感じ。 <html> <head> <script src="//unpkg.com/core-js/client/shim.min.js"></script> <script src="https://unpkg.com/zone.js@0.6.21"></script> </head></html>

TypeScriptでクラスやメソッドを定義する。

TypeScriptでクラスを作る構文は以下のとおりです。 class Person { firstName: string; lastName: string; age: number; ssn: string; constructor(firstName: string, lastName: string, age: number, ssn: string) { this.firstName = firstName; this.la…

Visual Studio CodeでTypeScript&Angular2の開発環境を準備する

まずはシェルが必要 Mac、Linuxの場合、ターミナル Windowsの場合は、Git Bashを利用する Node.jsをインストールする 既にインストール済の場合は、以下を参考にnodeの環境をすること。 npm必須。 14.04 - How do you update npm to the latest version? - A…

Spring Bootを起動させてもすぐにShutdownしてしまう場合にやること

http://stackoverflow.com/questions/39363570/spring-boot-application-shutdown-immediate-after-starting こちらの回答の通りにやったらうまくいった。 The only possible explanation i can think of is that tomcat embedded jar is not included in th…

GradleでTomcatプロジェクトを実行する

gradle init --type java-library で雛形を作ります。 次に、build.gradleを以下のように書きます。 /* * This build file was generated by the Gradle 'init' task. * * This generated file contains a sample Java project to get you started. * For mo…

GradleをインストールしてEclipseに取り込む

Gradleのインストール brew install gradle を実行。 コマンド build.gradleに以下を記述。 task hello << { println 'Hello Gradle World!' } で、 gradle hello を実行すると、task helloが実行される。 taskの一覧表示は gradle tasks ビルドスクリプトに…

ThymeleafでListを繰り返して表示してみる。

Thymeleafのth:eachを使って、繰り返し表示してみます。 package com.example; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.…

Spring BootでThymeleafを使ってViewを実装してみる。

ThymeleafはWebアプリケーションと親和性の高いテンプレートエンジンです。 テンプレートエンジンとは、雛形となるドキュメントに対し、可変データを埋め込むことで動的にドキュメントを生成する仕組みのことです。 Themeleafを使ってViewを作ってみます。 p…

Spring Bootでフォームアプリケーションを作成する

Spring Bootでフォームアプリケーションを作ります。 テキストボックスに値を入力 ↓ それをコントローラーで受け取って、モデルオブジェクトに突っ込む ↓ モデルオブジェクトの内容を別のHTMLに表示する というありがちな流れを作ってみます。 まずは、フォ…

Spring Bootでフォームを送って結果を返す

とりあえずって感じですが、formタグで囲まれた情報をJava側に送りつけて、その結果をHTMLで返すサンプルです。 まずは、HTTP GETで情報を送信するHTMLです。 account.html <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8" /> <title>SAMPLE</title> </head> <body> <form action="/result"> <fieldset> <input type="text" name="name" /> </fieldset></form></body></html>

とりあえずExpressを動かしてみる。

Node.jsのフレームワーク「Express」を動かしてみます。 package.jsonには以下のように記述します。 { "name" : "MEAN", "version" : "0.0.1", "dependencies" : { "express" : "latest", "glup" : "latest" } } で、server.jsを書きます。 var express = re…

NPMでGlobalモードでインストールしたパッケージはどこにインストールされるのか?

NPMには2つのインストールモードがあります。 ローカルモードとグローバルモードです。 Unixベースのシステムの場合、/usr/local/lib/node_modules/にインストールされます。 Windowsの場合、C:¥Users¥%USERNAME%¥AppData¥Roaming¥npm¥node_modules にイン…

Macで8080番ポートでLISTENしているプロセスをkillするコマンド

以下のコマンドで、8080番ポートでLISTENしているプロセスをkillすることができます。 $ kill $(lsof -t -i:8080) http://stackoverflow.com/questions/11583562/how-to-kill-a-process-running-on-particular-port-in-linux/11596144

Spring Bootで画面遷移型アプリケーションを作成する

Spring Bootを使えば画面遷移型のアプリケーションも簡単に作ることができます。 テンプレートエンジンとして、次のライブラリがサポートされています。 Thymeleaf FreeMarker Groovy templates Velocity Mustache JSPの利用はさまざまな制約があるため、推…

Spring BootでRESTfull Webサービスを作成する

RESTful Web サービス Spring Bootでは簡単にRESTful Webサービスを作成することができます。 RESTとは「REpresentational State Transfer」の略で、クライアントとサーバー間でデータをやりとりするアプリケーションを構築するためのアーキテクチャスタイル…

Spring Bootで作成したjarを8080以外のポートを指定して起動する

前回の記事ではSpring Bootで実行可能jarを作成する手順を紹介しました。 次は、作成したjarを起動させてみましょう。 jarはポータビリティが高いため、別環境でも動かせます。 その際、8080ポートだとJBossやtomcatなどと競合することがあるでしょう。 それ…

Spring Bootで実行可能jarを作成する

実行可能jarを作成する Spring Bootでは実行可能なjarを作成できます。 これはwarファイルをWebアプリケーションサーバにデプロイするといった面倒な作業を省き、java -jarでWebアプリが起動できることを意味します。 実行可能jarの作り方は簡単です。 以下…

Spring Bootを使い始めるためのチュートリアル

Spring Bootは2013年に開発が始まり、2014年4月にバージョン1.0がリリースされました。 Spring Bootを使えば最初からさまざまな機能を利用することができます。 アプリケーションサーバにデプロイするという面倒な作業を省き、mainメソッドを実行するだけでW…

Web開発環境を準備する

必要なツール Node.js Gulp Gulpがやってくれること GulpはSassやJSの圧縮などの作業を行ってくれる「タスクランナー」と呼ばれるツールのことです。 タスクランナーにはGulpの他に、GruntやBroccoliなどがあります。 Gulpがやってくれる作業は以下のような…

Spring BootでBasic認証を導入するpom.xml定義

Spring Bootで Basic認証を導入するのは非常に簡単でした。 pom.xmlに以下の定義を追加します。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> なんとこれだけで、basic認証が実現できます。 パスワードは起動時のログに設定されますが、明示的…

Spring Bootでデータベースにアクセスしてみる。

Spring BootではSpring JDBCが簡単に使えます。 DBアクセスが必要なアプリケーションも非常に簡単に作ることができます。 正直、拍子抜けするくらいに。 pom.xmlに以下を追記します。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId></artifactid></dependency>…

Spring BootでテンプレートエンジンThymeleafを使って画面表示

テンプレートエンジンとしてThymeleafを使ってみます。 まず、pom.xmlに以下のように依存性を追加します。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 次に、Controllerを作成します。 package com.example; import org.springframework.ste…

全てのJSPでタグライブラリを自動設定する

JSPのタグライブラリをいちいち全てのJSPファイルに書き込むのが面倒な人もいると思います。 全部に書く場合は書き漏れも心配です。 そのような人はweb.xmlに定義を追加しましょう。 <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> <include-prelude>/WEB-INF/include.jsp</include-prelude> </jsp-property-group> </jsp-config> この定義を追加して、/…

JSPのページエンコーディングを設定して文字化けを解消する

こんな感じで、文字化けが発生してしまった。 最初はこんな感じで書いていました。 これを変更していきます。」 <html> <body> <h2>Hello World!</h2> <ul> <li><a href="<c:url value='/echo' />">エコーアプリケーションへ</a></li> </ul> </body> </html> 上のJSPを以下のように変更しました。 <%@page pageEncoding="UTF-8"%> <html lang="ja"> <head> <meta charset="utf-8"> <title>Hello JSP!</title>…</meta></head></html>

MacにDockerをインストールする

HomebrewでDockerをインストールします。 インストールコマンド 以下のコマンドでDockerをインストールします。 $ brew cask install virtualbox $ brew install docker $ brew install docker-machine $ brew cask install docker-toolbox インストールの確…

MEANアプリケーションを構築する準備をする。

MongoDBをインストールする こちらの記事を参考にして、Homebrewでインストールします。 http://qiita.com/hajimeni/items/3c93fd981e92f66a20ce HomebrewでMongoDBをインストールするコマンド。 brew install mongodb MongoDBを起動します。 mongod --confi…

Sassを活用する以前の基礎知識

Sassのインポート機能 Sassでは、@importを使うことで、他のファイルを読み込むことができます。 importは読み込み元のファイルのある場所から読み込みたいファイルをたどれるようにしなければなりません。 たとえば、main.scssにcomponents/common/_header.…

Mac上HTML/CSSのコーディング環境を構築する

コンパイルとは、SassをCSSに変換することです。 Sassのコンパイルには、ソフトウェアを使ってGUIで実行する方法と、CUIで行う方法がありますが、一般的にはCUIを使います。 Node.jsをインストールする Homebrewを使ってインストールしましょう。 brew insta…

JBoss Application Server5をインストールしてみる。

brew install wgetでwgetコマンドをインストールします。 wgetでJBoss Application Server5をダウンロードします。 wget https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA-jdk6.zip/download downloadという名前でwgetさ…

JBoss Application Server5の目次

環境構築編 Homwbrewを使ってMac環境にJDK7,JDK8をインストールする JBoss Application Server5をインストールしてみる。

Homebrewを使って、Mac環境にJDK7,JDK8をインストールする

JBoss5をインストールして、稼働させることを目的としているのですが、まずはJDKのインストールが必要です。 僕のMac環境にJDKをインストールするところから始めます。 まずJBossを動かすためには、JRE(Java Runtime Environment)が動作する環境が必要となっ…