YAPC::Asia 2015 のプロポーザル「文系プログラマのための、知識ゼロからのデータ構造と計算量」

2015年、8月20日から22日までの三日間、プログラマの夏フェスことYAPC::Asiaが今年も開催されます。わたしもトークを応募した。 YAPC::Asiaってなに? YAPCとは? | What is YAPC? 世界最大のYAPCが最後の大花火をぶちあげにもどってきました!YAPCはYet Ano…

引っ越しました

仕事の都合で東京のはずれに引っ越しました。 新潟にいる間は、新潟のプログラマがとても仲良くしてくれて、おかげでプログラマとしてめちゃめちゃ楽しく生活することができました。なかでも @hayajo さん、@civicさん、@dictavさんには格別にお世話になりま…

Perlの黒魔術を解説するよ〜〜〜〜

まずはこちらをごらんください。 Base64 decoder/encoder in Perl - 兼雑記shinh.hatenablog.com すごすぎる……。恐ろしいですね。 なぜこんなことになるのか、解説していきましょう。まずはPerlの気持ちになりましょう。 Perlの気持ち編 ポイントその1 barew…

エラーハンドリング・クロニクル #nds41

はじめに プログラミング技術の歴史は、ありとあらゆる歴史がそうであるように、いろんな「史観」で眺めることができます。ならば、プログラミング技術の歴史を、「エラーハンドリングとの戦い」という視点から見ることもできるのではないでしょうか。本日は…

phpでzipしたい

php

php で zip したい場合は、array_map を使う(!!)

Functor における map の引数の順序を考えてたらいっこストンと腑に落ちた話

別に知見は書いてないですが、なるほどなーと思ったという感想を書いたエントリです。 ScalazとHaskellのFunctorの提供するmap(fmap)は、引数の順番が異なります。 Scalaz の Functor def map[A, B](r: F[A])(f: A => B): F[B] F[A] なFunctor値が最初の引数…

肉をやりました

個人の日記です。 id:moznion がはるばる新潟まできて肉をやってくれるというので好意に甘えて肉をやりました。 肉をはじめたところです。すでに仕込み済の肉をmoznionが持ってきてくれたので、焼くフェーズから開始している様子です。 焼いてくれています …

テンプレートをDRYにするのは慎重にやったほうがいいですよねというお話

社内でレビューおじさん業してて書いた内容ですけど守秘する必要ない情報なんでちょっと内容書き換えてオープンアンドシェアーします。 本文 見た目とかUIというのはソフトウェアの中でめちゃめちゃ柔らかい部品(些細な変更されることが多い部品)なので、…

スロークッカーとかいうぐう有能調理器具wwwwwwww

はじめに プログラマやツイッターユーザの間では、誕生日とか退職とか就職とか引っ越しとか結婚とかそういう節目のタイミングでアマゾンの欲しいものリストを公開しプレゼントを請うという文化が存在します。不肖私もこのたび 2月13日に無事31歳の誕生日を迎…

タイ風角煮考

ここ最近角煮が話題かどうか知りませんが角煮です。 角煮ですが、うまいし簡単に作れるのですが時間がかかります。とはいえ、タイ風角煮なら雑に作ってもうまいという知見があるのでシェアします。 まず、角煮が硬くなるのは調味料で煮る、そのタイミングで…

@sasaplus1 さんの神対応によって process-bookがwebで読みやすくなりました

process-book ってなに この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いてい…

swift の protocol の解決が Playground 上でうまくいかないっぽい話

えー。尊敬するiOSアプリケーションプログラマのひとりであるdictavさんがこういうものを上げておりました。 Logger for Swift まー適当に。 Logger.logger = superPrintln とかしても良いし。 https://t.co/C1fY3ecuP2— Fat fat fat!@Niigata (@dictav) 201…

Niigata.pm tech talk を開催しました #niigatapm

去る 12/13 、JPAさんの支援により Songmu さんを講師にお迎えして、Niigata.pm tech talk を開催しました。 内容 発表内容は、以下のような感じでした。 hayajoさん 「Dockerを使った Perl アプリケーション開発」 タイトルの通り、Dockerを利用して Perl …

ドラ娘の話

なんか盛り上がってるけど、けっこう前からわたしもよくドラ娘という風潮に twitter とかで言及してたのでこのタイミングでブログで一度書いておく。 ドラ娘という風潮は個人的には不快であるが、これはどちらかというと私個人の嗜好に基づくものなので、「…

TRADITIONAL MUSIC THEORY FOR CONTEMPORARY MUSICIANS を読んだ

一般に流通してない本なんだけど、下のリンクから買える。 【販売ページ】Traditional Music Theory For Contemporary Musicians | Music Theory Workshop Japan 【販売ページ】Traditional Music Theory For Contemporary Musicians | Music Theory Worksho…

NDS 38 長岡花火を支える技術 に行ってきた #nds38

新潟県長岡市で定期的に開催されている勉強会「NDS」の38回目に参加してきました。 第38回勉強会(2014/11/01) - 長岡 IT開発者 勉強会(NDS) メインセッションの感想を 長岡花火のインターネット配信がどのように行われているかという話でした。めちゃめちゃ…

ActiveRecord の dup の挙動

ひとことで言うと、 ActiveRecord には dirtry な attribute を追跡するための便利なメソッド群が定義されていますが、dup とともにこれらを扱うときには要注意ですよ、というお話です。 _was とか _changed? は便利 dirty な attribute を追跡するってのは…

Niigata.pm をやるぞ!!!!!!

「Niigata.pm って死に体なんじゃないの?」「しんぺいさん Niigata.pm やる気ないでしょ」「新潟にPMなんてあったっけ」「あいつもう Ruby と Scala しか書いてないしダメだな」「猫型さん完全にやる気ない」などの発言がそこかしこで聞かれる Niigata.pm …

値の一意性を保証したいときに気をつけるべきこと

たまに以下のようなロジックで値の一意性を保証しようとしているコードを見かけます。 if ( 既に値が存在するか ) { ...(1) print "別の値にしてください" } else { 値をどっかに保存する処理 ...(2) print "保存しました" } 一見うまく動きそうなんですけど…

LLユーザこそ「ふつうのLinuxプログラミング」を読んだらいいという話

4年くらいまえに一度通読して「ふーん」で終わってたんだけど、最近読み返したら「これはめっちゃ良い本では?」となったので紹介します。 ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: ソフ…

Scala で直和型

ScalaMatsuriに参加したからというわけではありませんがScalaの話題を。 まず最初に直和型とは 例えばOptionみたいなやつです。Optionは、「必ずSome か Noneのどちらか」であるような型ですが、こういう「必ずAかB(かCか……)である」というような型を直和…

YAPC::Asia 2014 レポート「一歩踏み出すのに遅すぎるということはない」 #yapcasia

YAPC::Asia 2014 に参加して来ました。自分も Scala のトークで応募していたのですが、残念ながらリジェクトとなり、サークル参加ではなく一般参加者として参加しました。 いろいろと書きたいことはあるのですがあまりに長くなってしまうので 2 点に絞って書…

PHPのセッション保存周りについて

php

PHPのセッションとセッションハンドラ PHP は session_start(); をコールしたあとで $_SESSION にアクセスするだけでお手軽にセッションを利用することができます(ここではセキュリティの話は置いておく)が、よく知られた通り、デフォルトではこのとき $_S…

開発環境でのみ、リクエスト毎になんか処理をフックしたい in Ruby

RackMiddleware を使うのが筋が良い気がする。 middleware 用意する # lib/rack/nyan.rb module Rack class Nyan def initialize(app) @app = app end def run(env) run_hook @app.call(env) end private def run_hook # なんかする end end end config.ru …

YAPC::Asia 2014 落選しました

Perl Mongers のための Scala 入門中の入門 というトークを YAPC::Asia 2014に応募していましたが、落選しました。 Scala の話は、はこべさんによるより実践的な内容のトークであるところの Scala In Perl Company : Hatena が採択されていますので、そちら…

続・結局型クラスって何がうれしいのっていう話

今回は時間がないので簡単に見ます。 型クラスによってアドホック多相が実現されるとどんな柔軟なことができるのかという例を見ましょう。 たとえば、List#max について見て見ましょう。これ、要素が String だったら辞書順での最大値を返すし、Int だったら…

で、結局型クラスって何がうれしいの、ということの説明

前回の記事では、Scala では implicit parameter を利用することで型クラスと同等のことが実現できることがわかりました。しかし前回の疑問として、「で、それの何がうれしいのよ」というのは残っていましたね。 今回はそのうれしみをなるべくわかりやすく説…

Scala の implicit parameter は型クラスの一種とはどういうことなのか

なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の impl…

Rails で content-type が application/json などの場合、MethodOverrideが効かない件

背景 Rails には MethodOverride の仕組みがあって、これはなにかっていうと、HTTP method が POST の場合でも _method=PUT とかそういうパラメーターを付けてリクエストしてあげると Rails のレイヤーではそのリクエストを PUT として扱ってくれるやつです…

稀風社の「海岸幼稚園」を読んだ

稀風社(id:kamiharuとid:suzuchiuの短歌同人)の「海岸幼稚園」を読んだ。ので感想を。あくまで「印象」の話であり、批評みたいなものではない。 鈴木 & 三上はどちらも「欠落/不在」をよく歌うというのはいろんなひとが言ってるんだけど、鈴木さんの歌は「無…