いきさつ 今まで何も考えずに npm install して、 var module = require('module-name'); して使ってきたが、 Node.jsについて知らなさすぎて、 node_moduleディレクトリ配下に格納されているmoduleをみても、 ぜんぜん読めないことに気づいた。 exports.mod…
いきさつ 社内で使用するシステムの開発が一旦落ち着いたので、 本番環境構築することになった。 といってもすでにテスト環境を構築しているので、 慣れたものである。 種々のインスタンスを立ち上げ、ansible用のユーザを作成し、 playbookの諸々の設定位置…
いきさつ 空行を検出するスクリプトを書いていた 古池や 蛙飛び込む 水の音 をシェルに読み込ませ、空行があったときに 「空行があるよ」というスクリプトを書いた。 ※ 実際の処理を簡略化してます #!/bin/bash while read line do if [ $line = '' ]; then …
1つのファイルを複数のディレクトリにコピーしたい dir1, dir2, dir3にfileをコピーしてばらまきたい。 結論 echo dir1 dir2 dir3 | xargs -n 1 cp -v file 読み解いてみる xargs とは 標準出力をコマンドライン引数に変えるコマンド。 今回の例で言えば、e…
いきさつ 今年の冬、linuxの資格であるLPICのレベル1を取得した。 資格のレベル自体は大したことないのだけれど、 社長「お祝い何がいい?報酬とは別に、どこかお店つれってったげる」 社長「みんなで高いお店行こー!」 私「それなら」 私「すき焼きやりま…
curlの使い所 スクリプトから直接URLを叩きたい時 パラメータを変えてたくさんのリクエストを贈りたい時 こんなときはcurlが便利。 フォームデータを投げたいときは-data, -dオプション curl --data form_name=form_value http://www.example.com/ POSTでフ…
パケットキャプチャとは サーバさんたちがどんなおはなしをしているのか、 ぬすみぎきすることだよ(白目) いきさつ ホスト間とコンテナ上のnginxがどういう通信をしているのか気になった。 普通のサーバへの通信と変わらないのかな。 こういうときは実験だ…
CoreOS toolbox使ってたらこんなエラーがでた CoreOSでtoolboxコンテナを使い、 Ctrl-wで無理やりコンテナを抜けた。 そしていつものようにtoolboxを起動したら、 $ /usr/bin/toolbox らこんなエラーがでた。 Failed to allocate scope: Unit core-fedora-la…
いきさつ networkやセキュリティ、telnetデーモンを叩き起こすxintedの勉強がてらやってみた。 手順 0. 準備 0-1. telnet-server用のコンテナを走らせる $ docker pull centos:centos7 $ docker run --privileged -d --name centos_test centos:centos7 /sbi…
結論 $ apt-get update は、パッケージリストの更新を行う。 具体的に言うと、 /etc/apt/sources.list にかかれているURLから、 パッケージインデックスファイルを引っ張ってきて、 $ cd /var/lib/apt/lists に格納している。 いきさつ 1. Dockerで構築したu…
手順 1 $ git log して、取り消したいコミットのハッシュをコピー 2 $ git revert ハッシュ して、 コミットを取り消すコミットをする(ややこしい) 3 $ git push origin master remoteにpush まとめ 自分のブランチならいいけど、 他の人も使っているブ…
ホワイトハッカーとは ハッキングの手法を熟知し、それを防御のために使ういいハッカー。 対義語はブラックハットハッカーとかクラッカーとか言われる。 ハッカーの攻撃手法 ハッカーの攻撃手法は、だいたい以下の用な手順になる。 偵察 スキャニング アクセ…
CyberRebeatとは ハッキングを題材したノベルゲーム。 CyberRebeat -The Fifth Domain of Warfare- 作中、とあるハッカーはこう言います。 "僕らにとって、世界は不安なほどに穴だらけだ"、と。 ボタン一つでネットに繋がっているOA機器が検索でき、 10ド…
以下の手順でDockerでubuntuを動かした イメージ取得&コンテナ起動 $ docker pull ubuntu $ docker run -d -ti --name ubuntu ubuntu /bin/bash コンテナにはいる(bashプロセスの立ち上げ) docker exec -ti ubuntu /bin/bash apt-getが動かない。。。 $ a…
linuxのアーキテクチャを確認する方法 dockerで走らせているubuntuのアーキテクチャがわかんなくなったので、 確認したい。 方法1:unameコマンド $ uname -m x86_64 方法2:環境変数で確認 $ getconf LONG_BIT 64 まとめ 64bitということがわかった。
MySQL、ちょっとだけ試したい時がある 「indexってどうやって貼るんだっけ?」 「外部キー制約ってどういうふうに効いてくるんだっけ?」 「ちょっとSQLの練習がしてみたいなぁ」 というとき、 DBとして残すほどではないけどMySQLを試したいな〜と思います。…
カレーを作るクラスを考える 玉ねぎきって、 じゃがいもをむいて切って、 カレールーをとかす。 そんな料理を実現するクラス群を作って考えてみます。 before まずはfacade patternを使わずに書いてみます。 ソースコード class Onion { cut() { console.log…
原則 たーのしー!と思ったことをやる 以上。 何をやるのか LTでウケを狙いに行く ウケたとき楽しかったから。 ブログ記事でウケを狙いに行く 読まれると楽しいから。 karoten512.hatenablog.com karoten512.hatenablog.com こういうのをどんどん書きたい。 …
はじめの認識 httpプロトコルとtcpプロトコルは全然別物だと思ってた。 今の認識 実際別ものだった。 しかも使われるレイヤが違った。 httpにとってtcpはインフラみたいなもの。 httpが上位のレイヤ(アプリケーション層) tcpが下位のレイヤ(トランスポー…
思春期あるある 思春期を超えたことがあるみなさんなら 共感していただけると思うのですが、 突然親が部屋に来訪してくるとビビりますよね。 やましいことがあってもなくてもビビりますよね。 今回は、 linuxなら、 親が勝手に部屋に入ってこれなくなるので…
開発中よく目にするエラー Permission denied. 環境構築中、よくこのエラー見ますよね。 よく見る割に「とりあえずsudoで無理やり対応」という雑な対応が多い気がしたので、 まずはパーミッションについて整理してみようと思いました。 前提 そもそも、linux…
rpmとは パッケージ管理システム。 パッケージとは、すごくざっくりいうとwindowsでいう「ソフトウェア」にあたる。 rpmはそれを管理するシステムなので、 linuxに何かパッケージをinstallしたり、 uninstallしたりするときに使用する。 rpmを使用してみる -…
共有ライブラリとは 共有ライブラリとは、 「いろんなプログラムから使えるプログラムの部品」 実際に共有ライブラリをみてみる たとえばvimが使用している共有ライブラリ。 $ ldd /usr/local/bin/vim linux-vdso.so.1 => (0x00007ffcae5e8000) libm.so.6 =>…
Gitコマンド、呪文みたいだよね みなさんこんにちは。 git push origin master Git、いきなり使い始めると、 Gitコマンドがただの呪文のように見えますよね。 Gitコマンド使い始めの頃は、 ハリーポッターででてくる浮遊呪文 「ウィンガディアム・レヴィオー…
このシリーズについて このシリーズは 後先のことをなにも考えずに実装してしまう『早とちりプログラマ』 と すぐに仕様変更を加える『後出し上司』 のという魅力的な2人から、 デザインパターンの有用さを学んでいこうという素敵な企画です。 (早とちりプ…
このシリーズについて このシリーズは 後先のことをなにも考えずに実装してしまう『早とちりプログラマ』 と すぐに仕様変更を加える『後出し上司』 のという魅力的な2人から、 デザインパターンの有用さを学んでいこうという素敵な企画です。 (早とちりプ…
Angular2/4を使ってmodalウィンドウを表示する bootstrap標準のmodalウィンドウを、 Angularから開こうと頑張った話です。 bootstrapとAngular以外は使っておりません。 Angular2/4を使ってmodalウィンドウを表示する 0. 準備 0-1. プロジェクトの作成 0-2. …
はじめに この話はいい感じにフィクションです。 登場人物 わたし(26)…会社員 ボーカル(20代後半) ギター(20代後半) M 時刻は22時を回ったところ。 吉祥寺サンロードは、まるで一方通行になってしまったみたいだ。 人々はみんな、駅の方へ向かって歩いている…
commitとは結局なんなのか 結論 commitとは、 どのセーブ地点にも戻ることができる 高機能な「セーブ」 解説 RPGのセーブとGitのcommitを比較してみます。 RPGの「セーブ」 ここに冒険の書v0.1があります。 冒険が進んだので、冒険の書v0.2として保存しよう…
ngOnChangesを使って、子に渡したプロパティが変わったことを検知する 親コンポーネント /** app.component.ts */ export class AppComponent { public datas = 1; onClick() { this.datas ++; } } <button (click)="onClick()">押してください</button> <app-child [parentProperty]='datas'></app-child> 子コンポーネント