峯文がトピックを作成しました

  • プログラミング言語 0 Votes 200 閲覧数


    プログラミング言語で記述されるプログラムは、区切り文字で区切られた一連のトークンから構成されます。 
    トークンとは、基本的な構文要素としてプログラム内で意味を持つテキストの最小単位であり、字句ともいいます。  トークンを組み合わせて、式や宣言や文を組み立てます。 文とは、プログラム内で実行可能なアルゴリズム動作を記述するものです。

    このトピックでは、汎用的な視点から、プログラミング言語を構成する要素を説明します。 
    プログラミング言語の構成要素には下記のものがあります。

    字句構造データ型、値及び変数式文ブロック構造化オブジェクト指向例外処理 字句構造

    字句構造(英:lexical structure)とは、プログラミング言語の字句解析が想定するトークンの構造のことです。  トークンには主に以下のような種類があります。

    リテラル(英:literal)識別子(英:identifer)キーワード(英:keyword)演算子(英:operator)区切(英:punctuator)コメント(英:comment) データ型、値及び変数

    データ型(英:data type)とはデータの扱いに関する形式のことです。データ型は、プログラミングなどにおいて変数(英:variable)そのものや、その中に代入されるオブジェクトや値(英:value)が対象となります。データ型は単純型と複合型2種類に分類することができます。

    単純型 
    単純型とはプログラミング言語の仕様に元から存在する型であり、組み込み型、原始型、プリミティブ型、基本型などと呼ばれることもあります。単純型は、数値型、文字列型、論理型、ポイント型などの種類があります。複合型 
    複合型とは、プログラマがソースコードの記述などにより新たに作る型であり、複合データ型、ユーザ型、ユーザ定義型、参照型、リファレンス型などとも呼ばれることがあります。複合型は構造体、クラス、インタフェース、共用体、列挙型などの種類があります。 なお、プログラミング言語により、一部型がなかったり、単純型か複合型かの分類が違ったりすることがあります。 式

    式(英:expression)とは、言語によって定められた優先順位や結びつきの規定に則って評価される値、変数、演算子、関数の組み合わせのものです。
    数学における式と同様、式は評価された値を持っています。 

    文(英:statement)とは、一つ以上の式や関数呼び出しで作られる、手続き構造の分割できない基本単位のものです。 
    if文のように分岐構造を表すものや、代入文のように変数の値を変更するものなどがあります。 

    ブロック

    ブロック(英:block)は複数の文から構成されます。ブロックには、単純な複数文が並べられた「順次構造」や、if-else-endifのような「選択構造」、for-nextのような「反復構造」があります。  

    プログラムの基本構造は、「順次構造」、「選択構造」、「反復構造」の3つからなると考えられます。 基本的にはプログラムは先頭行から順に実行されていきます(順次構造)が、実際にはその流れを条件によって分岐させたり(選択構造)、同じ箇所を繰り返し実行させたりすること(反復構造)を頻繁に行います。 

    構造化

    殆どのプログラミンググ言語では、プログラム中で意味や内容がまとまっている作業をひとつの手続きとして定義できる仕組みが用意されていて、手続きの呼び出しによりプログラムが成り立ちます。  

    プログラミング言語により、手続きそのものは、サブルーチンやプロシージャ、関数、メソッドなどさまざまの呼び方が存在します。 

    オブジェクト指向

    オブジェクト指向(英:object-oriented)とは、オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方です。  構造化がデータとそれを処理する手続きを分離する考えに対して、オブジェクト指向はデータとそれを処理する手続きを纏めて、オブジェクトとして表現します。  

    オブジェクト指向は、JavasSriptのようなプロトタイプベースのものと、c++、javaなどのクラスベースのものがあります。  クラスベースで実現されるプログラミング言語では、クラスやインタフェースの作成、クラスの継承などの仕組みが提供されています。 

    例外処理

    例外処理(英:exception)とは、プログラムがある処理を実行している途中で、なんらかの異常が発生した場合に、現在の処理を中断(中止)して、別の処理を行うことです。 

     例外処理がサポートされているプログラミング言語では、異常が発生可能な処理をtryブロックに入れて、例外が発生した時の処理をcatchブロックに入れるのが多く見られます。


  • プログラミング言語 0 Votes 146 閲覧数


    以下の表にて言語の主な歴史を示します。

    キーワード年度言語開発者特徴&言語歴史への影響機械語・アセンブラ言語-----高級言語1957年FORTRANIBM社高級言語としては最初のものである、現在も科学技術計算など大規模な計算を必要とする分野で使用されている1958年ALGOL58-構造化プログラミングの考え方を取り入れた最初の言語である、あまり普及しなかったが、後に登場するPascalやC言語など多くの言語に影響を与えた1960年CobolJ.Sammet初期の高級言語の1つであり、事務処理言語として広く普及した。現在でも企業の事務処理系システムで利用されている1960年LISPMITボーランド記法を使用した独特の文法を持つ言語であり、「純粋ではない」が最古の関数型言語でもある。現在でも人工知能やEmacsのマクロなどに使用されている1964年Basicダートマス大学その後、1970年代にマイクロソフトがMS BASICを発表し、8bitマシン時代 (1970年代後半-1980年代前半)の中心的な言語となった構造化言語1966年BCPLケンブリッジ大学現在のコンパイラ技術の基礎を確立し、後にB言語に影響を与え、C言語へと発展した1967年Simulaノルウェー計算センタオブジェクトの概念をもつ言語としては最古の言語である1969年Pascal-中期の代表的な構造化言語の1つ。その後、教育用言語として1980年代頃から広く普及した。1995年に登場するDelphiもPascalの血を引く言語である1972年Cデニス・リッチープログラム開発の中心的な言語である1979年Adaアメリカ国防総省ジェネリックプログラミング(総称、汎化)、例外処理など先進的な考え方が初めに取り入れられたオブジェクト指向言語1980年Smalltalk-オブジェクト指向を導入した黎明期の言語の1つであり、「オブジェクト指向」という言葉を最初に定義した言語でもある。後のオブジェクト指向型言語に多大な影響を与えた1983年C++-C言語にオブジェクト指向を導入した、C言語と同様に開発の中心的な言語になった1987年Perlラリー・ウォール主にCGIなどの用途で広く普及している1991年VBMicrosoft社Windows専用のGUIアプリケーション開発言語1995年Delphiボーランド社Pascalの血をひくWindows専用のGUIアプリケーション開発言語インタプリタ言語・仮想マシン1995年Javaサン・マイクロシステムズ社本格的なオブジェクト指向言語の1つ。構文はC言語とかなり類似しているが、内容はまったく新世代の言語である、JavaVMという仮想マシン環境で動作1995年RubyまつもとゆきひろPerlのように使えるスクリプト言語を、純粋なオブジェクト指向言語として設計1995年PHPラスマス・ラードフWebサーバ側スクリプト言語として現在までも広く使われている1997年JavaScript-標準仕様としてECMAScriptが標準化された2002年C#Microsoft社CLRという仮想マシン環境で動くオブジェクト指向言語。Javaの影響を強く受けており、C++とJavaの中間的な特徴をもつ2009年GoGoogle社並列コンピューティングに配慮したコンパイラ言語。依存性の注入を言語仕様にとりこみ、例外処理やクラスの継承、アサーション、オーバーロードといった機能を排除している2011DartGoogle社Webブラウザ組込みのスクリプト言語であるJavaScriptの代替となることを目的に作られた。 2014年ECMA-408と言う標準規格に登録2014SwiftApple社Apple社のiOSおよびOS Xのためのプログラミング言語。従来から用いられていたObjective-CやObjective-C++、C言語と共存することが意図されている

  • プログラミング言語 0 Votes 197 閲覧数


    プログラミング言語とは、コンピュータに対する一連の動作の指示を記述するための人工言語のことです。プログラミング言語で記述されたこの一連の指示はプログラムと呼ばれ、それを記述することはプログラミングと呼ばれます。

    コンピュータは、機械語と呼ばれる中央処理装置が直接解釈できる命令を実行することによって動作するものですが、人間にとって機械語を扱うことは非常に難しいため、機械語の代わりにプログラミング言語を用いることによって、より人間にとって扱いやすい表現でコンピュータに指示を与えることができるようになります。

    プログラミング言語は様々な視点から分類することができます。

    実行形態による分類

    プログラムがどのように実行されるかという観点(実行形態)から、プログラミング言語を以下のように分類することができます。

    インタプリタ言語コンパイル言語 インタプリタ言語

    インタプリタ言語はプログラムの実行時にプログラムのソースコードを1行ずつ逐一翻訳しながら進めていきます。例としては、以下の言語があげられます。

    BasicJavascriptPerlPhytonRuby コンパイル言語

    インタプリタ言語とは逆に、実行する前にすべてのソースコードを機械語に翻訳してしまい実行ファイルと呼ばれる形式に変換します。例としては、以下の言語があげられます。

    CobolFortranC++PascalJavaC#VB.net 判断基準について

    JavaやC#、VB.netなどの.net系言語はプログラムが機械語にコンパイルされないが、JAVA仮想マシンの上に動作するバイト・コードや、.net frameworkランタイムの上に実行するILなどの中間コードを予め変換しておく必要があり、実行環境にはソースコードが配布されないため、コンパイル言語に分類することとします。 
    一方、Javascriptなどのスクリプト言語は、パフォーマンス最適化を求めるため、殆どのインタプリタが内部的にも中間コードに変換しておいてから実行することになりますが、ソースコードが稼動環境に配布しないといけないことと、中間コードがjava バイトコードのように仕様を標準化されておらず、各インタプリタの内部実装に依存することから、コンパイル言語に分類されません。

    パラダイムによる分類

    プログラムをどのように構成するかという観点(パラダイム)から、プログラミング言語を以下のように分類することができます。

    手続き型言語オブジェクト指向言語手続き+オブジェクト指向の言語関数型言語 手続き型言語

    手続き型プログラミングは、プログラムをデータ構造とルーチンの集合に分割し、「手続き呼び出し」の概念に基づきプログラミングを行います。「手続き」は実行すべき一連の計算ステップを持つもの、プロシージャ、ルーチン、サブルーチン、メソッド、関数(数学の関数とは異なるが、関数型言語における関数とほぼ同義)など様々な呼称があります。手続きはプログラム実行中の任意の時点で呼び出すことができ、他の手続きからの呼び出しも、自分自身からの呼び出し(再帰呼び出し)も含まれます。  例としては、下以の言語があげられます。

    basicCpascal オブジェクト指向言語

    オブジェクト指向プログラミングは、プログラムをオブジェクト(クラス)に分割し、オブジェクト間の「メソッド呼び出し」の概念に基づきプログラミングを行います。例としては、以下の言語があげられます。

    JavaC#Javascript… 手続き+オブジェクト指向の言語

    手続きプログラミングとオブジェクト指向プログラミングと両方をサポートしている言語です。例としては、以下の言語があげられます。

    c++Delphi(Object Pascal)VB 関数型言語

    関数型言語とはすべての計算や処理などを関数の定義の組み合わせとして記述していくタイプのプログラミング言語です。主に科学計算や人工知能の領域に利用されており、業務アプリケーション開発に使われることはほとんどありません。  例としては、以下の言語があげられます。

    LISPF# 構文による分類

    プログラムの構文という観点から、プログラミング言語を以下のように分類することができます。

    COBOL構文式ALGOL構文式 COBOL構文式

    下記のように英語の文章のように記述できるのが特徴です。

    代入文move value to variable.算術式add value1 to value2 giving variable s
    ubtract value2 from value1 giving variable
    multiply value1 by value2 giving variable
    divide value1 by value2 giving variableサブルーチンの呼び出しcall subroutine
     using para1 param2
     returning result ALGOL構文式

    BNF記号を利用します。

    代入文variable=value.算術式variable = value1 + value2
    variable = value1 - value2
    variable = value1 * value2
    variable = value1/ value2サブルーチンの呼び出しresult = subroutine(para1,para2);

    ※COBOL等の言語の一部は新しいバージョンから+,-,*,/,=を含む構文もサポートされるようになりました。

    用途による分類

    用途という観点から、プログラミング言語を以下のように分類することもできますが、判断の基準は難しいところがあります。

    汎用化言語ドメイン特化型言語Add-on言語 汎用化言語

    より汎用的に使われることを目的として設計された言語のことです。例としては、以下のの言語があげられます。

    CC++Java ドメイン特化型言語

    特定の分野で使われることに目的を特化した言語のことです。例としては、以下のの言語があげられます。

    Fortran 
    科学技術計算用Cobol 
    事務処理用Php 
    WEBサイト作成 Add-on言語

    特定のソフトウェアやプラットフォームの機能をカスタマイズや拡張するためのAdd-onを開発するための言語のことです。例としては、以下の言語があげられます。

    PL-SQL 
    Oracle DBMSTransact-SQL 
    Sybase/SQLServer DBMSABAP 
    SAP ERP

  • SAP 0 Votes 1702 閲覧数


    SAP Business Suiteとは、SAP ERPをはじめとするSAP社の業務アプリケーションのスイート製品です。

    SAP Business Suiteは、NetWeaverというSAPのテクノロジプラットフォームに基づいています。

    構成

    SAP Business Suiteは、以下のアプリケーション製品から構成されます。

    ERP(Enterprise Resource Planning)CRM(Customer Relationship Management)SCM(Supply Chain Management)PLM(Product Lifecycle Management)SRM(Supplier Relationship Management) 世代

    SAP Business Suiteソリューションは、公式的にR/1、R/2、R/3、S/4の4世代に分けられるようになっています。
    ここの「R」はリアルタイム、「S」はシンプルを意味しているそうです。

    R/1
    1973年  メインフレームで動作する会計システムR/2
    1979年   R/1の進化版R/3
    1992年 様々なプラットフォームで動作するクライアント・サーバ型の分散アプリケーションシステムS/4
    2015年   同社のインメモリデータベースHANAのみで動作する

  • JavaVM 0 Votes 461 閲覧数


    Javaクラスファイルの構造は以下の構造体定義で示すことができます。

    ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_pool[constant_pool_count-1]; u2 access_flags; u2 this_class; u2 super_class; u2 interfaces_count; u2 interfaces[interfaces_count]; u2 fields_count; field_info fields[fields_count]; u2 methods_count; method_info methods[methods_count]; u2 attributes_count; attribute_info attributes[attributes_count]; }

    マジックナンバー

    ClassFile構造体の先頭はマジックナンバーです.その値は16進でCAFEBABE と決まっています.先頭がCAFE BABEでないファイルはベリファイをパスしません。

    バージョン

    次の項目はこのクラスファイルを作成したバイトコード・コンパイラのバージョンです.バージョン番号がJavaVMのサポートしていないものだった場合は,それを実行することは許されていません.

    コンスタントプール

    コンスタントプールは定数やクラス名などを保持するためのものです.
    コンスタントプールは可変長の要素を持つ,0~ConstantPoolCount-1までの一種の配列ですが,クラスファイルには0番目の要素は含まれていません.0 番のエントリはJavaVM内部用に予約されており,クラスファイルで使用することはできません.同時に0番は無効なインデックスであり,これを使用するクラスファイルはベリファイをパスしません.
    コンスタントプールは配列として表現されてはいますが,要素が可変長であるため,添字から各エントリへ単純にアクセスすることはできません.  

    アクセスフラグ

    このクラスの修飾子に対応するフラグです.access_flagsの各ビットが public,final,interface,abstractの各修飾子に対応しています.finalと abstract,finalとinterfaceのように,同時にセットすることが許されていないフラグもあり,もしそれらが同時にセットされているとベリファイをパスしません.
    通常の修飾子とは異なるsuperというフラグもありますが,これは古いコンパイラとの互換性を保つためのものです.新しいコンパイラでは常にセットされていなければなりません.
    現在のバージョンで使われていないビットもありますが,それらは将来に備えて予約されており,現在は常に0にしなければなりません.これはフィールド情報やメソッド情報にあるアクセスフラグでも同様です.

    thisクラス

    this_classはこのクラス自身を表しています.これはコンスタントプールへのインデックスになっており,コンスタントプール中の該当するエントリはこのクラスへの参照を表すCONSTANT_Class_infoになっています.

    スーパークラス 
    super_classは直接のスーパークラスを表しています.直接のスーパークラスを持たないクラス(即ちjava.lang.Object)やインターフェースの場合は,この数値は0になります.それ以外の場合はthis_classと同様です. 

    スーパーインターフェース 
    interfaces[]は直接のスーパーインターフェースを表します.スーパークラスとは異なり,直接のスーパーインターフェースは複数持つ可能性があるので配列になっています.直接のスーパーインターフェースを持たない場合は interface_countが0になり,配列そのものがなくなります.それ以外は this_classやsuper_classと同様です.
    図4の例では,this_classが2,super_classが1になっています.これより順に辿ると,このクラスの名前はGalaxyで,そのスーパークラスの名前は Sovereignであることが分かります. 

    フィールド情報

    fields[]はfield_info構造体の配列で,このクラスで定義しているフィールドに関する情報を保持しています.

    access_flagsの各ビットは,このフィールドの修飾子に対応しています. publicとprivate,finalとvolatileなどを同時にセットするとベリファイをパスしません.また,このクラスファイルがインターフェースを表していた場合, finalとstaticがセットされていないとベリファイをパスしません.
    name_indexで指定されるCONSTANT_Utf8_infoはフィールド名として有効な文字の並びを保持していなくてはなりません.そうでなければベリファイをパスしません.descriptor_indexについても同様です.
    コンスタントプール回りの例が図4にあります.もう見れば分かると思いますが,fields[0]がint型のNcc,fields[1]がint型のMiranda,fields[2]が iveLongAndProsper型のYouWillBeAssimilatedというフィールドを,それぞれ表しています.  

    メソッド情報

    methods[]はmethod_info構造体の配列になっており,このクラスで定義されているメソッドに関する情報を保持しています.method_info 構造体は形式だけならばfield_info構造体と同じですが,ディスクリプタやアクセスフラグの詳細などが異なっています.

    access_flagsの各ビットは,このメソッドの修飾子に対応しています. publicとprotected,abstractとfinalなど,同時に使用できないフラグもあります.それらが同時にセットされていた場合は,ベリファイをパスしません.  

    属性

    属性とは,今まで紹介された以外の様々な情報を保持するものです. ClassFile構造体の他,field_info構造体,method_info構造体,そして属性であるCode_attribute構造体の中で使われます.属性には仕様書で定義されている定義済み属性と,新たにユーザーが定義する属性とに分けられます.
    属性の基本フォーマットとなるattribute_info構造体を図8に示します.全ての属性はこのフォーマットに従わなければなりません.逆に言えばこのフォーマットに従っており,且つ定義済み属性で予約されていない有効な名前を持つ属性ならば,新たに定義することはユーザーの自由です.

    当然のことながら,ユーザーによって新たに定義された属性の中には JavaVMが認識できないものも出てきます.このため,認識できない属性を単純に読み飛ばすことはJavaVMに必須の機能になっています. 

     
    定義済み属性
    JavaVM仕様書で定義されている定義済み属性の一覧を下記の表に示します.このうち,JavaVMが必ず認識しなければならない属性はCode属性,ConstantValue 属性,Exceptions属性,InnerClasses属性,Synthetic 属性の5つです.それ以外の属性については必ずしも認識する必要はありません.(もちろん認識した方がより良いのですが.)
    表3:定義済み属性一覧

    属性内容使用される場所 ConstantValue属性staticの定数フィールドの値field_info Code属性 バイトコードなど,メソッドの実装に関する情報method_info Exceptions属性メソッドがスローするチェック例外method_info InnerClasses属性内部クラスに関する情報ClassFile Synthetic属性このメンバーがソースコードに現れないものであることを示すClassFile
    field_info
    method_info SourceFile属性 このクラスを定義しているソースファイル名ClassFile LineNumberTable属性code配列への添字(即ちバイトコード)と,その元となるソースファイル中の対応する行番号Code_attribute LocalVariableTable属性 各メソッドのローカル変数に関する情報 Code_attribute Deprecated属性 クラス,インターフェース,メソッド,フィールドが,既に新しいものと置き換えられたことを示すClassFile
    field_info
    method_info


  • オープンソース 0 Votes 243 閲覧数


    以下の表にて、カテゴリー別にdojoライブラリのモジュールをリストアップしてみました。

    カテゴリモジュール名 概要Dojo Kerneldojo/_base/kernelversionの表示や、deprecatedな関数を実行したときに警告を出すと言ったライブラリのごく基本的な機能を提供。Dojo Configurationdojo/_base/configDojoの設定に関連。Module Loadingdojo/_base/loader旧ローダー及びAMDローダー。dojo/requireLoader Pluginsdojo/domReadyAMDローダーのプラグインdojo/i18ndojo/hasdojo/nodedojo/textFeature Detectiondojo/hasクロスプラットフォームの機能検出と管理dojo/sniffdojo/uacssdojo/_base/sniffLanguagedojo/_base/lang基礎的な言語の拡張パッケージClassesdojo/_base/declare型システムDeferreds and Promisesdojo/promise非同期処理関連dojo/Deferreddojo/whendojo/_base/Deferreddojo/DeferredListEvents, Connectionsdojo/onイベントハンドリング関連。dojo/_base/connectとdojo/_base/eventは実質的にdeprecateddojo/_base/connectdojo/_base/eventdojo/Eventeddojo/behaviorAspect Oriented Programmingdojo/aspectAOP関連Requestsdojo/requestAjaxのコアとなるリクエストのハンドリング関連dojo/_base/xhrdojo/io/iframedojo/io/scriptPropertiesdojo/Statefulオブジェクトクラスのプロパティの管理。Topics/Publish/Subscribedojo/topicpublish/subscribeパターンData and Storesdojo/storeクライアントサイドのデータハンドリングdojo/dataRouterdojo/routerHashベースのコールバックの仕組み。dojo/hashを使っている。Parserdojo/parserdata-dojo-typeが指定されたノードをDijitのウィジェットに変換するDOM and HTMLdojo/domDOMとHTMLを操作するdojo/domdojo/dom-attrdojo/dom-classdojo/dom-constructdojo/dom-formdojo/dom-geometrydojo/dom-propdojo/dom-styledojo/dom-htmldojo/_base/htmlQuery, NodeList and Selectorsdojo/queryDOMクエリとその結果に対する操作を拡張。dojo/NodeListdojo/NodeList-datadojo/NodeList-domdojo/NodeList-fxdojo/NodeList-htmldojo/NodeList-traversedojo/selectordojo/_base/querydojo/_base/NodeListDOM Effectsdojo/_base/fxDOMのアニメーション関連dojo/fxBrowser Windowdojo/windowクロスブラウザな表示領域関連の参照。dojo/_base/windowDocument Lifecycledojo/readyDocumentのライフサイクル関連dojo/domReadydojo/_base/unloadBrowser Historydojo/backブラウザのヒストリの管理dojo/hashCookiesdojo/cookieCookieの管理Mouse, Touch and Keysdojo/mouseユーザインプットの正規化と管理dojo/touchdojo/keysDrag and Dropdojo/dndDrag and Drop関連Testingdojo/robotユーザ入力のエミュレーションdojo/robotxJS基本オブジェクト拡張dojo/_base/array配列関連の拡張dojo/string文字列処理の拡張dojo/jsonJSON関連dojo/_base/jsondojo/_base/Color色関係のクラスと関数dojo/colorsdojo/dateDateの拡張URL and Query Stringsdojo/_base/urlURLとURLクエリストリングの管理dojo/io-queryInternationalizationdojo/i18nアプリケーションの国際化関連モジュールdojo/nlsdojo/cldrdojo/numberdojo/currency

  • HTML 0 Votes 211 閲覧数


    iframe要素は、別の文書を埋め込むインライン・フレームを作る際に使用します。 

    HTML5では、次の属性が廃止されました。

    frameborder属性 marginheight属性 marginwidth属性 scrolling属性 longdesc属性

    また、次の属性が新しく追加されました。

    srcdoc属性 sandbox属性 seamless属性 srcdoc属性

    srcdoc属性はiframe要素で埋め込むHTML文書の内容を指定します。つまり、表示したいHTMLを属性値として直接入力します。
    srcdoc 属性値に入る 「“」 及び 「&」 は実体参照文字(それぞれ 「"」「&」)でエスケープする必要があります。

    sandbox属性

    sandbox属性を指定すれば、そのインラインフレーム内のコンテンツは次のような制限がかけられます。

    同じドメイン内の文書であったとしても別ドメインの文書として扱われます ほかのウィンドウやフレームを操作できなくなります、子孫フレームは操作可能 最上位のウィンドウを操作できなくなります フォームの送信を無効化します スクリプトの実行を無効化します

    一部の制限は、以下のキーワードの指定によって解除することが可能です。

    allow-same-origin
    親文書と同じドメインを持つものとする allow-top-navigation
    最上位のウィンドウの操作を許可する allow-scripts
    スクリプトの実行を許可する seamless属性

    seamless属性が指定されると、そのiframe要素で読み込まれたコンテンツは、親ドキュメントの一部としてレンダリングされるようになります。 


  • JavaScript 0 Votes 188 閲覧数


    概説

    クロージャとは、「関数の外側で定義された変数を持つ関数の実行時オブジェクト」です。

     JavaScriptでは、関数もオブジェクトであり、生成から廃棄されるまでのライフルサイクルを持ちます。関数が外側の関数で定義されたローカル変数を参照していれば、関数オブジェクト生成時の実行環境も関数オブジェクトの属性の一部(クロージャスコープ属性)として維持し続けられます。

    サンプル

    下記のコードを例として説明します 。

    var x = 1; function Counter() { var n = 0; return function () { n = n + x; return n; }; }

    関数Counter()は、内部でローカル変数nを定義して、それを参照するクロージャを返します。

    実行1   var a = Counter(); console.log("a()=" + a()); console.log("a()=" + a()); console.log("a()=" + a()); console.log("a()=" + a());

    上記コードの実行結果は次の通りになります。 

    a()=1 a()=2 a()=3 a()=4

    変数nの値が保持されていることは分かります。

    Counter()実行後の環境の状態

    ┌────────┐ グローバル環境 ┌───────┐ x => 1 ←─ Counterの環境 a => function n => 0 ←─ クロージャa └────────┘ └───────┘ 実行2   var a = Counter(); var b = Counter(); console.log("a()=" + a()); console.log("a()=" + a()); console.log("b()=" + b()); console.log("a()=" + a()); console.log("b()=" + b());

    実行結果は次の通りです 。

    a()=1 a()=2 b()=1 a()=3 b()=2

    関数Counter()が実行されるごとに異なる環境が生成されることはわかります。  

    Counter()2回実行後の環境の状態 

    ┌────────┐ ┌──────────┐ グローバル環境 ←─ 1回目のCounterの環境 x => 1 n => 0 ←─ クロージャa a => function └──────────┘ b => function ┌──────────┐ └────────┘ ←─ 2回目のCounterの環境 n => 0 ←─ クロージャb └──────────┘

  • JavaScript 0 Votes 145 閲覧数


    構文構造を利用

    例1:

    var o = { a: 1 };

    上記のoは Object.prototype をプロトタイプとして生成され、 o.hasOwnProperty('a') がtrueを戻します。

    例2:

    var a = ["yo", "whadup", "?"];

    上記のaは Array.prototype をプロトタイプとして生成され、三つの要素を持ちます。

    コンストラクタ関数を利用

    JavaScriptに於ける「コンストラクタ」は、関数を new 演算子を使って呼び出す事で実現可能です。 

    下記のコードを例とします。

    function Graph() { this.vertexes = []; this.edges = []; } Graph.prototype = { addVertex: function(v){ this.vertexes.push(v); } }; var g = new Graph();

    上記のコードで生成されるg は「vertexes」と「edges」の自身のプロパティを持つオブジェクトであり、 g.[[Prototype]] はインスタンス化する時点の Graph.prototype の値になります。

    Object.Create メソッドを利用

    ECMAScript 5 は Object.create という新しいメソッドを紹介しています。このメソッドを呼び出すと、新しいオブジェクトが生成されます。
    関数の最初の引数が、このオブジェクトのプロトタイプになります。 

    var o1 = { // o1 ---> Object.prototype ---> null a: 1 }; var o2 = Object.create(o1); // o2 ---> o1 ---> Object.prototype ---> null console.log(o2.a); // 1 (継承された) var o3 = Object.create(o2); // o3 ---> o2 ---> o1 ---> Object.prototype ---> null var o4 = Object.create(null); // o4 ---> null console.log(o4.hasOwnProperty); // undefined、なぜなら o4 は Object.prototype から継承していないからです。

  • JavaScript 0 Votes 142 閲覧数


    プロトタイプベースとクラスベース

    C++、Javaのようにクラス-インスタンスという概念を使用するオブジェクト指向言語のことを、クラスベースオブジェクト指向言語(Class Based Object Oriented Language)と言います。
    それとは異なり、JavaScriptでは、クラス-インスタンスという考え方をせず、オブジェクトは別なオブジェクトを元(プロトタイプ)にして独自の特徴を付加することで存在する、という考え方をします。
    このようなオブジェクト指向言語のことを、プロトタイプベースオブジェクト指向言語(Prototype Based Object Oriented Language)と言います。

    JavaScriptでは、オブジェクト自身が独自の特徴を付加するので、オブジェクトにプロパティを追加したり削除したりすることができます。

    コンストラクタという機構

    JavaScriptでオブジェクトを生成するには、コンストラクタとnewという演算子を使用します。 
    実はコンストラクタとは関数オブジェクトの事です、全ての関数はオブジェクトを生成するコンストラクタになる可能性がありますが、まずは一番シンプルな例を見てください。

    単純なコンストラクタ 

    function SimpleConstructor() {} var obj = new SimpleConstructor();

    普通にfunction文で定義した関数にnewをつけて呼び出しているだけです。こうすることで、新しいオブジェクトが生成され、戻り値として返されます。 
    return文を記述しなくても生成されるオブジェクトが返される事に注意してください。

    通常、コンストラクタとして呼ばれる関数の中では、生成しようとするオブジェクトの初期化を行います。 

    function PropSetConstructor() { this.prop1 = 10; this.prop2 = 20; } var obj1 = new PropSetConstructor(); alert(obj1.prop1); // 10 と表示される。 var obj2 = new PropSetConstructor(); alert(obj2.prop1); // 10 と表示される。

    コンストラクタとして関数オブジェクトを実行した場合、thisには今新たに生成されようとしているオブジェクトが入ります。
    従って、thisにプロパティを設定してやれば、newして作成されるオブジェクトの初期定義を行う事ができます。
    こうする事で、同じコンストラクタを用いて複数のオブジェクトを生成すると、同じプロパティを持つオブジェクトを簡単に作成する事ができます。

    もちろんdelete演算子を使用すればプロパティを削除できるので、同じコンストラクタから作成されても常に必ず同じプロパティを持つとは限らない事に注意してください。 

    暗黙の参照

    プロトタイプベースのオブジェクト指向言語では、オブジェクトトは別のオブジェクトをプロトタイプとしてできていると考えます。JavaScriptではこれを暗黙の参照という形で実現している。オブジェクトAをプロトタイプとしているオブジェクトBは、オブジェクトAに対し暗黙の参照を持っているという状態になります。 
    Javaで言うなれば、非staticなinner classのインスタンスがenclosing classのインスタンスに対し、暗黙の参照を持っている状態を考えてもらえば良いです。つまりしたのような状態になります。 
    暗黙の参照: 

    var objectA = ... // objectB は objectA に対し暗黙の参照を持っている // (objectAはobjectBのプロトタイプである)。 var objectB = ... objectA.hoge = 10; // objectA の hoge プロパティをここで設定する。 alert(objectB.hoge); // 10 と評価される。

    すなわち、あるオブジェクトがプロパティを評価された時、自分自身がそのプロパティを持っていなければ、暗黙の参照をたどって、その先のオブジェクトのプロパティを評価します。 
    これがJavaScriptにおけるプロトタイプの仕組みです。

    prototypeオブジェクト

    全ての関数オブジェクトはprototypeというプロパティを保持している。関数オブジェクトを定義した直後では、このprototypeには何もプロパティを持たないシンプルなオブジェクトを参照しているが、別のオブジェクトを代入したり、新たなプロプロパティを設定したりする事が可能です。 
    その関数オブジェクトをコンストラクタとして生成されたオブジェクトは、コンストラクタのprototypeプロパティに代入されているオブジェクトに対し、暗黙の参照を持つのです。つまりprototypeが指すオブジェクトトがプロトタイプとなるというわけです。  

    具体的にコードは以下: 
    prototypeオブジェクト 

    function PrototypeTestConstructor() {} // prototype オブジェクトに prop1 というプロパティを設定。 PrototypeTestConstructor.prototype.prop1 = 30; var obj = new PrototypeTestConstructor(); alert(obj.prop1); // 30 と表示される。

    つまりPrototypeTestConstructorによって生成されたオブジェクトは、PrototypeTestConstructor.prototypeが指すオブジェクトを暗黙的に参照するようになります。 
    あるコンストラクタをnewしてできるオブジェクトが全てそのprototypeへの暗黙の参照を持つので、そのプロパティはクラス変数の様にnewされたオブジェクトで共有されることとなる。次の例を見てください。  

    代入はprototypeをたどらない。 

    function Constructor() {} Constructor.prototype.prop1 = 30; var objA = new Constructor(); var objB = new Constructor(); // [α] alert(objA.prop1) // 30 と表示される。 alert(objB.prop1) // 30 と表示される。 objA.prop1 = 100; // [β] alert(objA.prop1) // 100 と表示される。 alert(objB.prop1) // 30と表示される

    というのも、読み取り評価の時は、暗黙の参照をたどるのですが、代入やdelete演算子は、たどらないのである。従って、objA.prop1 = 100;を行った時点で、objAそのものにprop1というプロパティが新たに作られ、そこに100が代入されるのです。よってConstructor.prototype.prop1の値は変わらないままとなります。

    この場合、objA.prop1を呼び出すと、objA自身にはprop1があるため、その値である100と評価され、objB.prop1を呼び出すと、暗黙の参照をたどり30と評価されます。

    この仕組みがプロトタイプベース言語であるJavaScriptのオブジェクトの根幹となります。

    プロトタイプチェーン

    コンストラクタのprototypeには、オブジェクトも代入できるので、prototypeに代入したオブジェクトが別のオブジェクトをプロトタイプにしている事もあります。そもそも全てのオブジェクトはObject.prototypeを暗黙的に参照しています。

    こうしたプロトタイプの連鎖のことをプロトタイプチェーンと呼びます。 
    プロトタイプチェーン: 

    var objA = new Object(); objA.prop1 = 10; function Func1() {} Func1.prototype = objA; var objB = new Func1(); function Func2() {} Func2.prototype = objB; var objC = new Func2(); alert(objC.prop1); // 10 と評価される。

     以上までがJavaScriptのプロトタイプのメカニズムです。JavaやC++といったクラスベースの言語には根本的に無い考え方なので若干戸惑うかも知れないが、全てのオブジェクトがが実体を持った別のオブジェクトトに連鎖しているということが分かれば整理できます。

    ではあるオブジェクトのプロパティを評価した際、仮に何らかの値が返ってきたとしても、そのオブジェクト自身がプロパティを持っているのか、そのオブジェクトのプロトタイプが持っているのか、判断することができません。     そこで、JavaScriptでは全てのオブジェクトに(すなわちObject.prototypeに)、hasOwnPropertyというメソッドが定義されている。これは引数で与えた文字列に一致するプロパティを、そのオブジェクト自身が持っているかどうかを判断してくれるメソッドです。  具体例を見てください。 

    function Constructor() {} Constructor.prototype.prop1 = 30; var objA = new Constructor(); // objA 自体は持っていないので false。 alert(objA.hasOwnProperty("prop1")); objA.prop1 = 100; // objA 自体が持っているので true。 alert(objA.hasOwnProperty("prop1"))

    このhasOwnPropertyメソッドを使うことで、そのオブジェクトト自身にプロパティがあるかどうかを判断することができます。

    継承

    継承に関して言えば、 JavaScript には 1 つだけオブジェクトに関する概念があります。あるオブジェクトはプロトタイプと呼ばれる、他のオブジェクト(または null )への内部的な繋がりを持ちます。このオブジェクトは、あるオブジェクトがそのプロトタイプとして null を持つまで、なおプロトタイプを持ちます。このような、オブジェクトが他のオブジェクトのプロトタイプとなることの連鎖を、プロトタイプチェーンと呼びます。

    プロパティの継承

    JavaScript のオブジェクトはプロパティ(自身のプロパティを指す)の動的な「かばん」で、プロトタイプオブジェクト(または null )への繋がりを持っています。  あるオブジェクトにプロパティをセットすると、自身のプロパティが作られます。この取得と設定の動作の規則の唯一の例外は、 getter または setter とのプロパティの継承が起こるときです。

    「メソッド」の継承

    JavaScript それ自体に「メソッド」はありません。 JavaScript には関数があり、これらの関数はプロパティの値として使用することができます。 関数の継承(メソッドのオーバーライドの一種)は、上で見せたような property shadowing を含めたどのような値とも、同じように働きます。

    関数がオブジェクトのプロプロパティ(自身の、または継承された)であることのたった1つの違いは、関数が実行されるときの this の値です。


  • JavaScript 0 Votes 152 閲覧数


    JavaScriptは 最初は Sun Microsystems社とNetscape Communications社が開発した、 Webブラウザなどでの利用に適したスクリプト言語です。ブラウザ以外のソフトウェアにも簡易な制御プログラムの記述用言語として移植されており、 Microsoft社のWindowsやMacromedia社の「Flash」などがあります。

    各社の実装に微妙な違いがあり、ブラウザによって使えない機能があったり同じプログラムでも挙動が異なったりする問題があったため、ヨーロッパの標準化団体ECMAがソフトウェアメーカーに呼びかけて、通称「ECMAScript」と呼ばれる標準を発行しました。2014年5月現在ECMAScriptの最新バージョンは2009年12月に策定されたECMAScript 5th Editionで6th editionの策定も進みつつあっています。

    JavaScriptとECMAScript

    以下の表でJavaScriptとECMAScriptのバージョン対応を示します。

    JavaScriptバージョン公開日ECMAScriptとの対応1.01996/03-1.11996/08-1.21997/07-1.31998/10edition 1 edition 21.4廃棄1.52000/11edition 31.62005/111.72006/101.82008/061.8.52010/07edition 51.8.6--2.0-edition 6 主要ソフトウェアのJavaScript対応

    以下の表で主要ソフトウェアのバージョン毎のJavaScript対応を示します。

    ソフトウェアバージョン呼称対応するJavaScriptバージョンChrome33JavaScript1.7Firefox1.0JavaScript1.51.51.62.01.73.01.841.8.5171.8.6IE6JScript5.61.57JScript5.78JScript5.89JScript?1.8.5Adobe Acrobat11JavaScript1.5?

  • JavaScript 0 Votes 164 閲覧数


    Javascriptは、ほかの言語と比べると、以下のような特徴を持っております。

    完全なオブジェクトベース

    JavaScriptでは、数値や文字列、配列、関数などのデータはすべてオブジェクトです。例えばStringオブジェクトは文字列の長さを返すlengthというプロパティを持っていますので、“Hi,world!”.lengthを参照すると、 9がリターン値になります。 
    JavaScriptのオブジェクトは、単純に言うと「キーと値のペアの集合」です。ですので、これは一般的なプログラミング言語でよくあった連想配列の性質を持っていると言えます。

    プロトタイプを使ったオブジェクト指向

    Java や C++ といったクラスベースのオブジェクト指向言語はクラスとインスタンスという、2つの異なる実体があるという概念に基づいています。 
    クラスはあるオブジェクトの集合を特徴付けるすべてのプロパティ(Java ではメソッドとフィールドを、C++ ではメンバをプロパティと見なす)を定義します。 
    クラスとはそれが表すオブジェクトの集合という抽象的なものです、例えば、Employeeクラスは従業員すべてを含む集合を現します。 
    一方、インスタンスはクラスを実例にしたものです、例えば、Victoriaさんは、Employeeクラスのインスタンスとなることができます。

    JavaScriptのオブジェクト指向は、プロトタイプを利用しています。クラス/インスタンスの区別がなく、単にオブジェクトがあるだけです。但し、原型的なオブジェクトという概念がありまして、このオブジェクトは新しいオブジェクトの初期プロパティを取得する元になるテンプレートとして使用されます。 
    どのオブジェクトも、作成時にも実行時にもそれ独自のプロパティを指定できます。さらに、どのオブジェクトも別のオブジェクトに対するプロトタイプとして関連付けることができます。

    関数型プログラミングの一部サポート

    JavaScriptでは関数型言語の一部の機能が備わっています。関数型言語それ自体は難しいかも知れませんが、JavaScriptで関数型を考えるにあたっては、下記三点を抑えられればよいです。

    すべての関数が値を返す関数に副作用がない(参照透過)関数を値として扱える すべての関数が値を返す

    すべての関数は値を返します、明示的な実装がなければ、返却値はundefinedになります。

    関数に副作用がない

    簡単に考えると、下記2点となります。

    関数は外側の変数を変更しない参照渡しの引数の値を変更しない 関数が値として扱える

    関数が値として扱えるので引数に関数を渡して処理を委譲、もしくは、関数を返り値として処理を委譲する事もできます。 
    これらの関数を高階関数と言います。 
    さらに、関数は、すべてクロージャであり、定義された時の環境への参照をもっているため、クロージャの性質を利用して、JavaSript固有のざまざまなカプセル仕組みを実現することができます。

    JavaScriptはよく、「少ないソースコードで高機能のロジックを簡潔に実現できる」プログラミング言語として高く評価されていますが、これは、ほとんどこの関数のパワーからできているものと考えれます。


  • iOS 0 Votes 231 閲覧数


    iOS(アイオーエス)は、アップルが開発・提供するOSシーリズです。iPhone、iPod touch、iPad、iPad mini、Apple TVに搭載されています。 
    元はiPhone OS(アイフォーン オーエス)という名前だったが、2010年6月21日にリリースされたバージョン4.0からは現在のiOSという名称に変更されました。

    タイムライン年月出来事2007年6月iPhone OS公開2008年7月iPhone OS 2公開、AppStore搭載 ソフトバンクからiPhone OS 2が搭載されたiPhone3Gが発売2009年6月iPhone OS 3公開  ソフトバンクからiPhone OS 3が搭載されたiPhone3GSが発売、日本で爆発的にiPhoneが流行2010年6月iOS4公開、マルチタスクサポート2011年10月iOS5公開、Siriサポート、iCloud連携2012年9月iOS6公開、Apple製の地図アプリ内蔵2013年9月iOS7公開、スキュモーフィズムからフラットデザインへ変更2014年9月iOS8公開、ファミリー共有機能2015年iOS9公開、3D Touch登場2016年iOS10公開、日本でもApple Payが利用可能に2017年iOS11公開、カメラ機能の強化とアニ文字2018年iOS12公開

  • Windows 0 Votes 221 閲覧数


    Windowsとは、Microsoft社のOSのシリーズ名です。  

    主な歴史

    バージョン1.0は1986年に発売され、1992年に発売されたWindows 3.1がPC/AT互換機用の標準OSとして爆発的に普及しました。 
    クライアント版のOSとして、その後継のWindows95、Windows98、WindowsMeともMS-DOSを土台にしております。

    一方、1993年から発売が開始されたWindows NTシリーズはネットワークサーバ用途を前提に0から開発された、APIレベルでは互換性を持っていながら基本構造がWindows3.x/9xと全く異なるOS系列です。
    暫くクライアント版の9x系列とサーバ版のNT系列と共存の時代でしたが、Windows2000からクライアント版のWindowsもNTベースのシステムを採用するようになりました。
    この結果、Windows 95/98/Meで採用された9xカーネルベースの製品は現在は存在しません。

    2019年現在の最新版は、クライアント版はWindows 10、サーバ版はWindows Server 2019、モバイル版はWindows  10 Mobileです。

    タイムライン

    下記の表にてWindowsのタイムラインを示します。

    年代出来事1982~1985年Windows 1.0 の登場1987~1990年Windows 2.0 ~ 2.11 - より多いウィンドウ、より速いスピード1990~1994年Windows 3.0 ~ Windows NT - いよいよグラフィックスへ1995~1998年Windows 95 - PC とインターネットの時代の到来1998~2000年Windows が仕事と遊びのために、Windows 98、Windows 2000、そして Windows Me へと進化2001~2005年Windows XP - 安定性、使用便利性、高速2006~2008年Windows Vista - セキュリティでスマートに2009~2011年Windows 7 で Windows タッチを導入2012年Windows 8 がアプリとタイルを特色に2013年Windows 8.1 が Windows 8 のビジョンを拡大
    Windows Server 2012 R2
    2015年Windows 10
    Windows 10 mobile
    Windows 10 IoT2016年Windows Server 20162018年Windows Server 2019

  • 金融 0 Votes 317 閲覧数


    銀行の主な業務は以下のように分類することができます。

    固有業務 
    銀行法で定められた銀行の本業で、銀行の3大業務と呼ばれている「預金業務」「融資業務」「為替業務」から構成されます。預金業務 
    たくさんの預金者から預金という形でお金を集める業務です。融資業務 
    資金を必要としている会社などに貸し付ける業務です。為替業務 
    給料や年金の受け取りや、電気代・水道代といった公共料金の支払いなど、会社や個人などの依頼に基づいて、お金を送金したり受け取ったりする業務です、決済業務ともいいます。付随業務 
    固有業務以外で銀行法で定められている業務です。以下のような業務があります。債務保証社債の募集委託手形引受周辺業務 
    固有業務以外で銀行法で定められいない業務です。以下のような業務があります。クレジットカード信用保証貸金庫

  • 金融 0 Votes 251 閲覧数


    銀行は以下のように分類されることが多いです。

    都市銀行 
    全国規模で銀行サービスを提供する銀行です。多くの場合国際的な取引も行います。全国的なサービス網を持つことは強みです。地方銀行 
    地方都市に密着する銀行です。地域密着型のサービスを提供することは強みです。信託銀行 
    通常の銀行業務に加えて「信託業務」を行うことが許されている銀行です。相続や不動産仲介などに強みを持っています。外国銀行 
    日本国外に本店がある銀行です。新たな形態の銀行 
    ネットバンク等  代表的なものが「ネットバンク」あとはATM決済を基本とした「セブン銀行」、商業施設との連携を基本とした「イオン銀行」などがあります。

  • ERP 0 Votes 1181 閲覧数


    歴史

    SAPのERPソリューションは歴史的にはR/1→R/2→R/3→ERP→S/4 HANAの5世代に分けることができます。 
    R/1→R/2→R/3の「R」はリアルタイムという意味が含まれていて、S/4のSはシンプルの意味です。

    世代リリース日特徴その他:SAP社/IT世界の出来事R/11973年メインフレームで動作する会計システムとしてアセンブラ言語で開発されていましたミドルウェアとなるBASISの概念がなかったため、プラットフォームに合わせてアプリケーションを構築する必要欧州の多国籍企業向けに複数の通貨、言語に対応していましたパラメータ変更によって各社の個別要件の差異を吸収するパッケージ型ソフトウェアという概念を実現1972年にSAP社が数名のIBM出身者によって成立されましたR/21979年ABAP、Dynpro言語で開発されています稼働環境はIBMおよび独シーメンス社のメインフレームでした1980年代はメインフレーム時代の全盛期ですR/31991年(初版)クライアント/サーバシステム、オープンプラットフォームに対応していますUNIXシステムの上に動作できます80年代後半からはオープンシステムの波が寄せ始め、90年代には完全にUNIXやWindowsの時代となります。SAPジャパンの設立が1992年1996年3.1版がリリースされましたWindowsの上に動作できます。インターネット経由での利用が可能になっています1997年4.0版がリリースされましたインターネット上でのB2Bが可能になっております2002年R/3 Enterpriseがリリースされました基盤になるBasis(ベーシス)が切り離しされ、Webアプリケーションサーバに変わりました。2003年mysAP ERP 2003がリリースされましたSAP R/3 EnterpriseとNetWeaverとセットにした製品ですERP2004年mySAP ERP 2004がR/3 Enterpriseの後継者としてリリースされました「SAP ECC (ERP Central Component; ERPの中央プログラム)5.0」と統合基盤「NetWeaver2004」が融合されていて、従来のR/3 Enterpriseの機能はSAP ECC 5.0に引き継がれています。2008年1月にBI(ビジネス・インテリジェンス)ソフトウェア専業最大手のBO社を68億ドルで買収しました2010年5月にデータベースベンダのSybase社を58億ドルで買収しました2006年mySAP ERP 2005⇒SAP ERP 2005⇒SAP ERP 6.0がリリースされましたmySAP ERP 2004の後継者としてリリースされた製品。SOA や内部統制の対応が特色になっています。旧SAP R/3の部分は、SAP ECC 6.0と呼ばれています。S/4 HANA2015年同社のインメモリーデータベースSAP HANAをプラットフォームに採用-


  • テクニカル 0 Votes 2272 閲覧数


    用途

    日時を指定フォーマットで文字列に変換する。

    構文

    @FormatDateTime(strDateTime, strPattern, strTimeZone, strLocale)

    パラメータ strPattern

    javaのSimpleDateFormatクラスの日付パターンに従っています。

    文字説明出力例(記述例)G紀元AD(G)y年1996(yyyy); 96(yy)M月July(MMMM); Jul(MM); 07(MM)w年における週27(ww)W月における週2(W)D年における日189(DDD)d月における日10(dd)F月における曜日2(F)E曜日の名前Tuesday(EEEEEEE); Tue(EEE);u 曜日の番号(1:月曜、・・・7:日曜)1(u)a午前/午後PM(a)H一日における時(0 - 23)00(HH)k一日における時(1 - 24)24(kk)K午前/午後の時(0 - 11)00(KK)h午前/午後の時(1 - 12)12(hh)m分30(mm)s秒55(ss)Sミリ秒978(SSS)z一般的なタイムゾーンPacific Standard Time; PST; GMT-08:00

  • データモデル 0 Votes 788 閲覧数


    クリップボードは、データオブジェクト(Pegaではページと呼ばれる)を保持するためのメモリ領域です。

    システムページ

    システムページはアプリケーションサーバーの起動時に作成され、アプリケーションサーバーがシャットダウンされるまで存続します。このページには、実行時のシステム全体の状態と設定情報が含まれています。

    リクエスターページ

    リクエスターページは、ユーザー(ゲストまたは認証済み)に関連付けられたデータ、リクエスタページは、リクエスタの存続期間中存在します。

    スレッドページ

    スレッドページのセットは、pxThreadページ、匿名(名前なし)ページ、および名前付きページで構成されています。

    pxThreadページには、スレッドレベルの情報が含まれており、実行時にProcess Commanderに対してユーザーおよび接続固有の状態と構成情報が含まれています。
    匿名ページ用のメモリは、Javaの規則に従って自動的に管理されます(JVMがこのメモリへの参照がなくなったことを検出すると、ガベージコレクションの対象としてマークされます)。
    名前付きページのメモリは、Process Commanderまたはアプリケーションによって割り当てられ、解放されます。

    ユーザーページ

    ユーザーページは、Page-Newメソッドなど、いくつかの方法のいずれかを使用してアクティビティが作成する最上位のクリップボードページです。ログアウトすると、(Obj-Saveメソッドで)PegaRULESデータベースに保存されていないユーザーページはメモリから削除されます。


  • Pega 0 Votes 1255 閲覧数


    Pegaでのルールタイプをカテゴリ毎に纏めておきました(よく使用されるもののみ)。

    画面系 Control(コントロール)Harness(ハーネス)Navigation(ナビゲーション)Paragraph()Portal(ポータル)Section(セクション)データ系Date Page(データページ)Date Transform(データトランスフォーム)Edit InputEdit ValidateFieldValuePropertyProperty Qualifierプロセス系Case Type(ケースタイプ)Correspondence(応答)Flow(フロー)Flow Action(フローアクション)Service Level Agreement()Stage(ステージ)Validate(検証)Work Party(ワークパティー)外部連携Integration-ConnectIntegration-Services

    外部リンク

    Official Online Reference

    Rules by name(v7.3)Rules by name(v7.4)Rules by name(v8.1)