Skip to content

Instantly share code, notes, and snippets.

💭
I may be slow to respond.

Kuniwak Kuniwak

💭
I may be slow to respond.
Block or report user

Report or block Kuniwak

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@Kuniwak
Kuniwak / codeiq_q684.md
Last active Aug 29, 2015
結城さんの問題の解答。王女様の宝石パターンを見つけよう! by The Essence of Programming【https://codeiq.jp/ace/yuki_hiroshi/q684
View codeiq_q684.md

ポイント

次のルール従って、宝石を配置していく。ただし、素直に解こうとすると計算量が爆発するので、メモ化するなどして計算量を抑える工夫が必要。

ルール

  1. 未配置の宝石があるときは、そのなかで最も小さい(aが最小)アルファベット を順に配置していく。
  2. 未配置の宝石がなくなったら、未配置の宝石の中に、取り除いた後の末尾よりも 大きいアルファベットの宝石が含まれるようになるまで末尾を取り除く。次に、 配置済の宝石の末尾より大きいアルファベットをもつ宝石のうち、もっとも
@Kuniwak
Kuniwak / codeiq_q666.js
Created Feb 26, 2014
@masuipeoさんの問題 「今週のお題:飛車と角の利きを考えて!」の回答。
View codeiq_q666.js
var util = {};
util.array = {};
util.array.remove = function(arr, obj) {
var i = arr.indexOf(obj);
var rv;
if ((rv = i >= 0)) {
util.array.removeAt(arr, i);
}
return rv;
@Kuniwak
Kuniwak / codeiq_q702.md
Last active Aug 29, 2015
クロノス・クラウン合同会社 柳井 政和さんの問題 「スーパー楕円のダンジョン」の回答。
View codeiq_q702.md

コードの経過

Level 1

  • 118文字

    (Math.pow(Math.abs(x/32),3)+Math.pow(Math.abs(y/8),3)<=1)+2*(Math.pow(Math.abs(x/16),3)+Math.pow(Math.abs(y/16),3)<=1)
@Kuniwak
Kuniwak / codeiq_q109.md
Last active Aug 29, 2015
「コードゴルフ:最短コードを書く!」の回答。
View codeiq_q109.md

コードの経過

前回の提出コード

  • 142文字(初挑戦)

    r="",w=80,h=40,z=30;for(y=0;y<h;y++){for(x=0;x<w;x++){a=(w/2-x);b=(h/2-y)*2;d=Math.sqrt(a*a+b*b);if(d<z){r+="*"}else{r+="-"}}r+="\n"}return r;
  • 112文字

@Kuniwak
Kuniwak / codeiq_q656.md
Created Feb 28, 2014
「お正月版 各桁総和ダンジョン LV1」の回答。https://codeiq.jp/ace/yanai_masakazu/q656
View codeiq_q656.md

コードの経過

Level 1

Level 2

@Kuniwak
Kuniwak / quickrun-neorspec-syntastic.vim
Last active Aug 29, 2015
QuickRun + NeoRspec + Syntastic の設定例
View quickrun-neorspec-syntastic.vim
" Rubocopのインストールが必要です。
" $ gem install rubocop
" $ rbenv rehash
" NeoBundle ---------------------------------------------------------------- {{{
" call neobundle#begin(___) ... call neobundle#end() の間に置いてください
" Vim でコマンドを実行して結果を表示するプラグイン「QuickRun」をインストール
NeoBundle 'thinca/vim-quickrun'
@Kuniwak
Kuniwak / quickrun-neorspec.vim
Last active Aug 29, 2015
QuickRun + NeoRspec の設定例
View quickrun-neorspec.vim
" NeoBundle ---------------------------------------------------------------- {{{
" call neobundle#begin(___) ... call neobundle#end() の間に置いてください
" Vim でコマンドを実行して結果を表示するプラグイン「QuickRun」をインストール
NeoBundle 'thinca/vim-quickrun'
" テストを実行中、vimの動作をブロックしないようにするために「vimproc」をインストール
NeoBundle 'Shougo/vimproc'
" rspec の一部のテストだけ実行できるプラグイン「neorspec」をインストール
@Kuniwak
Kuniwak / major-linters.md
Last active Aug 29, 2015
Major linter の戦略と実装
View major-linters.md

Major linter の戦略と実装

Perl::Critic

  • 構文解析器: PPI
  • ポリシーはオブジェクト: Perl::Critic::Policy
  • 違反もオブジェクト: Perl::Critic::Violation
  • 処理の流れ
    1. 有効な検査ポリシーが設定される
    2. 検査ポリシーごとに以下を繰り返す(Perl::Critic#_gather_violations $doc : @violations
      1. 検査ポリシーが解析に必要な要素名を宣言する(Perl::Critic::Policy#applies_to : String[]
@Kuniwak
Kuniwak / perl-critic-error-type.md
Last active Aug 29, 2015
Perl::Criticの警告一覧
View perl-critic-error-type.md

Perl::Criticのエラー

これの車輪の再発明っぽい: PolicySummary.pod

Perl::Critic の警告 内容
ProhibitBooleanGrep Use List::MoreUtils::any instead of grep in boolean context.
ProhibitComplexMappings Map blocks should have a single statement.
ProhibitLvalueSubstr Use 4-argument substr instead of writing substr($foo, 2, 6) = $bar.
@Kuniwak
Kuniwak / tmux_cheetsheet.markdown
Last active Aug 29, 2015
tmux 覚えられなかったので画面の横に貼る。
View tmux_cheetsheet.markdown

tmux cheetsheet

Command

command name command
start new tmux
start new with session name tmux new -s name
You can’t perform that action at this time.