タグ

programmingに関するu_1rohのブックマーク (124)

  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み

  • コンポーネントベースで開発する時の CSS の書き方とコンポーネントの分類 (自己流)

    ReactSvelte でコンポーネントベースで開発するとき特有の CSS ノウハウってあんまり効かない気がする Twitter に書いたら反響があったので、自己流だけどまとめておく React Component の管理単位と、CSS としてのレイアウトの管理ポリシーは違うよね、みたいな話をマークアップエンジニアに時折されるが、そんな話は無視して完全一致させる。そういう星のもとで開発している コンポーネントの分類 ロジックコンポーネント レイアウトコンポーネント ブロックコンポーネント インラインコンポーネント 定義 ロジックコンポーネント Provider や hooks などのデータ処理だけを扱い、子に渡すコンポーネント 一切の CSS や DOM 実体を持たない レイアウトコンポーネント レイアウトコンポーネントは複数の子ブロックコンポーネント(または slot)を持ち、子ブ

    コンポーネントベースで開発する時の CSS の書き方とコンポーネントの分類 (自己流)
  • 【個人的に】Dockerがはかどる小技 - Qiita

    初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる

    【個人的に】Dockerがはかどる小技 - Qiita
  • C#の非同期の落とし穴

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    C#の非同期の落とし穴
  • [雑記] スレッド プールとタスク(C# によるプログラミング入門)

    概要 Ver. 4.0 C# 3.0 で導入されたラムダ式と、 .NET 4 で導入された Task、Parallel、ParallelEnumerable などのクラスを使うことで、 非同期処理や並列処理が簡潔に記述できるようになりました。 また、C# 5.0 では非同期処理用の新構文が追加される予定です。 参考: 「非同期処理」 このページでは、これら非同期処理の基礎となる Task クラスや、その背後にあるスレッド プールというものについて説明していきます。 ポイント スレッドはそれなりに高コストなので使い回しをしたい → スレッド プール。 スレッド プールを使った非同期処理を行うには、.NET Framework 4 で導入された Task クラスが便利です。 スレッドを使った非同期処理を行いたい動機としては、以下の2つが挙げられます。 非ブロッキング処理: I/O 待ちとかで

    [雑記] スレッド プールとタスク(C# によるプログラミング入門)
  • Windows Phoneで3Dアプリケーションを作成しよう

    はじめに 連載ではこれまでに、3Dアプリケーションの開発に必要となる技術を解説してきました。第1回では、UIの構築に適したSilverlightと、3Dの描画に適したXNAという、2つのフレームワークを紹介しました。また第2回では、SilverlightとXNAを1つのアプリケーションで併用する、Silverlight/XNAという機能について触れました。さらに第3回では、3DCGソフトウェアで3Dモデルを作成し、Silverlight/XNAアプリケーションで描画する方法を解説しました。 最終回となる今回は、SilverlightのUIコントロールとXNAの3Dモデルを相互に連携させて、3Dアプリケーションを開発する方法を紹介します。具体的には、前回作成したサンプルに対して変更を加えることにより、以下のような3Dアプリケーションを開発する手順について解説します。こんな3Dアプリケーショ

    Windows Phoneで3Dアプリケーションを作成しよう
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    u_1roh
    u_1roh 2011/02/08
    「今まで見た最も素敵なコードは"public Exception exec()"だ」吹いたw
  • Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog

    Rapidly Realizing Practical Applications of Cutting-edge Technologies

    Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog
  • C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」
  • Yaneu Labs --- C#をスクリプト言語として使う

    *[hatefu:labs.yaneu.com/20101017/] C#をスクリプト言語として使う C#で開発している場合、外部ファイルにしたいスクリプト用の言語として、わざわざLuaのようなC#とは異なる言語を使う必要は無いだろう。 スクリプト言語には素直にC#を採用すれば良い。これにより、いつでもスクリプトから体のコードへと昇格が可能になる。逆に体のコードからスクリプト用のコードへの降格も可能になる。 「ああ、なんだ。CSharpCodeProviderの話か、それなら知ってるよ」と思った人も、以下ではいろんなアイデアを書いてあるので最後まで目を通して損は無いと思う。 * CSharpCodeProviderについてのおさらい まずCSharpCodeProviderについておさらいしておこう。 # CSharpCodeProvider CSharpCodeProvider ht

    u_1roh
    u_1roh 2010/10/17
    あとで読むかも
  • USB/Descriptor - SyncHack

    Descriptor (ディスクリプタ) † Descriptor は、各 USB 機器が必ず持ち合わせていなければならない詳細情報です。 USB 機器であるならば必ず OS からの Descriptor 問い合わせに何らかの返答を返さなければなりません。OS は、USB 機器を接続した際に Descriptor を USB 機器に対して問い合わせることで、どのような機器が接続されたのかを知ることが出来ます。OS のPlug-and-Play (PnP) には必要不可欠の情報です。 Descriptor は、Standard Device Requests で定義されている GET_DESCRIPTOR にて取得出来ます。 ↑

  • C++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    C++の話(本当にあった怖い話)
    u_1roh
    u_1roh 2010/07/15
    ワカル。C/C++erってメモリ空間に直接アクセスしている感が好きな人が多くて、ちょっと抽象化とか間に入るとすぐに「遅いんじゃない」って言う人がいる。「速さ」を計算量オーダーでは考えない人たち。
  • d.y.d. 2倍だけじゃない

    10:01 10/07/20 それでも2倍だ 先日のvectorの伸長度合いの記事に関して 当に1.5倍のほうがメモリ効率がよいのか という反応をいただきました。とても興味深い。みんな読みましょう。 自分の理解メモ: 「再利用ができるから嬉しい」等の議論をするなら、 今までに確保したメモリ (1 + r^1 + ... + r^k) のうち、 有効に使えてるメモリ r^{k-1} (バッファ拡大直後) や r^k (次のバッファ拡大直前) の割合で評価してみようじゃないかという。 まず簡単のために再利用をしない場合を考えると、この割合はそれぞれ (r-1)/r^2、 (r-1)/r になります(途中計算略)。 この利用率が最悪になる瞬間 (r-1)/r^2 を最善にしよう、 という一つの指標で考えてみると、式を微分なりなんなりしてみると r = 2 で最大(25%)となることがわかります

  • 実はオブジェクト指向ってしっくりきすぎるんです! 不変オブジェクトのすゝめ。 - Bug Catharsis

    バグのないソフトウェアを作りたいお仕事では主にVB.NETとC#を。趣味のプログラミングでは関数型言語F#を利用しています。 私自身のF#スキル(関数型的な考え方)は、まだまだ実践レベルとはとても言えないシロモノだけど、 面白い発見と多くの可能性を感じられる言語なので、F#はさわっていてとても楽しい。 私はこれまでオブジェクト指向言語によるオブジェクト指向プログラミングをこよなく愛してきました。 というのも、「いかにバグを減らすか」、「バグのないソフトウェアを作ること」が私の最大の関心事だからです。 バグの多いコード、あるいは技術的負債の多いコードというのは、コスト的な問題があるばかりか、 開発者の身体や心までもを不健康にし、われわれに大きな不幸をもたらすことを経験的にわかっているからです。 わたしにとってオブジェクト指向技術は、それらの問題を防いだり解決をする手段として適した技術でした。

    実はオブジェクト指向ってしっくりきすぎるんです! 不変オブジェクトのすゝめ。 - Bug Catharsis
    u_1roh
    u_1roh 2010/06/02
    ValueObjectクラスいいなあ。使わせてもらおうかな。
  • USBメモリのシリアル番号を調べる方法

    USBメモリのシリアル番号を調べる方法について、ネット上の情報が分散していて判りにくいので、 「みかん」で利用している方法についての技術情報をまとめておきます。 【システム情報から見る】 USBメモリのシリアルナンバー(DeviceID)を知りたい場合、 [スタート]→[プログラム]→[アクセサリ]→[システムツール]→[システム情報] を開き、 システムの概要(左ペイン)の、コンポーネントにある「USB」をクリックすると、 PC に接続されているUSB機器の一覧が表示されます。 USBメモリを挿入した状態であれば、一覧中に 「USB大容量記憶装置デバイス」 というデバイス名のものがあるはずです。 そのデバイスの右側に、PNP デバイスID が、 [USB¥VID_xxxx&PID_xxxx¥xxxxxxxxxxxxx ] のように表示されます。 TOPへ 【WMI とは?】 さて、上記の

  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
    u_1roh
    u_1roh 2010/04/28
    ポリモーフィズムも理解できてないのは論外だが、しかし static 関数は僕も結構使う。オブジェクトにするより static 関数の方が良い、という場面は結構あると思っている。(この人を養護する気はないが)
  • inforno :: 個人的Go雑感&メモ

    GoogleGoという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言

    u_1roh
    u_1roh 2009/11/13
    Go の言語仕様がとてもよくまとまっている。
  • 開発コアメンバが語るRubyの今とこれから(後編) - @IT

    2009/07/24 Ruby開発コアメンバのまつもとゆきひろ氏、笹田耕一氏、yugui氏の3人に話を聞いた。対談の前編ではバージョン1.8系から1.9系へという大きなバージョンアップの話を中心に、RubyRailsの関係やRuby開発コミュニティのあり方についてお話しいただいた。後編の話題は、Rubyに宿る設計思想や、今後のRubyの多様化や進化の方向性などだ。 LispとRubyの違い @IT yuguiさんは子どもの頃からプログラミングを? yugui 最初に触ったのはN88-BASICでした。父のお下がりで、一次方程式を解いたりしてましたね。 @IT それは中学生のとき? yugui えーと、小学生ですね。 まつもと おぉー、ちょっと何だろう……、ぼくとのこの差は……(笑) yugui その後、FM-TOWNSのBASICでライフゲームを作ったりしてました。その後、Webがブレー

    u_1roh
    u_1roh 2009/07/31
    笑「それはリファレンスマニュアルを頭から読めばいいんですよ。」 すっかりインテリセンス依存症なのでもうメソッドが覚えられない。携帯依存で電話番号を覚えなくなったのと同じかな。
  • 川西 裕幸のブログ - Site Home - MSDN Blogs

    Windows Graphics & Presentaiton Technologies for Developers Kinect for Windows ハードウェアのアナウンス Kinect for Windows ブログで、Kinect for Windows ハードウェアのアナウンスがありました。新しいハードウェアの仕様として以下のものが挙げられています。... Author: 川西 裕幸 Date: 11/23/2011 祝:Windows Phone Icons Maker v1.0 1,000 ダウンロード Windows Phone Icons Maker v1.0 のダウンロードが 1,000 を超えました! 使い方のヒント コピー&貼り付けでも使えるので、Power... Author: 川西 裕幸 Date: 11/15/2011 Player Framework

    川西 裕幸のブログ - Site Home - MSDN Blogs
    u_1roh
    u_1roh 2009/07/28
    やっぱりFormsには載らないよね・・・。Win32叩くか、WPFに移行するか。
  • constメンバ関数は重要 - Faith and Brave - C++で遊ぼう

    私は基的に、C++でソース書くときはやたらめったらconst付けます。 なぜならHaskellが好きだからです(ぇ じゃなくて、状態の変更によるバグを減らすためです。 しかし、他人が書いたソースを見てると、オブジェクトのconst操作を考えて設計されてないことが けっこうあり、Is〜とかGet〜といった名前の関数の中でメンバの状態を変更してたりします。 これはとくに、JavaやC#のようなconstメンバ関数がない言語からC++に移植するようなときに 起こりやすいのですが、C++でもconstメンバ関数の存在を知ってか知らずかconstが付いてないことが多々あります。 書籍でいうと、『Game Programming Gems』では明らかにconst操作なメンバ関数にconst付いてないですね。 C++で大きなプログラムを組む際は、元となるコード(移植元やライブラリ)がオブジェクトのco

    constメンバ関数は重要 - Faith and Brave - C++で遊ぼう
    u_1roh
    u_1roh 2009/07/28
    const なつかしい(今はC#なので)。/ const は罠が多い: 仮想関数に const つけて、override 実装でメンバ変数の関数を呼ぼうとしたらその関数に const が付いてなくてドツボ。