サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
www.masudak.net
2016年ですね。年末年始はテレビを見ながら、本を読んでぶらぶら過ごしています。 今月末にTOEICを控えているので、単語を大量に覚えてまして、いいアプリがあったので紹介します。 TOEIC対策として、有名な本があるのご存知でしょうか。その名も「 新TOEIC TEST 出る単特急 金のフレーズ 」。金フレとして有名な本ですが、この本がアプリにあったので、入れてみました。 「zuknow」といいます。 金フレ専用のアプリというわけではなく、自分の好きな参考書を選び、それを利用できるタイプでして、その参考書のなかに金フレがあるということですね。 こんな感じで選べます。 単語帳はこんな感じで、英語がでて、英語をクリックすると発音が、下のハテナをクリックすると日本語訳が出ます。 右下の「Explanation」を押すと、熟語などがでます。 左下の「Dictionary」を押すと、英英辞典の意味と
インターネット・スマホ時代の英語学習法。今どきの学び方をオススメします! で書いたように最近英語を話す知り合いを何人も作っています。 その環境のなか英語の勉強を進めているのですが、自分のボキャブラリーはどれくらいあるのだろうと気になり、調べてみたところ、ボキャブラリーを測れるサイトをいくつか見つけたので、記事にしてみます。 ちなみに、ボキャブラリー数ですが、調べてみるとこのような印象になりました。 語彙数 レベル 1000-2000 中学 1800 英会話 2800 英検2級 2900-4000 高校 2500-8000 非ネイティブの人 5000 大学センター試験 5400 NHKビジネス英会話 6000 英検準一級 8000 英検1級、英字新聞読める 8000-12000 英語難関大学入試 12000 ネイティブ13歳前後、TIMEを読める 20000 ネイティブ社会人レベル 2500
英語の勉強にハマっている@masudaKです。 Readingに関してはコンピュータ系の資料などで触れてはいるものの、それ以外のスキルに関してはほとんど受験とか院時代のままになってまして、テコいれしようと10年ぶりぐらいに英語を勉強しているので、僕のやりかたをまとめてみます。 学生のころは、本やCD、英会話教室など色々やったのですが、もう少し効率よく生の英語に触れられないかと思い、完全にやりかたを変えてみました。 調べてみるとすごく便利な環境が整っているので、今の子は羨ましい限りですが、せっかく優れた環境があるので、書いてみます。 チャット仲間を作る まず最初にやったのが日常的に英語を使い、ともに教え合える知り合いを見つけることでした。そういうのを「language exchange(語学交換)」というようですが、パートナーを気軽に探せるサービスがあるので、使ってみました。 その名も、 「
みなさま、perl使ってますでしょうか。 タイトルは釣りですが、結論から言うと、ワンライナーを書くならperlを使いましょうという話です。 理由は単純に、パッケージいれなくてもすぐ使えるのと、perlスクリプトを解読するのに知識が生きるからという理由からですね。Pythonでも同じなので、そこは止めません。 障害対応をしているとワンライナーを使うことも非常に多いので、使い方を説明してみます。是非覚えてみましょう。 オプション説明 まず、オプションの説明をしていきます。 -lオプションは改行を入れてくれます。また、ワンライナーのコマンドとして実行するには-eオプションが必要です。 1 2 3 4 5 6 $ perl -le 'print "Hello"' Hello # lをつけないと、こうなる $ perl -e 'print "Hello"' Hello% 次にこういうファイルをベース
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「\$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 のようにしておくことで、 スペースが入っ
ちょっと気になる症状があって、どう追うのがよいのか分からなかったんでけど、呟いたら色々ご意見もらったので、その調査ログ。 メモに残してから随分時間かかってしまった… まだ整理しきれていない部分があるので、あとで続き書くかも。多分。 ご意見・ご指摘あったら是非宜しくお願いします。 発端 発端は、logrorateが走るタイミングでrsyslogにHUPが送られるんだけど、どういう挙動になるのか、なぜそのHUPが必要なのかを追いたくなった背景がある。 決まった時間に走るんだけど、どうもその時間帯の挙動が気になったので、追ってみようと思った次第。システムコールレベルはごめんな(ry ソースとしては以下の部分 vi /etc/logrotate.d/syslog /var/log/kernellog /var/log/messages /var/log/secure /var/log/maillo
curlコマンドのお話し。cURLって書くんですな。 対向のサーバとのやり取りを追いたいときに、通信内容を見たいわけですが、そういうときにcurlコマンドはちょくちょく便利なので、書いてみる。 要はtcpdumpとか使ってパケットまで見る必要はないんだけど、レスポンスとかは見たいときに便利だよって話し。 その1. 普通に使う $ curl 'http://www.normal.com' <<中略>> var k=/^http:/i;if(k.test(g)&&google.https()){google.ml(new Error("GLMM"),false,{src:g});delete i[f];return}d.src=g;h.li=f+1},lc:[],li:0,Toolbelt:{},y:{},x:function(a,b){google.y[a.id]=[a,b];return
前回の記事「Git中級者に送る便利なコマンド群」でははてブ経由で多くのコメントを頂きました。今回の記事では、頂いたコメントのうち、いくつか取り上げて、可能な限り補足をしたいと思います。 git push origin master -f 前回の記事で最も多くご指摘頂いたのがmasterに対するforce pushに関してでした。結論から言うと、これはやっちゃいけませんね。 forceが必要になるときでパッと思いつくのはgit commit –amend後であったり、git rebase後なのですが、これらは過去の歴史を書き換えているので、共同レポジトリとかでやってしまうと、他の人がpushできなくなってしまうのですね。 AさんのローカルレポジトリAと、BさんのローカルレポジトリBをもとに再現させてみましょう。ディレクトリAもディレクトリBもともに、リモートからcloneしてきたものです。
最近React, fluxアーキテクチャに触れることがあり、理解にかなり苦しんだので、軽く文字にして、理解を深めてみました。 今回使ったフレームワークはReduxなので、それ以外学びたい人はごめんなさい。 レポジトリはこちら。 https://github.com/masudaK/flux_sample これから学ぶという人は、redux/counter_webpack配下のコード見れば十分だと思います。見方はREADMEに書いておいたので、ぜひ読んでください。 webpackビルド版以外にも、browserify版も置いてあります。また、webpackのほうにはAJAXで通信する処理も追加してあります。 触ってみた感想 昔HTMLやCSSはやってたし、nodeも多少は読んでいたので、ちょっと勉強すればできるだろうと思いましたが、甘かったです。かなりキツかった。どうも、fluxアーキテクチ
Gitを使っていて、ちょくちょく便利だなと思うコマンドに出会うので、メモ残しておきます。実際中級者の方には物足りないかもしれませんが、とりあえず。目次は以下。 自分がいじったファイルを一旦退避させたい ツリーが今どういう状態になっているか確認したい 今まで作業をやったことを振り返って、特定の過去に戻りたい リモートブランチをチェックアウトしたい コンフリクトがあったファイル一覧を表示したい 間違ってremote masterブランチにpushしてしまったので、取り消したい マージコミットを消したい 過去のまとまったコミットをまとめたい ここから載せるサンプルは、以下のフローが既に処理された前提で話します。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 適当にファイル作成、push $ touch sample.txt
新サービスのたちあげで、プロビジョニングツール(ChefとかAnsibleとか)のテストを継続的にやりたいなーと思っていたので、環境を作ってみたという話です。 やりたいことは以下。 ChefなりAnsbileでサーバプロビジョニングの内容をコード化 特定のトピックブランチ上でそれらが開発され、リモートレポジトリにpush そのレポジトリ上のプルリクをトリガーに、Jenkinsへフック Jenkinsに作っておいたCI用のジョブが走り、docker build build後serverspecが走り、テスト 結果を通知 色々やりかたはあると思いますが、今回は↑のフローを想定して、設計をしました。今回はAnsbileを使ったので、Ansibleの説明となります。 Docker まずCI環境用にDockerの環境を作ります。 Ubuntu用ドキュメント、CentOS用ドキュメント、Mac用ドキュ
最近ブログ書いてないので、リハビリがてら書いてみる。 最近新しいプロジェクトに関わっているのですが、どうせ最初から作るなら暗号化もちゃんと検討しようということで、Vaultに触れてみました。 Vaultの概要については以下の記事などがあります。 Vault参考訳 HashiCorp社が出したVaultとはどういうものなのか 要はデータの暗号化・復号化をいい感じでやってくれるツールです。保存先にはconsul, file, オンメモリ, zookeeperが選べまして、とりあえずファイルでやってみました。 では、使い方を。 まず、インストールページからzipをダウンロードします。 展開すると、「vault」という実行ファイルだけが展開されるでしょう。 1 2 # ./vault -v Vault v0.1.2 次に Server Configurationに従って、設定ファイルを作ります。
みなさま、Pythonのパッケージ化はしたことありますでしょうか?最近以下のような記事を書きましたが、ツールを作ったものの、それを配布しようとなると、Pythonのパッケージ化に関して分からないことがあり、pypiにパッケージを登録して試してみました。 Python製コマンドラインツールのディレクトリ構成について。その考察 setup.pyには何を書くべきか これらの記事を書いたときの自分の考えは以下のとおりです。 「pip install -e .」してコマンドにパス通すの、微妙すぎる setup.pyで、scriptsなりconsole_scriptsを使えば、コマンドが/usr/bin配下にインストールされパスを通すことができるので、どちらかでやったほうがいい 前者であればmain関数を用意せずとも、ファイル名を書くだけなので、そのほうが楽だと思える コマンドにパスを通すという観点で
前回のPython製コマンドラインツールのディレクトリ構成について。その考察。の続きです。 はてブコメントやFBでのコメントでsetup.pyに関する言及がいくつかあったので、どのようなことを書いたほうがいいのか調べてみました。 setup スクリプトを書くやいくつかのソースコード読んでみた範囲ですが、前回の記事のsetup.pyを見直したくなったので、まとめておきます。 前回の記事で書いたsetup.pyは以下。 1 2 3 4 5 6 import os from distutils.core import setup setup(name='SAMPLE_PROJECT', version='1.0.0' ) 正直ちゃんと理解してなく、かなり雑でした。ので、色々見なおした結果以下のようなものに。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
はじめに 去年ぐらいからPython製のコマンドラインのツールをいくつか作っていて、構成もだいぶ固まってきたので、まとめてみる。規模としては1ファイルでは終わらないぐらいで、関数の数も数十になってユーティリティを作ったり、クラスをいくつか作らないと、保守がしにくいような規模のものを想定しています。工数としては1日では終わらないけど、2週間はかからない程度の規模を想定。 構成 ということで、まず構成をさらしてみます。 こんな感じ。 SAMPLE_PROJECTレポジトリがあったとして、その具体的な構成が以下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 . ├── README.md ├── RELEASE.md ├── TODO ├── bin │ ├── command1 │ ├── comm
またもや、Rubyネタ。ちょくちょく更新して参ります。 外部コマンドを実行するやり方については、このサイトにまとまっています。 んで、なんかいいライブラリないかと。 が、今回僕が欲しかった機能として、 コマンドが叩ける(当然 標準出力・標準エラー出力サポート(叩いて終わりはダメ。そのコマンドのエラーメッセージが見たい 例外処理がしやすい であります。 systemだと、例外処理は終了ステータスで処理できるけど、どんなエラーを吐いてるか分からないから、このコマンドがエラーを吐いてますとしか言えない。 Open3.capture3だと、エラーは出力することができる。だけど、コマンド失敗した時点でOpen3自体がエラー処理して、そこで止まってしまい、例外処理しにくい。コマンドこけても、継続させることが不可能とか。 systemuは組み込みじゃないので、可能であれば避けたい。最後の手段にしたい。
Elasticsearch(以下ES)を触ってみたい人が周りにもちょくちょくいるので、書いてみる。半分は備忘録。 1. まずはインストール 公式サイトのインストールページ にRPMとかがあるので、インストールする。 このページにあるように、レポジトリの登録をして、インストールしてもよい。 2. 起動、動作確認をする 「/etc/elasticsearch/elasticsearch.yml」は特にいじらなくてもESは動くようになっている。 (2014/06/30: 追記) ただし、cluster.nameを設定してないと、同一クラスタ名のものが同一ネットワークにいるとクラスタを組んでしまうので、cluster.nameだけは設定しておこう。 セットアップガイドにもご丁寧に書かれているが、CentOSであれば、以下で起動できる。 1 $ sudo service elasticsearch
夏はビールがことごとくうまいなと感じる@masudaKです。 少し前にHadoop専用サーバの環境構築をする機会に恵まれたのですが、ディスク構成をどうするかでわりと目新しいことばかりだったので、備忘録も兼ねて文字に起こしておきます。 前提として、HadoopのMasterではJobTrackerとNameNodeが動いて、SlaveではTaskTrackerとDataNodeが動いてるとします。DataNodeが動くSlaveはクラスタ構成になっていて、HDFSによってデータが分散・冗長化されているとします。 今回の記事ではジョブのデータを読み書きし、IOに対するケアが必要なSlaveのディスク構成を対象とします。Masterはメタデータなど大事なデータは保存してますが、読み・書きの量は少ないのと、単にRAID1で組んでおけば、ディスクに対するケアはそこまで必要ないので、この記事では取り上
最近、Ruby率が高くなってきた@masudaKです。 ちょいとアクセスログを眺める機会があったのですが、ワンライナーも限界があるし、なんかいいプラグインでもあるんじゃないかと探したら、良さそうなのがあったので、紹介。 その名も「request-log-analyzer」。Ruby製のログ解析ツールでございます。 プロジェクトページを見ると、Railsのログだけではなく、Apacheのアクセスログや、S3のログ、MySQLのスロークエリログなんかにも対応してるとのこと。 とりあえず、combinedなログを解析したかったので、試しにやってみました。 1 2 49.212.129.187 - - [27/May/2013:05:48:01 +0900] "GET /top HTTP/1.1" 200 162 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu)
このページを最初にブックマークしてみませんか?
『www.masudak.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く