せかいや

いまいるここを、おもしろく http://sekai-in-the-box.appspot.com/

2013-10-01から1ヶ月間の記事一覧

【GAE】【Ruby】テスト環境デプロイ & 404テスト & 本番環境デプロイを自動化

■topic summary how to create batch which tests contents before deploy on production mode. I use GAE(Google App Engine). 自分のサイトで、404エラーが発生した、とは前書いたところ。404というか、任意のパスがindex.phpに紐付いていたために、 何度…

【JavaScript 】プロトタイプを中心に。Object.prototype.toString.call の理由。

■topic summary study about JavaScript prototype. (not prototype.js) JavaScript 難しい。。 Objectプロトタイプによって継承されたプロパティはenumerableではない enumerableではないため、for in文には出現しない。 var map={}; for (var key in map){…

【Ruby】case、ラムダ構文、高階関数、外部イテレーター、===演算子、zipメソッド、

■topic summary study about "case-when" about Ruby. 例によって、hp12cさんの記事を元にお勉強。 Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたいhp12cさんの書くコードは「Rubyぽさ」がすごくよく表現されて…

【Ruby】ブロック(変数のスコープを中心に)

■topic summary study about ruby-block. (ruby-ver 2.0.0) ブロックパラメーターにデフォルト値が定義できる このコードは、本質的には引数が二つあることを期待している。 a = 99 3.times do |i, x=a| a = i*10 p x end■実行結果 99 0 10 ブロックローカル…

【JavaScript 】パーフェクトJavaScript 感想文

■topic summary I study JavaScript. 始まるよー。パーフェクトJavaScript (PERFECT SERIES 4)作者: 井上誠一郎,土江拓郎,浜辺将太出版社/メーカー: 技術評論社発売日: 2011/09/23メディア: 大型本購入: 24人 クリック: 588回この商品を含むブログ (12件) を…

【Ruby】【アルゴリズム】文字列の回転。メモリ富豪Ver、メモリ貧乏Ver、再帰Ver、お手玉Ver、回転の回転Ver、

■post summary study about algorithm.the question is "rotation the string". ex) method("abcdef", 3) -> "defabc" 問題 文字列の回転を考えます。 method("abcdef", 3) -> "defabc" メモリ富豪 一行で書けます。 def brock_reverse_no1(str, n) (str[0,n…

【お知らせ】土日のブログはお休みします

■post summary I am off today and tommorow. I will go to this exhibition. (I create this page) http://isee-tomoe.appspot.com/too far! 岡山県の友達の個展にいくよー。 実装の仕組みや、作ったときの顛末はこちら諸事情あって、呑気に遊んでいる期間…

【Ruby】2スレッドの値交換。並列イテレーター内でスレッド生成(居眠りなど)。

2つのスレッドが値を交換 require 'thread' class Exchanger def initialize @first_value = @second_value = nil @lock = Mutex.new @first = Mutex.new @second = ConditionVariable.new end def exchange(value) @lock.synchronize do if @first.try_lock…

【Ruby】Queueを使った並列プログラミング

ポイント(?) スレッド間で変数へのアクセスが共有できるっていうことは以前勉強したところ。 Queueクラスのインスタンスでなくても当然共有出来る。 じゃあQueueクラスは何が特別なのかというと、 Queueには、キューが空ならdeqメソッドが呼び出し元をブ…

【Ruby】map、map! メソッドの自作。破壊的メソッドの作り方

そういえば、非破壊的・破壊的なメソッドの複数実装ってしたことない。 やってみよう。 #DIY means Do It Yourself class Array def map_DIY!(&b) self.each_with_index do |item, i| self[i] = b.call(item) end end def map_DIY(&b) copy = self.dup copy.…

【Ruby】並列イテレーター

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (124件) を見るもうちょっとだ。。。! 並…

【Ruby】ブロック、クロージャー、イテレーター

なんでブロックを使うのかなー って話を勉強会でした時、ブロックのことがわかってなさそうなのがバレたのか、 メールをもらったよ。 郡司です。 思い出したのでついでに。 昔、自分のブログに Ruby のブロックについてまとめたのでご参考までに。 (ブロッ…

【Ruby】スレッド。全てのスレッド(非main)の終了を待つ、ファイルの並列読み出し

全てのスレッド(非main,current)の終了を待つ def join_all main = Thread.main current = Thread.current all = Thread.list p all all.each{|t| t.join unless t==current || t==main} end Thread.new do sleep(1) Thread.new do sleep(1) p "thred thre…

【Webサイト】【ないわー】自分のサイトで404エラー(よりも もっとひどい事態)

ないわー。。。 自分のサイトでね「記事はこちら」をクリックしたら もう一度スタートアニメが開始される! バグってる!!!見つけたときは思わず声が出た。。ひいいいい 原因 GAEへのアップロード設定(app.yaml)の記載間違い。 件のインタビューページは…

【Ruby】Rubyで実装されているRangeクラス? Ruby1.9で範囲がFloat,Timeのときにinclude?がエラーになる理由

大江戸Ruby会議での村田さんの発表資料のなかに こんなスクショがありました。 来年の四月に4回目が開催されるらしく、 どんな会議なのかなと思って資料を覗いていたという経緯だよ。 資料一覧はこちら なんだろう? なぜRangeがRubyで記述されているのかな…

【Ruby】OptionParser.newでブロックを使う理由

以前パーフェクトRubyの15章では、どうしてOptionParser.newの時にブロックを使ってるのかな。 筆者の趣味かな?って書いていたけれど、 びっくり!今日、OptionParserの作者さんからメールを貰ったよ! OptionParser.newのブロックは、中で起きたOptionPars…

【Ruby】ソケットプログラミング 多重化サーバー

selectメソッドにより、動きのあるクライアントを取得することが出来る。 ■サーバー require 'socket' server = TCPServer.open("localhost",80) sockets = [server] loop do ready = select(sockets) readable = ready[0] readable.each do |socket| if soc…

【Ruby】ソケットプログラミング リクエストを複数回渡すクライアントの実装

ソケットプログラミング第二弾。今回はクライアント・サーバーが複数回やり取りをするコード。 ポイント サーバー側でクライアントを切断すると、 以降はそのクライアントインスタンスのputsメソッドは使用できなくなる。うーん。 ソケットプログラミングは…

【Ruby】ソケットプログラミング

この本を読んでるよー。プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (124件) を見るソ…

【Ruby】printメソッドに引数を渡さなくても出力できる理由。 グローバル変数$_

IO#gets、readline は読み込んだ文字列を変数 $_ にセットする。 printは引数が省略されると$_ を使う。 →p puts は$_ を使わない模様。 p $_ #<=nil $_の値のセットはget(readline)実行後 while DATA.gets do p $_ print #<= 引数なしだと$_を出力 end __EN…

【Ruby】【bat】”デプロイ前の確認バッチ” の作り方

雨やだなー。 おしゃれが出来ないよ! デプロイ前の確認バッチ 自分のサイトはアニメーションが流れるつくりだけれど、 開発時にいちいち見ているのは面倒。でも「anime.js」をコメントアウトすることで、 アニメ終了後からの表示が出来てとても楽チン。だけ…

【Webサイト】サイトの高速化(CSSスプライトの利用)、 TTFB (Time To First Byte)の改善

このサイトでスプライトを作成したよ。 CSS Sprite Generator | Project Fondue ■変更前 ■変更後 .sprite {background: url('../img/anime.png') no-repeat top left;} #anime1{ @include …

【Webサイト】サイトの高速化(WebフォントはadobeではなくてGoogleがお勧め)

びっくり! 結論 WebフォントはadobeではなくてGoogleの方がいいと思う。 経緯 昨日の記事で Adobe Edge フォントはキャッシュ期間がたったの10分しかなく、 仕方ないからCDN利用をやめてローカルにリソースを配置するかー って言ってたんだけど。調べてみた…

【Webサイト】サイトの高速化(CDNの利用、キャッシュ期間の延長)

自分のサイトを早くしてるよー。 ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール作者: Steve Souders,スティーブサウダーズ,武舎広幸,福地太郎,武舎るみ出版社/メーカー: オライリージャパン発売日: 2008/04/11メディア: 大型本購入: 32人 ク…

【GAE】app.yaml  static_filesでの指定は全体に適応される・・・

GAEでPHPを実行しようとすると500エラー。 Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused i…

【Webサイト】サイトの高速化(JavaScript ファイルを末尾に。ローディング画面の追加)

自分のサイトを早くするよー。 ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール作者: Steve Souders,スティーブサウダーズ,武舎広幸,福地太郎,武舎るみ出版社/メーカー: オライリージャパン発売日: 2008/04/11メディア: 大型本購入: 32人 クリ…

【Webサイト】サイトの高速化(計測方法)

自分のサイトを早くするよー。 ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール作者: Steve Souders,スティーブサウダーズ,武舎広幸,福地太郎,武舎るみ出版社/メーカー: オライリージャパン発売日: 2008/04/11メディア: 大型本購入: 32人 クリ…

【jQuery mobile】テーマの設定

仕事でjQueryMobileのテーマCSS機能を使ったので、嵌ったところのメモ。 タイトルのテーマを変更する デフォルトではヘッダ部分はテーマA。 data-theme要素を指定しなかったら自動的に要素(data-theme="a")が追加される。ちなみに、data-position="inline"…

【Ruby】正規表現、階乗(Hashの遅延評価を利用)、集合(Setクラス)

正規表現 #後方参照は\1 "h\"hh'aa'g\"e" =~ /(['"])[^\1]*\1/ p $~ #名前つきグループ "hpijiph" =~ /(?<first>\w)(?<second>\w).*\k<second>\k<first>/ p $~ "RUBY" =~ /ruby/i p $~ #部分的な大文字小文字の無視 "RUBY" =~ /R(?i:uby)/ p $~.end(0) #マッチ終端 /(foo)(bar)(BAZ)?/ =~ "</first></second></second></first>…

【Ruby】標準入力、ファイル入力出力、をテンプレで整理

標準入力、ファイル入力出力、いつもなんだっけって思うから、整理しました。 foo = File.open("foo.txt",'a+') do |file| while line = file.gets line += "dayo" end end __END__ File::basename('/hoge/piyo') #<= piyo File::dirname('/hoge/piyo') #<= …