カイワレの大冒険 Third

技術的なことや他愛もないことをたまに書いてます

年の瀬に人生初の骨折をした

みなさま、年の瀬はいかがお過ごしでしょうか。 ちょうど先週なのですが、バスケをやっていて、ディフェンスをしていたのですが、無理やりコースに入ってしまったこともあり、膝蹴りを脇腹に喰らいました。 その後寝たり、起き上がったり、扉を開けるときな…

必ず失敗するひどい実装を晒してみる

年の瀬ですが、みなさま今年の振り返りはできていますでしょうか?この記事では今年に限らず、今までわたくしが犯した罪のある実装を晒していきたいと思います。 「愚者は経験に学び、賢者は歴史に学ぶ。」という言葉にあるように、この記事が少しでも多くの…

英語のボキャブラリーを計測できるサイトで自分のボキャブラリーを計測してみよう!

インターネット・スマホ時代の英語学習法。今どきの学び方をオススメします!で書いたように最近英語を話す知り合いを何人も作っています。 その環境のなか英語の勉強を進めているのですが、自分のボキャブラリーはどれくらいあるのだろうと気になり、調べて…

英語チャットでネイティブが使う表現 (1)

インターネット・スマホ時代の英語学習法。今どきの学び方をオススメします!で書いたように最近英語を話す知り合いを何人も作っています。 そのため、色々な表現に触れることが多いのですが、今回の記事では、この表現いい、使いこなしたらかっこいいという…

初対面で英語話すときに覚えておきたいフレーズ

インターネット・スマホ時代の英語学習法。今どきの学び方をオススメします!で紹介したように、英語を学習する上で、meetupはすごくオススメできる機会です。 生の英語を聞くことができ、外国人の知り合いもできる。無機質に英語を学ぶよりも数百倍効果的に…

インターネット・スマホ時代の英語学習法。今どきの学び方をオススメします!

英語の勉強にハマっている@masudaKです。 Readingに関してはコンピュータ系の資料などで触れてはいるものの、それ以外のスキルに関してはほとんど受験とか院時代のままになってまして、テコいれしようと10年ぶりぐらいに英語を勉強しているので、僕のやりか…

Githubにpushしてしまったパスワードを可能な限り抹消する

昔やってしまったのですが、パスワードを社内版Githubにpushしてしまったことがあり、そのときどう対応したか記録に残しておきたかったので、備忘録として残しておきます。 結論から言うと完全には消せなく、パスワード作りなおしたほうがいいので、絶対やら…

社内版ISUCON2015のメモ

社内版ISUCONに出場してきた。自分は現在サーバサイドエンジニアだけど、少し前の職種であるインフラエンジニアとして誘われ、参加。 サーバにもう繋げず、あまり痕跡残ってないけど、手元のメモ参考に記事にしてみる。 現地についてレギュレーション読んだ…

フィールドにあるリストは初期化したほうがいいという話

フィールドにリストを持つクラスがあるとします。こんなの。 public class SampleData implements Data{ private List<String> contents; . . . } そうすると、「初期化」してないと突っ込まれました。なぜだめなのか。 理由としては、nullが入ることがあり、そのケ</string>…

Enum優秀!使い方によって、すごく便利だった件

IDによって処理を分けたいことがありました。そして、僕は単純にCASE文使えばいいだろうと思い、以下のように実装。 switch (id){ case 1: hogehoge(user, array); break; case 2: hugahuga(user, array); break; default: break; } これでいいかなと思った…

Jenkinsジョブでmvn package時にmaven-war-plugin is missingエラーが出る場合の回避方法

Jenkinsジョブでmvn packageしようとしたら、方法の様なエラーがでた。「maven-war-plugin is missing」と言われている。 INFO: % mvn package -Phogehoge INFO: --- command output --- [INFO] Scanning for projects... [WARNING] [WARNING] 'build.plugin…

GCPのインスタンスで、pysparkからGCSに繋いでみた

お仕事で大量のデータをピボットテーブルのように集計処理する必要がでてきまして、色々触ってみたので、まとめてみます。 やることはこちら。 GCP(Google Cloud Platform)でgcloudとbdutilの設定を行う GCS(Google Cloud Storage)にCSVを置く pysparkをダウ…

グロ注意。洗濯槽の掃除をしてみた

たまには技術以外の話題でも。 しばらく洗濯槽の掃除をしていなかったことを思い出し、ちょうど連休で時間があったので、掃除してみました。 前に掃除したのが半年ぐらい前だと思いますが、洗濯槽はそれぐらいでもかなり汚れます。 以下に書いてある内容です…

perlのワンライナーを使えるとカッコイイという話

みなさま、perl使ってますでしょうか。 タイトルは釣りですが、結論から言うと、ワンライナーを書くならperlを使いましょうという話です。 理由は単純に、パッケージいれなくてもすぐ使えるのと、perlスクリプトを解読するのに知識が生きるからという理由か…

redis-pyが「AttributeError: 'module' object has no attribute 'StrictRedis'」エラーを吐いた件

redis-pyを動かそうと思ったら、以下の様なエラーが。 $ python redis.py Traceback (most recent call last): File "redis.py", line 1, in <module> import redis File "/var/tmp/redis.py", line 2, in <module> r = redis.StrictRedis(host='localhost', port=6379, db=0</module></module>…

Macでハイフンの含んだディレクトリをrmする

意外と簡単にできなかったので、メモ。 ハイフンを含んだようなディレクトリが間違ってできてしまって、それを削除したい場合。 「-p」というディレクトリがなぜかできてしまっている。 $ ls -p Desktop Downloads Music dotfiles work Applications Documen…

Google Analyticsで、パスではなくページタイトルを表示させる

Google Analyticsはデフォルトだと、以下のようにURLに含まれるパスが表示されてしまいます。 これだと、うちのブログの場合更新日とかからなんの記事かを推測しなければならず、わりと大変でした。 ちょっと調べたところ、解決する方法がありました。 以下…

markdownで改行をする

markdownで改行したいのにすぐ忘れるので、メモ。 以下のアンダースコアの箇所を半角スペースにすればOK。 適当な文字:__ 次の行の文字 半角スペースを2個連続すれば、改行になります。 ではでは!

ELBでクライアントのGIPが取得できるProxy Protocolを試してみた

HTTPでは簡単に取得できるクライアントのGIP(グローバルIP)。 ただ、必ずしもHTTPを使うわけではなく、色々なプロトコルを使いたいときもありまして。WebsocketとかMQTTとかソケット通信とか色々。 そういうときに、ELBではTCPだとデフォルトではGIPが取得…

brewでいれたjqが'jq not found'だったので、対応をした話

Macでjqを使おうと思ったのですが、not foundと言われてしまったので、対応をしました。 実行するとこんな感じ。 $ which jq jq not found インストールした記憶はあるのに動かない。 念のため確認してみる。 $ brew install jq Warning: jq-1.4 already ins…

僕が職場でヘッドフォンを使う理由

今の勤務先は電話に出なくてもいいため、ヘッドフォンを使えるのですが、単に音楽聴きたいというより色々理由があるので、文章にしてみました。 ゾーンに入れる 一番これが大事ですね。「ゾーンに入る」というのは集中して周りが見えなくなるような状態を指…

Cannot find module 'react-bootstrap/lib/ModalTrigger'エラーの対応

以下を実行したら、エラーが。 $ browserify -v -d --extension=.jsx client/app.jsx -o public/js/bundle.js エラーはこんな感じ。 Error: Cannot find module 'react-bootstrap/lib/ModalTrigger' from '/Users/masudak/IdeaProjects/repositories/sample/…

ターミナルを使えてプログラミングできないなら、シェルスクリプトから始めよう

「黒い画面でバリバリ作業はできるのに、プログラミングとなるとちょっと・・・」みたいな人いますでしょうか。 grepとかcurlとかコマンドラインは得意なんだけど、オブジェクト思考とかメソッドとか変数とか抽象化とかそういうのになるとちょっと苦手という…

~/.profileが読み込まれなくて困ったら、ここを見る!

先日ハマったのですが、とあるサーバで~/.profileに書かれた内容が読み込まれなくて、困ったことがありました。他のサーバでは読み込めていて、どうも何かの設定が影響をしているよう。 調べてみると、どうも~/.bash_profileや~/.bash_loginが存在していると…

続・Git中級者に送る便利なコマンド群

前回の記事「Git中級者に送る便利なコマンド群」でははてブ経由で多くのコメントを頂きました。今回の記事では、頂いたコメントのうち、いくつか取り上げて、可能な限り補足をしたいと思います。 git push origin master -f 前回の記事で最も多くご指摘頂い…

Reduxのサンプルに説明をつけてみた

最近React, fluxアーキテクチャに触れることがあり、理解にかなり苦しんだので、軽く文字にして、理解を深めてみました。 今回使ったフレームワークはReduxなので、それ以外学びたい人はごめんなさい。 レポジトリはこちら。 https://github.com/masudaK/flu…

Git中級者に送る便利なコマンド群

Gitを使っていて、ちょくちょく便利だなと思うコマンドに出会うので、メモ残しておきます。実際中級者の方には物足りないかもしれませんが、とりあえず。目次は以下。 自分がいじったファイルを一旦退避させたい ツリーが今どういう状態になっているか確認し…

Dockerを使ってプロビジョニングツールのCI環境を作った話

新サービスのたちあげで、プロビジョニングツール(ChefとかAnsibleとか)のテストを継続的にやりたいなーと思っていたので、環境を作ってみたという話です。 やりたいことは以下。 ChefなりAnsbileでサーバプロビジョニングの内容をコード化 特定のトピック…

エンジニアの僕が指を痛めた結果、どうしたか

仕事中にキーボードをよく使っているわけですが、タイトルのとおり指が痛くなりまして、どう対処したかについてまとめてみます。 1年ほど前からちょくちょく気になってはいたのですが、ガッツリコード書く日以外はそこまで痛くならなかったので、放置してい…

Vaultを試してみた

最近ブログ書いてないので、リハビリがてら書いてみる。 最近新しいプロジェクトに関わっているのですが、どうせ最初から作るなら暗号化もちゃんと検討しようということで、Vaultに触れてみました。 Vaultの概要については以下の記事などがあります。 Vault…