Author Archives: Takeken

About Takeken

I’ve been studying to build SERVERS as hobby. and I’ve been writing a blog to learning construction, operation, maintenance and management about Server.

HHVMのアップデートでお悩みの方へ

いつかのカンファレンスか何かだったと思いますが、HHVMの紹介をやっていてバイナリ変換とか高速化とかすげーなーと影響を受けて、その時の勢いだけでHHVMを採用しました。で、そのあとすぐにPHPでも採用されたような気がします; それはさておき、通常のリポジトリでも安定版のはずですが、WordpressとHHVMの組み合わせの影響なのかアップデートで何回か泣かされているんですね〜。 過去には、アクセス時にHHVMが落ちてしまうとか、404になってしまうとか、すごーくたまにですがこういう現象が起きていました。ググってみるとけっこう同じ症状のことを書いているブログがあった。 んで、今回はもう少しググってみるとあるものが見つかりました。 LTSのリポジトリ が存在しました。 手順的には/etc/apt/sources.list.d/hhvm.listを書き換えて、Apt-get updateしてDLするリポジトリをアップデートして、HHVMをAutoremoveして、LTSから再インストールすると途中で設定ファイルをどうするのか聞かれるので、いままで使っていたのを使うよと伝えるとインストーラーがよしなにやってくれます。 とても簡単ですが、一回removeということをするので設定ファイル等はしっかりバックアップをとっておく必要はあるのかも。 aptやdpkgの知見がある人はロールバックするのもいいかもですね、新しいバージョンが使えますし。 ログを貼ろうと思ってたんですが、寝ぼけて削除していました。 注意点は、LTSのリポジトリがバージョンアップしますが、APTの設定ファイルは自動では書き変わらないのでアップデートを検知する仕組みとか、たまにはメンテナンスしてバージョンをアップデートしないといけなくなります。 参考: CupOf インストールするhhvmのLTSのバージョンを指定する HHVM HHVM Long Term Support

ハッキングシミュレーションゲーム「Hacknet」をプレイしてみた。

いつだったかITプロで「Steam」で遊べるハッキング(クラッキング)シミュレーションという珍しいジャンルの「Hacknet」というゲームが紹介されていたので軽くですがプレイしてみました。 チュートリアルからちょこっと進んだ程度なので、全体像は把握していませんが、ゲームとはいえ少しはコマンドの知識なりがある方が楽しめそうな気がします。なくても大丈夫です。 あくまでゲームなので(重要?というかそこが楽しさというか)ツールの類いはどこかからコピーしてきたりですね。ハッキングシミュレーションであって、ハッカーシミュレーションではないようです。 ハッカーシミュレーションってなんだよって気もしますが、ニュアンスが伝わればいいなあってな感じで。 というかプレイすればわかります。 まずはユーザ作成ですな。インターフェースはこんな感じです。 まずはチュートリアルをしながら、基本的なハッキングの流れとコマンドの叩き方なんかを教えてくれます。 nmapして空いてるポートを見つけてますね。 ls なんかもこんな感じで使えます。ゲーム内のコマンドもあるので使えるコマンドをメモってた方がいいなあと少しメモってましたが、進行途中に出てくるサーバの中にコマンド表みたいなテキストがあるのでとくにメモらなくても大丈夫ですww 最初の方のミッションは色々調べたりしたあとはログが残るからちゃんと消そうぜーという感じだったと思います。 リアル感もありますね。 載せている写真はコマンドベースですが、ちゃんとマウスでポチポチできるようにもなっているので安心してください。 あくまでゲームなのだから。 コマンドの説明をしてくれます。 rm * ですね。 チュートリアルが終わったらこのプログラムをKILLします。 なんかユニークです。 これがたしか最初のミッションです。メールが来てこれ頼む!みたいな感じで、やり取りはメールで進んでいきます。 あんた誰やねんって感じですけど。 んで進んでいくと難度も上がり、時間制限のあるミッションとかもあるみたいですね。 そんな感じです。 Hacknet、900円です。どうですか。 Steamのサイト

あの日見たLambdaの書き方を僕はまだ知らない

Javaだったから、という理由で選んだ本を買ったまでは良かったんだけど、なんか私の知ってるのと違うだ! なんてことになったんで、読んで調べてみると、これラムダという。 Java8になって、関数型インターフェースはラムダ記法で置き換えることができるようになった。 関数型インターフェースとは定義されている抽象メソッドが1つだけあるインターフェースのこと。 だそうだ。 コードで書くとこんな感じ。 普通に実装するばやい、こんな風になるだ。 ラムダ記法にすると、こんな感じになるだ。 短かっ! そして、さらにこう書けた。 いろいろなサイトを見て回って文章とコードを読んでもいまいちわからなかったんだけど、実際に自分の手と頭を使ってコードを書くと頭に入ってくれるだね。 サンプル 実行結果 ナウい言語はこういう書き方に慣れてないと読みづらいので、練習するだよ。

Androidの開発でC++のコードを使うには

最後の更新からずいぶんと日が空いてしまいました。久しぶりの更新です。 英語のアウトプットの方はMy Teacherが別のところでCheckしてくれることになったので、こっちは昔の感じで再構築していこうかと思います。 やっぱり英語+ITの話題となると、ちょっと敷居も高くなっちゃってなかなか手が動かなかなったんですが、ただの英語の日記だとわりとサクサクと書けますね。それに添削もしてくれるのでやりがいもあると。 閑話休題。 再構築の1発目はAndroid。 Androidでググっていると、ネイティブコードとかいう言葉をよく目にすることがあるかもしれません。 C/C++がそれにあたるそうです。 使い方ですが、Android StudioのSDKツールでLLDB、CMake、NDKという3個のコンポーネントを追加してください。 横着な人はプロジェクト作成のときにこの部分 Include C++ Suportにチェックを入れて作業を進めて行くと、〇〇がないからインストールしなよ! って出て来るので、それで入れて進めても大丈夫です。 さて、MinimumSDKとかどうしよかなーとか悩むとこですが、テストなのでそれは置いておいてドンドン進めて行くと、普段見ないファイルが少し増えているぞと。 cppディレクトリにnative-lib.cpp、External Build FilesにCmakeLists.txt というファイルがあるね。 C/C++を使う方法ですが、ndk-build(古い)を使う方法とCMake(新しい)を使う方法があるようで、今回はCMakeを使う方法です。 これらの具体的な仕組みは分かりませんが、これをつかって規則に沿って進めていけばうまくビルドしてくれるようです。 便利なもんだ。 プロジェクトが出来上がって何も手を加えずにビルドしてみてみると、native-lib.cppにあるString設定されている文字列がディスプレイに表示されていることでしょう。 いつものJavaのMainActivityを見ると というところがあります。nativeで宣言して、下の3行でCを呼んでる感じだね。 C++のコードはnative-lib.cppに書くとよさそうです。 では、ここで積み本になっていた技術評論社:C++クラスと継承完全制覇を取り出してC++のコードを書いてみよう。 と、その前にルールをチェックやで。 native-lib.cpp メソッドはこの形式で、第1引数、第2引数はこれで固定らしい。追加は第3から。 あとはDEMO?というか作りたてのコードにあったようにC++内部ではstd::stringで、返す時にはJstring。 これはStringだけども、このような感じのルールらしい。 プロジェクトを生成してできるコードを見るとそのようになっています。 では技術評論社:C++クラスと継承完全制覇のList1-1のコードから抜き出してビルドします。 こんな感じになっています。 ビルドすると 出たけどちょっと寂しい。 ではこの勢いでC++の勉強をしていこうと思います。 せっかく本買ったしなあ、とけっこう貧乏性なんだな。 参考にしたサイト させす技術メモ(自家用)Android Studio 2.2でC++のコードを使う hcreer’s diary Android Studio NDKを使う

Apparently there’s dependencies nginx

There’s to resolve problem and I have to apt-get upgrade otherwise my site might be die. I totally didn’t notice this problem though. First I tried this case how to resolve. BUT, this way wasn’t resolve this problem.Orz Don’t forget restore config file. Actually We have a method that is to resolve a problem. Let’s me show you apt-cache policy. As you can see, default repository is the highest position in this file. I need write this file to success apt-get upgrade and resolve dependence. It’s like this, I can write config file for apt. Let’s me show you apt-cache policy again. dotdeb is having file priority have changed from […]