読者です 読者をやめる 読者になる 読者になる

らっちゃいブログ

日々の学びと気づきを発信するブログ

非エンジニアのための SSL/TLS 入門(後編)

前編を読んでない方はまず先にお読みください。 racchai.hatenablog.com 『非エンジニアのための』というタイトルではありますが、ここから先は専門用語も登場します。 というより、専門用語を覚えることを目的とした内容にするつもりです。SSL/TLS に関して…

非エンジニアのための SSL/TLS 入門(前編)

最近、まわりの人たちは SSL/TLS(以降SSL) が経路の暗号化を目的としてる、というだけの理解をしている人があまりに多いことに気付きました。 というかみんな全くと言っていいほど仕組みを理解してない。。 世間では新入社員が入社する時期ですし、簡単に説…

DjangoでJWTを使ったトークン認証を実装する

JWT とは はじめに トークンを取得してみる トークンを使って認証が必要なAPIを実行してみる まとめ JWT とは Json Web Token の略。一言でいってしまうとJSONに署名したもの。こちらの記事で詳しく解説されています。 JSON Web Token の効用 - Qiita はじめ…

一年前に納品したサービスのその後

受注 開発 リリース 運用 一年後 さいごに 受注 一年前。初めて受けた仕事だった。 『こういうサービスを作りたいんだよね。2ヶ月くらいで。15万でお願いできないかな。』 画面数を見積もったが30画面くらいだと思った。この見積もりは結果的には当たってい…

Djangoを使ったメールの送信方法まとめ

Python の smtplib モジュール に慣れている人には不要かもしれませんが、Django にもメール送信するための仕組みが備わっていますので簡単に紹介してみます。 Django 自体使ったことがないという方はこちらをどうぞ。 racchai.hatenablog.com はじめに 単純…

ImageMagickにリモートコード実行が可能となる脆弱性

サムネイル作成でお馴染みの ImageMagick にリモートコード実行が可能となる脆弱性が見つかったようです。 本脆弱性には ImageMagick という名前が付けられ(ロゴ画像あり)、以下のサイトで再現方法および対策が公開されています。 ImageTragick 本記事では対…

mysqldumpするときによく使うオプション

mysqldump するときのオプションを忘れがちなのでメモ。 通常 ダンプした日付は不要なので削除 insert 文にはカラム名を入れたい 複数行のINSERT文にしたい その他 ひとこと 通常 $ mysqldump -uroot table_name > dump.sql ダンプした日付は不要なので削除 …

npm installはプログレスバーを非表示にすると高速化されるらしいので試してみた

npm

こちらの記事を見て、どうしても自分でやってみたくてさっそく試してみた。 peccu.hatenablog.com 記事によるとこれだけでプログレスバーを非表示にできるとのこと。 $ npm set progress=false 実行前にデフォルト値が何なのか確認してみた。これはただの好…

【ふるさと納税】電化製品での絞り込みができなくなってる?

こんにちは。 みなさんふるさと納税してますか?ふるさと納税といえばこちらのサイトですね。 www.furusato-tax.jp 細かいところがいろいろイケてなかったりするんですが、便利に使わせていただいております。 昨年はお米(つや姫)と家電(炊飯器)をゲットしま…

ファイル出力したそのデータ、本当にディスクに書き出されてますか?

ファイルに出力したつもりのデータ。それ本当にディスクに書き出されてますか? たとえば以下のコード。 with open('racchai.txt', 'w') as f: f.write('racchai!') f.flush() これまで出会ったほとんどの方が flush を呼び出しているから大丈夫と思っていま…

New Relic を使ってみた

サービスのパフォーマンス監視がしたくて New Relic を使ってみたので手順を残しておきます。 アカウントを作成 ライセンスキーを発行 ツールをインストール 設定ファイル(newrelic.ini)を作成 サーバー起動 動作確認 アプリケーション名の設定 注意点 まと…

青色申告して正しく節税しよう!

どうもこんにちは!racchai です。 前回の記事では、「開業届」と「青色申告申請書」について触れました。 racchai.hatenablog.com 今回は青色申告についてもう少し詳しく解説してみます。 確定申告の種類 白色申告 青色申告 青色/白色どちらを選ぶべき? 会…

OpenSSLで深刻度"high"な脆弱性を修正したバージョンが公開されるようです

[openssl-announce] Forthcoming OpenSSL releases The OpenSSL project team would like to announce the forthcoming release of OpenSSL versions 1.0.2h, 1.0.1t. These releases will be made available on 3rd May 2016 between approximately 1200-15…

新人エンジニアが読むべき技術書10選

オペレーティングシステムの仕組み オペレーティングシステムの仕組み (情報科学こんせぷつ)作者: 河野健二出版社/メーカー: 朝倉書店発売日: 2007/10メディア: 単行本購入: 2人 クリック: 19回この商品を含むブログ (6件) を見る 薄い本ですが知るべき情報…

ES6対応が96%となった Node v6.0.0 がリリースされました!

Node.js のバージョン 6.0.0 が 4/26 にリリースされていました。 Node v6.0.0 (Current) | Node.js v6 ではES6対応が96%となっています。これはすごいですね。 Node.js ES2015/ES6 support さて、気になるサポート期間ですが、以下のように書かれています。…

いまさら聞けない sass 入門(後編)

racchai.hatenablog.com 前編では sass の歴史に触れつつ、機能説明を見ながらお試しできる環境を作るところまで解説しました。後編では具体的な機能について書いていきます。 セレクタのネスト(入れ子) 変数 条件分岐 ループ 関数 ミックスイン 継承 import…

Nginxの安定版がリリースされたよ!バージョンは2.0ではなく1.10.0

nginx news 2016-04-26 nginx-1.10.0 stable version has been released, incorporating new features from the 1.9.x mainline branch - including the stream module, HTTP/2, dynamic modules support and more. ようやく安定版が出ましたね。CHANGESを見…

いまさら聞けない sass 入門(前編)

sass とは? ちょっとだけ歴史の話 sass を利用する準備 node.js のインストール gulp と gulp-sass のインストール gulpfile を作成 scss の変更を watch する 後編へ続く sass とは? Syntactically Awesome Stylesheets の略で『サス』と読みます。 直訳…

OpenSSLを使って独自CA(認証局)を立てる方法

どうもこんにちは。racchaiです。 今日は openssl で独自CAを立てるという、あまり需要のない話をします。 環境は ubuntu 14.04 です。 openssl のインストール CAを作る サーバー証明書を作る CSR の作成 CSR に署名し、証明書ファイルを作成する まとめ op…

「開業届」と「青色申告申請書」を提出して個人事業主になろう

こんにちは!racchaiです。 個人事業主になって一年ほど経ちました。 当初は何もわかってなくて、よく準備もせず突っ走ってしまった結果いろんな失敗をしました。 それらの反省も兼ねて、週末はこの1年で経験したこと、学んだことについても紹介していけれ…

日本橋つじ半でぜいたく丼を食べてきた

つい2週間ほど前の話だ。 日本橋に行く用事があると、ついついつじ半の様子を見に行ってしまう。 並んでる人が少なかったら、あのぜいたく丼を堪能したいのだ。 だがこれまで一度として期待する結果となったことはない。 あまりの行列にげんなりして、心の中…

Amazonプライムラジオを使ってみた

Amazon が本日(4/22)プライムミュージックに新機能『プライムラジオ』を追加したと発表しました。 プライムラジオとは? 公式サイトから転載 プライムラジオは、Prime Music対象の楽曲をジャンル別に、24時間いつでも、途切れることなくお楽しみいただけるラ…

数年ぶりにnodebrewを使ってnode.js(io.js)をインストールしたので手順をメモしておく

久しぶりに node.js をインストールすることになったのでメモ。 nodebrew インストール node.js をインストールする ひとこと nodebrew インストール 直接ビルドしてもいいんですが、いまどきそんな人いないですよね。 nodebrew 等のバージョン管理ツールを…

Djangoで認証ユーザーモデルをカスタマイズする

Djangoで認証を行ったりした際に得られる User オブジェクトですが、デフォルトのままだと不要なデータが多かったり、必要なフィールドがなかったりします。 そんなときのために、今回はデフォルトのモデルである django.contrib.auth.models.Userをカスタマ…

Nginx1.9.15がリリースされました

タイトルの通りですが、Nginx1.9.15がリリースされています。 昨日こういう記事を書いたばかりなので、今後も随時リリース情報をお伝えしていこうかと思います。 racchai.hatenablog.com さて、以下が変更点を見ていきましょう。 http://nginx.org/en/CHANGE…

Nginxのproxy_next_upstreamが意図した挙動にならない問題を調べた

どうもこんにちは。racchai です。 Nginxの設定が意図通りの動きにならなくていろいろ調査したので、共有したいと思います。 proxy_next_upstream とは 何が問題なのか proxy_request_buffering を無効にしてみる 解決方法 まとめ proxy_next_upstream とは …

これからGoogleアドセンスに申請しようと思ってるやつは注意!サブドメインでは申請できなくなってるぞ!

経緯 ググった 結論 経緯 よーし、おじさんGoogleアドセンスの申請しちゃうぞ! まずは申請画面を開いてっと。 「申し込みはこちら」ですな。クリック。 ログインが必要なのね。ログインっと。 はいはい、ブログのURLを書いて、と。言語は日本語ですじゃ。 …

ブログ開設1週間でのPVを公開して振り返る

本ブログを開設して1週間が経ちました。 たった1週間ではありますが、記念にPVの推移を書いておこうと思います。 記事数とPV数の推移 振り返る 今後について 記事数とPV数の推移 グラフを出そうかと思いましたが、ちょっとしょぼいグラフだったので今回は…

Let’s Encryptで発行したSSL証明書を自動更新するときのノウハウ

racchai.hatenablog.com 前回の記事では証明書の自動更新についてはさらった触れただけでしたが、もっと情報がほしいという声を受けて少し補足しようと思います。 ドメイン毎に証明書を更新するにはどうしたらいいの? 新規発行したときのオプションを忘れち…

MySQL の LOAD DATA INFILE ステートメントが爆速だった話

こんにちは。racchai です。 先日、巨大な CSV ファイルを mysql にインポートしたいんだけどっていう相談を受けまして まあデータ入れるだけだしと思って深く考えずに引き受けたわけです。 で、さくっと書いたプログラムがどうも1日かかっても終わらない。…

pythonでランダムな文字列を取得したい

uuid 使えよ!というつっこみが聞こえてきそうです。 でも、10文字程度のお手軽に使えるランダム文字列がほしいときってありますよね。 アカウント登録する際にメール送信で使うキーとか、uuid 使う人ってあんまりいませんし。 というわけで、そんなときに使…

レンタルサーバー業者がまた「rm -rf /」でデータを削除したらしい

blog.tokoproject.com こういう事件はいまだになくならないらしい。 プログラム中で、「rm -rf {foo}/{bar} 」と指定することで全サーバーを対象に、特定のディレクトリーのファイルだけを削除するスクリプトを動かしたところ、このプログラムのバグにより、…

Django REST framework でバリデーションしてみよう

みなさんお待ちかねの Django REST framework シリーズです。 バリデーションって大事なんだけど仕組みを作るのって地味にめんどくさいですよね。 Django REST framework ではそこそこ簡単に書けるようになってますので、ご紹介します。 事前準備 Serializer…

socat で簡易プロキシサーバーを立てよう

今日は socat コマンドのご紹介です。 表題の通り、コマンドラインだけで簡易プロキシサーバーを立てることができるというものです。 さっそく見ていきましょう。 インストール 起動してみる SSLを試してみる まとめ インストール 今回は ubuntu 環境にイン…

無料でHTTPS証明書を発行できる Let’s Encrypt がついにベータを卒業!正式版になったところで証明書を作ってみた

こんにちは。racchai です。 Let's Encrypt がベータを卒業するというアナウンスが出ました。 Leaving Beta, New Sponsors - Let's Encrypt - Free SSL/TLS Certificates なにそれおいしいの?という方は公式の説明を読んでいただくとして、使い方を忘れてい…

python の isdigit() がややこしい件

どうもこんにちは。racchai です。 python を使っていて、渡ってきた文字列が数値かどうか判定したいってことないですか? 私はあります。昨日ありました。 python には str.isdigit というズバリな組み込み関数が用意されているので、それ使っちゃえばいい…

Django REST framework 超入門

今回は Django で rest な API を実装するのに超絶便利な Django REST framework を紹介します。 その名の通り、Django で RESTful な API を作るための framework になります。 APIの開発効率が何倍にも上がる代物ですので、ぜひみなさまにも使っていただき…

5分で始める Django(入門編)

こんにちは!racchai です。 最近のマイブームは Django です。 本当に便利なのでみんなもっと使った方がいいのに! ということで、簡単に導入方法などを書いていきます。 なお、これから出てくるコマンドおよびコード類は写経してたら5分で終わりませんので…