プログラマーの調べ物

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

"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