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

  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
  • Rubyを最大63%高速化した中学生は超多忙!

    金井仁弘(HN:CanI)氏                    撮影:平沼久奈 ハンドルネームCanIの由来は、「“Can I”→キャナイ→カナイ」。C#、Visual Studio、Microsoft .NETとマイクロソフト製品が大好きな「.NETer」と自称する 筑波大学付属駒場中学校は、東京都内にある中高一貫の国立校だ。入学試験の偏差値と東京大学への進学率の高さから“東の筑駒、西の灘”と称される進学校である。強いのは受験だけではない。国際情報オリンピックや国際数学オリンピックでは、同校の生徒が毎年のように金・銀メダルを制するなど才能あふれる理数系人材が多数在籍している。 金井氏はこの夏の「セキュリティ&プログラミングキャンプ2009」(2009年8月12~16日)に参加し頭角を現した中学生プログラマである。 今年に入って、Ruby 1.9のフィボナッチ数列による演算(多倍長加算

    Rubyを最大63%高速化した中学生は超多忙!
  • 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ

    動的計画法とメモ化再帰 今回は、非常によく用いられるアルゴリズムである、「動的計画法」「メモ化再帰」について説明します。この2つはセットで覚えて、両方使えるようにしておくと便利です。 なお、メモ化再帰に関しては、第5・6回の連載の知識を踏まえた上で読んでいただけると、理解が深まります。まだお読みになっていない方は、この機会にぜひご覧ください。 中学受験などを経験された方であれば、こういった問題を一度は解いたことがあるのではないでしょうか。小学校の知識までで解こうとすれば、少し時間は掛かるかもしれませんが、それでもこれが解けないという方は少ないだろうと思います。 この問題をプログラムで解こうとすると、さまざまな解法が存在します。解き方によって計算時間や有効範囲が大きく変化しますので、それぞれのパターンについて考えます。 以下の説明では、縦h、横wとして表記し、プログラムの実行時間に関しては、

    最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ
  • 競技プログラミングの入力メモ - 2冊の本を3等分

    C++での入力受付について AOJの10000代問題は、解き方は乗ってても基の入出力があまりないので補足。 自分も始めたばっかりなので、変なところがあればtwitterでつっこみください。 5つのテンプレがあります。 入力の終わりまで取るパターン 入力の終わりには0が入っているパターン カンマ区切りで座標とか入力するパターン 文字列or文字入力するパターン 半角スペースを含めて1行取るパターン 入力の終わりまで取るパターン ex.0001 int n; while(cin>>n){ //処理 } これで自動的に入力が終わるとwhileを抜けてくれます。 入力の終わりは0が入ってるパターン 問題文は x が 0 のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。 こんな感じ。 int n; while(cin>>n,n){ //処理 } カンマ演算子によって、最後

    競技プログラミングの入力メモ - 2冊の本を3等分
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • コードの臭い - Wikipedia

    コードの臭い(こーどのにおい、英: Code smell)とは、コンピュータプログラミングにおいてプログラムのソースコードに深刻な問題が存在することを示す何らかの兆候のことを言う。 コードの臭いが示す深刻な問題は、小さく管理された手順でリファクタリングする短いフィードバックサイクルを廻し、それ以上のリファクタリングが必要なことを示すコードの臭いがないかどうか、設計を検査しなければならない。 リファクタリングを実施するプログラマの視点からは、コードの臭いはいつリファクタリングするか、どのリファクタリング手法を用いるか、発見するための方法である。すなわち、リファクタリングを後押しするものである。 「コードの臭い(code smell)」という呼び方は、ケント・ベックがWardsWikiで初めて用いたようである。マーチン・ファウラーの著書 Refactoring. Improving the D

  • 最強のプログラミング言語は『Perl』だよな? - hogehoge速報

  • http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7

  • codevs.jp – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

    codevs.jp – このドメインはお名前.comで取得されています。
  • 命名規則 (プログラミング) - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2018年12月) 独自研究が含まれているおそれがあります。(2018年12月) 出典検索?: "命名規則" プログラミング – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 命名規則(めいめいきそく、英: naming conventions)とは、プログラミングを行う際にソースコード上の識別子(英: identifier)の名称となる文字列を決定するためのルールを定めたもの。ネーミング規則、ネーミング規約、あるいは命名規約とも呼ぶ。 通常は、ソースコードの可読性や視認性の向上、プログラミング効率およびメンテナンス性の改善などを目的としている。

  • IOCCC - Wikipedia

    説明:一見コンパイルが通らないように見えるが、上記コードは正常にコンパイルされ、実行すると「unix」と表示される。UNIX上でコンパイルした場合トークンunixが1としてマクロ定義(#define unix 1)されており、配列要素のアクセス方法で配列と添字が交換可能である[7]ことなどのテクニックを利用している。 下記の例は1988年の大会にエントリーされた、円周率を計算するプログラムである[8][9]。 #define _ -F<00||--F-OO--; int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_

    IOCCC - Wikipedia
  • Intent.ACTION_SENDで他のアプリケーションと連携する | TechBooster

    Androidにはアプリ間の連携をするために便利なIntentという仕組みが用意されています。 TechBoosterでも明示的Intet、暗黙的Intentを以前に取り上げました。 前回の暗黙的Intentの記事ではACTION_VIEWというIntentを取り上げましたが、今回はACTION_SENDを取り上げます。 ACTION_SENDは標準のアプリいくつか対応しており、AndroidMarketに公開されているアプリでも比較的多くのアプリが対応しています。 多くのアプリで対応しているIntentに自作のアプリも対応することで、Intentと送る立場からすれば自分のアプリで実装すること無く、世の中にある多くのアプリの機能を自分のアプリから使うことが可能になります。 またそのような多くのアプリで対応しているIntentを受けることができるようにしておくと、優秀なアプリと一緒に使ってく

  • http://kapsencode.com/android_drawable/

  • Android メニューアイコン

    こんにちは。 タオソフトウエアの杉山です。 今回は炊飯について取り上げます! 電気からガスへ 慣れると戻れない できるだけ大きな家電を買わずにすますため、 島へ移住の話【家電品 – 使わなくなった電子レンジ– 】 で触れた通り、もともと電子レンジで炊飯していました。これが水や米が変わっても使えそうな炊飯釜などを調べている中で、炊飯にガスを使うようになりました。 子どもの頃の実家のご飯も電気釜で、人生のほとんどは電気で炊飯されたご飯をべてきました。ガスで炊飯するのは小学生の授業での経験ぐらいしかなかったですが、普段の生活で電気からガスへ変えてみたら意外と早く時間短縮になるので驚いています。 ガス代は少し上がりますが急上昇するようなことは無く、電気代が下がったので安上がりになりました。大島はプロパンガスのため、都市ガスだともっと安くなるかなと感じています。 昔のガス釜の炊飯器は壊れず美味しい

  • Brainf*ck

    アラン・チューリングという計算機科学者の考えた、 「チューリング・マシン」という仮想の計算機があります。 これは [0を書く]、[1を書く]、[右に進む]、[左に進む] と言った 非常に簡単な命令のみを実行できる想像上の計算機ですが、 我々の使っているパソコンでできるような計算は全て、 チューリングマシン用のプログラムとして書ける、ということが知られています。 …という前置きを付けてなんだか重々しい言語に見えてきたところで(^^;、 たぶんご存じの方も多いと思われる、わずか8文字の組み合わせで ありとあらゆるプログラムを表現する Brainfuck を弄ってみるとしましょう。 * Hello, World 導入 サンプル:表示1 サンプル:表示2 サンプル:echo * サンプル:足し算 サンプル:掛け算 C++によるインタプリタ実装 * サンプル:条件分岐1 サンプル:条件分岐2 まとめ

  • パッケージ (Java) - Wikipedia

    Javaパッケージ(Java package)は名前空間の中にあるJavaクラスをまとめるメカニズムである。Javaパッケージは、JARファイルと呼ばれる圧縮ファイルの中に保存することができ、クラス群を一つのグループとしてまとめた方が1つずつダウンロードするよりも高速化される。プログラマも一般に同じカテゴリに属しているクラスや類似した機能を提供するクラスをまとめたパッケージを使う。 Javaソースファイルはファイルの先頭にソースファイルが定義したクラスのパッケージを明示するpackage構文を含むことができる。 パッケージはそれが含むタイプに関してユニークな名前空間を提供する。 同じパッケージにあるクラス群はお互いに保護された(protected)メンバにアクセスできる。 パッケージは次に述べる種類の型を含むことができる。 クラス インタフェース 列挙型 アノテーション C++などの言語に

  • プログラマーが覚えておくべき10のLinuxコマンド。 - このブログは証明できない。

    ls -l 上司が通りかかったときに使うコマンド。 date 出社後、朝イチで使うコマンド。 su ログインしたら必ず最初に使うコマンド。 apt-get moo 仕事中に2ch見てたときに使うコマンド。 who 自分が何者かわからなくなったときのコマンド。 yum search 愛 No Matches found banner KAERITEEEE 大声で叫びたいときに使うコマンド。 halt 定時ダッシュ前に使うコマンド。 wget -r -l 1 -A .jpg -H -D blog-imgs-42-origin.fc2.com http://kanasoku.blog82.fc2.com/blog-entry-13978.html オカズ画像をダウンロードするコマンド sudo rm -rf / 何もかも忘れて幸せになれるコマンド。 プログラマーが覚えておくべき10の英語フレーズ

  • ふざけた変数名を使う奴は、ばかなの? 死ぬの? :アルファルファモザイク

    「ちょっと実装してみて」とサラッ肩越しに言われたので 関数名を別れた女の名前にして遊び半分でコードを書いたことがある。

  • ハンガリアン記法 - Wikipedia

    ハンガリアン記法(ハンガリアンきほう、英: Hungarian notation)あるいはハンガリー記法(ハンガリーきほう)とは、プログラマがプログラムのソースコードを書く際に変数名やクラス名などの識別子に特別な接頭文字ないし接尾文字をつけることで、他の人がその識別子を見たときに識別子の使用方法・データ型情報・スコープなどが分かるようにするための命名法である。 ハンガリアン記法という名称は考案者チャールズ・シモニーがハンガリー出身であることに由来する[1][2]。 来、シモニーの考案したハンガリアン記法とは、変数の意味や使用目的から接頭辞を決定することであり、型では区別できない情報を変数名に付与することで、紛らわしい変数の意味を明白にし混同をさけるためのものであった[1]。たとえば、論理座標とデバイス座標、X軸とY軸、ドルと円などで、これらは単純に型による安全性に頼ることはできない。 マ