ローコード開発は新規開発から本稼働後の保守開発まで担う「アプリ開発基盤」へと進化した。アプリ開発のハードルが下がり、ユーザー企業は内製に踏み出しやすくなっている。人月商売に頼る旧来のSIビジネスは淘汰が進みそうだ。 ローコード開発プラットフォームは適用範囲を広げる方向で現在も進化を続けている。NTTデータはその進化を3段階で捉えている。 当初はシステム開発の局所的な部分を自動化する「プログラム生成型」のツールが多かった。RADやCASEなどと呼ばれていたころだ。 アプリケーションの画面デザインや業務ロジック、データ構造を設計する機能を一通り備える製品が多い。ただ自動生成後の画面や業務ロジック、データベースを連携させるには別途コーディングが必要なケースもあり、自動化できる領域が限られていた。 その後、アプリケーションを統一的に開発する「統合環境型」のツールが登場した。GUIベースの操作でモデ
最新の C++ のほとんどのシナリオでは、論理エラーとランタイム エラーの両方を報告および処理する方法として、例外を使用することが推奨されます。 これは特に、エラーを検出した関数からエラーを処理するコンテキストを持つ関数までの間に、複数の関数がスタックに含まれる可能性がある場合に当てはまります。 例外は、エラーを検出して情報を呼び出し履歴に渡すコードに関する、正しく定義された正式な方法を提供します。 例外的なコードに例外を使用する プログラム エラーは、多くの場合、次の 2 つのカテゴリに分類されます。 プログラミングの間違いによって発生するロジック エラー。 たとえば、"範囲外のインデックス" エラーです。 プログラマが制御できる範囲を超えるランタイム エラー。 たとえば、"ネットワーク サービスを使用できません" というエラーです。 C スタイル プログラミングと COM では、特定の
nullptr キーワードは、任意の生ポインター型に変換可能な型 std::nullptr_t の null ポインター定数を指定します。 ヘッダーを含めずにキーワード nullptr を使用できますが、コードで型 std::nullptr_t を使用する場合、ヘッダー <cstddef> を含めることにより定義を行う必要があります。 Note また nullptr キーワードは、マネージド コード アプリケーション用に C++/CLI でも定義されており、ISO 標準の C++ キーワードに対して互換性がありません。 マネージド コードをターゲットとする /clr コンパイラ オプションを使用してコードをコンパイルする可能性がある場合は、コンパイラでネイティブな C++ 解釈を使用することを保証する必要があるすべてのコード行で __nullptr を使用します。 詳細については、「nul
今回は、あまり教える程理解できていないので、メモ的な意味で... C言語ではメモリを確保したか?を確認するのにポインタがNULLかどうか確認しますが、C++では『^』で表されるハンドル型というC言語のポインタにも似た型が登場し、このハンドル型で示されるオブジェクトが確保されたのか?(gcnewされたのか?)を確認するのにはnullptrを用います。 (コード例) System::Drawing::Graphics^ g; if (g == nullptr) MessageBox::Show("gは未定義です"); //MessageBoxが表示される g = CreateGraphics(); if (g == nullptr) MessageBox::Show("gは未定義です"); //MessageBoxが表示されない しかし、System::Drawing::Colorクラスでは
vavr - turns java™ upside down Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. A new powerful collection library saves us from source.stream().really("?").collect(sink()) pipelines. List<String> names = persons .filter(p -> p.age > 12) .map(Person::getName); The functional For is an expression that yields a value.
/Gz コンパイラ オプションは、明示的に異なる呼び出し規則で宣言されていないすべての関数に対して __stdcall を指定します。 以前のバージョンとの互換性を確保するために、_stdcall は、コンパイラ オプション /Za が指定されていない限り、 の同意語です。 __stdcall 修飾子を使って宣言された関数は、__cdecl を使って宣言された関数と同じ方法で値を返します。 ARM および x64 プロセッサでは、__stdcall はコンパイラによって受け入れられるか無視されます。ARM および x64 アーキテクチャでは規約によって可能な限り引数はレジスタで渡され、その後の引数はスタックで渡されます。 静的でないクラス関数がアウトオブラインで宣言されている場合、アウトオブラインの宣言で呼び出し規約の修飾子を指定する必要はありません。 つまり、クラスの静的でないメンバー
unsafe コード 従来のプログラミング言語でポインターを必要としていた場面のほとんどは、 他の機能で代替することが出来るため、 C# や Java 言語にとってポインターは必須なものではありません。 そのため、Java 言語ではポインターを完全に廃止しています。 しかし、C# ではプログラムの効率化と従来のプログラミング言語との相互運用を目的として、 制限付きながらポインターの使用可能にしてあります。 まず、ポインター使用における制限ですが、 C# では unsafe キーワードを用いて宣言されたメソッドもしくはブロック内(このようなコードを unsafe コードと呼びます)でしかポインターを使用できません。 メソッドに unsafe 修飾子を付けることでそのメソッド内部は unsafe コードとなり、 そのメソッド内でポインターを使用できるようになります。 また、unsafe{} と
64ビットになると何が変わる?――64ビットプログラミングのデータモデル:64ビットコンピューティング最前線(1/2 ページ) システムが64ビットになるとプログラム的には何が変わるのか。3つの基本的な64ビットプログラミングデータモデルを取り上げながら、理解を深めていこう。 64ビットプログラミングで何が変わる? システムが64ビットになるとプログラム的には何が変わるのでしょうか。 まず、大きな変更点として、ポインタの幅(サイズ)が64ビットになります。このことで、より幅広いアドレスをカバーできるようになります。そもそも、ポインタのサイズが32ビットのままなら64ビットに拡張される意味がありませんし、これは当然といえば当然のことかもしれません。 通常、ポインタはポインタとしてしか使用されることはありませんし、intとポインタとで代入を行うといったトリッキーなことをしていないかぎり、そのま
You can get a digital (personalized) copy of this book for free. PPT slides now available This page refers to the 3rd edition of Distributed Systems For this third edition of “Distributed Systems,” the material has been thoroughly revised and extended, integrating principles and paradigms into nine chapters: Introduction Architectures Processes Communication Naming Coordination Replication Fault t
はじめに この連載ではUNIX系OSなどで使われるスレッド「pthread」についてサンプルを交えて説明していきます。pthreadはPOSIXが仕様化したスレッドモデルです。サンプルはCと一部C++、調査環境はFedora 8(2.6.23.1-49.fc8)、32bit、glibc-4.1-2、gcc-4.1.2-33およびFedora Core 6(2.6.18-1.2798.fc6)、32bit、glibc-2.5-3、gcc-4.1.1-30を使用しています。 これまでの記事 第1回:pthreadについて(概要・生成) 第2回:pthreadについて(同期) 第3回:pthreadについて(条件変数・モデル) 第4回:pthreadについて(スレッド固有データ) 第5回:pthreadについて(スタックサイズ) 第6回:pthreadについて(スケジューリング) 第7回:pth
pid_t gettid() { return static_cast<pid_t>(syscall(SYS_gettid)); } voud _pthread_kill(std::thread::native_handle_type ptid, int sig, pid_t pid, pid_t tid) { // pidとtidを使って、 // /proc/pid/task/tid // というパスをチェックしてから、pthread_killを実行する。 // pthread_killで存在しないptidを操作しようとすると、 // CentOS 6だと、もれなくセグる。 char path[1024]; sprintf(path, "/proc/%d/task/%d", pid, tid); struct stat st; int ret = stat(path, &st); //
大規模なアジャイル開発にフレームワークの採用が本格化しそうだ。富士通は2020年6月1日、米Scaled Agileとパートナーシップ契約を締結。Scaled Agileが開発する大規模向けアジャイル開発フレームワーク「Scaled Agile Framework(SAFe)」の導入支援サービスを日本を皮切りにグローバルに展開する。 大規模向けアジャイル開発フレームワークはSAFeのほかにも「Scrum of Scrums」や「Disciplined Agile Delivery(DAD)」などがある。米CollabNet VersionOneの調査によれば、SAFeが世界中で1番使われている「世界No.1」のフレームワークである。 経営スピード向上を目的としたフレームワーク SAFeは経営スピード向上を目的とするフレームワークである。特徴は組織を運営する企画部門とビジネスを推進する業務部
[x]スコープとは インスタンスを保存できる領域 [x]スコープに保存できるのはインスタンス「だけ」 [x]スコープにはString、Integerなど通常クラスの インスタンスを保存できるが、基本的には「JavaBeans」と呼ばれる クラスのインスタンスを保存する ■リクエストスコープに保存 request.setAttribute("属性名",インスタンス) ■リクエストスコープからインスタンスを取得 取得するインスタンスの型 名前 =   (取得するインスタンスの型) request.getAttribute("属性名") ■setAttributeメソッド リクエストに新しい属性名と値を セットすることが出来る ■getAttributeメソッド 追加した属性を取り出す 指定された名前の属性値を Object として返す getAttribute()API ■Servle
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く