Skip to content

Instantly share code, notes, and snippets.

oppai
#import <Foundation/Foundation.h>
@interface Finder : NSObject
+ (NSString*)findFile:(NSString*)name In:(NSString*)dirname;
@end
@implementation Finder
+ (NSString*)findFile:(NSString*)name In:(NSString*)dirname
{
NSFileManager *file_manager = [NSFileManager defaultManager];
@oppai
oppai / gist:11201639
Created April 23, 2014 03:10
nullとnil
NSLog(@"%@",nil); // (null)
NSLog(@"%@",NULL); // (null)
NSLog(@"%@",[NSNull null]); // <null>
NSLog(@"%@",@"\0"); // (null)
NSLog(@"%u",NULL == nil); // 1
NSLog(@"%u",NULL == [NSNull null]); // 0
NSLog(@"%u",nil == [NSNull null]); // 0
NSLog(@"%u",[NSNull null] == [NSNull null]); // 1
NSLog(@"%u",[[NSNull alloc] init] == [NSNull null]); // 1
@oppai
oppai / gist:ee0cd81743d9e7b551fa
Last active August 29, 2015 14:04
Lions本勉強会 第10章アセンブラトラップルーチン

トラップとは

ハードウェア割り込みと同じようになしくみで、CPUが例外的な処理を検知して割り込むもの。 また、優先度が最大で即座に実行される。 (例えば0除算などの例外的な処理)

ここでは3つの例を取り上げて説明している

  • バスタイムアウトでの割り込み
  • クロックでの割り込み
  • ユーザープログラムの割り込み
@oppai
oppai / yapc_asia_2014_0.md
Created August 29, 2014 16:37
YAPC::Asia 2014 0日目のメモ
@oppai
oppai / yapc_asia_2014_1.md
Last active August 29, 2015 14:05
YAPC::Aisa 2014 1日目メモ
@oppai
oppai / yapc_asia_2014_2.md
Last active August 29, 2015 14:05
YAPC::Asia 2014の2日目メモ

プルリクエストポリシー

  • webappは基本的にプルリクエストを通す(conf系は口頭でもおk)
  • スコア変動の推移を書く
    • ex) 2400 -> 3000
  • 何を目的としているかを書く
    • Covering Index / Data Cache / アルゴリズム改善
  • DBのスキーマを変更する場合db/changes.sqlに変更を加える
    • masterにマージされた場合、変更した人が責任をもって本番環境のDBスキーマを変更すること

アロケーションポリシー

@oppai
oppai / mysql.sql
Last active August 29, 2015 14:06
mysql> show tables;
+------------------+
| Tables_in_isucon |
+------------------+
| memos |
| users |
+------------------+
2 rows in set (0.00 sec)
mysql> desc memos;
def char_num(n)
return 0 if n == 'P'
return 1 if n == 'L'
return 2 if n == 'U'
return 3 if n == 'S'
end
alfa = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんがぎぐげござじずぜぞばびぶべぼぱぴぷぺぽ".split('')
text = "PLSUPUUSPSPLPPPLPPPLPLLUPLUUPLULPPLLPSPLPLSUPPPLPUPSPLPUPSUUPLPSPSUSPLUUPSSPPUPLPPPUPUSSPPSPPPUSPLULPULUPULLPSUPPSSSPPPUPPPLPLPUPUPPPUPUPUSPPUUSPSPSLPPPPSSSPLPLPLUPPLSPPLUSPULSPSLLPPPUPPSSPLUUPUPUPUUPPUSSPPPLLPPPPSSSPUPPPULLPULPPSPPPSSUPSSSPPLUPLPLPLLLPLLPPUPSPUUUPSUPPPLPPPUPPPLLPPLPPLLSPLLSPULUPULLPULLPULPPSLUPPUPPPUPPLULPLUPPLSLPULLPSLUPPLSPLUUPLUP"
slice_text = text.scan(/.{1,4}/)