複数のテーブルのどれかに紐付いているデータを出力する(速度改善)

MySQLで速度改善の事例が見つかったのでメモ テーブル構成 users ユーザー clubs 部活 councils 生徒会 mysql> DESC users +------------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extr…

配列の要素の全組み合わせを出力する

配列の要素の全組み合わせを出力したいということが発生したのでメモ array = %w[a b c d e] all_combi=[] array.count.times{|i| all_combi += array.combination(i+1).to_a} all_combi #=> [["a"], ["b"], ["c"], ["d"], ["e"], ["a", "b"], ["a", "c"], […

Rubyのinjectが便利な件

injectが便利なので、使い方をまとめてみた 使い方 引数で初期値を指定 ブロックの返り値が、ブロックの第一引数に代入 使用例(Array) 今までだと、 hoge = [1, 2, 3, 4, 5] sum = 0 hoge.each{|i| sum += i} sum #=> 15 と書かなければならなかったものが、…

instance_of?とis_a?の違い

instance_of?とis_a?の違いを、メモ。 以下のものを用いて実験 module Foo; end module Bar; end class Hoge include Foo end class Fuga < Hoge include Bar end fuga = Fuga.new instance_of? fuga.instance_of? Fuga #=> true fuga.instance_of? Hoge #=>…

&&とか||の返り値

&&と||の返り値に関して調べたので、メモ。 1 || 2 #=> 1 1 && 2 #=> 2 このようになるらしい。 というのも、 1 || 2 # この評価の時に、まずは、1をture/falseで評価するので、trueと評価され1が返る # && の評価も同様のロジック 直感的に、以下のように記…

vimの機能を充実させてみた

vim

そろそろ開発環境をカスタマイズしようと思い、vimのpluginを入れてみたのでメモ neocomplcache.vim vimの補完プラグイン autocomplpop.vimよりも圧倒的にはやい ソース:GitHub - Shougo/neocomplcache.vim: Ultimate auto-completion system for Vim. 参考…

ARのsaveとかupdate_attributeとか

ActiveRecordのsaveやupdate_attribute(s)がどのような仕組みになっているのかのメモ 環境 rails1.2.3 ソースコード # activerecord/lib/active_record/base.rb 1545 def save 1546 create_or_update 1547 end # 中略 1584 def update_attribute(name, value…

ブロックについてのまとめ

Rubyを触り始めて早一年が経ちました。 やっと、ブロックつきメソッドを定義し、実装することができました。 そこで、Rubyのブロックに付いて簡単にまとめたいと思います。 参考たのしいRuby 第3版作者: 高橋征義,後藤裕蔵,まつもとゆきひろ出版社/メーカー:…

ページネーションでハマったと思ったら、findの問題だった

開発をしていて、ページネーションでハマったと思って、原因を探してみたら、findの仕様だったということがあったのでメモ 環境 rails1.2.3 データ構造 リレーション class User < ActiveRecord::Base has_many :diaries end class Diary < ActiveRecord::Ba…

クラスとインスタンスのまとめ

Rubyをはじめたころの自分の記事が意外にも分かりやすかったので、改変して再掲載しますw クラスメソッドとインスタンスメソッド - mic_footprints ☆クラスメソッド クラスとは クラスとは、オブジェクトの種類を表したもの つまり、複数のオブジェクト(イン…

SQL改善によるパフォーマンス向上

事例 実際にアプリケーション開発を行っていて、検索機能を実装していたときに超絶重い検索ロジックに出会いました。 その対処をSQL文の改善で行なったので紹介します。 データ構造 環境 MySQL 4.1 mysql> DESCRIBE users; +-------+-------------+------+--…

開発のチーム体制についてまとめてみた

dev

Wed+DB PRESS Vol.60でプロジェクト運用ノウハウについて学んだのでまとめました。 アウトプットを最大化するチームづくり チームラボ(株) チーム開発の重要性 求められるアウトプットに対して最適なチームを運営する必要がある チームメンバー個人個人がサ…

ブックをCSVファイルに変換するマクロを書いてみた

友人から以下のような依頼が来たのでVBAを書いてみました フォルダ内のExcelのBookファイルをすべてCSV形式で保存したい なにか早い方法はないか? 参照ライブラリ Microsoft Scripting Runtime コード Sub ChangeBookToCsv() Application.DisplayAlerts = F…

EXCEL HACKSが教えてくれたこと

Excelとは Excelは多くの業種に於いてビジネスを変革する基板となり、 世界中で意思決定のサポートをしている超強力な表計算ソフトです。ちなみに、ExcelはMS社製ということもありWindowsのイメージが強いですが、初代ExcelはMac用のソフトでした。 今回の参…

IPアドレスの読み方

IPアドレスとは Internet Protocol Address パケットを送受信する危機器を判別するための番号 つまり、インターネット上の住所みたいなもの IPv4 232(=約42億個)存在する つまり、IPv4の場合、IPアドレスは全部で32ビット 10進数で表すと、10.11.12.13みたい…

Excel VBAマクロのオブジェクトとメソッド

VBA

今回は、プロパティに引き続いてメソッドに関してまとめたいと思います。 前回のまとめ Excel VBAマクロのオブジェクトとプロパティ - mic_footprints メソッドとは何か メソッドとは、オブジェクトに対して行う処理のこと つまり、ふるまい プロパティ同様…

MySQLの入門まとめ

SQLについて学んだのでまとめてみた参考文献ぐんぐん実力がつく! 逆算式SQL教科書作者: 小野哲出版社/メーカー: 技術評論社発売日: 2007/12/25メディア: 単行本(ソフトカバー)購入: 4人 クリック: 318回この商品を含むブログ (17件) を見る SQLとは Struct…

joins オプションとinclude オプションの決定的な違い

railsのfindメソッドのincludeオプションとjoinsオプションの違いに付いてまとめてみた 環境 rails 1.2.3 DB構成 mysql> DESCRIBE users; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra …

Excel VBAマクロのオブジェクトとプロパティ

VBA

今回は、Excel VBAをより深く理解するためにオブジェクトとプロパティについてまとめます。 VBAでのオブジェクト VBAはVBの派生系ですから、手続き型言語です。 ですので、厳密には、オブジェクト指向言語とは異なりますが、 短時間で有効なコーディングをす…

働くとは何ぞや---社会人最初の半年を振り返ってみて---

今日で、社会人になって半年が経ちました。 経った時に会社にいたことはさておき(笑)、社会人最初の半年を振り返ってみようと思います。 で、働くとは何ぞやっていうのを、今の自分なりにまとめてみたいと思います。 半年前、わたしは、ただの小生意気な学…

sortとsort_by

今回は、Rubyに関して書きます sortメソッド Arrayクラスのメソッド 配列内の要素を並び替えすためのメソッド 数の大きさ 行の長さ アルファベット順 アルファベット逆順 などなど たとえば、 array = ["a", "c", "b", "f", "d", "e"] sorted = array.sort d…

Excel VBAマクロとは?

VBA

マクロとは?Excelに対して、VBAにより記述された命令を実行を行っているものです。 さて、VBAとは何か。 VBAは、Visual Basic for Applicationという言語の略称です。 Visual Basicとは御存知の通り、Windowsのためのプログラミング言語です。 VBAはその派…

最新のレコードに対する検索

今回は、検索に関して書きたいと思います。DB構成 mysql> DESCRIBE homeworks; +------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+---…

エクセルを使うなら必須の関数

Excel2003で覚えておくと便利な関数についてまとめてみます。 IF関数 構文 IF(論理式,[真の場合],[偽の場合]) 論理式が、真の場合、[真の場合]を返す。 逆に、論理式が、偽の場合、[偽の場合]を返す。 例 IF(A1="","論理式が真","論理式が偽") ""で囲った中…

Vistaでタスクマネージャを起動させる方法

会社ではWindows XPを使用している私ですが、お家ではVistaを利用しています。 もっと早く買い換えとけばよかった。。。 さて、Vistaでタスクマネージャを早く起動させるための方法についてまとめます。 まず、一つ目の方法は、 [Ctrl]+[Alt]+[Delete]を押す…

数値クラスと配列クラス

☆数値クラス 数値クラスまたの名をNumericクラスといいます。 数値クラスの構成 Numeric ―― Integer ―― Fixnum | |― Bignum |― Float 整数(Integer)クラスと浮動小数(Flaot)クラスは数値(Numeric)クラスを継承しています。普通の整数(Fixnum)クラスと大き…

subとgsubメソッド

今回は、subとgsubのお話です。この二つは、置き換えを行うメソッドです。処理もかなり似ております。☆sub文字列オブジェクトにおいて、正規表現として指定したパターンに、最初にmatchしたものを置き換えます。str.sub(/matchさせたいパターン/,"matchした…

継承に関して

☆継承継承とは、すでに定義されているクラスを拡張して、新しいクラスを作ることを言います。 先日の学級の例で言うと、C組(クラス)を継承していきものがかり(クラス)を作るとします。 いきものがかりは、係の中で新たなルールを策定します。 このとき、C…

クラスメソッドとインスタンスメソッド

☆クラスメソッドそもそもクラスとは何でしょうか? クラスとは、オブジェクトの種類を表したものです。 つまり、複数のオブジェクト(インスタンス)の枠組みと捕らえてよいでしょう。 もっと分かりやすくするために、クラスが学級で、インスタンスが生徒とし…

配列【Array】とハッシュ【Hash】

☆配列 配列(Array)とは、複数のオブジェクトを格納する箱です。 baseball_club1= "巨人" baseball_club2= "中日" baseball_club3= "ヤクルト" baseball_club4= "阪神" baseball_club5= "広島" は、無駄! なので、まとめます。 baseball_clubs = ["巨人","中…