Skip to content

Instantly share code, notes, and snippets.

View kentaro's full-sized avatar

Kentaro Kuribayashi kentaro

View GitHub Profile

栗林 健太郎(@kentaro)

タイトル

「技術的負債」を問いなおす

概要

いわゆる「技術的負債」について、巷間出回っている言説は、(1)歴史的(2)比喩的(3)実践的に不十分な認識にもとづいている。そのため、当初その用語が新鮮なものとして導入したはずの認識利得が毀損され、いまや不毛な水掛け論を間歇的に惹起するのに使用されるばかりだ。本トークでは、当該用語の本義に立ち返り、さらに適切な説明を提供することで、よりよい言説の基盤を提供する。

ssh-dss AAAAB3NzaC1kc3MAAACBALKU5LjbamBINmO3KZzxuYNi+C8Opwv5BJUAAUdFi8sZOTaYGsxLsds4fbtVuIt1DuBos1e+WC5imk5d57ExFhzsseMxdqtNTLR52rGwJViFNqmlGfrU2SGiUYXEg+UMCJx3CdEG1exmoexdmmPl+b3OIeeEARuhg325rVurOlRLAAAAFQC/20nsxM8DbBvP/TfCD2wSbDUqDQAAAIAE5VYx2KxQ1kqpB7Zpxslgc45e/lxtrzUTJA2+shQFdaqkY44uNrWGtdvlir0gawyNqn7APZLVnJyH1Ev7jnHI+Stvp9o8cV5ssTQqfsO5769upxnv5cFfv4/lYc8nEht3OgEp8k5zZ0twIYMV2vuVtZYjOGfezlL+1WayjEkvEQAAAIEAo3elqUk/3L5gr8HIutDPz3zwlyz5Djb6m7xGYro4b/EXV599X9Tn0LozrGITHdl62UZmppNDn3iAfLa+oNfr2CmEDGTy0FBJsNVevJFH0B0lHlE4HcCNWvjDZa9Y5bPMTt0BEBrQTXZEk2Sth7ocstpfv7yGanaUyeMKC8aYh3c= antipop@kuribayashi-kentarou-no-macbook.local
@kentaro
kentaro / gist:7520653
Last active December 28, 2015 15:19
bool型ぽいもののオブジェクトをデバッグログ用にする例(Perl)
#!/usr/bin/env perl
use strict;
use warnings;
package Debug;
sub new {
my ($class, $flag) = @_;
bless \$flag, $class;
@kentaro
kentaro / gist:7320423
Created November 5, 2013 15:08
はじめてのVim script
function! GitBrowseRemoteAtLine()
ruby << EOF
`git browse-remote -L#{VIM::Window.current.cursor.first} -- #{VIM::Buffer.current.name}`
EOF
endfunction
:command! GitBrowseRemoteAtLine :call GitBrowseRemoteAtLine()
" vim-automatic
let g:automatic_config = [
\ {
\ "match" : {
\ "filetype" : "help",
\ "buftype" : "help",
\ },
\ "set" : {
\ "height" : "50%",
\ "move" : "bottom",
@kentaro
kentaro / gist:6958739
Last active December 25, 2015 09:59
supervisord configuration sample
[program:program_name]
command = plackup ...
process_name = %(program_name)s
user = user_name
environment = HOME=/home/user_name
directory = /app/program_name
stdout_logfile = /var/log/supervisor/%(program_name)s.log
stdout_logfile_maxbytes = 50MB
@kentaro
kentaro / private.xml
Created September 9, 2013 07:41
Terminal.appとかiTerm2とかで、C-[で英数モードにする。 ref: http://r7kamura.hatenablog.com/entry/20110217/1297910068
<?xml version="1.0"?>
<root>
<list>
<item>
<name>LeaveInsMode with EISUU(Terminal)</name>
<identifier>private.app_terminal_esc_with_eisuu</identifier>
<only>TERMINAL</only>
<autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::JIS_EISUU, KeyCode::BRACKET_LEFT, VK_CONTROL</autogen>
</item>
</list>
@kentaro
kentaro / gist:6181090
Last active December 20, 2015 19:09
PHPカンファレンス2013へのプロポーザル

Webサービスは、いちどリリースしてしまえばそれで終わりということはありません。むしろ、リリースしてからが勝負です。ユーザからのフィードバック、市場環境の変化などに対応し、常に変化し続ける必要があります。それは避けようのない、Webサービスの宿命です。

先日、PHPのバージョン5.5系がリリースされ、5.3系のEnd of Lifeが発表されました。OSSによる開発は、ソフトウェアへの初期投資という意味においては無料ですが、その運用に関しては度重なるアップデートにきちんと追従していく必要があるという意味では、それなりのコストがかかります。

Webサービス開発においては、先に挙げた外部環境からのフィードバックや変化に加えて、技術環境の変化にも対応していく必要があるということです。

本トークでは、技術環境の変化、その中でもアプリケーションが利用するPHPのバージョンアップをいかに行うかについて、また、ただ一度のみならず継続的に行えるようにするにはどうするかについて、実例を元にその手法を紹介します。

<?php
if ("") {
echo "んなわけねーじゃん";
} else {
echo "空文字はFALSEとして評価される";
}
if ("" == FALSE) {
echo "空文字はFALSEとして評価される";
server = Glint::Server.new do |port|
exec 'memcached', '-p', port.to_s;
exit 0
end
server.start
config.cache_store = :dalli_store, "127.0.0.1:#{server.port}",
{ :namespace => NAME_OF_RAILS_APP, :expires_in => 1.day, :compress => true }