SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
名前重要、超重要!!
  https://github.com/baban/proxy

    プログラミングにおいて名前って重要ですよ
    ね

    名前から、その役割、機能、データの型、値
    を”感じる”ことができる

    また、そうである必要がある

    そのためには、名前に過不足なく必要なもの
    を含めないといけない

    型の情報、その役割を明確にするにはどうれ
    ばいいのか
おすすめの方法

    Rubyでもハンガリアン記法での変数名の宣
    言を提案したい

    接頭語    型        例
    n      数値       n_attack
    b      ブーリアン    b_bookmark
    s      文字列      s_carrier

    (変数名+データ型でデータの役割もわかりやすい!)
というのはもちろん嘘♪

    ダックタイピングな型を意識させない、型付
    き言語であるRubyの文脈でこれは、"ややあ
    りえない"レベルの提案
というわけで今回の本当のお題ですが…
例1:Proxyパターンの実現


これです
デザパタ本
今回のコードは以下の場所に掲載されています
    https://github.com/baban/proxy
Proxyパターン

    プリントpage1を開いてください

    VirtualProxyを参考にします

    Web上のコードは、Rubyによるデザインパ
    ターンを参照


https://github.com/baban/proxy/blob/master/proxy1.rb
Ruby風味にリファクタリング





    まず、Printable継承する必要はない

    attr_accessor使えばgetter,setterいらない

    あと、printは名前共通だな… method_missingでやってみよ
    う
リファクタリング後
https://github.com/baban/proxy/blob/master/proxy2.rb

   class PrinterProxy
    def initialize(name)
      @printer_name = name
    end
    def printer_name
      @real ? @real.printer_name : @printer_name
    end
    def method_missing( name, *_ )
      @real = Printer.new(@printer_name) unless @real
      return @real.send(name,*_) if @real.respond_to?(name)
    end
   end
Proxyの正体を考えよう!
ポイント

  method_missing外部に残っている機能
  は、”Printer機能を生成したくない時"に呼
  ばれるメソッドのみ

  実はPrinterを生成したいメソッド群と、そ
  うでないグループに意味の分化が行われてい
  た
ポイントその1!
デザインパターンと言われるとGoFの23個の
 パターンを最初に思い出すが、デザインパ
 ターンの文脈は使用するプログラミング言語
 によって異なる
(IteratorとかRubyでは言語組み込みだしね!)
ポイントその2!!

    表現力の高い言語は、リファクタリングの間
    に、”本当に書き表したい事は実は何だった
    のか”を浮き上がらせる力がある
例2:アクションは自動生成

    管理画面:Railsでマスターデータの編集機能
    を作ろう
条件

    現在は開発初期、テーブルは後で多分増える

    必要なのは、データの閲覧、作成、編集で作
    りこみはしないでいい

    テーブル名は”***_masters"のテーブル名で統
    一されている
正直
テーブルの数だけcontroller作成とか
migrationが入る度に、管理機能も修正とか
やってられないですよねーー!!

    そこでmethod_missingを利用してアクション
    を生成する
https://github.com/baban/proxy/blob/master/master_controller.rb
def method_missing( method_name, *args )
  all, table_name, bar, action_type = method_name.to_s.
   match(/(w+masters)(_)?(index|show|new|create|edit|update|destroy|download|)?/).to_a

  # テーブルの基本情報を取得
  @table_name = table_name
  virtual_table_class = Class.new(ActiveRecord::Base)
  virtual_table_class.set_table_name(@table_name)
  @colums_info = virtual_table_class.columns

  # 適切なアクションに処理を振り分け
  case action_type
  when "index"
    page = params.key?(:page) ? params[:page].to_i : 1
    @rows = virtual_table_class.paginate(:all, page: page, per_page: 10 )
    return render action:'missing_index'
  when "show"
    @row = virtual_table_class.find(params[:id])
    return render :action => :missing_show
  when "new"
    @new_master = virtual_table_class.new
    return render :action => :missing_new
  when "create"
    @created_master = virtual_table_class.new(params[@table_name.to_sym])
    @created_master.save
    return redirect_to :controller => :master, :action => "#{table_name}_index"
  when "edit"
    @row = virtual_table_class.find(params[:id])
    return render :action => :missing_edit
  when "update"
    @row = virtual_table_class.find(params[:id])
    @row.update_attributes(params[@table_name.to_sym])
    return redirect_to :controller => :master, :action => "#{table_name}_index"
  when "destroy"
    @row = virtual_table_class.find(params[:id])
    @row.destroy
    return redirect_to :controller => :master, :action => "#{table_name}_index"
 else
  super
end
結果

    最終的なマスターデータテーブルの数...、2
    3!!
生産性の比率23:1

    その後の修正ゼロで本番まで動いてみせた

(まぁ、rails_adminは近い戦略を取っているものを後で知った
 のですけどね)
どうしてこのようなことが可能な
      のか


 
     「構造」と「名前」を利用している
     からだ!
Railsの構造その1

Railsは次のような構造を持つ
Railsの構造その1




ユーザーの画面遷移に名前をつけてみる
Railsの構造その2




      データのハブとなっている
      ここをハック
プログラミング効率化の方法

    対象の正しい構造を見抜く

    あるべき操作の手順を考える

    それらに"正しい"名前を与える


トライ&エラーしながら納得いくまで全体の
 構造をリファクタリングして答えに辿り着く
ポイント

    抽象化が進むと、ハードウェアから離れた、
    小さな機能のサブセットを組み合わせてプロ
    グラミングをするようになる

    より高次な言語ほど、対象に正しい名前をつ
    けることが重要になる

    むしろ正しい名前がついた段階でプログラミ
    ングの9割は終了している
例3:身近な名前重要(Form編)

    通常
<%=label_tag "user_info[nickname]", "ニックネーム" %>
<%=text_field_tag "user_info[nickname]" %>

    FormBuilder依存
<%= f.label :nickname, "ニックネーム" %>
<%= f.text_field :nickname %>

    formtastic使用
<%=f.input :nickname, label:"ニックネーム" %>
コード量 89文字 -> 39文字
メタプログラミングの方法

    一番分かっておくべきことは、”最初からメ
    タプログラミングで書く必要はない”という
    こと

    必要な要件が出揃っていない状態で共通項を
    見ぬくとか人間の頭では無理
メタプログラミングの作法

1.最初に要件を最低限満たすコードを記述
2.それを満たすテストを記述
3.だいたいオブジェクト単位で全体を見渡す
4.共通したデータ構造を見つけたら、リファクタリングで
  くくり出す
5.テストを実行して要件を満たしているか確認
6. 手順3に戻ってまだリファクタリングできないか考え
   てみる
メタプログラミングの作法2

    リファクタリングを繰り返していくことで、
    最終的にこれ以上は分割圧縮できないなとい
    う所まで行く

    そうなったら違う戦術で括り直せないかと、
    考え直してみる(例:method_missingだったも
    のをdefime_methodで書き直せないか考えて
    みる)
メタプログラミングの作法3

    そうすると最終的に
「これ以上の方法は無いだろう」
という考えに”至る”


    そう”至る”のです
プログラミングとは何か?



【真理】に至るための修行、プロセス
真理とは何か?

    例えば今回紹介したProxyは3つのProxyがあ
    る

    VirutalProxy(今回のコード)

    RemoteProxy

    AccessProxy

    これらのProxyパターンに共通する”Proxyを
    Proxyたらしめている"コードとは何なのか?
     探してみませんか?
そう
      真理の上には
さらなる真理がその影を延ばしている
世界に隠れている有用なデータ構造、を探し
 て正しい名前を付けてあげよう
真の名前を捉えた瞬間、そのコードは私たち
 のいいなりになる



真理は、ツンデレである
そのために

    巨人の肩の上に乗ろう

    有用なパターンを学ぼう!!

    レールは外れて歩き出そう

    獣道を切り開こう

    未踏の地の新雪に、アポロ11号のクルーの
    ように自分の足跡を残せる事はむずかしいか
    もしれないけれど…

    見つけた法則は世に公開してその真偽を問い
    かけてみよう

    知の一滴を大海に投げ込もう
名前重要 超重要

Weitere ähnliche Inhalte

Andere mochten auch

マイケル・ポーターの『競争の戦略』を読んだら。
マイケル・ポーターの『競争の戦略』を読んだら。マイケル・ポーターの『競争の戦略』を読んだら。
マイケル・ポーターの『競争の戦略』を読んだら。剛 大島
 
【Nwr】0417おしゃれな生き方
【Nwr】0417おしゃれな生き方【Nwr】0417おしゃれな生き方
【Nwr】0417おしゃれな生き方nwrnet
 
モテない男のソリューション -万葉恋愛メソッド-
モテない男のソリューション -万葉恋愛メソッド-モテない男のソリューション -万葉恋愛メソッド-
モテない男のソリューション -万葉恋愛メソッド-sukopun
 
女性にモテるためのIT系男子的部屋の片付け術
女性にモテるためのIT系男子的部屋の片付け術女性にモテるためのIT系男子的部屋の片付け術
女性にモテるためのIT系男子的部屋の片付け術やまもと さをん
 
収入と貯蓄の関係V1
収入と貯蓄の関係V1収入と貯蓄の関係V1
収入と貯蓄の関係V1Shimizu Hitoshi
 
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組みShinji Shimojo
 
Mon2 25
Mon2 25Mon2 25
Mon2 25medism
 
プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法Kota Uchida
 
Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010Yamagata Yoriyuki
 
大学生のためのドラッカー 同志社生協講演
 大学生のためのドラッカー 同志社生協講演 大学生のためのドラッカー 同志社生協講演
大学生のためのドラッカー 同志社生協講演ToshimasaHikita
 
ワーママのお金に関するアンケート Money by powermamaproject
ワーママのお金に関するアンケート Money by powermamaprojectワーママのお金に関するアンケート Money by powermamaproject
ワーママのお金に関するアンケート Money by powermamaprojectNaoko Tsubaki
 
正規表現 入門
正規表現 入門正規表現 入門
正規表現 入門NOAN
 
kibayos beaker-070829
kibayos beaker-070829kibayos beaker-070829
kibayos beaker-070829Mikio Yoshida
 
ドラッカー流 コミュニケーション仕事術
ドラッカー流 コミュニケーション仕事術ドラッカー流 コミュニケーション仕事術
ドラッカー流 コミュニケーション仕事術Yoichiro Yaguchi
 
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料博文 斉藤
 
英語勉強法の法則
英語勉強法の法則英語勉強法の法則
英語勉強法の法則Tsuyoshi Ushio
 
学ばないDSL
学ばないDSL学ばないDSL
学ばないDSLKenta USAMI
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル陽平 山口
 

Andere mochten auch (20)

マイケル・ポーターの『競争の戦略』を読んだら。
マイケル・ポーターの『競争の戦略』を読んだら。マイケル・ポーターの『競争の戦略』を読んだら。
マイケル・ポーターの『競争の戦略』を読んだら。
 
Leadership
LeadershipLeadership
Leadership
 
【Nwr】0417おしゃれな生き方
【Nwr】0417おしゃれな生き方【Nwr】0417おしゃれな生き方
【Nwr】0417おしゃれな生き方
 
モテない男のソリューション -万葉恋愛メソッド-
モテない男のソリューション -万葉恋愛メソッド-モテない男のソリューション -万葉恋愛メソッド-
モテない男のソリューション -万葉恋愛メソッド-
 
女性にモテるためのIT系男子的部屋の片付け術
女性にモテるためのIT系男子的部屋の片付け術女性にモテるためのIT系男子的部屋の片付け術
女性にモテるためのIT系男子的部屋の片付け術
 
収入と貯蓄の関係V1
収入と貯蓄の関係V1収入と貯蓄の関係V1
収入と貯蓄の関係V1
 
(10)昇進管理
(10)昇進管理(10)昇進管理
(10)昇進管理
 
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
大阪大学サイバーメディアセンターにおける可視化サービスの取り組み
 
Mon2 25
Mon2 25Mon2 25
Mon2 25
 
プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法
 
Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010
 
大学生のためのドラッカー 同志社生協講演
 大学生のためのドラッカー 同志社生協講演 大学生のためのドラッカー 同志社生協講演
大学生のためのドラッカー 同志社生協講演
 
ワーママのお金に関するアンケート Money by powermamaproject
ワーママのお金に関するアンケート Money by powermamaprojectワーママのお金に関するアンケート Money by powermamaproject
ワーママのお金に関するアンケート Money by powermamaproject
 
正規表現 入門
正規表現 入門正規表現 入門
正規表現 入門
 
kibayos beaker-070829
kibayos beaker-070829kibayos beaker-070829
kibayos beaker-070829
 
ドラッカー流 コミュニケーション仕事術
ドラッカー流 コミュニケーション仕事術ドラッカー流 コミュニケーション仕事術
ドラッカー流 コミュニケーション仕事術
 
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
 
英語勉強法の法則
英語勉強法の法則英語勉強法の法則
英語勉強法の法則
 
学ばないDSL
学ばないDSL学ばないDSL
学ばないDSL
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル
 

Ähnlich wie 名前重要 超重要

Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)VOYAGE GROUP
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Nakazawa Yuichi
 
Rails初心者レッスン lesson2 3edition
Rails初心者レッスン lesson2 3editionRails初心者レッスン lesson2 3edition
Rails初心者レッスン lesson2 3editionSatomi Tsujita
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門Yasuko Ohba
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculationrelipmoc101
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Hajime Fujimoto
 
Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用stomita
 
DataStax EnterpriseでApache Tinkerpop入門
DataStax EnterpriseでApache Tinkerpop入門DataStax EnterpriseでApache Tinkerpop入門
DataStax EnterpriseでApache Tinkerpop入門Yuki Morishita
 
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』Kenta USAMI
 
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013Esehara Shigeo
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrinoTakeshi Yabe
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionSatomi Tsujita
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングkunihikokaneko1
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門Sho A
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門Michinari Odajima
 

Ähnlich wie 名前重要 超重要 (20)

Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
Rails初心者レッスン lesson2 3edition
Rails初心者レッスン lesson2 3editionRails初心者レッスン lesson2 3edition
Rails初心者レッスン lesson2 3edition
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculation
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本
 
Django boodoo
Django boodooDjango boodoo
Django boodoo
 
Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用
 
DataStax EnterpriseでApache Tinkerpop入門
DataStax EnterpriseでApache Tinkerpop入門DataStax EnterpriseでApache Tinkerpop入門
DataStax EnterpriseでApache Tinkerpop入門
 
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
 
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrino
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
 
Haikara
HaikaraHaikara
Haikara
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
 

Mehr von baban ba-n

Typusとadministrateを比較してみよう
Typusとadministrateを比較してみようTypusとadministrateを比較してみよう
Typusとadministrateを比較してみようbaban ba-n
 
Typusと付き合ってきた話
Typusと付き合ってきた話Typusと付き合ってきた話
Typusと付き合ってきた話baban ba-n
 
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選baban ba-n
 
ガラホ、なるものに対応してきた
ガラホ、なるものに対応してきたガラホ、なるものに対応してきた
ガラホ、なるものに対応してきたbaban ba-n
 
Minitest調べてみた
Minitest調べてみたMinitest調べてみた
Minitest調べてみたbaban ba-n
 
人工言語ロジバン超入門編
人工言語ロジバン超入門編人工言語ロジバン超入門編
人工言語ロジバン超入門編baban ba-n
 
普通のエンジニアが【ロジバン】やってみた
普通のエンジニアが【ロジバン】やってみた普通のエンジニアが【ロジバン】やってみた
普通のエンジニアが【ロジバン】やってみたbaban ba-n
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介baban ba-n
 
Rubyのコードを読んでみよう(オブジェクト編)
Rubyのコードを読んでみよう(オブジェクト編)Rubyのコードを読んでみよう(オブジェクト編)
Rubyのコードを読んでみよう(オブジェクト編)baban ba-n
 
Rubyのソースコードを読んでみよう(入門編)
Rubyのソースコードを読んでみよう(入門編)Rubyのソースコードを読んでみよう(入門編)
Rubyのソースコードを読んでみよう(入門編)baban ba-n
 
rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説baban ba-n
 
Rails-Plugin Flexturesの紹介
Rails-Plugin Flexturesの紹介Rails-Plugin Flexturesの紹介
Rails-Plugin Flexturesの紹介baban ba-n
 

Mehr von baban ba-n (12)

Typusとadministrateを比較してみよう
Typusとadministrateを比較してみようTypusとadministrateを比較してみよう
Typusとadministrateを比較してみよう
 
Typusと付き合ってきた話
Typusと付き合ってきた話Typusと付き合ってきた話
Typusと付き合ってきた話
 
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
 
ガラホ、なるものに対応してきた
ガラホ、なるものに対応してきたガラホ、なるものに対応してきた
ガラホ、なるものに対応してきた
 
Minitest調べてみた
Minitest調べてみたMinitest調べてみた
Minitest調べてみた
 
人工言語ロジバン超入門編
人工言語ロジバン超入門編人工言語ロジバン超入門編
人工言語ロジバン超入門編
 
普通のエンジニアが【ロジバン】やってみた
普通のエンジニアが【ロジバン】やってみた普通のエンジニアが【ロジバン】やってみた
普通のエンジニアが【ロジバン】やってみた
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介
 
Rubyのコードを読んでみよう(オブジェクト編)
Rubyのコードを読んでみよう(オブジェクト編)Rubyのコードを読んでみよう(オブジェクト編)
Rubyのコードを読んでみよう(オブジェクト編)
 
Rubyのソースコードを読んでみよう(入門編)
Rubyのソースコードを読んでみよう(入門編)Rubyのソースコードを読んでみよう(入門編)
Rubyのソースコードを読んでみよう(入門編)
 
rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説
 
Rails-Plugin Flexturesの紹介
Rails-Plugin Flexturesの紹介Rails-Plugin Flexturesの紹介
Rails-Plugin Flexturesの紹介
 

Kürzlich hochgeladen

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

名前重要 超重要