「Spec」を含む日記 RSS

はてなキーワード: Specとは

2016-07-25

gitにおけるコミットログ/メッセージ例文集100

私はコミットログの書き方に悩む英語の苦手な人間である。実際、似たような人は世の中に結構いるようで、頻出単語を集計したりまとめたものは既にあって役に立つのだけれど、これらはあくま単語の話であり、具体的な文を構成する過程でやっぱり困る部分がかなりあった。

要するに、どういう時にどういう文が使われているのか、ということを示した例文集が欲しいのであるググると他にも「例文集があればいいのに」みたいな声はあるくせして、しかし誰も作ろうとしない。何なんだお前ら。それじゃ私が楽できないじゃないか

仕方なく自分でまとめたので、増田に垂れ流しておく。

はじめに

ここで挙げているコミットログは全て実際のコミットログから転載である。当然ながら各コミットログ著作権はそれぞれの書き手にある。いずれも各英文でググれば出てくるし、フェアユース範囲なら許してくれるだろうと考え名前プロジェクト名は割愛したが、ここにお詫びと感謝を述べておきたい。

抽出条件だが、参考にできそうなコミットログを多く含んでいそうなリポジトリGitHubSTARの多い方からざっと目で見て適当に選び、それぞれ最新コミットから5000件抽出した(あわせて前処理として、コミットログ冒頭のタグ情報は消去した)。

結果として対象としたリポジトリは以下の通り。

atomのみ5400件抽出していたため、計25400件のコミットログベースである。このうち、以下の条件に合致するものは参考例にすべきでないとして一律排除した。

こうして残った8540件を眺めながら、適当に切り出したのがこの用例集である個人的に「うーんこの」と思った表現も、散見される場合は載せた。

ということで、以下用例を羅列していく。

用例集

オプションフラグメニューを追加した
ファイルを追加した
メソッド機能を追加した
実装を別のものへ切り替えた
  • Use args.resourcePath instead of args.devResourcePath
  • Use arrays instead of while loops
  • Use auto instead of repeating explicit class names
  • Use weak pointer instead of manual bookkeeping
  • Change all uses of 'CInt' to 'Int32' in the SDK overlay
  • Change Integer#year to return a Fixnum instead of a Float to improve consistency
新しく何かに対応した/機能上の制約を取り払った
何かを使うようにした
より好ましい実装に改良した
何かを出来ない/しないようにした
  • Don't bail reading a metadata instance if swift_isaMask isn't available
  • Don't exit until the parent asks for an instance
  • Don't include Parent pointer in Nominal/BoundGeneric TypeRef uniquing
  • Don't use MatchesExtension for matching filters
  • Don't use ES6 class for AutoUpdater windows class
  • Don't use MatchesExtension for matching filters
  • Avoid `distinct` if a subquery has already materialized
  • Avoid infinite recursion when bad values are passed to tz aware fields
オブジェクトの内容や挙動確認やすくした
Assertを追加した
不要コードを除去した
コードを移動した
名前修正した
さなバグタイポ修正した, 警告を潰した
バグや好ましくない挙動修正した
テストコメントドキュメントを追加した
テストを削除した
テストコメント修正した
ドキュメント修正した

表現傾向とまとめ

以上の用例をふまえ、今回の参考ログ8540件から先頭の単語を出現回数で並べると次のようになった。

Add1149
Fix1014
Update584
Remove566
Use382
Don't260
Make228
Move178
Change103
Rename85
Improve76
Avoid68
Allow65
Implement60
Handle58

コミットログの基本形はもちろん動詞 + 名詞である名詞固有名詞複数形、不可算名詞が多いが、単数形場合冠詞は a が使われるか、あるいは省略される。the はまず使われない。

何かを追加した、という表現では非常に広く Add が使われる。メソッドからテストドキュメントに至るまで大概これでまかなえる。

一方、何かを修正した、という表現では広く Fix が使われる。「何か」は typocrash といった単語からメソッド名まで幅広い名詞を取るが、動名詞はあまり取らないのと、that節は取らないのでその点は注意が必要である

Fix は「何かが正しく動くようにした」ことを示し、正しい動作内容が何かを説明しない。そこで正しい動作内容に言及したい場合Make sure が使われる(こちらはthat節が取れる)。ただし Fix よりもニュアンス的に重い表現と思われ、Fix を使わず Make sure ばかり使うのはちょっとキモいのではないかと思う(Ensure はさらに重い表現っぽい)。

また、Fixtypo 以外でのドキュメント修正に対して使われることは稀である。対して Update はドキュメントコメントテストに使われ、本体コード修正に対しては使われない。本体コード修正にあわせてテスト更新したなら Update が使われる。ただ、テスト機構それ自体バグ修正したなら Fix である

無駄な何かを単純に除去したなら Remove を使う。これまでのもの(A)からのもの(B)に切り替えたのであれば Use B instead of A か Change A to B が使われる。新たに何かを利用するようにしたのであれば Use を、利用を取りやめた場合Don't use を使うことが多い。

何かをしないようにしたなら Don't を、内部実装効率化なら Make A + 比較級/形容詞Improve が使われる。

中身の変更を伴わない単なる名前の変更なら Rename A to B、コード機能論理上の場所を移動させたなら Move A to B である

この辺はリファクタリングと呼ばれる行為と思うが、Refactor というぼんやりした動詞はあまり使われず、このように変更内容の種類に応じて動詞が使い分けられている。

余談

コミットログにはWhyを書くべきだ、というのを何かで見かけたので because とか since を使ったログがどの程度あるかを調べたが、8540件のうち22件だった。基本的に短く、シンプルに、一目で意味が取れるログが好まれる傾向がある。例えば get rid of とか2件しか使われておらず、圧倒的に remove である

一方で、シンプル単語だけど開始単語としては使われないものもある。例えば次のような単語である。Expand(9)、Extend(8)、Print(5)、Optimize(5)、Publish(4)、Append(4)、Modify(3)、Manage(2)、Revise(2)、Dump(2)、Insert(2)、Migrate(2)、Enhance(1)、Edit(1) 。いずれもカッコ内は8540件に対する冒頭での登場回数である。結局、より一般的平易な単語で表せたり、Refactor同様に抽象度が高すぎると使われないのだろう。

おわりに

8000件もログを見たおかげで、迷いなくコミットメッセージが思いつくようになったのが個人的には今回書いてて最大の収穫だった。たぶんカンニングペーパーを作る行為それ自体効率のいい学習になるという話と同じだと思う。

このまとめも100以上用例を転載してあるので、それを読むだけでも多少は効果があるんじゃないかと思う。同じようにコミットログ書きたくねぇなぁ英語わっかんねぇなぁと思っている人にとって、何か役に立つところがあれば幸いである。

2016-03-27

互助会メンバーを連れてきたよ

http://anond.hatelabo.jp/20160327120607

僕がブコメ非表示にしてるIDの一覧

前半はただうざったい人をぶっこんでるだけだけど後半はだいたい互助会メンバーだと思う。

互助会判断基準は「凄いですね」「おめでとうございます」「参考になります」とか言ってる人達

それと馴れ馴れしい気持ち悪い敬語を使ってたり。

関係ない人が入ってたらごめんね。

jt_noSke|daybeforeyesterday|Arturo_Ui|crapman|lcwin|wow64|xevra|kana-kana_ceo|komamix|cider_kondo|zmoi|terazzo|kumonopanya|yosak439|north_god|biyoub|ncc1701|gurgle|ustam|death6coin|yuki1960|amadeus|buu|xlc|infobloga|nobiox|ikd18|idol_keikei55|kireinimigaku|

posutexibu|lp008962|Lhankor_Mhy|hamhei|demodemodatte|Falky|netcraft|unorthodox|nekoruri|ztanda|memoryalpha|type-100|stattly101|aiu3646|rosaline|yoshihiroueda|yoko-hirom|Dirk_Diggler|miraihack|noiehoie|aya_momo|nenashigusanora|kusoinakakagoshima|dekigawarui|rawan60|bat99|tagoshu|dd369|townphilosopher|zakinco|katabiragawa|zatpek|honehonerock|

somefiles|junglejungle|anpo-sumeragi|EoH-GS|hornfive|FUKAMACHI|shufuo|wackunnpapa|mame_3|kamayan|frivolousman|hisa_ino|MermaidSong|nkskname|hate_flag|Xcrgfw2015|tokatongtong|Gustav13|coper|IkaMaru|ksaitou|cleome088|tiisanaoppai|

dowhile|tteraka|zhy|nashika-ryo|trade_heaven|koink|fiiguy|scopedog|tianbale-battle|k564sa|azure-frogs|nabeteru1Q78|sapopopo|masa_bob|hojosen-watashi|agricola|kouchi203|houjiT|zazu0311|MIZ|mohno|driving_hikkey|kyfujita|susahadeth52623|CIA1942|washburn1975|seamlesssingles|tbsmcd|mouseion|kunitaka|cardmics|cyberglass|norirow|OKP|

hajif|QJV97FCr|ya_ken|aodifaud09|kaz_the_scum|buhikun|hatehenseifu|north_korea|bogus-simotukare|carl_s|kaeru-no-tsura|Gl17|mkusunok|hobbling|tatsukaneko|ahmok|vanacoral|toshi20|Yoshitada|sofa220|misafusa|take-it|sandayuu|kz78|blueboy|feita|mani023|shigeto2006|quwachy|white_rose|hiccha-ya-re|kxkx5150|vabo-space|ene0kcal|pyuta69|osaan|sugiyamasigemaru|Umekosan|MS310ru|interstella|nankichi|gulugulu|

a-tsuchi|wumf0701|akutsu-koumi|yuki_furu|shidehira|yas-mal|edo04|hyolee2|n_231|tonton-jiji|clclcl|confi|haha64|inumash|looot|davidsunrise|tone-unga|mojisan|yarukimedesu|skt244|katouk|cabinotier|ore_de_work|usataro|agathon|ueshin|pojihiguma|deep_one|siomaruko|kleinteich|neogratche|KoshianX|i2i|idealstream|youchin|Hiz22J|TOMATO_NDR|pmint|

apppppp|daizo3|nekora|shironeko_t|Mochimasa|htnma108|muso00|hamajaya|width|hitode99|sw522|azumaon|kitaazabu48|Tesh|kilminwq|taromalo0|calcalmin|zodiaccluck|saigotokyo|copyrightjp|amisakana|nekoqlo|

coco5959|wakame1367|protonoysters|Tomy103103|sugatareiji|hatenaquestion|kojimafood|hukahukahuka|masasia0807|masuosanex|zakkie|Daisuke-Tsuchiya|TTTT2|gigazori|homare-temujin|gaou2|eriko_moon|momijimom|masanori1989|Sanyontama|mamashizue|fukubuggy|tsurare01|hrktksm|sakitasu39|horitsukiko|s_dango|asimino|hana3hana|cindIII|pukuko15|fuzafuza|kaishaku01|KyoChika|

kota04|raytakahash|keisolutions|wwwhite10|lollipop-candy-syndrome|harunakatori0306|tensaychang|kumono_jyuza|miraisyndrome|trick-spec|f-aso|sennich|yokobentaro|la03241219|mayoi_inu|karutakko-muratan|hesocha|opps_long|hinatakokage|kankichi20|mtane0412|MoneyReport|kobabiz|kiratto-life|hevohevo|georgek5555|da-deng|kaomojiblog|dokushohon|daiki_bassist|msoasis|reteria|sakura-box|suzukidesu23|ken530000|dennou_kurage|Brightfuture|tmura3|kentakitasawa|isaiyasu|l-_-ll|doto-trigger-project|masaru0524|george-gogo|can1222|dai5ro-cat|masakuroy|ryo71724|cloudsalon|mraka2015|bun702|xx_mar0_xx|aqua935|nakasadax|saga-no-saga|take--chan|syudousiki|nyansu-nyan|ok723|tenkinkoguma|ponkotukko|musicalinstruments1987|kfo_hiji|lacucaracha|yutoma233|erisalife|le_beaujapon|sayyes0125|trailway|gustave_buzz|oobatomoyama|soramifanyan|Unimmo|gikazigo|menheraneet|

mayu115mayu105|goldblack|zentoyoyo|nimura-laboratory|kentaroupeace|takayukimiki|popoon|outdoor-kanazawa|kun-maa|tojikoji|santasantasan|nemurenai-same|liatris5|saneyuu|kurunchu|sfkpr996|astrayroad|

knewton|cild|hara-peko|hitamu|saku28kazu22|a-rulership|haruhiwai18|sunsunland-dayo|satomi77|tony_togo|byousatsu-pn2|kei_ta1211|tadachika_id|floorfloor|diligent-worker|sakenominimal|allmashit|rarasongjing|kureco|nosukethinking|masaki709|tomag|b-zone-salariedman|azux5296|stargazer-myoue|an_3_2|animezukikun|noi080|acutehappp|photoblg|levites|ishikawayulio|

s-usapon|novkota1984|kyo-ithi|keshigomu-kk|aetelppana|roserosequartz|hi-zakky|taka18782|vox_populi|stonedlove|hushinomiya|ka_rinchaco01|shiromatakumi|sny22015|midori32|ayumyuanuts-0206|momonari0565375|hydrangea2602|necDK|jimpeipei|mizumotohideto|Cosmop|kiiroihoshi|ssachiko|aikaearo|summersunday|rou_oz|blackgamer|kaki-9sai|konayuki358|t-tane|youkenwoiouka|journeykk|shun_prog0929|sandonigifu|yamayamaring|miyatore|ba-shi|koya-0263|quick_past|junmk2|Pikky|Nobkz|ngsmntm|younari|binary-takuto|jaikel|kodebuya1968|shima2tiger|good2nd|nextworker|yoiIT|baronhorse|tei_wa1421|cu777|minogozen|megumakou2014|doopylily55|lettuce0831|nine009|toppogg|e2693629|opensuse|HealthVillage|bukome_desu|

PSV|photokuri|Pgm48p|wakazoBOZ|yoshitokamizato|abmngkr|meiyoshachiku|yokoshimauma|hanage-works|nakanakanakkarin|yosuke0414|captainjacksan|tonbonline|hamachang1111|RyotA|shimokiyo|dandy611|scurasan|mona48|fufumidon|noabooon|aitabata|crash54175|shinnji28|mowmow18|hirahira511|unikurashi|

morningglorycloud0203|matsumototama3|kobayashihirotaka|decchisan|aime0703|nomvey|Jogasaki|clark3|siosaioffice|shin5nakata233|jinsan77|marsweexavi|iyasaretaiazinori|hahalife0

2015-09-24

SPEC結を楽しめなかった自分感想

映画館で見て、微妙だと思ってたんだけど、改めて昨日テレビを眺めて、やっぱり楽しめなかった。

一番の理由は、

俺は、CGをフルに使った超能力バトルが見たいんじゃなくて、

事件面白おかしく解いていく、あの流れが見たかったんだと思う。

ドラマの謎の回収は気になる部分だが、こんな壮大な話は求めてなかったんだよな。

こういうの見たいならハリウッド映画で十分だよ。

2015-08-30

太陽がなければ園芸用LEDライトを買えばいいじゃない?

日当たり絶無の部屋、キツイ

とりわけ季節性うつ病患っている人間にはシンドイ。

健常者でもダウナーになる。

からeBayで園芸用LEDライト買って、天井に吊るしてるわ。

レタスとかヤワ植物育てる光源じゃなくて、ハッ◯がスクスクと育つ高出力のやつ。

太陽光スペクトルとほぼ同じだからマジで太陽買ったようなもんだね。

300Wで1万円(送料込み)。5WのLED電球を60個密集させたやつ。

バッタもん(specでは5W×60個だけど、実は1W×60個とか)には気をつけろよ。

6畳までなら300Wでカバーできる。

消費電力は140Wくらい(なんで300Wじゃないか説明するのは面倒過ぎるから省く)。

ちと消費電力高いけど、明るさに比べたらパフォーマンス良い。

この照明のおかげで正月は越せそうです(五体投地)。

医療LED? 光療法?

ありゃダメだ。

アホみたいに高い。

Amazonとかで売ってるけど、ボッタクリだよ。

消費者庁動かないのが不思議

園芸用LED欠点は痛くもない腹を探られることかな。

マトリ、うちには来るなよ。何にも出てこんぞ!

2015-08-06

アメリカ市街地への原爆投下という非人道的攻撃日本にしたという事実

戦後アメリカによる教育の賜物か

アメリカに対する憎しみはない

が、到底正当化できる行為ではない

Spec Ops: The Line 面白かった

2013-11-04

SPECをみたことないけど劇場版見てきた(ネタバレあり)


そもそもの経緯は、

映画チケットもらったので風立ちぬを見にいこー

→もう終わりかけなので午前からの回しかない

休みの日の朝10時に起きれるわけない

→予定時刻を10分過ぎて駅へ

電車遅れる

→乗り換えの電車も遅れる

→開始40分で到着

→「上映から30分を過ぎたら入場できません」

→「はあ!?

→「知らんし」

→マジTOHO意味わからん

→客が見たいいうてんやからみせろや

→どーせガラガラやろうが

→なんて日だ…

→クソが 帰る

→のも癪なのでいちお他なにやってるかみるか

→ふむ、SPECならこのチケットでいけるな

しか最近公開じゃん

→あと1時間ねえ

→まったくみことないけどw

刑事ドラマかどうかも定かじゃないけどw

→話題やしみてみっか

→腹減ったし回転寿司でもいくべ

うまい

まぐろうまい

→機嫌なおる

→始まる前にトイレでも行っとくか

→なんか学生おいなー

→ふむ、学生1000円なんか

→こいつが紙兎か。初めてみた

→今度トリックやるんだ

ジブリかぐや姫のやつよさげだわ。やるじゃん高畑

永遠の零なーなんか戦争映画増えたなー

→この国はナショナリズムに傾倒してくのかなー

→やな感じだなー

ってかんじ

SPEC感想

エンドロールがなくてスタッフさんかわいそうでした

2013-08-12

Webサーバを作る】http://d.hatena.ne.jp/kmaebashi/20130804/p1

マネしてPerlで書いてみた。以下ソースコード

use Fcntl;

use strict;

use Socket;

use threads;

use POSIX qw(strftime);

use File::Spec::Functions qw(rel2abs);

my $thread = threads->new(\&serverThread, "");

$thread->join;

sub getContentType {

my $ret;

my %hashmap=(

"html" => "text/html",

"htm" => "text/html",

"txt" => "text/plain",

"css" => "text/css",

"png" => "image/png",

"jpg" => "image/jpeg",

"jpeg" => "image/jpeg",

"gif" => "image/gif"

);

$ret = $hashmap{$_[0]};

if ($ret eq "") {

return "application/octet-stream";

} else {

return $ret;

}

}

sub serverThread {

my $documentRoot = rel2abs("D:/var/www/html");

my ($line, $path, @tmp, $ext, $data, $absPath);

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

bind(SERVER, sockaddr_in("8001", INADDR_ANY)) || die;

listen(SERVER, SOMAXCONN) || die;

while (accept(CLIENT, SERVER)) {

while (<CLIENT>){

$line = $_;

last if ($line eq "" || $line eq "\r\n" || $line eq "\n");

if (index($line, "GET") == 0){

$path = (split(/ /, $line))[1];

@tmp = split(/\./, $path);

$ext = @tmp[$#tmp];

}

}

print CLIENT "HTTP/1.1 200 OK\r\n";

print CLIENT "Date: " .strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime). "\r\n";

print CLIENT "Server: Sever03.java\r\n";

print CLIENT "Connection: close\r\n";

print CLIENT "Content-type: ". getContentType($ext). "\r\n";

print CLIENT "\r\n";

$absPath = rel2abs($documentRoot. $path);

if (index($absPath,$documentRoot)==0 && sysopen(FH, $absPath, O_RDONLY | O_BINARY)) {

while ($data = <FH>) {

print CLIENT $data;

}

print CLIENT "\r\n";

close FH;

}

close CLIENT;

}

}

コアモジュールだけ使った。

元ネタJavaコードディレクトリトラバーサルになってたんで、一応対策を盛り込んだ。

といっても絶対に外向けに動かさないように。無いと思うけど。

いろいろツッコミくれるとうれしいです。

2013-03-03

RailsとTwitterBootstrapでエロ動画ソーシャルブックマークWebサービス作った

Rails + Twitter bootstrapでエロ動画ソーシャルブックマークWebサービスソーシャルオナニー=ソシャニーを作りました


こちらです http://www.socianie.com


【なにこれ?】

かっこつけた言い方をすると、

「いっぱいエロ動画あるけど結局みんなどんなお宝動画で抜いてるの?という日常的な疑問への答え」

とかでしょうか。

実際どんな事が出来るサービスかというと、基本的には、はてなブックマークのようにエロいページをブックマークする(その時に、コメントを付記することができる)というものです。

サイト内の他のユーザーフォローすることができ、TwitterのようにTimelineのようなものがあってそこにフォローしている人がブックマークしたページが表示されます(そのページが、xvideos,fc2などの有名サイトならば埋め込みプレーヤーですぐ再生出来ます。)

まりフォローしてる人の最新お気に入りエロ動画がチェックできます

ブックマークされたページはそれぞれが固有のページを持っており、タグを付ける事ができます

ユーザーブックマークしたもの動画一覧で横断的に見ることができ、並び替え・検索などが出来ます

ブックマーク数で今日ランキング今週のランキングなどが見れます

あと、累計ブックマーク数によってユーザーランクが上がったりします。

TwitterOAuth認証ログインが出来ますTwitterツイート投稿などはしません。また、サイト内の名前アイコンTwitterのものを流用するかどうかも自分で決められます。)



他のエロサイトとの違いは、3つあると思っています

ソーシャル機能。他にも世の中に色々素晴らしいエロサイトがありますがそれらはソーシャル機能を持つものが少ない。

②上記の話とちょっと被ってますが、他のサイトは基本コンテンツ自体を自動クローリングするけれどソシャニーはそこをユーザー自身に委譲しているため、集まってくる動画の質はそれに比べて上がるんじゃないかというのと、

エロサイトありがちな出来るだけごちゃっと感を無く広告も無しでTwitter bootstrap使って小綺麗な感じ


作成後記】

Webサービス作るならRailsかな楽で便利らしいしというざっくりとしたイメージからRailsで作り始めましたが、

ネット情報入門書に取り組んでもサンプルと同じモノは作れても実際自分が作りたいモノになると、で、どうやるの?となりなかなか進みませんでした。

Railsは色々と勝手によろしくやってくれる機能が多すぎて実際何が起きてんの?というのがわかりづらいというのが第一印象でした。

色々試行錯誤した結果、一番参考になったのはRails tutorial( http://ruby.railstutorial.org/ruby-on-rails-tutorial-book )でした。

英語ですがバージョンは新しいしBootstrapの使い方もわかるしサンプルがTwitterクローンサービスを作ろうというなかなかおもしろものなので途中で飽きること無く取り組めました。

何かを学ぶ時は、モチベーションが続く形の学び方が一番いいと思いました。

僕はエロ動画が大好きなので、エロサイトというのもモチベーションの1つです(ただ、作業中に脱線して気づいたらキーボードではなく下半身に手が伸びているという事もありました。)

また、上記のチュートリアルテスト駆動開発なのでSpecテストをモリモリ書いているのですが、とりあえずはテストに関しては何をやってるのかざっと眺める程度で精読しませんでした。

まずは全体像を把握して何が必要か把握したかたからです。結果的に最後までやりきれたので良かったと思います



あとは、Rails固有の知識ではなくWebサービス全般の知識で足りないな、と思ったときネット上や本屋立ち読みで済ましました。

ネットで細切れにお勉強している場合本屋で体系的にまとまっている本をざっと読むと意外に抜けてる知識が保管されたり脳内インデックスが作れるのでいいと思いました。


バージョン管理gitを使いました。

理由はみんなが良い良いというので乗っておくかという安易なものです。

実際のところgitの良い所を使い倒せているのかというと全くそんな事ないですね。

せいぜいstash位でしょうか。あとbisectとか。


リポジトリ最初DropBoxに作ってたのですが、途中からBitbucketを使いました。

GitHubを使わなかった理由はBitbucketプライベートリポジトリ無料で持てるからです。

また、恥ずかしがり屋なのでGithubで公開は敷居が高いと感じたからです。

初のRailsプロジェクトというのもありソースがイケてないので恥ずかしいのです。

いつかイケメンコードGithubで公開してオレツエーしたいものです。


サーバーエロOKのところを探すのがなかなか難しく結局海外VPSを使いました。

Linodeというところですが、他との違いを挙げるとiPhoneアプリ経由で再起動などが出来たりします。あまりこの機能使ってないですが。

OSベタCentOSです。

構成はpassenger+apacheで、DBSQLite特にLBなどはないです。

諸々構築後に人気が出た時困らないように負荷分散のお勉強なんぞもやりかけましたがまずは不要かなということで辞めました。

ちなみにサーバーがUS西海岸なのでSSHで作業するとエディタちょっともっさりすることがありました。


プロジェクト管理は、会社でも使ってるのでRedmineかなと思ったのですがどうせ一人だしRedmineのUIきじゃないのでTrello( https://trello.com/ )を使いました。

TODO,Doing,Done,Bug,Suspendのリストを作ってやること忘れないように管理しました。

ふと出先で思いついた機能とかをiPhoneでスイっと追加など出来て便利でした。


正月に公開してお友達界隈で見てもらったんですが、よかれと思って作ったChrome拡張CSRFの対策が不備あり結局ブックマークレットにしたり、

ソースを見てもらったら設計RestfulじゃないとかControllerがfat過ぎるModelに押しこめなどアドバイスをもらえたり無知な僕には色々とお勉強になりました。

出来たものはしょぼいものですが、「Webサービス作ったことないコンプ」は少し解消出来た気がします。


以上、月19ドルも払ってるのにお友達だけで使われてるのも寂しいので増田でまとめついでに宣伝してみました。

叩かれるんでしょうか。怖いです。いじめないで。

2012-12-03

フィリップモリス日本のおまけ戦略がかなりヤバい件テスト稿】

さっきコンビニに行ったら、フィリップモリス販促什器にあろうことか「景品用」シールの付いた豚キムチスーパーカップがズラリ。

煙草販促用景品に、195円のカップ麺ってやりすぎじゃねぇの? まぁ所属店舗じゃないし、腹も減ってたから、買うけどさ……。

煙草を買うと一食浮かせられますよ、ってそれどうなのよ、とは思います喫煙者としても。

さすが米系企業、俺ら喫煙者というものをよーくわかってんなぁ、と思いつつも、自分所属店舗にもコレ、同じ便で来ちゃってるんだろうな、と考えると、ふたつの意味で背筋が寒くなりますよ。

なんで背筋が寒くなったかというと、ひとつめはニコチン中毒と食欲を同時に満たそうってオマケはホント非道だなぁ、ってのもあります

プラス

このプロモーション仕掛けたヤツは公取法も喫煙者の習性もある程度わかってるけど、コンビニシステムはどっかのサプライチェーン本部で一通りの理想論講習受けただけじゃねぇの、って点でして。

わかりやす普通オフィスで喩えますとコレ、「あなたデスクの上に取引先がでっけぇ正体不明な箱なんぞムリヤリ積み重ねくさって、いつ返送したらいいですかって訊いたら生返事しか返さねぇ」状態。それが全国のコンビニ(のバックヤード)で多々発生してる、っぽいんですよシステム考えると。規制緩和だか何だか知りませんけど、今年の春先あたりから、どうもおかしフィリップモリス

地域煙草流通会社から押し付けられるタバコ販促什器カウンター前に置いてある紙製のアレです)+プラスおまけ商品って、ぶっちゃけ邪魔なんですね。

スペースのみならず、管理も伝票処理も。結構

店舗単位レイアウト計算して送ってくる程、流通さんには人数居ないし、とはいタバコメーカー流通・チェーン本部(場合によっては店舗経営してる法人)へとバックマージンなり何なり入ってるかもしれない状況では、無計画に送られてきてイーカゲンに回収されるタバコの紙什器+オマケの類が余りまくるんです。

ンなモン置くぐらいだったらコンビニ一番くじとかあのへんのほうを置きたいって本音もあります。あれなら小学生に売っても官憲に怒られませんし(二次元中毒性について煙草比較したいけど、これはまぁほっとく)。それに俺オタだし。

ただの紙什器に関しては店舗の売場管理という裁量でどかす事もできますが、問題になるのはオマケ(ライターとか小銭入れとか使い捨て灰皿)。これたいてい煙草流通会社資産(景品だから商品じゃなく所有物)なんで、通常の返品処理でコンビニチェーンの集配センターには戻せず、確か紙の伝票書いて煙草流通会社の便で返送しなきゃなんねーんじゃないかと。

要するに、専従者(オーナー夫婦とかFC会社)の人間寝不足オして紙の伝票切らないと、どかせない。よっていつまでもコンビニ倉庫で埃カブり続けたりも、する。喫煙者かつバイトな俺ですら、「邪魔だぼけぇ」と時折悪態をついてます。15年前にはじめてコンビニバイトした時代から全然進歩してないんですよ煙草販促関係だけ(このへんは書店とよく似ている)。

そもそもジャストイン・ジャストタイムを是としているコンビニ取扱商品の中で、あの一区画だけ、昭和な酒屋と同じノリで押し付けられて、しかもヘンなとこだけ80年代レベル電子化してるから、まーコンビニの超合理化済み運営システムとはソリが合わん合わん。

結果として犠牲になるのは、我々従業員のロッカースペース&限りなくゼロに近いオーナー睡眠時間、っていう。

ロゴ入りライターとかの小物なら、まだいいですよ。

確か夏ごろからフィリップモリスのおまけはネジが飛び始めた。予算ついた上にヘンな代理店の口車に乗ったんでしょうけどね。

KOOLナチュラルに付けた「景品用」シール付きの350mlエビアンボトル。オマケにしては余りにデケぇし重い。しか臭い移りの危険性アリで気を遣う。

7月にバックヤードに置かれたアレ、ミニマムな話で言っちゃうと、今月に俺が自店で先輩従業員にPOS打って貰っててめーで買い上げて、ようやっとどかせたんですよ。あの煙草自体はマズくはねぇしどちらかと言えば好みの味だったんで、まぁいいですけど。

で、調子に乗って今月からカップ麺をおまけに付けてください、と押し付けてきた。

あのね、こんなでけぇモン大量に持ってこられても、置く場所店頭にも倉庫にも、たいていのコンビニにはもうないの。通常のカップ麺と同様の取扱留意事項守りながら扱えって、そりゃぁ横紙破りですよ、店舗と営業マンの信頼損ねかねんですよあのシビアな集配スケジュールじゃ。

ねぇ、流通さんとフィリップモリスさん?

そんなワケですから、あのへん担当してる代理店かどっかの偉いさんは、そのお花畑な脳内リフレッシュすべく主要コンビニ全チェーンをお遍路よろしく半年づつ時給780円で経験しやがってください。いいですね? ばかー!

煙草なんて吸うのはド底辺だから『LARKを吸って一食浮かせよう』ってどうだねチミィ」

「素晴らしくエクセレントなご提案で御座います部長ォ! ご発言メモメモ靴ナメナメ~!」

ってなやりとりがあったんでしょうし、ブログ如きでグチってもなーんも変わらん、のですけどね。

こっから先、大昔日本では煙草ガンガン付けられたオマケ商法によって煙草未成年ダメ規制が始まったっていう歴史的経緯とかそのへんの話もしようかと思ったんですが、なんかこう販売店従業員レベルでの無力感とかアレ見た嫌煙様のエゴトークとか目にする事考えたらイラときた。

だもんで吸うよ。D-Spec処理されててそこそこウマいキャスターマイルド、をナ!

2012-05-17

日陰者はろくろの夢を見るか

ソフトウェア開発会社新入社員として入社して1年とちょっと

今俺は先行きについてものすごく悩んでいる。

配属されて初めての仕事、それはレガシーコード保守だった。

こういうのは業界柄よくあることなので致し方ない、とは思う。

別にそれはこの際どうでもいい。

問題は、現場の同期や上司ととことん話が合わないことだ。

俺はずっと、新しい技術を追いかけて来た。

一世を風靡するしたJavaも今では一部でオワコンと呼ばれる時代だ。

IT業界の流れはとにかく速い。

俺はそこに取り残されないように必死勉強した。

近くで勉強会もやってたから、行ける限りとにかく参加した。

適当コード書いたり、色々なツールを使ってもみた。

新卒面接の時には「新しい技術を追いかけ続け、会社に貢献したい」とか言った気がする。

だが、その想いは入社半年を過ぎたあたりから見事に裏切られた。

とにかく、上司や同期が技術に興味がない。

レガシーコードとの戦いも覚悟はしていたが、俺が想定していたスマートレガシーコードとの戦い方とはひどく遠いものだった。

彼らはレガシーコードレガシーコードのまま保守する。

テストなんてものは書かない。テストExcel方眼紙で書かれたテスト項目が全てだからだ。

xUnitだとかSpecなんてものはもちろん知らないし覚える気もない。

極めつけはExcel方眼紙テスト仕様書兼報告書と呼ばれる代物の抜けの多さ。素人でもわかるレベル

足りなさそうな部分は経験則に則り適当テストする。だがその結果は報告書には書かない。

バージョン管理なんてもの存在しなかった。上司に聞いたところ、あるにはあるらしいがCVSらしい。

だがそんなもの社内のどのチームを見ても使っている様子すらない。唯一のバージョン管理ファイルサーバー上の日付が書かれたフォルダーのみ。

そんな現状だ、BTSCIももちろん存在しない。

とにかく現状がひどい現場だが、誰も変える気がない。

現場改善に向けていくつか提案もしてみたが、ただただ否定の言葉けが帰ってくる。

なんとかしてやろうとも思い、個人的にいろいろやってみたものの、必要かどうかもわからない大量の雑務に押し潰された。

彼らには新しいものを学ぶ気なんて全く無かった。

会社を変える気も無かった。

俺はとにかく現場失望した。憧れた業界はこんなものなのか、と。

そう思った時から、俺は現場で笑えなくなった。

同期や上司と気軽に話ができなくなった。

雑談でさえも話を続けることができない。

現場問題点だとか新しい技術だとか業界の動向だとか、話したいことはたくさんあるのに。

彼らはそんな話に見向きもしない。

元々静かな現場であった上、コミュ障気味であることも災いし、その結果会社で話せる人はほとんどいなくなった。

雑談でもいいから話せなかった俺も悪い。だが今更何かを話にいく気にもなれない。

明日の飯を食うだけのために、1ヶ月、あるいは1年、もしくはそれ以上かかるようなつまらない仕事でも淡々とこなす。

そういう生き方も決して間違ってはいないとは思う。

生きていく上でのれっきとした一手段だとは思う。

だが俺はそんな生き方をしたいと思わない。

そんなことをするために俺はこの業界就職したわけじゃない。

だが、現場ではどれだけ訴えても理解してはくれなかった。

俺は今、先行きに不安を感じすぎて俺自身が潰れそうになっている。

会社で居場所がないように感じている。

転職すればいいのかもしれないが、第二新卒枠がまだなんとか使えるとはいえ、今の実力でどこまで通用するのかわからない。

世間じゃ会社入ってから辛くても3年はやってみろ、と言う。

1年ちょっと会社を辞めてしまう奴などクズだと見られるだろう。

その上就活もうまくいっていたほうではなかったから、その時の思いが蘇り、踏み出すこともできない。

それに、今まで養ってくれた親を心配させるわけにもいかない。

八方塞がり。

きっとこの業界自殺を考える奴の心境ってこんな感じなのかと、今日も1人日陰者としてExcel方眼紙の画面を睨み、与えられた作業を淡々とこなす。

そしてExcel方眼紙の先には果たして何が待っているのだろうかと、希望情熱燃え尽きたまま思索にふける。

http://anond.hatelabo.jp/20120517000628

どこぞの、マラソンランナーを思い出しました。

出会うどころか って事もあるからSPECしだいだろ。

まぁ、それに。そうでもしないと、つらい現実を見つめても仕方がなかろう。それで、誰かをフっちまうなら、話は別だが誰も相手にしてくれないからそうなるわけで、

現実的に努力する道があるなら、そっちに行くべきだが、無いならもう、いいだろ。

2011-01-09

佐天さんの能力シリーズ

佐天「自動ドアセンサーが反応しなくなる能力かぁ」

http://2syokan.blog.shinobi.jp/Entry/1215/

佐天「上条当麻幸せにする能力かぁ…」

http://morikinoko.com/archives/51522807.html

佐天「無意識に『ちんちんかもかも』と発言させる能力、かぁ…」

http://sea-mew.jp/nox/modules/webarc/2ch/ss/1281967039-0.html

佐天「万物を捻じ曲げる能力・・・?」

http://sea-mew.jp/nox/modules/webarc/2ch/ss/1292331966-0.html

佐天「カンチョーした人と中身が入れ替わる能力かぁ・・・」

http://ss.saloon.jp/archives/4229

佐天「恩を仇で返す能力かぁ・・・」

http://blog.livedoor.jp/toaru_ss/archives/1666300.html

佐天「能力を真似する能力、かー……」

http://logsoku.com/thread/raicho.2ch.net/news4vip/1292188399/

佐天「妄想を強制的に語らせるSPECかぁ……」

http://punpunpun.blog107.fc2.com/blog-entry-2028.html

なんかもっといっぱい読んだ気がする。

ログイン ユーザー登録
ようこそ ゲスト さん