自己紹介 株式会社サリオンシステムズリサーチ勤務セキュリティ ネットワーク関連のシステム開発 C/C++ (18 年 ) Java (13 年 ) Ruby (13 年 ) 余暇の OSS 開発 :CRuby (8 年 ) JRuby (2 年 ) soap4r httpclient 他

Size: px
Start display at page:

Download "自己紹介 株式会社サリオンシステムズリサーチ勤務セキュリティ ネットワーク関連のシステム開発 C/C++ (18 年 ) Java (13 年 ) Ruby (13 年 ) 余暇の OSS 開発 :CRuby (8 年 ) JRuby (2 年 ) soap4r httpclient 他"

Transcription

1 現実世界の JRuby 日本 JRuby ユーザ会中村浩士 ( なひ nahi@ruby-lang.org

2 自己紹介 株式会社サリオンシステムズリサーチ勤務セキュリティ ネットワーク関連のシステム開発 C/C++ (18 年 ) Java (13 年 ) Ruby (13 年 ) 余暇の OSS 開発 :CRuby (8 年 ) JRuby (2 年 ) soap4r httpclient 他

3 JRuby とは - 最新リリース版は JVM 上で動作する Ruby 言語 Open Source (CPL, GPL, LGPL) 開発開始から 10 年フルタイム開発者登場から 5 年

4 本日のゴール Java 開発者の皆様向け RubyとJRubyについて学ぶ JRubyはどんなところに使える?

5 Ruby 入門 Java 開発者向け

6 Ruby の特徴 人に優しい文法豊富なメタプログラミング機能高い生産性 Ruby on Rails + githubの存在

7 Ruby ツアー 1/8: クラス定義 public class Circle exts Shape { private final int radius; public Circle(int radius) { this.radius = radius; public int getradius() { return radius; public double getarea() { return Math.PI * Math.pow(radius, 2); public static void main(string[] args) { double area = new Circle(2).getArea(); System.out.println(area); メソッド定義 def コンストラクタ initialize class Circle < Shape def = radius attr_reader :radius def area Math::PI * (@radius ** 2) puts Circle.new(2).area exts < 継承は単一継承

8 Ruby ツアー 2/8: インスタンス変数 public class Circle exts Shape { private final int radius; public Circle(int radius) { this.radius = radius; public int getradius() { return radius; public double getarea() { return Math.PI * Math.pow(radius, 2); public static void main(string[] args) { double area = new Circle(2).getArea(); System.out.println(area); class Circle < Shape def = radius attr_reader :radius def area Math::PI * (@radius ** 2) puts Circle.new(2).area attr_reader はアクセサメソッド定義用メソッド

9 Ruby ツアー 3/8: 動的型付け public class Circle exts Shape { private final int radius; public Circle(int radius) { this.radius = radius; public int getradius() { return radius; public double getarea() { return Math.PI * Math.pow(radius, 2); public static void main(string[] args) { double area = new Circle(2).getArea(); System.out.println(area); class Circle < Shape def = radius attr_reader :radius def area Math::PI * (@radius ** 2) puts Circle.new(2).area 変数に型なし duck-typing 引数の型 数の違いによるメソッド overload なし

10 Ruby ツアー 4/8: 全てが値を持つ public class Circle exts Shape { private final int radius; public Circle(int radius) { this.radius = radius; public int getradius() { return radius; public double getarea() { return Math.PI * Math.pow(radius, 2); public static void main(string[] args) { double area = new Circle(2).getArea(); System.out.println(area); class Circle < Shape def = radius attr_reader :radius def area Math::PI * (@radius ** 2) puts Circle.new(2).area return 不要文の値は最後の式

11 Ruby ツアー 5/8: 全てがオブジェクト 全てがメソッド public class Circle exts Shape { private final int radius; public Circle(int radius) { this.radius = radius; public int getradius() { return radius; public double getarea() { return Math.PI * Math.pow(radius, 2); public static void main(string[] args) { double area = new Circle(2).getArea(); System.out.println(area); class Circle < Shape def = radius attr_reader :radius def area Math::PI * (@radius ** 2) puts Circle.new(2).area Circle: 定数 a*2 == a.*(2) Circle.new: クラスオブジェクトの new メソッドを呼び出す

12 Ruby ツアー 6/8: ブロック ( クロージャ ) (2) def aaa(name, &block) File.open(name) do file file.each_line do line yield line aaa('a.txt') do line p line (3) people.group_by { e e.lang button1 =... label1 =... button1.on_action do event label1.text = 'sing...' (1) (1) File.open 用ブロックブロック実行後に自動 close (2) each_line 用ブロック 1 行読み込む毎に呼ばれる (3) aaa 用ブロック aaa 内部の yield に呼ばれる その他利用例

13 Ruby ツアー 7/8: Mix-in オープンクラス module Utils def name self.class.name 実装 class Book include Utils 継承 def say "Hello from #{name" obj = Book.new p obj.say #=> "Hello from Book" class Book def say "I'm #{name" p obj.say #=> "I'm Book" Mix-in: 実装の継承 Utils モジュールの実装を Book クラスに Mix-in オープンクラス : Book クラスの say メソッドを再定義

14 Ruby ツアー 8/8: フックメソッド class Base = [] def self.inherited(klass) << klass class Sub < Base class SubSub < はクラス変数の接頭辞 クラスオブジェクトのキャッシュはリークの元なので普通やらない inherited: クラスが継承された場合に 継承したクラスを引数に呼ばれる その他 : included method_added method_removed method_missing const_missing 等

15 Ruby 言語の特徴 ( まとめ ) 動的型付け 全てがオブジェクト 全てがメソッド ブロック ( クロージャ ) の活用 メタプログラミング支援 Mix-in オープンクラス 各種フックメソッド

16 JRuby の特長 Ruby on Railsを含む100% の互換性 C 言語版 Rubyと同等の実行速度高いスケーラビリティ ( 並行動作 ) Javaとの親和性の高さ

17 Real-World JRuby JRuby 利用実例

18 Real-World JRuby: JRuby 利用実例 Java 連携 (Java -> Ruby) Java 連携 (Ruby -> Java) Java テスト (RSpec, JtestR) 開発支援 (Ant, Maven, Jenkins) ウェブ開発 (JRuby on Rails)

19 Java 連携 (Java -> Ruby) ユースケース

20 Java 連携 (Java -> Ruby) Java から Ruby ライブラリを利用 import org.jruby.embed.scriptingcontainer; public class HelloWorld { public static void main(string[] args) { ScriptingContainer ruby = new ScriptingContainer(); ruby.runscriptlet("puts \"hello,world!\""); source ' 例 : 独自定義ファイル解析の DSL 処理系として group :development do host 'localhost' port reloadable true debug true group :production do host '

21 Java 連携 (Java -> Ruby) 例 : gitdiff.rb - git ライブラリを利用し リビジョンの変更サマリを取得する Ruby コード require 'rubygems' require 'git' def diff_summary(dir, from, to) diff = Git.open(dir).diff(from, to) diff.stats[:files].map { file, st insertions = st[:insertions] 0 deletions = st[:deletions] 0 "#{file +#{insertions -#{deletions" # =>[ "src/org/jruby/ruby.java ", # "src/org/jruby/rubyarray.java ", # "src/org/jruby/rubybasicobject.java +7-0",...

22 Java 連携 (Java -> Ruby) Java からの呼び出しと抽出 public class GitDiff { public static void main(string[] args) throws Exception { ScriptingContainer ruby = new ScriptingContainer(); ruby.runscriptlet("require 'gitdiff'"); ruby.put("dir", "/home/nahi/git/jruby/"); ruby.put("from", "8c6dba0f..."); ruby.put("to", "7837c84a..."); List array = (List) ruby.runscriptlet( "diff_summary(dir, from, to)"); for (Object obj : array) { System.out.println(obj.toString());...

23 Java 連携 (Ruby -> Java) ユースケース

24 Java 連携 (Ruby -> Java) Ruby から Java の機能を利用する Java の対話環境としての利用も可能 % jruby -S irb > require 'java' => true > ni = java.net.networkinterface.networkinterfaces.to_a.first => #<Java::JavaNet::NetworkInterface:0x4d33b92c> > ni.getname => "eth0" > ni.isup => true > ni.getmtu => 1500 > ni.inetaddresses.map { addr addr.to_s => ["/fe80:0:0:0:20c:29ff:fead:4bed%2", "/ "]

25 Java 連携 (Ruby -> Java) Flying Saucer を使って HTML を PDF 変換 % ls flyingsaucer-r8 core-rerer.jar itext jar... % jruby -S irb -Iflyingsaucer-R8 > require 'java' > require 'itext jar' > require 'core-rerer.jar' > rr = org.xhtmlrerer.pdf.itextrerer.new > doc = <<EOD <html><body><h1>hello JRuby</h1> <p>from <a href=" Saucer</a>.</p></body></html> EOD > rr.set_document_from_string(doc) > rr.layout > File.open("out.pdf", "w") { f rr.create_pdf(f.to_outputstream)

26 JRubyFX: JRuby binding for JavaFX 2.0 Java FX 2.0 を利用して JRuby GUI アプリ開発 ( デモ )

27 JRubyFX: SVGLoader example Java ライブラリの組み合わせ require 'jrubyfx' # require 'SVGLoader.jar' java_import 'net.javainthebox.caraibe.svg.svgloader' class SVGLoaderApp include JRubyFX def start(stage) root = build(group) { children << SVGLoader.load("/duke.svg").root with(stage, title: 'SVGLoader sample', scene: build(scene, root)).show SVGLoaderApp.start

28 Java テスト (RSpec, JtestR) ユースケース

29 Java テスト (RSpec) Ruby と JRuby の利点を活かして Java をテスト RSpec: 振る舞いをテスト % jruby -S rspec jruby_spec.rb.. Finished in seconds 2 examples, 0 failures % describe 'ScriptingContainer#put' do before :each = org.jruby.embed. ScriptingContainer.new it "sets an object to local variable" do obj = == obj it "overrides the previous object" do obj = be_nil

30 Java テスト (JtestR) JtestR: 各種 Ruby 用テストライブラリ同梱 describe "X509Name" do it "should use given converter for ASN1 encode" do converter = mock(x509nameentryconverter) name = X509Name.new('CN=localhost', converter) converter.stubs('getconvertedvalue'). with(derobjectidentifier.new(cn), 'localhost'). returns(derprintablestring.new('converted')). times(1) name.toasn1object.to_string.should == '...'

31 Java テスト (JtestR) Ant/Maven 統合 + テストサーバ % ant test Buildfile: /path/to/build.xml test: [jtestr] Other Spec: 4 examples, <target 0 failures, name="test"> 0 errors [jtestr] <jtestr port="20333"/> [jtestr] Total: 4 tests, 0 failures, </target> 0 errors, 0 ping [jtestr] BUILD SUCCESSFUL Total time: 9 seconds <?xml version="1.0" encoding="utf-8"?> <project basedir="." default="test" name="simple1"> <taskdef name="jtestr" classname="org.jtestr.ant.jtestrantrunner" classpath="build_lib/jtestr.jar" /> <taskdef name="jtestr-server" classname="org.jtestr.ant.jtestrantserver" classpath="build_lib/jtestr.jar" /> <target name="test-server" > <jtestr-server port="20333" runtimes="3"/> </target> </project>

32 開発支援 (Ant, Maven, Jenkins) ユースケース

33 開発支援 (Ant 連携 ) Rake: Ruby の記述力を活かしてビルド手順を記述 Ant Rake から相互にタスクを利用可能 desc "Build JRuby" task :build do ant "jar" task :jar => :build desc "Clean all built output" task :clean do delete_files = FileList.new do fl fl. include("#{build_dir/**"). exclude("#{build_dir/rubyspec"). include(dist_dir). include(api_docs_dir)... <target name= load-rake-task > <taskdef name= rake classname= org.jruby.ant.rake /> </target> <target name= default deps= load-rake-task > <rake task= jar /> </target>

34 開発支援 (Maven 連携 ) Maven 配布物は rubygems としてインストール可能 開発環境の部分的 Ruby 化を支援 % jruby -S gem install bouncycastle:bcprov-jdk15 require 'rubygems' require 'maven/bouncycastle/bcprov-jdk15'...

35 開発支援 (Jenkins 連携 ) Ruby Plugins for Jenkins Jenkins のプラグインを Ruby で記述可能

36 開発支援 (Jenkins 連携 ) 例 : Travis CI 設定を読んで自動ビルド class TravisScriptBuilder < Jenkins::Tasks::Builder def prebuild(build, listener) travis_file = build.workspace + '.travis.yml' unless travis_file.exist? listener.error "Travis config `#{travis_file' not found" raise "Travis config file not found"... def perform(build, launcher, listener) run_scripts(setup_env)... def run_scripts(env) %w{before_script script after_script.each do type scan_multiline_scripts(config[type]).each do script launcher.execute(env, script, :chdir => workspace, :out => listener)...

37 ウェブ開発 (JRuby on Rails) ユースケース

38 ウェブ開発 (JRuby on Rails) Ruby on Rails - ウェブアプリケーションフレームワークフルスタック CoC: (XML) 設定より規約 ( に従って開発 ) DRY: 同じことを繰り返さない

39 Rails ツアー 1/7: アプリケーションの生成 MVC テスト サードパーティライブラリ等常に同じディレクトリ構成 % jruby -S rails new myapp create create README create Rakefile... create vor/plugins create vor/plugins/.gitkeep run bundle install Fetching source index for Using rake ( ) Installing multi_json (1.0.3)... Installing sass-rails (3.1.5) Installing uglifier (1.1.0) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

40 Rails ツアー 2/7: scaffold アプリの雛形作り ( 慣れると不要 ) % jruby -S rails g scaffold todo done:boolean description:string % invoke active_record create db/migrate/ _create_todos.rb create app/models/todo.rb invoke test_unit create test/unit/todo_test.rb create test/fixtures/todos.yml route resources :todos invoke scaffold_controller create app/controllers/todos_controller.rb invoke erb create app/views/todos... invoke scss create app/assets/stylesheets/scaffolds.css.scss

41 Rails ツアー 3/7: DB マイグレーション スクリプトによる DB スキーマ履歴管理 class CreateTodos < ActiveRecord::Migration def change create_table :todos do t t.boolean :done t.string :description t.timestamps % jruby -S rake db:migrate == CreateTodos: migrating ==================================================== -- create_table(:todos) -> s -> 0 rows

42 Rails ツアー 4/7: サーバ起動 scaffold だけでも動く % jruby -S rails server => Booting WEBrick => Rails application starting in development on => Call with -d to detach => Ctrl-C to shutdown server [ :58:15] INFO WEBrick [ :58:15] INFO ruby ( ) [java]

43 Rails ツアー 5/7: 生成されたコード モデル コントローラ class Todo < ActiveRecord::Base ビュー class TodosController < ApplicationController def = Todo.all respond_to do format format.html # index.html.erb format.json { rer :json def create... <%= form_for(@todo) do f %> <div class="field"> <%= f.label :done %><br /> <%= f.check_box :done %> </div> <div class="field"> <%= f.label :description %><br /> <%= f.text_field :description %> </div> <div class="actions"> <%= f.submit %> </div> <% %>

44 Rails ツアー 6/7: ActiveRelation (Arel) 遅延 SQL 生成用の DSL Todo.where(:done => false) SELECT "todos".* FROM "todos" WHERE "todos"."done" = 'f' Todo.where(:done => false).where('created_at < " "') SELECT "todos".* FROM "todos" WHERE "todos"."done" = 'f' AND (created_at < " ") Todo.where(:done => false).order("created_at DESC").limit(1) SELECT "todos".* FROM "todos" WHERE "todos"."done" = 'f' ORDER BY created_at DESC LIMIT 1 スコープ class Todo < ActiveRecord::Base scope :finished, where(:done => true) Todo.finished.size SELECT COUNT(*) FROM "todos" WHERE "todos"."done" = 't'

45 Rails ツアー 7/7: REST インターフェース JSON での CRUD % jruby -rubygems -e 'require "httpclient"; puts HTTPClient.get("http: //localhost:3000/todos/1.json").body' => { "created_at":" t06:59:14z", "description":" 牛乳を買う ",... % jruby -rubygems -e 'require "json"; require "httpclient"; puts HTTPClient.post(" JSON.generate(:todo => {:description => "JRuby のベンチマーク ", :done => false), "Accept" => "application/json", "Content-Type" => "application/json" ).body' => { "created_at":" t07:36:19z", "description":"jruby のベンチマーク ",...

46 ウェブ開発 (JRuby on Rails) Rails の全ての機能 + 既存 Java ライブラリ活用 Java アプリと同居可能 SpringMVC から Rails へのリファクタリング事例 1) "Petclinic" に JRuby で REST API を追加 2) Rails の同居 3) Spring 利用の機能を Rails で置き換え

47 JRuby on Rails のデプロイ WAR 形式 任意のアプリサーバで動作専用アプリサーバ : Trinidad (Tomcat ベース ) TorqueBox (JBoss ベース ) clustering messaging scheduling 他 PaaS: Engine Yard Cloud

48 JRuby のこれから InvokeDynamic と IR

49 Java SE 7: InvokeDynamic 新たなメソッド呼び出しバイトコード bootstrap メソッド dynamic language support (java.lang.invoke.*) MethodHandle MethodType SwitchPoint CallSite

50 JRuby における InvokeDynamic 効果 Java 5/6 でのメソッド呼び出し

51 JRuby における InvokeDynamic 効果 Java 7 + JRuby dev ( 開発中 )

52 JRuby における InvokeDynamic 効果 Java 6/7 上で動作させた JRuby の比較 横軸は速度 ( 大きいほうが速い )

53 IR: JRuby の新しい内部表現形式 最適化方式の抜本的な変更を模索 構文木ベースの最適化から新中間表現ベースへ

54 まとめ : JRuby - Java 開発者にも学び易い Ruby 言語 Java と Ruby の連携方式が豊富 現実世界で使われるフレームワーク ライブラリ Rails RSpec JtestR Jenkins git scripting DSL Java 開発者のツールベルトに

利用者

利用者 Regional SNS 開発環境構築ガイド 2012 年 2 月 29 日 株式会社ネットワーク応用通信研究所 目次 1. はじめに... 1 2. 前提条件... 1 3. 必要なソフトウェア構成... 1 4. ソフトウェアの導入手順... 1 4.1. 必要ファイルのダウンロード... 1 4.2. 環境設定コマンドの実行... 2 4.3. RegionalSNS の実行... 2 4.4.

More information

2

2 Java Festa in 2007 OPEN JAVA: IMAGINE THE POSSIBILITIES 2 3 4 Java SE のダウンロード数の比率 1996/12 からのダウンロード数 5 JavaOne 2007 5/7: CommunityOne > NetBeans Day, GlassFish, OpenSolaris, OpenJDK, Web 2.0 5/8-11: JavaOne

More information

ii

ii ii iii iv v vi 4 get "lesson/:action(/:name)" => "lesson" 5 6 resources :members 7 end Sato mac:rails taro$ cd asagao mac:asagao taro$ bin/rails s mac:asagao

More information

目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4.

目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4. Serverspec でインフラテスト 2018 年 4 月 20 日株式会社フルマークス大久保和彦 目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4.

More information

ruby novice ruby novice ruby novice.

ruby novice ruby novice ruby novice. GitHub Ruby 2549 2017 3 1 1 3 2 4 2.1 ruby novice........................... 4 2.2.............................. 6 3 8 3.1 ruby novice....................... 8 3.2 ruby novice............................

More information

スライド 1

スライド 1 CloudFoundry ( vcap ) 上で JRuby でアプリを動かす 2012/01/19 ( 木 ) 第 4 回 CloudFoundry 輪読会 原嘉彦 ( goronyanko.h@gmail.com ) 自己紹介 何者? : 原嘉彦 ( Yoshihiko Hara ) twitter GORO_Neko mail goronyanko.h@gmail.com 日頃何やってるヒト?

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

Kyosuke MOROHASHI

Kyosuke MOROHASHI Practical Meta Programming on Rails Application @2013-12-17 Ruby 1 in MOROHASHI Kyosuke (@moro) Kyosuke MOROHASHI Aga toolbox Ruby " " Ruby http://www.amazon.co.jp/exec/obidos/asin/4048687158/morodiary05-22/ref=noism

More information

01_Rails_chap01.qx

01_Rails_chap01.qx CHAPTER 1 Rails CHAPTER 1 Rails 1-1 Rails Ruby on Rails Web 1 Web 1-1-1 Rails Web Ruby on Rails Rails Rails Web Rails 37signals David Heinemeier Hansson DHH DHH Rails 20032004 http://wiki.rubyonrails.org/rails/pages/faq

More information

#jt12_s204 Java SE 7 InvokeDynamic in JRuby 日本 JRuby

#jt12_s204 Java SE 7 InvokeDynamic in JRuby 日本 JRuby #jt12_s204 Java SE 7 InvokeDynamic in JRuby 日本 JRuby ユーザ会中村浩士 @nahi nahi@ruby-lang.org https://github.com/nahi http://slidesha.re/javaonejpinvokedynamic 自己紹介 ネットワークセキュリティ関連のシステム開発 C/C++ (18 年 ) Java (13

More information

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

8 4 end 5 6 private def message 7 'Hello' 8 end 9 end g = Greeting.new 12 g.hello $ ruby lib/lessons/greeting.rb Hello Ruby public method protec

8 4 end 5 6 private def message 7 'Hello' 8 end 9 end g = Greeting.new 12 g.hello $ ruby lib/lessons/greeting.rb Hello Ruby public method protec 8 Rails 8.1 PicoPlanner Ruby lib lessons $ mkdir -p lib/lessons lib/lessons greeting.rb lib/lessons/greeting.rb (New) 1 class Greeting 2 def hello 3 puts message 87 8 4 end 5 6 private def message 7 'Hello'

More information

JEB Plugin 開発チュートリアル 第4回

JEB Plugin 開発チュートリアル 第4回 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない

More information

C/C++からJVMを起動します

C/C++からJVMを起動します ダブルクリックで起動する JavaFXアプリケーションJAR 第 8 回 JavaFX 勉強会 2012-11-30 高橋徹 (@boochnich & Java 読書会 ) 発表者について @boochnich http://d.hatena.ne.jp/torutk/ Java GUI 歴 jdk1.0 時代は AWT jdk1.1 時代は AWT Netscape IFC Swing jdk1.2

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name = "" => "" > item.valid? => true valid? true false

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name =  =>  > item.valid? => true valid? true false 10 (1) 16 7 PicoPlanner validations 10.1 PicoPlanner Web Web invalid values validations Rails validates validate 107 10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

スライド 1

スライド 1 OSC2008Tokyo/Fall CodeIgniter を使った MyNETS2 の概要 日付 2008/10/04 発表者 株式会社エムズリンク辻岡国治 copy rights All Right Reserved. -2008 基本ベースは WEB 会員管理システム 会員登録されているかの判定を行う 会員向けページ リクエスト DB 非会員向けページ copy rights All Right

More information

3360 druby Web Who is translating it? http://dx.doi.org/10.1007/s10766-008-0086-1 $32.00 International Journal of PARALLEL PROGRAMING Must buy! http://dx.doi.org/10.1007/s10766-008-0086-1 toruby The

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None クイック検索検索 目次 Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 None 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

storage-sdk-Java

storage-sdk-Java オブジェクトストレージ SDK Java Version 1.0 Version 更新日内容 1.0 2014 年 4 月 18 日新規作成 1.1 2014 年 5 月 23 日 RiakCS のバージョンを 1.4.5 に修正 IDC Frontier Inc. All Rights Reserved. PAGE : 1 / 7 目次 1. 概要... 3 2. 利用できる API... 3 3.

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators 自己紹介 Amusement Makers ではありません 注意 IronPython って?.Net Framework および Mono 上で動作する Python.NetFramework Mono は共通中間言語 (CIL) のための仮想マシン CIL が動く仮想マシンの仕様は共通言語基盤 (CLI)

More information

Emacs Ruby..

Emacs Ruby.. command line editor 27014533 2018 3 1 5 1.1................................... 5 1.2................................... 5 2 6 2.1 Emacs...................................... 6 2.2 Ruby.......................................

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

未踏成果報告会-fix.key

未踏成果報告会-fix.key BioRuby/ChemRuby http://www.tmd.ac.jp/artsci/biol/textbook/celltop.htm 350 280 210 140 2000 / 1 / 27 70 0 1995 96 97 98 99 2000 01 02 03 04 05 RefSeq PDB PubMed PubChem GenPept EMBL UniProt GenBank

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00

More information

An introduction and future of Ruby coverage library

An introduction and future of Ruby coverage library Ruby の テストカバレッジ 測定機能の 改良と展望 クックパッド株式会社遠藤侑介 yusuke-oh@cookpad.com RubyWorld Conference 2017 (2017/11/01) 発表概要 発表内容 カバレッジとは カバレッジとの付き合い方 Ruby でのカバレッジ測定方法 クックパッドでのカバレッジ利用事例 発表者について フルタイム Ruby コミッタ (2017/09~)

More information

{:from => Java, :to => Ruby } Java Ruby KAKUTANI Shintaro; Eiwa System Management, Inc.; a strong Ruby proponent http://kakutani.com http://www.amazon.co.jp/o/asin/4873113202/kakutani-22 http://www.amazon.co.jp/o/asin/477413256x/kakutani-22

More information

S2Pradoの紹介

S2Pradoの紹介 2007 Autumn S2Prado の紹介 S2Container.PHP5 と連携した PRADO アプリケーションの構築 植山能成 紹介 丙午 クリスマスイヴうまれの 40 才 福岡県福岡市在住 株式会社アイティー勤務 主業務 : 通信系システム開発 業務での PHP 開発経験 約半年 (SIP,P2P) P2P) 次 PRADO Framework とは デモその 1 S2Prado.PHP5

More information

2 Rails pico planner camel case camel pico planner _ pico_planner snake case snake - chain case chain pico planner pico-planner CSS id class 2.3 Rails

2 Rails pico planner camel case camel pico planner _ pico_planner snake case snake - chain case chain pico planner pico-planner CSS id class 2.3 Rails 2 Rails 2.1 DBMS PicoPlanner SimpleGreeter DBMS Ruby on Rails 3 PostgreSQL MySQL SQLite3 SQLite3 2.2 Web PicoPlanner pico planner 11 2 Rails pico planner camel case camel pico planner _ pico_planner snake

More information

自己紹介 前田修吾(Shugo Maeda) Schemeと同い年 家族 奥さん 娘 息子 NaCl勤務(1999 )

自己紹介 前田修吾(Shugo Maeda) Schemeと同い年 家族 奥さん 娘 息子 NaCl勤務(1999 ) Railsによるメタプログラミング入門 株式会社ネットワーク応用通信研究所 前田 修吾 自己紹介 前田修吾(Shugo Maeda) Schemeと同い年 家族 奥さん 娘 息子 NaCl勤務(1999 ) リクエストがありましたので... 一応息子も Rubyとの出会い 1997年 JavaHouse-Brewers MLにて 恩人 高木浩光先生 Rubyへの貢献 標準添付ライブラリ curses

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

6 (1) app.html.eex 28 lib/nano_planner_web/templates/layout/app.html.eex 27 <footer> Oiax Inc <%= this_year() %> Oiax Inc. 29 </footer>

6 (1) app.html.eex 28 lib/nano_planner_web/templates/layout/app.html.eex 27 <footer> Oiax Inc <%= this_year() %> Oiax Inc. 29 </footer> 6 (1) of_today 6.1 Copyright 2017 lib/nano_planner_web/views layout_view.ex this_year/0 lib/nano_planner_web/views/layout_view.ex 1 defmodule NanoPlannerWeb.LayoutView do 2 use NanoPlannerWeb, view 3 +

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

とても使いやすい Boost の serialization

とても使いやすい Boost の serialization とても使いやすい Boost の serialization Zegrahm シリアライズ ( 直列化 ) シリアライズ ( 直列化 ) とは何か? オブジェクトデータをバイト列や XML フォーマットに変換すること もう少しわかりやすく表現すると オブジェクトの状態を表す変数 ( フィールド ) とオブジェクトの種類を表す何らかの識別子をファイル化出来るようなバイト列 XML フォーマット形式で書き出す事を言う

More information

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flow

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) flow Java (5) 1 Lesson 3: 2008-05-20 2 x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java 1.1 10 10 0 1.0 2.0, 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flowrate.dat" 10 8 6 4 2 0 0 5 10 15 20 25 time (s) 1 1

More information

bdd.gby

bdd.gby Haskell Behavior Driven Development 2012.5.27 @kazu_yamamoto 1 Haskell 4 Mew Firemacs Mighty ghc-mod 2 Ruby/Java HackageDB 3 Haskeller 4 Haskeller 5 Q) Haskeller A) 6 7 Haskeller Haskell 8 9 10 Haskell

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

V8.1新規機能紹介記事

V8.1新規機能紹介記事 WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です

More information

Prog2_9th

Prog2_9th 2013 年 11 月 21 日 ( 木 ) 実施例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる これまでの教材に登場した例外の中で,IOException はコンパイラがチェックするため, 例外処理を必ず記述しなければコンパイルが出来ないものであるのに対して,ArithmeticException

More information

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2

More information

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構 5-3- 応統合開発環境に関する知識 1 5-3- 応統合開発環境に関する知識 統合開発環境と バグ管理ツール ビルドツールなど様々な開発ツールとの連携や MVCフレームワークなどの Javaフレームワークとの連 Ⅰ. 概要携 C 言語やスクリプト言語など Java 以外の言語での利用方法について学ぶ Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-3- 基統合開発環境に関する知識

More information

3360 druby Web Who is translating it? http://dx.doi.org/10.1007/s10766-008-0086-1 $32.00 International Journal of PARALLEL PROGRAMING Must buy! http://dx.doi.org/10.1007/s10766-008-0086-1 toruby LT Linux

More information

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

Ruby演習テキスト1

Ruby演習テキスト1 Ruby言語 基礎演習 社会人技術者研修 2014年度 テキスト 社会人技術者研修 2014年度テキスト 2014.11 Ruby基礎演習 1 2014.11 2015.2.1 puts "Hello Ruby >ruby hello.rb ( リターン ) > ruby hello.rb Hello Ruby # はじめての ruby プログラム puts "Hello Ruby" > ruby

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

S2BaseとZend Framework

S2BaseとZend Framework 2007 Autumn S2Base とZend Framework klove 1 自己紹介 ハンドルネーム :klove S2Container.PHP5 コミッタ S2Base.PHP5コミッタ 2005 年 5 月から Seasar プロジェクトで活動中 普段は SI 業務 システム管理業務 2 もくじ はじめに S2Base について S2Base とは S2Base-2.0 デモ Zend

More information

Microsoft Word - jpluginmanual.doc

Microsoft Word - jpluginmanual.doc TogoDocClient TogoDocClient... i 1.... 1 2. TogoDocClient... 1 2.1.... 1 2.1.1. JDK 5.0... 1 2.1.2. Eclipse... 1 2.1.3.... 1 2.1.4.... 2 2.2.... 3 2.2.1.... 3 2.2.2.... 4 2.3. Eclipse Commands... 5 2.3.1....

More information

Rinda, druby answering the RubyConf, RubyKaigi Masatoshi SEKI

Rinda, druby answering the RubyConf, RubyKaigi Masatoshi SEKI Rinda, druby answering the RubyConf, RubyKaigi Masatoshi SEKI 05 druby Web amazon.co.jp druby Web buy now! Agile Ruby Ruby Ruby XP ERB druby Rinda RWiki Div Koya... products users ERB druby Rinda RWiki

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

Working Effectively with Legacy tdiary Code using Cucumber and RSpec KAKUTANI Shintaro; Eiwa System Management,Inc.; Nihon Ruby-no-kai pragprog.com Working Effectively with Legacy tdiary code using

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

17章 プログラムの提供

17章 プログラムの提供 三谷純 データ構造 コレクション とは 複数のデータをひとまとめにするクラス ArrayList 以外のコレクション TreeSet 要素を常にソートされた状態に保ち 重複を自動的に排除する HashMap キーと値のペアを要素として保持する LinkedList ArrayList とほぼ同じだが リスト中の任意の位置に要素を挿入 削除するといった処理のパフォーマンスが若干高い HashSet

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr Eclipse 1,a) 1,b) 1,c) ( IDE) IDE Graphical User Interface( GUI) GUI GUI IDE View Eclipse Development of Eclipse Plug-in to present an Object Diagram to Debug Environment Kubota Yoshihiko 1,a) Yamazaki

More information

10K pdf

10K pdf #1 #2 Java class Circle { double x; // x double y; // y double radius; // void set(double tx, double ty){ x = tx; y = ty; void set(double tx, double ty, double r) { x = tx; y = ty; radius = r; // Circle

More information

Blue Asterisk template

Blue Asterisk template IBM Content Analyzer V8.4.2 TEXT MINER の新機能 大和ソフトウェア開発 2008 IBM Corporation 目次 UI カスタマイズ機能 検索条件の共有 柔軟な検索条件の設定 2 UI カスタマイズ機能 アプリケーションをカスタマイズするために Java Script ファイルおよびカスケーディングスタイルシート (CSS) ファイルの読み込み機能が提供されています

More information

CAC

CAC VOL.24NO.1 61 IMS Transaction 3270 DataBase Transaction OS/370 IMS Traditional Transaction Web Browser Transaction Internet WWW AP IIS APache WebLogic Websphere DataBase Oracle DB2 SQL Server Web Browser

More information

Presentation

Presentation メタプログラミング Ruby LLPlanets 2011-8-20 征典 kdmsnr@gmail.com 1/50 征典 -kdmsnr 2/50 MF'sbliki 3/50 Ruby における メタプログラミングとは? 4/50 内部 DSL を書くことである 5/50 プログラミング 語 Ruby 8 章 リフレクションとメタプログラミング 豊富なリフレクション APIを使い メタプログラミングを実現する

More information

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C (Java/FX ) Java CD Java version 10.0.1 Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas Canvas Eclipse Eclipse M... 1 javafx e(fx)clipse 3.0.0

More information

push-exchanger利用手順ベンダー向け

push-exchanger利用手順ベンダー向け 20171107_01 日医標準レセプトソフトクラウド版 push-exchanger 利用手順 ベンダー向け 2017 年 11 月 7 日 日本医師会 ORCA 管理機構株式会社 改版履歴 初版 2017 年 3 月 30 日 二版 2017 年 11 月 7 日 パス区切りを\から/に修正 目次 1. 概要... 1 2. push-exchanger 概要... 1 3. push-exchanger

More information

GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0

GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0 GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0 自己紹介 西山和広 id:znz (github, twitter など ) Ruby コミッター 1/25 GitLab + Dokku GitLab GitLab CI Dokku (+ Heroku)

More information

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 前提条件 2.3. 対象読者 2.4. 注意事項 3. 概要 3.1. OData 連携について 3.2. OData について 3.3. SAP HANA 連携について 3.4. アクター 3.5. セットアップの手順について

More information

Microsoft Word 基_シラバス.doc

Microsoft Word 基_シラバス.doc 4-5- 基 Web アプリケーション開発に関する知識 1 4-5- 基 Web アプリケーション開発に関する知識 スクリプト言語や Java 言語を利用して Ruby on Rails やその他 Web フレームワークを活用して HTML(4, 5) XHTML JavaScript DOM CSS といったマークアップ言語およびスクリプト言語を活用しながら Ⅰ. 概要ダイナミックなWebサービスを提供するアプリケーションを開発する際に

More information

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介 Dolteng Scaffold に対する機能追加 とマスタ - ディテール Scaffold の紹介 せいいち (takao) 2009/03/07 目次 Dolteng Scaffold に対する機能追加 Scaffold に関して Ruby on Rails の Scaffold RoR Scaffold と Dolteng Scaffold の比較 Scaffold のデモ Scaffold

More information

test.gby

test.gby Beautiful Programming Language and Beautiful Testing 1 Haskeller Haskeller 2 Haskeller (Doctest QuickCheck ) github 3 Haskeller 4 Haskell Platform 2011.4.0.0 Glasgow Haskell Compiler + 23 19 8 5 10 5 Q)

More information

12th Developer Camp

12th Developer Camp B5 3rdRail/TurboRuby チュートリアルセッション Ruby 開発を効率化するはじめての 3rdRail/TurboRuby エンバカデロ テクノロジーズエヴァンジェリスト高橋智宏 アジェンダ Ruby TurboRuby Ruby on Rails 3rdRail TurboRDK 2 1 Ruby Ruby Ruby とは まつもとゆきひろ ( 通称 Matz) により開発されたオブジェクト指向スクリプト言語

More information

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ 第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

untitled

untitled 30 callcc yhara ( ( ) (1) callcc (2) callcc (3) callcc callcc Continuation callcc (1) (2) (3) (1) (2) (3) (4) class Foo def f p 1 callcc{ cc return cc} p 2 class Bar def initialize @cc = Foo.new.f def

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

4-4- 応スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語のうち 特に Ruby について学習し 応用的なアプリケーション開発の手法を習得する Ⅰ. 概要フレームワークによる Web アプリケーション開発やデータベース操作について学習する Ⅱ. 対象専門分野職種共通 Ⅲ.

4-4- 応スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語のうち 特に Ruby について学習し 応用的なアプリケーション開発の手法を習得する Ⅰ. 概要フレームワークによる Web アプリケーション開発やデータベース操作について学習する Ⅱ. 対象専門分野職種共通 Ⅲ. 4-4- 応スクリプト言語に関する知識 1 4-4- 応スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語のうち 特に Ruby について学習し 応用的なアプリケーション開発の手法を習得する Ⅰ. 概要フレームワークによる Web アプリケーション開発やデータベース操作について学習する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 4-4- 基スクリプト言語に関する知識

More information

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計

More information

Prog2_10th

Prog2_10th 2016 年 12 月 8 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

メディプロ1 Javaサーブレット補足資料.ppt

メディプロ1 Javaサーブレット補足資料.ppt メディアプロジェクト演習 1 Java サーブレット補足資料 CGI の基本 CGI と Java サーブレットの違い Java サーブレットの基本 インタラクティブな Web サイトとは Interactive q 対話 または 双方向 q クライアントとシステムが画面を通して対話を行う形式で操作を行っていく仕組み 利用用途 Web サイト, シミュレーションシステム, ゲームなど WWW = インタラクティブなメディア

More information

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1 Java (9) 1 Lesson 7 2008-05-20 Java System.out.println() 1 Java API 1 Java Java 1 GUI 2 Java 3 1.1 5 3 1.0 10.0, 1.0, 0.5 5.0, 3.0, 0.3 4.0, 1.0, 0.6 1 2 4 3, ( 2 3 2 1.2 Java (stream) 4 1 a 5 (End of

More information

Prog2_10th

Prog2_10th 2017 年 12 月 7 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

WebOTXマニュアル

WebOTXマニュアル WebOTX アプリケーション開発ガイド WebOTX アプリケーション開発ガイドバージョン : 7.1 版数 : 第 2 版リリース : 2010 年 1 月 Copyright (C) 1998-2010 NEC Corporation. All rights reserved. 4-1-1 目次 4. J2EE WebOTX...3 4.1. Webアプリケーション...3 4.1.1. Webアプリケーションを作成する...3

More information

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報はじめに本書の目的対象読者本書の構成概要外部ソフトウェア接続モジュールとは仕様外部ソフトウェア接続モジュールの構成サンプルプログラムサンプル内容動作に必要な環境構築プログラムソースログイン セキュリティ環境の構築外部ソフトウェア連携時の認可設定 2 改訂情報 変更年月日 変更内容 2012-12-21

More information

Microsoft PowerPoint - グリッド協議会GT4演習資料_2007_配布用

Microsoft PowerPoint - グリッド協議会GT4演習資料_2007_配布用 演習 1~6 Globus Toolkit Version 4 (Java WS Core) 演習 : WS-Resource の生成と機能拡張 目標 :GT4 Java Core WSRF 基本仕様のサポート確認 サーバー側の実装方法 サービス 各種設定ファイル ( の実装方法 ) 最低限 WSRF の標準的な機能は GT4 に含まれる標準で利用可能 GT4 標準の利用方法 wsrf-get-property

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

Microsoft PowerPoint - 11RubyIntro-No02.ppt [互換モード]

Microsoft PowerPoint - 11RubyIntro-No02.ppt [互換モード] Ruby 入門 東京電機大学櫻井彰人 Ruby とは? Ruby: 松本ゆきひろ氏による (1993) 純粋オブジェクト指向 スクリプト言語 Web プログラムで どんどんポピュラーに Ruby on Rails (http://www.rubyonrails.org/) なぜか きわめて Lisp like 松本行弘 (Matz) Introduction 実行環境 Windows/Unix/Linux/

More information

WDI-Slides-14.pptx

WDI-Slides-14.pptx WEB+DB システム ( 入門編 ) 第 14 回 My Twitter サイトの制作 今日のテーマ p 前回制作した My Twitter をさらに拡充させて 形にしてみます p 新しい構造の実装として 自己参照結合による多対多の構造を実装してみます コミュニケーション ( 再掲 ) フォロー情報の登録を考えてみます 後期に 一連の技術的な発展系も考えてみて 本格的な つぶやき コミュニケーション構造を作ってみたいと思います

More information