タグ

プログラミングに関するkagehiensのブックマーク (19)

  • 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false

    「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
    kagehiens
    kagehiens 2013/06/21
    分かりやすい衝突検出の理論の解説
  • 不完全にしておよそ正しくないプログラミング言語小史

    1801 – ジョセフ・マリー・ジャカールがパンチカードを使った織機によってタペストリーに"hello, world"と織り出す。しかしラッダイト (当時のRedditer) たちは、テールリカージョン、並行処理、大文字小文字の区別を欠いていたため、さほど感心しなかった。 1842 – エイダ・ラブレスが最初のプログラムを書く。彼女の努力は、プログラムを実行するコンピュータが実のところ存在しないというマイナーな問題のために頓挫した。後にエンタープライズアーキテクトたちはプログラムをUMLで書くために彼女のテクニックを再び学ぶことになる。 1936 – アラン・チューリングが存在しうるあらゆるプログラミング言語を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 1936 – アロンゾ・チャーチも存在しうるあらゆる言語を発明しているが、より巧みに行った。チャーチのラムダ

    kagehiens
    kagehiens 2010/05/18
    PerlとPHPがひどいww
  • sbietc - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

    kagehiens
    kagehiens 2010/02/08
    「これをプログラミングで表現するとどうなるのっと」の返しに面白いのが多かった。
  • それrubyなら2行で出来るよ! - 狐の王国

    HTMLのタグを除去するのは出来るんだけど、その後、それぞれの要素を整理して、あらためてHTMLのテンプレートに流し込むのができない><という記事。 せっかくRubyを使ってるんだからHpricotとERBを使いましょう。簡単に出来ます。 #!/usr/bin/ruby require 'rubygems' require 'hpricot' require 'erb' require 'kconv' table = Hpricot(STDIN.read.toutf8).search('.section table tbody tr') puts ERB.new(DATA.read).result(binding) __END__ <dl> <% table.each do |tr| %> <dt><%= (tr/'td[2] a').inner_html %></dt> <dd><%=

    それrubyなら2行で出来るよ! - 狐の王国
  • 実践的なパターン: テストの容易性を高める設計

    Contents Why Use F#? Installing F# Hello, F# The Let Expression The For Keyword The Pipeline F# Can Do Objects, Too Asynchronous F# Fitting in with F# A recent entry into the Microsoft® .NET Framework family, F# provides type safety, performance, and the ability to work like a scripting language, all as part of the .NET environment. This functional language was created by Don Syme of Microsoft Res

    実践的なパターン: テストの容易性を高める設計
    kagehiens
    kagehiens 2009/05/11
    最初からGUIを含むライブラリへのアクセスが約束されているあたりが恵まれている。
  • DO++ : 部分文字列の話

    ここしばらく、部分文字列の統計量を利用した機械学習やデータマイニングをやっている。そこの話からちょっと抜粋。 長さnの文字列T[1,...,n]が与えられた時、T中に出現する部分文字列T[i...j] (1≦i≦j≦n)の数はn個の中からiとjの2箇所を選ぶのでO(n^2)個ある。例えば、n=10^6(1MB)だったら、部分文字列の数は約10^12個(1T)と非常に大きい。 しかし、これらの部分文字列の出現位置は同じである場合が多い。例えばT="abracadabra"であれば、"abra"と"abr"の出現場所は1番目と8番目であり、全く同じである。 では出現位置(部分文字列の左端を出現位置とする)が全く同じであるような部分文字列をまとめてグループにした場合、グループの数はいくつになるのだろうか。 これは接尾辞木(wikipedia 授業の資料)を知っているなら簡単に説明できる。 Tに対

    DO++ : 部分文字列の話
  • 新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 - ハックルベリーに会いに行く

    ぼくは以前にIT関連の仕事をしたことがあって、ぼく自身はプログラムを組めるわけではないのだけれど、何人かのプログラマーさんと一緒にお仕事をさせて頂く機会があった。その中で生まれて初めてプログラマーという職業の方と交流させて頂いたのだけれど、彼らはなかなかにユニークで特異な個性の持ち主たちであった。もちろんプログラマーと一口に言っても色々なタイプがいて、必ずしもひとくくりにできるわけではないのだが、共通していたのは好奇心が旺盛で新しい物好きだということだった。そして少々気難しい面がありつつも、基的にはポジティブで、明日に向かって色々なことを前向きに、精力的に取り組んでいる人が多かった。 そんな中で、特に親しくお話しさせて頂いたTさんというプログラマーがいて、この方もなかなかに個性的で、ご自分の意見や主張というものをはっきりと持っており、ITのみならず世の中に対しても一家言お持ちであった。そ

    kagehiens
    kagehiens 2009/04/23
    将棋の「手抜き」は絶対意味が違うと思う。この文は蛇足だとしか言いようがない。
  • Structure Synth - 文脈自由文法3Dアート - Radium Software

    Structure Synth は,文脈自由文法を使って 3D CG を作成するソフトウェア。つまるところ, Context Free の 3D 版だ。単純なプログラムから複雑な CG を生成することができる。 GI レンダラー SunFlow 用のシーンファイル出力にも対応しており,これらを組み合わせることによって,とてもお手軽かつ高品質な幾何 CG アート環境が完成する。 以下,とりあえず作ってみた習作。仕組みはほとんど Context Free と同じなので,Context Free に慣れていればすぐにコードを書けるようになる。 set maxdepth 50 12 * { rx 30 } RC BG rule RC { {} CROSS { rx 10 z 0.7 s 0.98 } RC } rule RC { {} CROSS { ry 10 z 0.7 s 0.98 } RC

    Structure Synth - 文脈自由文法3Dアート - Radium Software
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

    kagehiens
    kagehiens 2008/09/02
    これはためになる・・・、が。ラスト、誰がうまいこと言えと・・・w
  • プログラミングハイウェイ - プログラマーの脳みそ

    プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ Re: プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ:Geekなぺーじ 実際、IT業界に身を置いていると教育機関の必要性を強く感じる。 情報工学科という学科を置く大学は数あるが、世の中に求められるのは実務としてプログラミングができる能力を持った人間だったりする。*1 情報工学科というのは座学が主体で実習が主体なわけではない。例えるならば、美大や音大のような、入学時に実技試験があり、在学中も実技を多く行うような、そういったカリキュラムの情報大学が求められている、と思う。*2 なんせ、情報工学出だろうが、情報系の専門学校出だろうが、文系大学出だろうが、新人で採るならひとしく無能だと思わなければならない。そんな出身校よりも、ホビーでプログラムするかどうかを問う方が当りの人材を引き当て

    プログラミングハイウェイ - プログラマーの脳みそ
    kagehiens
    kagehiens 2008/08/27
    Matzの発言にもこういう内容あったなぁ。
  • @IT:特集:Visual C++ 2005 いままたC++が熱い!「C++/CLI」として大進化したVisual C++ 2005

    重要度が高まるC++ いま一部でプログラミング言語「C++」の重要度が高まっている。ここで勘違いをされると困るので念のために強調しておくが、これは「C++の重要度は高まるだろう」という未来予測を書いているわけではない。すでに一部では重要度は高まっている、という現在の状況について書いているのである。 恐らく、このように書けば、そんなバカなと思う人も多いと思う。なぜなら、C++といえばすでに過去の言語であり、しかもJavaの誕生とともに、生産性の悪い失敗作のレッテルを張られて葬り去られたといっても過言ではないからだ。そして2005年のいま、すでにJavaすらもほころびが見える古い言語となっている。Windows環境であれば、明らかにJavaよりも生産性に優れるC#もあれば、大きく進化したVisual Basicもある。このような状況で、Javaを振り返るならともかく、それよりもさらに古いC++

  • プログラマー必見。あの「シムシティ」のソースコードが公開

    プログラマー必見。あの「シムシティ」のソースコードが公開 編集部:松隆一 写真は「シムシティ4」です 元祖箱庭シムにして天才ゲームクリエイター,ウィル・ライト氏の出世作である,シムシティシリーズ。登場以来約20年を経てなお最新作,「シムシティ ソサエティーズ」がリリースされるという,世界中に数多くのファンを抱えたエポックメイキングな作品だ……なんてことは,いまさら言わなくてもとっくにご存じですね。 そんなシムシティがGPL(General Public License)準拠のオープンソースとして公開されたというのだから,ちょっと気になる話である。 この一件,もともとは100ドルPCで知られるOLPC(One Laptop per Child)のDon Hopkins氏による,Sim CityをLinuxで実現するというプロジェクトからスタートしているようだ。ちなみに,OLPCは,マサチュ

  • ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies

    Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre

  • GLPKで楽しく最適化しよう! (整数計画法)

    トップページ 0.インストール 1.LP 2.IP 3.応用 GLPKで楽しく最適化しよう! その2 整数計画法:Integer Programming 1.整数計画法(Integer Programming)とは? 前回は線形計画法(Linear Programming)について学びました。 整数計画法(Integer Programming)はそれによく似ているのですがもっと応用範囲が広く、 解くのが難しいものです。 整数計画法とは、線形計画法の変数に整数を含むものをいいます。 変数が全て整数変数の全整数計画(Integer Programming)と、 変数の一部が整数変数の混合整数計画(Mixed Integer Programming)があります。 前者は略してIP、後者はMIPとよく略されます。 ここでは特に区別せずに扱うものとします。 さて、皆さん整数と聞くとど

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム

  • Rubyのカバレッジツール·rcov MOONGIFT

    システム開発におけるテストの重要性は言うに及ばない。が、大抵時間がなくなってしまって正常系のテストだけで終わってしまうことになる。 そうすると、もちろん異常系の処理になった途端、システムエラーを引き起こす。何をすべきか、それは予期している問題点を全て把握できるかどうかだ。 今回紹介するオープンソース・ソフトウェアはrcov、Ruby向けのソースカバレッジツールだ。 カバレッジツールとは、対象のプログラムソースが処理を一巡する中で通った場所と通っていない場所とを見極めてくれるソフトウェアだ。これを使えば通っていない場所は元々不要か、またはテストしていない場所かのどちらかに分けることができる。 結果はHTML形式でのレポートの他、標準出力でも可能だ。全体のコード量に対するカバレッジ率や、あるポイントを何回通ったかといったことも提示してくれる。 なお、公式サイトではRuby on Railsでも

    Rubyのカバレッジツール·rcov MOONGIFT
  • 「プログラマ35歳定年説」:ITと人間の意外な関係 - CNET Japan

    あるサイトで連載の話を進めていて、そのコンテンツを考えていた。目次を書き出しているときにふと「プログラマ35歳定年説」なるものを思い出した。 プログラマ35歳定年説とは、「プログラマは年齢を重ねて行って、35歳ぐらいになったらSEなりマネジメントなり、次に行かないとオマンマべられないよ」というものだ。 「そういえば、自分もそう言われてきたっけ・・・。若いころは「俺たちがシステム作ってんだ!実力があれば絶対に大丈夫。ふざけんな!」と思っていたよなぁ。」 ふと考えれば私は今36歳。その説によれば定年を迎えている年齢だ(笑)。年金はもらえないが・・・。 プログラマ、SE、マネジメント、経営の一通りを経験してきて、その説の私なりの考えを書いてみたくなった。 35歳プログラマ定年説は当か?・・・私にとって かつては技術力に自信があったし、楽しいプログラマ人生を送ってきた。そんな私だが、今もし誰

  • 1