道具としてのコンピュータ
2017年2月24日
データを使って効率的に保活を進める
今話題の保活というものをしまして、なんとか娘を今春から保育園にいれることができそうです。
当然妊娠中から保活をしていたのですが、重いおなかを抱えて保育園を歩き回るのは本当に大変で、しかも予定日より早い出産だったこともあり、結局予定していた保育園を全部見学することはできませんでした。
そんな状況でも効率的に保育園を見学することができたのは、事前にある程度データをまとめていたからかも…と思い、自分のデータを活用した保活方法を公開したいと思います。
なお、情報は東京都品川区の2017年4月入園の内容です。また、世帯年収などの個人情報については、ダミーデータとなっています。この内容を利用して保活を行った際の結果について、筆者は責を負いかねますのでご了承ください。
(1)まず、自分の世帯の基本指数・階層を算出しました。
●基本指数については、品川区の情報と、自分の世帯の勤労等の状況を元に算出します。我が家は夫と私の共稼ぎで20点+20点で40点になります。詳しくはこちらから
●階層については、区市町村民税の情報を入手し(納税証明書等を取り寄せるのが吉)、区が出しているテーブルに合わせて算出します。
こちらは、今回は仮にD16ということにします。 (当年度分区市町村民税が338,000円以上354,000円未満)。
※この指数・階層については、区役所に確認しても教えていただくことができませんでした。あくまで上記算出内容は推測です。
これを区から教えてもらうだけで、かなり安心して保育園を回ることができると思うのですが…。
2015年8月10日
うさ太その後(2)
まだ地味に売れているLINEのスタンプ
毎月500円ぐらいは何もしなくて売れるので小さいけど不労所得…。
地味にうれしい。
何もしないのに売れるのだから、まじめにやったらもっと売れるのではないか。
と思いつつ何かする気はあまりない。世の編集者の方の助けに少しでもなればうれしい。
2015年5月16日
シェルプログラミング実用テクニック
書籍「シェルプログラミング実用テクニック」(技術評論社刊)。著者の上田隆一さんから献本いただきました。上田さんは前職の同僚でして、私がマーケティング担当、上田さんが技術担当という感じで、ともに戦場の最前線で砲弾をかいくぐりながら生き延びた仲でございます(私は途中で弾に当たって倒れ、戦線を離脱しましたが…)。
ソフトウェアデザイン誌で連載されていた「開眼シェルスクリプト」の書籍化です。大幅に書き直しがされていてかなり使い勝手がよい本になっています。
本書では、UNIX的な考え方をベースとして、シェルスクリプトで業務を効率化するときに知っておきたいことが体系的に解説されています。ワンライナーによる基本的なテキスト処理から、テキストベースのRDB作成、大量データの処理、excel芸、システム操作まで、CLIを使ってできることが網羅されており、プログラミングの初心者でも面白く読み進めることができるのではないでしょうか。
個人的には6章、特にオフィススイートとの連携を面白く読みました。普通の事務仕事をしていると、否応なくWordやExcelと向き合わなければならないわけですが(あとPower Pointも)、これらも基本はテキストの塊であって、シェルで書き換え・操作が可能ということが示されています。きっちり読みこなせば仕事の生産性が上がること間違いなしなので、2,980円はお買い得すぎと感じました。
私は前職でなぜか1年ほど開発現場でSEのマネゴトをしていた黒歴史な時期があって、インターネットにつながりにくい環境で、先達のシェルスクリプトを写経・修正することにより、血反吐を吐きながらシェルプログラミングを身に付けたのですが(大げさ)、その現場にこの本があったらどれだけ救われていたことか…。
上田さんが前書きで「当方の営業不足によってマウスやExcel方眼紙を使っている人にまで、UNIX的なものやCLIによるプログラミング、データ操作の啓蒙ができていない」というようなことを書かれていましたが(すごくおおざっぱな翻訳ですみません)、私自身がまさに今そのターゲット層の渦中におりますので、そちらに向けた営業活動をしていきたいな、と勝手に思っております。(UNIX的な考え方が体に染み込むと、生産性が著しく向上すると感じております)。
売れたら上田さんから焼肉でもおごってもらえるに違いないと楽しみにしている次第です。
シェルでWEBアプリを作る本。
こちらもおすすめ。名著。
2015年5月6日
メールの日本語タイトルを文字化けしないようにする
メールの配信ツールを作成しています(Shellで)。
ところが、日本語の件名が文字化けしてしまって小一時間はまりました…。
備忘録を兼ねてメモします。
・/usr/sbin/sendmailでメールを送る際に、日本語のSubjectを使う場合は、MIMEエンコードをしなければならない
・日本語の件名を、nkfを通して、メールのヘッダーに、Subject:(エンコードした文字列)として貼りこめばよい
具体的には以下のようにします。
以下のようなメールを送りたい場合
From:hoge@foo.com
To:fuga@foo.com
Subject:日本語のタイトル
—ここから本文—
文字列そのものをnkfにぶちこみましょう。
echo "日本語のタイトル" | nkf -W -M -j =?ISO-2022-JP?B?GyRCRnxLXDhsJE4lPyUkJUglaxsoQg==?=
ここで出力された文字列を貼りつけます。
From:hoge@foo.com
To:fuga@foo.com
Subject:=?ISO-2022-JP?B?GyRCRnxLXDhsJE4lPyUkJUglaxsoQg==?=
—ここから本文—
これで受信側は文字化けせず読めるようです。Gmailだと自動的にエンコードされているようなのですが、他のメーラでは文字化けしてしまっていました。
(いまいち文字コードのことは理解しきれていないのだけれども…)
以下のページを参考にさせていただきました。ありがとうございます。
http://d.hatena.ne.jp/hogem/20100122/1264169093
http://qiita.com/gologo13/items/7e83aa15b9269758e4af
2015年4月15日
iptablesの設定のメモ(無効化・有効化・修正など)
構築のお手伝いをした会社さんのWEBサイトが朝から接続できないというご連絡をいただきまして、慌てて対応しました。
なんちゃってプログラムを書いたことはあるけれど、こういうトラブルシューティング的なことははじめてのことで、とにかくGoogleさんに質問を浴びせかけ続けました。
・対象:Wordpressで構築した企業向けのWEBサイト
・症状:ブラウザからアクセスできない
・環境:さくらVPSにWordpressをインストール
ブラウザからアクセスできないのですが、SSHでログインは無事できまして、検索し続けたところどうもiptablesが悪さをしているのではないかとのこと。
Linuxのファイヤーウォール(iptables)とSELinuxを停止&無効化
と、とりあえずiptablesを無効化してみればいいのでしょうか…?
# /etc/rc.d/init.d/iptables stop
としたところブラウザからアクセスできました。やった!と思ったのだけど本当にこれでいいのか…。
そこでとある地下組織に「本当にこれでいいのか?」と投げかけたところ「あかん!」「あかん!」「開けるのは443や」とのお言葉。
暗号かよ…と思いつつ、ググりました。(ありがとうございますUさん、Rさん)
iptablesを確認したら、以前開けたはずの80のポートも443のポートも開いているように見えません。
いったんiptablesを立ち上げなおして、以下のページを参考に、80と443のポートを開けました。
# vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
iptablesを再起動します。
#/etc/init.d/iptables restart
ついでに「保存しないと次再起動したとき消えるぞ」とのこれまた有難いU先生のアドバイスに従って、iptablesの設定を保存
#service iptables save
参考ページ iptablesの設定内容を保存する
皆様のおかげさまでなんとか助かりました…!(半分涙目で)
ちなみに原因は今朝方さくらインターネットがメンテナンスのために、VPSサーバを再起動していて、そこにうっかり私がiptablesの設定を保存していなかったということで、httpでアクセスができなくなってしまったようです。
また同じアホをやらかさないように、ここにメモを残しておこうと思います。
2015年2月11日
うさ太その後
LINEからうさ太スタンプに関するメールが来ました。
「2015年01月の売上が確定しました。
分配金額:¥615
未払い分配金額:¥4,040」
とのこと。超細々と売れています。
期間中のスタンプの使用回数レポートも見られます。
月末の利用が若干多いような…。
思っていたより使っていただけていて嬉しいものです。
あなたもうさ太スタンプで著者の進捗管理!ぜひ!
2014年10月10日
「編集者うさ太」 LINEスタンプ発売開始のお知らせ
自作のLINEスタンプが承認されまして、本日より発売開始となりました!
「編集者うさ太」 LINE クリエイターズマーケット
ご購入は以下URLから。
http://line.me/S/sticker/1015377
LINEのスタンプマーケットで「編集者うさ太」で検索しても出てきます。
特に編集のお仕事に携わっている方にぜひお使いいただきたい40のヘタウマ(自分で言うなと)なウサギとネコとクマのスタンプをご用意しました。
最近筆者さんとLINEで原稿の進捗状況を確認する機会が出てきて、折角だから自作のスタンプでせっついたら面白いのではないかと思いつき、夏の暑さで頭がもうろうとしている際に勢いで半日ぐらいかけて40枚の絵を描いたのでした。原稿をいただくときの心の叫びや編集部でのお仕事の折々に出てくる悲喜こもごもなキーワードを盛り込みましたので、編集職の方にはすぐお仕事に使っていただけることでしょう。進捗を確認されるライター・筆者さん、編集長などの管理職の方にもお使いいただける文言をご用意しています。
なお製作はコピー用紙にサインペンで書いたイラストを、Scansnapでスキャン。Photoshopの色域選択で輪郭線を別レイヤーにして、色を塗るというようなかなりいい加減な手順です。40種類のネタを考えるというのが一番の山場でした。7月6日に登録して、承認が10月10日ということで、もう登録したことすら忘れていたけれど、承認してもらえるとうれしいものですね。なお、このスタンプを使ったことにより筆者さん(あるいは担当編集さん)との関係性がどう転んでも当方と致しましては一切の責任を負いませんので、自己責任の下でご使用いただきますようお願い申し上げる次第であります。
よろしくお願いします。
2014年3月31日
デーモンなタスクを心から消し去る
仕事はキャッチボールみたいなもの。投げてもらったボールをキャッチして、投げ返して、投げ返すのを忘れている人に思い出させて、ボールをなかなか投げてくれない相手の手からどうボールを奪い取るかとか、厄介な問題なのでそのまま相手の責任でボールを持ち続けてくれないだろうか…だとか、そうやってぐるぐる回しながら最後に仕事のゴールまで到着する、というイメージで私は仕事をしています。
そして社会人たるもの、こちらが投げたボールの行先には責任を持ちたい。でもあわただしい日々を過ごしていると、ボールを投げたことすら忘れてしまうこともしばしば。
重要なタスクはカレンダーやメモで管理をしているけれど、いつも見通しよくしておきたい。古びたタスクこそ早く片付けたい。
そのうち投げっぱなしのタスクはDaemonのような存在になり、心の奥にこびりついて、自分の処理能力を妨げるもとになります。
しかも、絶対取り逃がしてはならないボールならまだしも、「このボール投げたらもしかすると永遠に返ってこないかも…」と、投げる前から微妙な空気の漂うボールやプロジェクトや相手というのもありまして…。リマインダーを使えばいいのでしょうか。しかし私が普段使っているEvernoteのリマインダーは、残念ながら「繰り返しメール配信」には対応していませんでした。
ここはやはりcrontabの出番じゃない?
2014年1月28日
だらだら書かれたテキストファイルをShellでCSVに整形する
原稿整理もShellでだいぶスピードアップが図れているこのごろ。
1つのファイルにまとまっていたデータの整形を工夫して加工したメモです。
[xxx@xxxx]$ cat mondai Q1.徳川幕府の初代将軍はだれか? ① 徳川家康 ② 徳川家光 ③ 徳川秀忠 答え ① Q2.「源氏物語」の作者はだれか? ① 清少納言 ② 紫式部 ③ 藤原道綱母 答え ②
というmondaiファイルがあります。
これを1問1行で、カンマ区切りのファイルにする必要に迫られました。
問題は200問あります…。さすがに手作業は厳しい。
1コマずつセルに張り付けている間に、絶対眠くなる…。
そこで今回はShellでごにょごにょと加工してみることにしました。
2014年1月14日
送信先ごとに少しずつカスタマイズしたメールを配信するプログラム
冬休みの課題として、日々のルーチンワークの時間を短縮するプログラムを書いてみました。
■作成の背景
一度にたくさんの方にメールを送りたいとき、たとえば飲み会のお誘いのメールでは、
「各位」とするより「○○さんへ」ときちんと相手の名前を差し込みたいし、
最近お会いした方なら、「先日はありがとうございました」などの一言を添えたいものです。
仕事柄そのようなメールを送ることが多く、これまではスプレッドシートの技を駆使して
書いていたのですが、そろそろ件数的に限界が近く…。
そんなニーズに対応するスクリプトを書こうと思い至った次第です。
(悪い用途には使わないでね!)