うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

2014-02-01から1ヶ月間の記事一覧

emacs 読み取り専用解除

ふと、コマンドに失敗していつの間にかバッファが読み取り専用モードに変わっていたりします。そんな時はこの方法を。 読み込み専用を解除するには, モードラインにある「%%」を左クリックする C-x C-q M-x toggle-read-only のどれかを行えばOKです。

rubyを最低限使いたい人のための1分基本文法

最低限、簡単なアルゴリズムが書けるぐらいの文法をおさらい。ほんとに最低限です。 コメント # ここにコメントを書く。 プリント文 puts 1 (p や print もありますが、pは日本語でutf-8だとうまく表示されない、printは改行出力してくれない、という理由でp…

N-gramを勉強した

機械学習について興味があったので,いろいろ調べてます. あるベクトルとベクトルがどのぐらい似ているかを判定するのに,類似度っていうものを使うらしいです. 例えば,ベクトル間の距離を測ってどのくらいベクトル間が近いか,というのも類似度の一つ. …

emacsのファイル再読み込みを手軽に

emacsでよく出力ファイルを更新したみたいな時があります。 でも、いちいちC-xC-fでファイルを開きなおしていたりするので面倒です。 そこで、revert-bufferというファイル再読み込みのコマンドを使います。 しかしながら、これだといちいち再読み込みする際…

rubyで降順forループを実現する

rubyでは、cとかの降順にインデックスを走査する for (i = n - 1; i > 0; i--) printf("%d", i) ってどうやるの、と思い、考えて見ました。 ベスト? (n-1).downto(0).each { |i| p i } (0..(n-1)).to_a.reverse_each { |i| p i } 2017/01/26 追記 ご指摘いた…

rubyの正規表現を使って文字列の場合分け

正規表現を勉強しています。簡単ですが、pythonのisdigitメソッドみたいに、 文字列が英単語であるか?であったり、数字か?などを判定する関数を作ってみました。 # 頭文字が大文字、ほかは小文字の単語 def capitalize?(s) (s =~ /^[A-Z][a-z]*$/) == 0 end …

rubyでファイルリードをたった1行で実現!

ruby使うとファイルの読み込みも1行で実現できてしまう。さすがrubyですね。 s = read(path) 単なる文字列ではなく、ファイルの各行を配列に収めたい場合は次のようにします。 lines = [] open(pathStr, "r").each { |line| lines << line }.close readline(…

rubyで正規表現にマッチした文字列部分だけを消す方法

ある文字列から正規表現に一致した部分文字列を見つけることは多くありますが、逆に、一致した部分を抜いた文字列を作るにはどうしたらいいでしょう。 自分の見つけた方法では、gsub()を使えば可能です。 例 p "ab%c$de f".gsub(/[%$\s]/, "") 出力: "abcde…

mac起動時のユーザ選択画面を飛ばして効率化する

mac

macを起動すると最初に、自分の登録したアカウントと、「他のユーザー」からアカウントを 選択する画面が出てきます。 「他のユーザー」を選択することはないので、もっとスムーズに起動したいとおもって調べました。 設定 環境設定→ユーザーグループ 鍵をク…

ruby入門しました

Ruby 2.0.0を使っています。最近はずっと文法習得をネットサーフィンしながら身につけているところです。 Rubyでは、クラスの中にクラスを定義したり、メソッド内にローカルメソッドを定義することも出来ます。 関数型言語っぽい書き方もできるし、無名関数…

sedを使って複数ファイルの文字列を一気に置換する

本ブログ初のLinuxねた。 ファイルの特定の文字列を置換したいときがよくあります。 Emacsなら、M-x replace-stringで済むのですが、複数ファイルに一気に置換をかけたいときは Emacsだとめんどそう。ではどうするのか、と考えました。 結論 shellで以下のコ…

diredで見ているファイルリストを並べ替えする方法

dired (C-x d)をして、カレントディレクトリのファイルのリストを出します。(デフォルトだと名前順。) sを押すと、日付順に並べ替えできます。

org-modeのチートシート

困ったときのチートシート(゜゜)デス。よかったらどうぞ。 org-mode チートシート

Emacsにquickrunを導入

Emacs上でソースのコンパイル&即実行を行ってくれるquickrun.elが素晴らしく便利そうだったので、導入。 発端 何気なくQiita見てたら上がってました。それ以外にも、下のページはいろいろ参考になりそうなツールが載ってて便利。 JavaScript - これ知らない…

mac起動時の自動ログイン設定

mac

パスワード入力なしでログインする設定を調べました。 これで、さらに快適なmac生活がてにはいります。 (外で使う場合はご注意!) 環境設定→ユーザーグループ 鍵をクリックしてパスワード入力 ログインオプション→自動ログインを有効にする ログイン時のオプ…

Org-modeの表機能が便利

org-modeの表の書き方メモ. 書き方 | a | a | | a | a | | a | a | このように,|を罫線に見立てて表を区切る. 操作 割りとExcelの操作に近いです. TAB…セルを横移動 Enter…セルを縦移動 Alt + 矢印キー…行,列を入れ替え, TAB,Enterはそれぞれ右の端,…

javascriptで配列宣言は`new Array`がいいのか,`[ ]`が速いのか確かめた

javascriptで空の配列を宣言する場合,次の3通りがあります.いったいどれが一番速いか,という問題. var a = new Array(); var b = new Array(n); var c = []; おそらくbは,nの大きさによって変わるでしょう.

再帰なしでマージソートやってみたら驚くほど高速化した話

前回もマージソートを書いてみましたが,javascriptで再帰関数を使うと, 関数のコールによる時間がかかるため,結果として遅くなってしまうのではないかと考えました. 今回は再帰関数ではなく,ループだけでマージソートを作ってみます. 結果として,ルー…

javascriptでマージソートの勉強

javascriptでマージソートやってみました. 最初は,spliceとかで簡単に書けるじゃん!と思ったら, 引数の配列を消してしまうことに気が付きちょっと変更. マージソート自体のアルゴリズムは簡単なので,コード書くのも楽. spliceとshiftでマージソート 元…

javascriptの公式仕様初めて見ました.

ECMAScript Language Specification - ECMA-262 Edition 5.1 javascriptの仕様が詳細に書いてあり,非常に参考になります. 例えば,==と===の比較演算子のアルゴリズムって,これを見ると全然違うことがわかります. (→ECMAScript ===の部分) 基本的に,===…

javascriptの配列操作関数いろいろ作ってみた

javascriptで,rubyの配列操作みたいなことをやりたかったので,いろいろなメソッドを作ってみました.名前は大体rubyから取ってきてます.簡単なメソッドばかりなのでソース書くのは苦労しません.間違いありましたらご指摘いただければ幸いです. まとめ:…

javascriptで実行時間を計りたいとき,Date.now() と new Date()はどちらを使うべき?

タイトル通り.ベンチマーク関数を作って計測. 百万回やった合計時間でどちらが速いか算出します. (ブラウザ: Chrome Ver 32.0.1700.107 m)

javascriptのreverse関数をかっこよくする

javascriptのArray.prototype.reverse()は配列の要素を逆順に並べ替えます. 暇だったので,配列の一部だけ反転するような関数を作ってみました. ただでさえ,Array.prototype.reverse()の需要がなさそうなのに,一部だけ反転する場面は在るのでしょうか,…

jQueryでたった5行で書くアコーディオンパネル

なんだかんだで,jQueryを使えばカッコイイアコーディオンパネルが5行のjavascriptで作れます. スマートフォンにも使える、クリックで開くアコーディオンメニューjQuery - ホームページ制作やリニューアル印刷物デザインなら大阪のWPC ↑のページを参考にア…

jqueryの基本をまとめておく

jquery入門用のメモ. jqueryの読み込み(前準備) html内に次の文を書きます. 必須です. <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script> jqueryをソース内で使用する 必須です. $(function(){ //jqueryをつかった処理をここに書く }); htmlの要素を選択して処理をする(selector) 下のソースのselectorと…

javascriptで配列をシャッフルする関数

配列内の要素をカードのシャッフルのようにでたらめな順序にする関数, shuffleを作ってみます. 簡単な例から行きます. 簡単な例 とりあえず,現実でカードをシャッフルすることを考えてみましょう. カードの中から適当に2枚を選んで,交換.これを何回も…

配列中でk番目に小さい要素を見つける,O(N)の関数

珠玉のプログラミングの問題をやってます. コラム11の問題のなかで,「配列中でk番目に小さい要素を見つける関数で,O(N)のものを 作れ」というのがあったので解いてみました. 結構悩んだんですけど,要はクイックソートを片側のみ行うようにすれば解けま…

htmlとjavascriptでストップウォッチ作ってみた

仕事中,作業時間を計りたいと思い,ストップウォッチを作ってみました. かなりコードを削ったんですが,結局jqueryを使ってもjavascriptが80行. ただ,かなり殺風景なストップウォッチになりました.CSS必須です. 以下がhtmlとjavascriptのコードになり…

google webdesigner触ってみた

googleがまたサービスを出したみたいです→Google Web Designer 実際にインストールしてみました. とはいえ,まだまだ触った段階でなんとも言えませんが,CSSとかの位置合わせをいままでコード上でしかやっていなかったので,GUIで調整できるならば本望. 使…