Tech Beans

Web企業で働くエンジニアのBlog


Rundeck で履歴を定期パージするためのツール

Rundeck はジョブヒストリーを定期自動パージできないという問題があり、 いつの間にか数万エントリーになっていたりするので、作りました、という告知 github.com

pyenv + venv + direnv で作るPython3環境

pyenv + virtualenvの問題点 Pythonでの開発環境において、 開発ホスト上に複数のバージョンのPythonをインストールしたい場合 … pyenv プロジェクトごとに仮想環境を構築し、モジュールを切り替えたい場合 … virtualenv の2つの組み合わせは一般的に使われ…

Elasticsearch 5.xの新機能と、1.xから5.xへのアップグレード

この記事は、Elastic stack Advent Calendar 2016の11日目の記事です。 Elasticsearch クラスタを1.7 から 5.0.2まで上げたときに、それなりに変更点が多く、苦労しました。 本記事では、そのときのノウハウを元に、 1.xを使っていて、5.xに上げたいと思って…

strongSwan でVPN(IKEv2) を 構築する Part.2 ~ MTU値の調整 ~

特定のサイトにつながらない 前記事で設定したVPNサーバーを経由した場合に、特定の一部サイト(github.com, yahoo.com)にアクセスできないことがわかった。 現象としては、 ping は通るが、80ポートの返答がない https, httpなどプロトコルにはよらない VPN…

strongSwan でVPN(IKEv2) を 構築する Part.1

基本的な手順は参考元サイトをもとに構築していく。 想定クライアント iOS: > 10 OS X: > El Capitan ※今回、最終的にユーザー名・パスワード認証は成功しているが、公開鍵認証はiOS, OS Xのネイティブクライアントで動作できていない。 OSX側の問題の可能性…

PPTP vs L2TP/IPSec vs OpenVPN vs IKEv2

iOS10からPPTPクライアントが廃止されてしまい、 家のバッファロールータで動いていたPPTPサーバにアクセスできなくなってしまったので、この際きちんとVPNサーバーを立ててみる。 まずはVPNの方式について調査。 VPN方式の違い PPTP 古くからある方式だが、…

Docker on vagrant on Windows10

Docker on vagrant Dockerをvagrant上に構築してみる。 ネット上の情報を参考にしてみてもうまくいかなかったので、だいぶ試行錯誤した 目指す構成は以下のとおり Docker Container (CentOS6) on Vagrant (CentOS6) on Windows 10 ※今回はHadoopクラスタ構築…

MarkdownからConfluence HTMLを生成するConverterを作った。

サーバー上での作業途中など、普段の業務メモは手元のエディタにmarkdown表記で記録している。 ところが、技術系の資料はConfluenceにまとめることになっているため、作業終了後はmarkdownで書いた記録を、再度Confluence上で作成しなおすことになる。 そのC…

Capistranoでオペレーション自動化をしようとして諦めた

社内のチームで数十台~のサーバーを管理していて、その上でElasticSearchやHadoopを構築している。 これまで、そのクラスタのオペレーションをほぼ手作業なりシェルスクリプトでやっていて、 手順の再利用性もないし何よりめんどくさいので、 何か自動化で…

GangliaでHDD温度監視

Gangliaにカスタムモジュールを入れてHDDの温度監視をしてみる。 前提 CentOS 7.1 Gangalia 3.7 セキュリティを重視していないので、実験用環境での使用を想定しています Package インストール python モジュールで拡張するので、以下のパッケージをインスト…

CentOS7のKernelを最新版に更新する(yumで)

docker1.9のoverlay networkを試すにはLinux kernel3.16が必要だが、CentOS7では3.10までしか提供されていない。 kernelの更新はelrepoを使えば簡単にできるようなので試してみた。 注意: kernelの更新は危険なオペレーションのため、壊れても良い環境で試し…

RundeckからGmailを使ってメール送信する

Rundeckをジョブスケジューラとして使い始めて、メールをGmail経由で送れるようにした。 OSはCentOS7だが、他でも変わらないはず。 Rundeckのインストール インストールは難しくない。yumで入るはず。 起動もsystemctl start rundeckd.serviceでできる。 詳…

Logictec Bluetooth[LBT-UAN04C1]をWindows10で使う

どこにも情報がなかったのでメモ Windows7からWindows10にアップグレードしたところLogitecのBluethoothアダプタが使えなくなった。 どうやらドライバがうまく認識されていないらしいが、Logitecでも対応ドライバはないようだ。 要はCSRのドライバを削除して…

centos7にdockerをインストール

手順 Centos7用のrpmを使った手順もある(https://docs.docker.com/installation/centos/)が、 以下の公式ドキュメントの方法を使うほうが楽そう。 http://docs.docker.com/linux/started/ この手順でもrpmがインストールされるので、管理も楽。 # 公式の手…

Pythonにおける仮想環境構築ツール

Pythonの仮想環境ツールがいろいろありすぎて混乱するので、整理目的で調査してみる。 ざっと調べた感じでは以下のとおり。 Pyenv 複数バージョンのPythonバイナリを管理するもの。プロジェクト(ディレクトリ)単位での異なるバージョンのPythonが使用できる…

Unite.vimのfile source挙動の変更について

file sourceを開いた時に、これまではデフォルトでカレントディレクトリが入力された状態であったが、下記のコミットでこれができなくなってしまった。 どうすればいいんだろう https://github.com/Shougo/unite.vim/commit/0d8336a4e6036f6100050fa0455896a…

Homebrewで"failed to download"が頻発する件

Homebrewでいろいろインストールできない homebrewで"failed to download"なエラーが頻発しており、lvすらもインストールできない始末。 これの原因がわかったのでメモ。 ついでにChromeでwikipediaを見ると"ERR_EMPTY_RESPONSE"になる件も原因は一緒だった…

【Pythonでネットワーク可視化】graph-toolのインストール

graph-tool 前回NetworkXを使ってグラフを描画したが、主に使用目的がpythonでのデータの可視化であったので、それに特化したライブラリを探していた。 そこで見つけたのがgraph-tool。graph-toolはデータビジュアライゼーションに特化したライブラリとのこ…

【Pythonでネットワーク可視化】NetworkXを使ってみる

NetworkXを使ってみる pythonで100万オーダーのノードを持つネットワーク図を作成したいので、調べてみたところNetworkXというものが使えそう。 NetworkXの準備 Macでの実行なので、pipをインストールしていればすぐにセットアップできる sudo pip install n…

モジュール内部からのカレントディレクトリの取得

実行スクリプトからモジュールを呼び出す場合、モジュール内部からモジュール本体のパスを取得する方法。 単純にos.getcwd()を使うと実行スクリプトのカレントディレクトリを取得してしまう。 呼び出しているモジュール中で、モジュールのカレントディレクト…

mingw-getでのMingwインストール

MinGWのインストール方法がいつの間にか変更されていた。リポジトリを参照してパッケージ管理をするようになった。とりあえず20111118版はアンチウィルスソフトにはじかれるので、以前のバージョンをインストールして、インストール段階で最新のレポジトリを…

synchronous通信中のasynchronous通信について

サーバー側で時間のかかる処理をする場合にプログレスバーを表示させたい。 重いメインの処理はGET+同期通信のレスポンスが返ってくる前に、GET+非同期通信で進行状況を取りたい。Firefox, Chrome, Safariで試したところFirefoxは同時に通信可能だったが、Ch…

Django + South

Djangoではモデルの変更には対応できないのでSouth ( ver0.7 ) を導入。 できること: モデルのフィールドの変更? できないこと: モデル名の変更などモデルの同一性を判別できない以上、リネームは無理っぽいね。それなら手動でやったほうが早いし確実。

Xerces Static Library

Visual Studio 2010でXerces XMLを使ってはまったのでメモ。プリプロセッサの前処理シンボルにXERCES_STATIC_LIBRARYを指定すること。指定しない場合、リンク時に未解決のシンボルエラーが発生する。以上。

MPICH2 on Windows7 64bit with visual studio 2010

1台のPCで並列処理を行う場合、openMP と MPI の2通りがあるらしい。 MPI はPCクラスタ上で実行する分散処理フレームワークだけれども、一台で実行する場合でもopenMP以上の性能が出る場合があるとのことなので、まずインストールをやってみた。1, MPICH2 o…

MPICH2 on Windows7 64bit with visual studio2010

1台のPCで並列処理を行う場合、openMP と MPI の2通りがあるらしい。 MPI はPCクラスタ上で実行する分散処理フレームワークだけれども、一台で実行する場合でもopenMP以上の性能が出る場合があるとのことなので、まずインストールをやってみた。1, MPICH2 o…

続]フォーマット別音楽管理

PCで聴く場合はFlacで、iPhoneなどで聴く場合はaac,mp3みたいにいろんな形式で音楽ファイルを持っていると、いざFlac形式の音楽だけを聴きたい場合にしっくり管理する方法がなかった、ということは過去記事にも書いた。 でも、foobarならいろいろカスタマイ…

eclipse CDTで実行エラー

CDTでバイナリを実行してもコンソール上ですぐに[terminated]となってしまい実行できなくなった件:結論として、ライブラリが不足していると起こるらしい。スタックトレースには のように表示されるはず。一見コマンドプロンプトからは起動できていたので気…

10進数->n進数

10進数->n進数(n = 2 ~ 35)の変換。ググッてもn進数というのはなかなかなかったので。STLは少しおおげさか。 const char *numset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWYZ"; void cardinal_encode(int num, int ocar) { if(num == 0) {cout << "0" << endl;…

C++からPythonモジュールを使う

C++ からPythonモジュールを使うのをやってみた。 id:Wackyさんの記事を参考にhttp://www.linuxjournal.com/article/8497からサンプルをそのまま流用。まずPythonモジュールから。 def hello(): print "Hello, Python!"; return "Success"; 続いてC++ #inclu…

Python C++

研究で大量のXMLファイルを処理しなければならなくなった。 XMLファイル自体はzip圧縮されていて、解凍すると100MBにもなる場合がある。(ほとんど冗長な情報が入ってるだけだけど。。)なのでパースはC++でやらせたい。でもダウンロード、Zipの解凍、XMLの…

Snow Leopard & Python PIL

Oreilly ”集合知プログラミング”とかやってて、PILが必要になったのでインストール。 ソースからインストールしようかと思ったけど、改行コードがDOSばっかりになってたり、コンパイルエラーがイミフすぎだったので、おとなしくportsでインストールインスト…

macbook air

使ってたeee pcではさすがに使い続けるのはつらいので、インターンとかアルバイトでもらったお給料でMacBookAirを買った。これまでメインで使ってたUbuntu&Ubuntuで弱かったマルチメディア関係が整ってる。ってことでとても使いやすい。しばらくデスクトップ…

AmaterasUML

インターンで開発をやっていて、UMLを書けると企画をまとめるのに便利かなーと思って導入してみた。AmaterasUMLをインストールしてみたんだけど、GEFはEclipseのリポジトリからじゃなくて本家から持ってこないとだめらしい。しかしUMLって見た目からしてプレ…

文字コード設定

強制的にEmacsの文字コードを設定したい場合、.emacsに以下を追加(set-terminal-coding-system 'hoge) (set-keyboard-coding-system 'hoge) (set-default-coding-system 'hoge)hogeに指定したいエンコード名を入力。これで表示から入力までエンコード形式を…

同一C++プロジェクトをWindows,Linuxでコミットするとき。

メモ:プロジェクトのコンパイラの設定をMinGC ←→ LinuxGCとで切り替えないと Create Processがエラー吐きます。

Eclipse を3.6にアップデートした

Eclipse3.6がリリースされてる。アップデートのやり方が分からなかったので、毎回新規インストールしてたんだけど、どうやら新規バージョンのレポジトリを追加すると「更新」でできるらしい。3.6でgitが使いやすくなったとの噂だから、そろそろgit導入してみ…

2010年07月14日のツイート

@soymsk: カレンダーから予定がだんだん消えてきた。うれしい。2010-07-15 00:07:26 via Twitter for iPhone @soymsk: 研究室をでた。2010-07-15 00:05:45 via Twitter for iPhone

2010年07月12日のツイート

@soymsk: @okashigasu 小田急から根津って40分以上かかる><2010-07-13 13:05:32 via twitte.rb to @okashigasu @soymsk: @kmt1005 今のとこと近いところに引っ越すかも?。ほんとどうしようね2010-07-13 13:04:08 via twitte.rb to @kmt1005 @soymsk: 引越…

プログラミング書法勉強中

インターンの面接とかしてて、やっぱり自分のコーディングスキルって全然ダメダメだなぁと感じた。ロジックを考えるのは割とできると思うんだけど、それをきれいなコードに書こうとして右往左往してしまう。いろんな言語でもっと早くかっこいいコードが書き…

tortoise でsvn+ssh

Tortoise SVN でsvn+ssh(鍵認証)でも使えるんだけど、いちいちパスワード聞いてくるのでめんどう。 やっぱりリポジトリはApache+SSLに切り替えた方がいいんだろうか。

UbuntuのFlash上でクリックが認識されない件について

4月からUbuntuを本格的に使い始めてる。自サーバーもUbuntu Serverに以降してるので、Linux同士アクセスしやすいし、なによりCUIが使いやすくていい。それはさておき、FirefoxといいChormeといい、なぜか埋め込みのYoutube動画をクリックしても再生されなか…

Partition Wizard Home Edition

Windows のシステムパーティションがかつかつになってきたのでパーティションを変更。 いつも使っているEASEUS Partition Masterは64bitには対応していないので、Partition Wizard Home Editionをつかってみた。こちらもフリーしっかりできていて、十分使え…

曲管理

曲管理でめんどうなことがある。というのも、たとえばCDからFLAC形式で取り込んでさらにipod用にmp3にも変換しておくとする。すると同じタイトルで拡張子が違う2つの曲ファイルが存在することになる。 で、今の曲管理の方法だとアーティスト¥アルバム名¥…

ipod touch

ipod touch 買いました。 今使ってるiriverのMP3プレイヤーが壊れてしまったので買い替えです。最初walkmanにしようと思ってたのですが、店頭でtouchを薦められ触っているうちにどんどん欲しくなってしまい、結局買ってしまいました。3万弱とかなりの出費・…

Subversion Checkout Tips

SubversionでCheckoutコマンドを使用する際の注意svn checkout file:///path/to/repo/project/trunkとやるとカレントディレクトリにtrunkディレクトリが作成されて気持ちが悪い。Tortoiseではちゃんとtrunk以下のファイルがカレントディレクトリに作成される…

KERNEL_ STACK_ INPAGE_­ERROR

KERNEL_ STACK_ INPAGE_­ERRORというエラーがWindows 7 でスリープから立ち上がる時に頻繁に出る。どうやらこれはHDDかメモリあたりがあやしいらしい。メモリはmemtest+でやってPass100%までやったけど、特にエラーなし。HDDはHGSTのものを起動ド…

Maven,Subversion

VCS

最近開発で使うのでちょくちょく勉強中のMaven. OreillyのMaven本を買ったはいいけど、今になってmaven公式サイトから同様のものがPDFでダウンロードできることを知ったorz 4000円オーバーしたような・・・結構ショック。さらにSubversionでいい本ないかなー…

Carradice Bike Bureau

最近運動と節約のため電車をやめて自転車で買い物にいく機会が増えてきた。そこで気になったのがどうやって自転車に買ったものを詰め込むのかということ。というのもいままではフロントにかごをつけていて、便利といえば便利なんだけど、どうにもカッコ悪い。…