dockerで3939してみたよ
あらまし
この記事は
adventar.org
の4日目の記事どす。
docker
最近(?)流行りのあれ
mikutter
Twitterができる多機能クライアント()
やったこと
- 適当な仮想マシンをdockerホストとして用意する
- dockerホスト上でmikutter入りのdockerイメージを作る
- X転送しつつ動かす
- ついでにWindowsホストとdockerホスト間で共有フォルダを作る
- dockerホスト上に複数のmikutterコンテナの永続ボリュームを共通で作る
- mikutterを起動してTLの画像収集が捗る
動いてるところ
↑ 3日くらい放置してたら5000ファイルくらい拾ってきてた
更新
久しぶりに更新しました。
体調は良くないですがなんとか生きています。
Tera Termとtmuxとクリップボード
SLP KBIT Advent Calendar 2014 -23日目-
この記事は
の23日目の記事だよ!
内容が無いよう(´・ω・`)…
最近流行りのクラウド上の負荷分散について書くよ
(当社比)
有名ドコロ
- AmazonEC2
- Cloud n
- GMOクラウド
とか最近耳にすると思う。
特にEC2とかは「○○をEC2上に構築する」とか「EC2のインスタンス使って~」という
内容の記事も目にする機会が非常に多くなった。
詳しくはAmazon EC2(スケーラブルなクラウド上の仮想サーバー) | アマゾン ウェブ サービス(AWS 日本語)とか読もう。
で、本題
ソシャゲとか周りでやってる人も多いし、イベントの時によく鯖が重いとか耳にする。
これはみんな同時にアクセスしに行ってて鯖の処理が追いついていない状態。
こういう大量のアクセスを捌くことを負荷分散と称してあれやこれやしている。
最近の主流
AmazonEC2(特にELB)とかを見てる限りでは、DNSとロードバランサを組み合わせて負荷分散をしている。どういうことかというと、ロードバランサ単体では、ロードバランサ自体にアクセスが集中してしまい、そこで重くなってしまう。DNSラウンドロビン単体だといろいろとまずい面がある。(詳しくはここを読もうDNSラウンドロビン - Wikipedia)
イメージ
┌―→|AP| ユーザ → | | ┌→|LB|→ ┤ ユーザ → |DNS| →+ ├─→|AP| ユーザ → | | └→|LB|→ ┤ └―→|AP| LB:ロードバランサ AP:アプリケーションサーバ _人人人人人人_ > 見づらい <  ̄Y^Y^Y^Y^Y ̄
ユーザがURLを踏む
→ DNSに「このURLのIP何?」って聞きに行く
→ DNSが「xxx.xxx.xxx.xxx」とサーバのIPを返す
→ ユーザのPCがxxx.xxx.xxx.xxxにアクセスしに行く
→ LB「ばかめ!かかったな!振り分けてやる!」
という事になっている
実際の運用
実際はこれに加えて、サーバ側でマシンの台数を変化させたりする。(オートスケール)
実運用時には、アプリケーションサーバの後ろにいるDBについても冗長構成にしてロードバランスするケースもある。その辺はサービスの形態や状況に応じていろいろなケースが見られる。
もっともこういった冗長構成を作るときには、きちんと障害検知なりをして、生きているサーバに振分けられることが保証されていないとマズイ。
おわり
バイト前にそういや今日だったことに気づいてめちゃ雑に書いてる\(^o^)/
SLP KBIT Advent Calendar 2014 -6日目-
アアアアアアアアーーーーーーーーーーー
バイトが午前中からで昨日は早寝してて投げるの忘れてました。
なんか増えてる
今年も無事枠が埋まったようで何より(あれ?なんか一番後ろが空いてるぞ?
本題
学校のファイルサーバにおいてある資料を取ってくるときにsambaを使うけど、
大体Windowsの人なのでWindowsキー+r→アドレスって感じでやってるはず。
(え?スタートメニューからアクセサリ→ファイル名を指定して実行とかしてる人はいないよね?)
Linuxの場合
Linuxをクライアントマシンで使ってる人はどうしてるのかという話です。
Windowsから移ってきてマウスを使ってあれこれするのに慣れてしまってる人は
戸惑うどころかあばばばっばな状態かと思います。
そこで、smbclientを使いましょう。(もしくはマウントしてね)
smbclient
そのまんまなもので、sambaに接続するためのコマンドで、入ってない場合パッケージから入れましょう。(以下例はDebian)
$ sudo apt-get update $ sudo apt-get -y install smbclient
試しに使う。(詳しい内容が知りたい人はこ↑こ↓*1を見よう)
# 接続先のsambaのディレクトリを確認する $ smbclient -L //接続先のドメイン/接続先のディレクトリ名 -U ユーザー名(指定しないとカレントユーザー) # 対話処理で操作する(sftpみたいな感じ) $ smbclient //接続先のドメイン/接続先のディレクトリ名 -U ユーザー名
セッションの接続に成功すると
smb: \> # 対話処理開始。tabキーを2回押すと .. case_sensitive du help lock mkdir posix_mkdir pwd reget showacls unlock ? cd echo history logon more posix_open q rename showconnect volume allinfo chmod exit iosize lowercase mput posix_rmdir queue reput stat vuid altname chown get l ls newer posix_unlink quit rm symlink wdel archive close geteas lcd mask open print rd rmdir tar blocksize del getfacl link md posix prompt readlink setea tarmode cancel dir hardlink listconnect mget posix_encrypt put recurse setmode translate # 使えるコマンド一覧がでる # ファイルを取得する場合 lcdでローカル(自分のマシン)上のディレクトリを移動 cdでsamba上のディレクトリを移動してgetで特定のファイルをローカルに転送する。 そのディレクトリ以下のすべてのファイルを転送する場合はmget。
やっつけだよね
ものは試しなので自分のマシン上にVMでもたてて試してみましょう。
SLP KBIT Advent Calendar 2014 -1日目-
あれあれ?おっかしーなー参加者がすくないぞ???
去年は枠がすぐに埋まってあぶれた人がいたような気がしたのだが…
とりあえず
__________ <○√ ∥ くく しまった!ここは2014/12/01だ! オレが止めているうちに別日に登録するんだ! 早く!早く!オレに構わず翌日以降の枠を埋めるんだ!
本題
サークルのアドベントカレンダーなので思いつきです。
code golf
code golfという単語を聞いたことがあるだろうか。
1年生や2年生で聞いたことがあるという人はそっとブラウザのタブを閉じてエディタを起動しよう。
そうでない人はとりあえず読んでみてくれると書いた手間が報われるかもしれないようなきがするよ。
実例
説明するより実例がいいですね。C言語でやりますよ。
1年生にとってはプログラミングの授業が始まってリアルタイムな話かもしれない。
新しいプログラミング言語を勉強するときに、とりあえず動かすサンプルとして
_人人人人人人人_ > hello world <  ̄Y^Y^Y^Y^Y^Y ̄
と出力させるケースはよくある。
実際にC言語でやると
#include <stdio.h> int main(void) { printf("hello world\n"); return 0; }
となる。
これをcode golfすると………
main(){puts("hello world");}
となる。
お分かりいただけただろうか
つまり、code golfとは、目的の出力をするプログラムをいかに小さく作るかということです。
わかりやすく言うと、可読性をガン無視してとにかく行数を(もっと言うと文字数も)抑えるということです。
授業では、改行やインデントを入れて自分だけでなく他の人が見ても読みやすいように書くことを教わると思います。
正しいのは授業なので、授業等で提出するソースコードは綺麗に綺麗に仕上げてください。
コメントもしっかり書きましょう。
次は誰が書くのかなー?
snmpで遊ぶ
とりあえず遊んでみた
- ubuntu14.04
# install $ sudo apt-get install snmp snmpd # 起動していなければ /etc/init.d/snmpd start # 動くかチェック $ snmpwalk -v 1 -c public localhost