こんなイベントで話してきました。資料をこちらにアップしています。
Git のバージョン 1.9.1 で確かめていますが 1.7.12 より新しいなら大丈夫だと思います (根拠: https://raw.github.com/git/git/master/Documentation/RelNotes/1.7.12.txt ). Git は git rebase で世界線を弄って歴史改変が出来ることで有名ですが (個人の感想です),Initial commit の CommitDate だけは,どうにもしがたいですよね. そこで環境変数の指定で無理矢理 --committer-date-is-author-date 相当のことを実現する方法です. まずこれで interactive mode の rebase を始めて,Initial commit を e (もしくは edit) にします. すると「さぁ git add なり何なりして git rebase
CやC++の開発ではメモリリークに悩まされることが多い。メモリ管理はスマートポインタに限定するなど自分たちが注意しても、外部で開発されたコードやレガシーコードによって結局逃れられないことがしばしばある。 さらに組み込み開発といったコードの実行環境に制約が多い場合は、検出や再現がやりにくいことから、メモリリークのデバッグやテストが結構なストレスになることがある。 こうした、面倒な問題になりがちなメモリリーク対応では、全てに対応できるというわけではないけれど、ユニットテストでの検証が有効なことが多い。ユニットテストならば、再現性の確保、異常な入力の実現、コードの切り分けといったものが容易なためだ。デバッグ等で便利なので、今回いくつかの方法をまとめたいと思う。 対象のコード 今回はメモリリークを発生させる題材として、以下のコードを解析する。 class Base { }; class Hoge
フレームワークと強そうですが、ものすごく単純化して考えると、以下の1行に集約されます。 View(Action($_GET['url'])); これは何をしているかというと? どこにアクセスされているかを取得する。 ($_GET[‘url’]) 必要な処理を施す。 (Action) 処理の結果を表示する。 (View) どこにアクセスされているかを取得する 思い切って、.htaccessに次のように書いてしまいます。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] これは「どんなURLを叩いても全てindex.phpを呼ぶ」というものです。(そこに既にファイルが存在しなければ
課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基本的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy
最近、RubyやRails系の入門チュートリアルを中心にいくつかの記事があったので、知っている入門系チュートリアルを一式をまとめてみました。本当の初心者な方から、本格的にRubyを勉強したいと思う人にすっごいオススメです! (2016/02/20 17:30) 全般的に内容をリファクタリング 😎 スライド 拙著ですが、Railsをスタートダッシュして学ぶときに良さそうな記事や資料をまとめました。 Ruby 概論のスライド Spice Life CTOの五十嵐邦明さんの一橋大学での講義「Ruby概論」のスライド。 🎳 動画 Ruby入門 (全22回) Ruby on Rails 4入門 (全28回) 最初に見てほしいのがRuby/Railsのドットインストール。このあたりから少しずつ始めていくといいと思います! 🐞 ハンズオンProgate | プログラミングの入門なら基礎から学べるP
型とは何か Presentation Transcript 型とは何か? CPython の実装 by @cocoatomo, written in HuiFontP ご結婚 おめでとうございます!! • 型い愛で結ばれたお二人に • CPython の型のお話をプレゼント そもそも型とは? • 例を出すと 例えば血液型 • A型 • B型 • AB型 • O型 例えば軍艦 • 金剛型 • 陽炎型 • 天城型 • 利根型 • etc… 「型とは値の集合である」 • Types and Programming Languages • ↑型についての入門書 • 「名古屋入国のためのパスポート」 • 安全性 = 推進性 + 保全性 何の役に立つの? • 推進性 ⇒ 式の評価 (=計算) が値にな るまで実行できることが分かる • 保全性 ⇒ 式の評価によって型が変わら ない • ⇒ 「ある程度」
Go development environment for Vim The reason for creating vim-go Go has a very versatile toolchain and commands that makes Go programming fun. One of the famous tools is gofmt, which automatically reformats the code according to some predefined rules. However there are many other tools like goimports, oracle, godef, etc.. which help to provide a more productive workflow. There are many independen
その2はselect * from tablename where fieldname = xxxです。長くなるのでまずは2の1から。 なんとも簡単なSQL文ですが、テーブルの定義やデータの状況によって全くパフォーマンスが異なってきます。 使用するインデックス解析 MySQLはまずSQL文を解析し、fieldnameフィールドをキーセグメントの先頭に持つインデックスが存在するか調べます。存在すれば、そのインデックスを使用したオペレーションhandler::ha_index_read_map(HA_READ_KEY_EXACT)を使い操作を組み立てます。無ければ、hanndler::ha_rnd_next()かhandler::ha_index_next()を使ったレコードスキャンをします。 実は、このインデックスの選択と、handler::ha_index_read_map()オペレーショ
Rの話です. 文芸的プログラミングとは 文芸的プログラミングってなんですかね. その説明から入ります. ソースコードを読んでも, コードが何をしているのか分からないこと. ありますよね. 自分が書いたコードなんだから覚えているだろ...と甘えて, コメントをサボってしまいます. 結果理解できずに, また最初から書き直す羽目になります. アホですね. 解決策. コードをそのままドキュメントにすればいいんです. これが文芸的プログラミングだ....と思っています. 解説を書きながらコードを書くスタイルです. 文芸的プログラミング - コンピュータサイエンスの第一人者 Donald Knuth博士が提唱しているプログラミングスタイル。 Rのknitrで文芸的プログラミング ~knitr+pandocではじめる~『R MarkdownでReproducible Research』 from ter
Rails アプリに Web API を追加したい。 Rails のコントローラーで実装してもいいんだけど、せっかくなんで、 Web API マイクロフレームワーク『Grape』を試してみた。 Grape | REST-like API micro-framework Gemfile に gem "grape" を追加して bundle install でインストール。 RAILS_ROOT/app/api に api.rb を作成。 RAILS_ROOT/lib に置くか迷ったけど、モデル使うし、Web API もアプリの一部と考えているから app 下に置くことにした。 # coding: utf-8 class API < Grape::API format :json default_format :json prefix "api" version "v1", using: :p
(募集はダミーデータです) (参考: ドキュメント登録の流れについては Elasticsearch 入門 を参照すると良いです。) Analyzer 上記のデータを実際に入れる前に、index の作成と analyzer の設定をします。 以下のコマンドを実行することで analyzer の設定ができます。 下記で説明して行きます。 curl -XPUT 'http://localhost:9200/wantedly-demo' -d \ '{ "settings": { "analysis": { "filter": { "pos_filter": { "type": "kuromoji_part_of_speech", "stoptags": [ "助詞-格助詞-一般", "助詞-終助詞" ] }, "greek_lowercase_filter": { "type": "lowerc
WEB+DBのPerl Hackers Hubで書かれていた「cron周りのベストプラクティス」を読んだ。かなり参考になった。 経緯としては読みたいって呟いたら感想よろしくと言われたので慌てて読んだ。 @shiba_yu36 「読んだ」なら言ってもいい— songmu (@songmu) 2014年2月24日 @shiba_yu36 マジに謝られても…— songmu (@songmu) 2014年2月24日 @shiba_yu36 マジになって感想エントリを書いてください。— songmu (@songmu) 2014年2月24日 特に参考になったこと batch.pl batch.plは非常に良いと思った。というのもcronとかのスクリプトで非常に簡単な事をやっている場合は適当にplファイルを作っちゃって登録するんだけど、得てしてそういうのはテストが無くてバグってて、しかもcronのロ
February 23, 2014 Whether you love terminal customization or feel more Rand Paul with your ‘.bash_profile’, this tip will change your life. This is one of the first commands I run on a new machine, and it has been an invaluable visualization tool for as long as I can remember. git config --global alias.lg "log --color --graph --abbrev-commit --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s
最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 本家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日本人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く