タグ

ブックマーク / ufcpp.net (18)

  • await って言う単語

    C# 5.0で非同期メソッドが導入されてから、 正式リリースを基準にしても5年以上、 最初の発表からだと7年以上経っています。 で、5年経っても、「なんて読むの」「asyncのaとawaitのaは違う」などなどが「定番ネタ」として定期的に出てくるわけですが。 特に、ECMAScript 2017がasync/awaitを導入したり、 Unity 2017がやっとC#のバージョンを6.0に上げれる感じになってきたり、 5年の断絶を経て去年からasync/awaitに触れる人が増えているようです。 5年も離れたら、世代断絶も起こりますよね… そりゃ、「定番ネタ」が改めて増えもしますよね… ということで、5年くらい前に同じようなことをどこかで書いてるはずなんですけど、改めて。 英単語 えいしんく まず読み方。 async: エイシンク await : アウェイト ってやつ。async の方が「ア

    await って言う単語
  • ✓DO、X DO NOT の誤訳事案

    だいぶ炎上してる例のあれ doの意味が全体的に逆になっています。 #118 対応ミスってるとはいえさすがにかわいそうなレベルでいいがかり付けられてる感じもするのでちょっと補足を。 元々の問題 マイクロソフトの機械翻訳がよくやらかすのはいつものことなんですが。 今回は何をやらかしたかというと、よくある ✓DO: 〇〇してください X DO NOT: 〇〇はしないでください みたいなやつを、DOもDO NOTもどっちも「しないで」と訳してしまっているという問題。 「しないで」も不自然だし、ましてDOの方は真逆の意味になっているという誤訳。 どうしてこうなる… みたいな気持ちはもちろんあるものの、こういう「普通の文章」になっていない部分の単語ってのは、機械翻訳では一番ミスを起こしがちな部分です。 たぶん、原文の時点で何らかのアノテーションでも付けておくとかしないと、今後も同様の誤訳は起こりまくる

    ✓DO、X DO NOT の誤訳事案
    cu39
    cu39 2018/07/24
  • await って言う単語

    C# 5.0で非同期メソッドが導入されてから、 正式リリースを基準にしても5年以上、 最初の発表からだと7年以上経っています。 で、5年経っても、「なんて読むの」「asyncのaとawaitのaは違う」などなどが「定番ネタ」として定期的に出てくるわけですが。 特に、ECMAScript 2017がasync/awaitを導入したり、 Unity 2017がやっとC#のバージョンを6.0に上げれる感じになってきたり、 5年の断絶を経て去年からasync/awaitに触れる人が増えているようです。 5年も離れたら、世代断絶も起こりますよね… そりゃ、「定番ネタ」が改めて増えもしますよね… ということで、5年くらい前に同じようなことをどこかで書いてるはずなんですけど、改めて。 英単語 えいしんく まず読み方。 async: エイシンク await : アウェイト ってやつ。async の方が「ア

    await って言う単語
    cu39
    cu39 2018/01/09
  • プログラミング言語における文字コードの話

    世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。 もちろん足りなくて、ビット数を拡張。基が2バイトのままでこの拡張した分を取り扱えるようにしたのが今のUTF-16で、拡張分は2文字分(4バイト)を使って表現。 この、2文字分使って1文字を表すやつのことをサロゲートペア(surrogate pair: 代理対)と呼びます。 あと、ASCII文字も2バイトになるのを欧米人が嫌って、ASCII文字はASCIIコードのまま、逆に漢字・ひらがな・カタカナ

    プログラミング言語における文字コードの話
  • C#の今と未来

    先週金曜日の、ブログに残しとくの忘れてた。 「開発エキスパートに学ぶ! C# と Visual Studio の今と未来」ってタイトルのセミナーで登壇してきました。 古賀さんの書籍「チーム開発の教科書 C#によるモダンな開発を実践しよう! Visual Studio 」の出版記念だったりします。 ということで、多少チーム開発のことを意識しつつで「C#の今と未来」な話をしてきました。 どういう背景があって今のC#があるか、C#の言語仕様の裏にある設計思想みたいな感じの話を中心に。あと、少しだけ、オープンソースになって少し見えてきている今後の話を。 まあ、前半とかは、C#に限らず、新しめのプログラミング言語には共通して言えるような話かなぁとも思います。良いとされるパターンを楽に書けないといけない。さもないと、特にチーム規模大きくなればなるほど、締め切りに追われて負債の蓄積。 新しい技術、特にプ

    C#の今と未来
    cu39
    cu39 2015/10/19
  • [雑記] スタックとヒープ(C# によるプログラミング入門)

    ポイント メモリにはスタックとヒープの2種類の使い方がある 概要 (書きかけ) 「スタックとは」「ヒープとは」の説明を入れる予定。 とりあえず、デモ用のアプリだけ先に公開。 「値型と参照型」の理解の手助け用。 模擬的に視覚化 スタックとヒープの挙動を模擬的にデモするような Silverlight アプリを作ってみました。 以下、使い方の説明。 疑似コード(左半分) 疑似コードで記述されたプログラム。 コードの先頭から選択した行までの実行結果が右側に表示されます。 疑似コードの書き方は、 変数の宣言とインスタンスの生成、参照関係だけを記述する独自言語。 疑似コード 説明 対応する C# の例

    [雑記] スタックとヒープ(C# によるプログラミング入門)
    cu39
    cu39 2009/09/19
    スタックとヒープの模擬的な挙動を視覚化するSilverlightアプリが面白い。
  • 拡張メソッド(C# によるプログラミング入門)

    概要 拡張メソッドは、静的メソッドをインスタンスメソッドと同じ形式で呼び出せるようにできるものです。 すなわち、 今までなら、 int x = int.Parse("1"); と書いていたものを、 static class Extensions { public static int Parse(this string str) { return int.Parse(str); } } というような静的メソッドを用意することで、 以下のような構文で呼び出せるようになります。 int x = "1".Parse(); ポイント 拡張メソッド: 静的メソッドをインスタンスメソッドと同じ書式で呼び出せるようにすることで、 あたかもクラスに新しいメソッドを追加したかのように見せかける仕組みです。 単に、静的メソッドを後置き記法で呼び出せるようになっただけとも考えることができます。 定義側: 第1引

    拡張メソッド(C# によるプログラミング入門)
  • C++ STL | ++C++; // 未確認飛行 C

    C++ STL に関する説明

    C++ STL | ++C++; // 未確認飛行 C
  • ++C++ ; // 未確認飛行 C // .NET Framework 3.0

    クラスライブラリ 正規表現(文字列パターン マッチング) 文字列の書式設定 コレクション コレクションの内部実装 .NET Framework 概要 Windows Presentation Foundation 概要(WPF) XAML 概要(WPF) XAML の基構造(WPF) XAML の高度な機能(WPF) WPF のコンテナ(WPF) WPF の GUI 要素(WPF) XAML とプログラムコード(WPF) データバインディング(WPF) テンプレート(WPF) アニメーション(WPF) Windows Communication Foundation 概要(WCF)

    ++C++ ; // 未確認飛行 C // .NET Framework 3.0
    cu39
    cu39 2009/07/11
  • データバインディング(WPF)(.NET Framework 3.0)

    概要 「WPF」 には、データバインディング(data bining)機能があります。 (WPF に限らず、最近の GUI 開発フレームワークにはたいていこの機能がありますが。) データバインディングは、単にバインディングとか、和訳してデータ結合とか言ったりする場合もあります。 データバインディングとは データバインディングというのは、 例えば、あるコントロールのプロパティとプロパティを結びつけたり、 データベースなどに格納されたデータとリストコントロールを結びつけたりする機構です。 「結びつける」というのは、具体的に言うと、 あるコントロール、例えばテキストボックスの中身が変更されたときに、 その中身と同期して、他のコントロールの中身を変更したりということです。 例えば、図1および2を見てください。 初期状態 スライダーを動かすと・・・ これの詳細については後々改めて説明しますが、 ポイ

    データバインディング(WPF)(.NET Framework 3.0)
  • WPF のコンテナ(WPF)(.NET Framework 3.0)

    概要 WPF では、 コントロール(ボタンやテキストボックス)などの配置を容易にするために、 配置制御のためのコンテナがいくつか用意されています。 Canvas まず、一番分かりやすいのは Canvas でしょうか。 Canvas では、 Canvas の左上からの相対座標を直接指定して子要素を配置します。 座標は、以下のように、Canvas.Left, Canvas.Top を使って指定します。 <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="200" Height="200" Background="LightGray" > <TextBox Canvas.Left

    WPF のコンテナ(WPF)(.NET Framework 3.0)
  • Windows Presentation Foundation 概要(WPF)(.NET Framework 3.0)

    Windows Presentation Foundation は .NET Framework 3.0 で追加された3つの主軸ライブラリの1つで、 非常に高機能な GUI 構築用ライブラリです。 WPF と略します。 最近の Flash を使ったウェブサイトみたいな、 ユーザの操作に反応してアニメーションしたり、 操作性や表現力に優れた見た目のアプリケーションを Rich Interactive Application、 略して RIA なんていうんですが、 WPF は、Windows アプリケーション・ウェブアプリケーション問わず、 RIA を開発するためのライブラリと位置づけられています。 特徴と利点 GPU の恩恵が受けられる 今までの Windows アプリケーション開発用ライブラリ(GDI や GDI+ )は、 レンダリング処理を CPU で行っていました。 グラフィック用のプ

    Windows Presentation Foundation 概要(WPF)(.NET Framework 3.0)
  • XAML 概要(WPF)

    Windows Presentation Foundation」 では、 これまでと同様の C# コードベースの GUI 構築もできますが、 それと同時に、 XAML と呼ばれるマークアップ言語による GUI 構築手段を提供しています。 XAML(eXtensible Application Markup Language、発音的には zamel と読んでくれとのこと)は、 GUI アプリケーションを記述するための XML フォーマットです。 例えば、以下のように記述します。 <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="White" > <FlowDocum

    XAML 概要(WPF)
  • マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++

    概要 .NET Framework では、マルチスレッドプログラムを作成するためのクラスライブラリを提供しています。 C# でマルチスレッドプログラムを作成する場合、これらライブラリ中のクラスを用いて行うことになります。 また、C# ではスレッド間の同期を取るために lock 文という構文を用意しています。 ポイント C# なら、Thread クラスとデリゲートで並行処理・並列処理もお手軽。 実際には、スレッドを直接作らず、スレッド プールというものを介して使う。 .NET Framework 4 以降なら、Task クラスを利用。 排他処理は lock 文で。 マルチスレッドとは まず、スレッドに関して簡単に説明しておきます。 簡単に言うと、スレッド(thread: 糸、筋道)とは一連の処理の流れのことを言います。 図1 に示すように、 処理の流れが一道な物をシングルスレッド、 複数の

    マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++
  • C# 3.0 の新機能

    2005年9月、C# 2.0 の正式出荷を目前にして、 C# の次世代拡張 C# 3.0 の言語仕様が公開されました。 C# 3.0(そして、同時に発表された VB 9.0)の目玉となる機能は、 Language Integrated Query、略して LINQ と呼ばれるもので、 リレーショナルデータベースや XML に対する操作をプログラミング言語に統合するものです。 (データベースや XML 操作用のライブラリと、 プログラミング言語中にSQL 風の問い合わせ構文を埋め込めるようにする言語拡張から成ります。) C# 3.0 に追加された機能の多くは、基的にこの LINQ を使うために必要な機能、 あるいは、より便利に LINQ を使うための機能になります。 ちなみに、詳しくは「小さな機能の組み合わせ」で説明していますが、 LINQという大きな目的を、小さな機能の組み合わせで実現し

    C# 3.0 の新機能
    cu39
    cu39 2007/12/11
  • 属性

    概要 属性(attribute)とはクラスやメンバーに追加情報を与えるものです。 例えば、public や private などといったC#のキーワードもある種の属性と考えることが出来ます。 public ならば「このメンバーはクラス外からも参照可能」、 private ならば「このメンバーはクラス内のみから参照可能」という追加情報が与えられます。 C++ などの既存の言語では、このような追加情報を定義する場合、 言語仕様自体を拡張し、新たにコンパイラを作り直す必要がありました。 それに対し、C# では自分で属性を定義し、クラスやメンバーに付加することが出来ます。 すなわち、ライブラリで提供されている属性や自作した属性を用いることで、 コンパイラに対する指示を行ったり、クラスの利用者に対する情報を残すことが出来ます。 属性の情報は、以下のような場面で使われます。 条件コンパイルなどの、コン

    属性
    cu39
    cu39 2007/12/10
  • C++とJavaとの組込み型の比較

    注1 : C++ では、signed や unsigned の付かない char 型が符号付きか符合なしかは処理系に依存している。 注2 : C++では、int, short, long のサイズは処理系に依存している。 通常、 int はその処理系でもっとも高速に処理を行えるサイズになっている。 short は int と同じか、それよりも小さいサイズ、 long は int と同じか、それよりも大きいサイズと決められている。 注3 : C++Java の string や Object は言語に組み込まれた型ではなく、ライブラリで提供されているクラス。 2023/10/24 2023/09/20 2023/07/29 2023/06/21 2023/04/15 2024/04/04 2024/04/04 2024/03/20 2024/03/16 2024/03/09

    C++とJavaとの組込み型の比較
    cu39
    cu39 2007/11/19
  • C# によるプログラミング入門 / ++C++;// 未確認飛行 C

    C# によるプログラミング入門です。C# 初心者の方はもちろん、これからプログラミングを始めようという方も対象としています。

    C# によるプログラミング入門 / ++C++;// 未確認飛行 C
  • 1