タグ

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

  • TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary

    TopCoderというプログラミングコンテストで 他人のコードから発見した、美しいマクロや 型宣言を紹介します。 これを導入することで、C++のコードが短くなり、 早くコーディングすることができます。 ※すべてのTopCoder参加者がマクロなどをテンプレートと して用意しているわけではありません。 マクロなどを定義している人は半分より少ないようです。 TopCoderの他人のコードを参考に、 マクロやtypedefによる型宣言をまとめました。 コードの全体はこのようになっています。 (あとで個別にコメントします) //include //------------------------------------------ #include <vector> #include <list> #include <map> #include <set> #include <deque> #in

    TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary
    tatejimaru
    tatejimaru 2016/02/22
    こういうのを探していた
  • 喜びの多いプログラミング言語はObjective-CとPHPと判明

    いやいやもっと楽しい言語あるでしょ?と思った方にとっても興味深い調査結果がExploring Expressions of Emotions in GitHub Commit Messages(GitHub上のコミットメッセージの感情表現の調査)として公開されていました。記事の作者はベルリンのRamiro Gómezさんで、自然言語とプログラミング言語の双方に関心のある彼はGitHubが公開した統計情報からさまざまな感情表現をコミットメッセージから探して分析するという調査を行いました。これによりanger(怒り), joy(喜び), amusement(楽しみ) surprise(驚き)の表現が多く使われているプログラミング言語のランキングを生成して公開しています。 怒りの言語はVimL、C、Shell 怒りのランキングではangry(腹を立てる)、annoying(いらいらする)、cra

    喜びの多いプログラミング言語はObjective-CとPHPと判明
  • 雑把の UI アーキテクチャー史(MVCからMVVMへ) | プログラマーズ雑記帳

    Web の場合は View と Controller の違いははっきりしてます。 View は html ページとその作成を担当します。 CGI は アドレスとパラメーター(アドレスの ? の後など)を受け取り、処理を行います。 その受け取り部分が Controller です。 Model と View ではなく、なぜ MVC としたのでしょうか ? 『 GoF 』 では Controller を分ける利点をいくつか挙げられています。 キーボードの応答を変えたり、メニューからの呼び出しに変更するとき、表示方法を変更しなくていい。 入力イベントを無視するといったことをコントローラーのインスタンスの入れ替えで可能。 その他にも "View を入れ替えれば、 PC アプリ、 Web アプリでも使えるように" という理由もあります。 ちょっと無理そうな話ですが、例えば、 PC アプリが次のような

  • Stack Overflowの姉妹サイト達 - tomute's note

    数日前に「エンジニアのためのQ&AサイトStack Overflowを使ってみる - Tomute’s Notes」という記事を書いたのだが、このStack Overflowには幾つかの姉妹サイトがある事に今日気づいたので、以下に紹介したいと思う。 まず一つ目はコンピューター管理者やネットワークエンジニアのためのQ&AサイトであるServer Fault。 サイトを開いてもらえば分かると思うのだが、Stack Overflowとうり二つで使い方等も全く同じようである(ただしアカウントは共有出来ない模様)。 質問の例としては、「時々データをバックアップするのに最も簡単な方法は?」とか、「Windows 7でディスク使用率を減らす方法は?」といったような質問が上がっている。 二つ目はコンピューターのソフトウェアやハードウェアに関する一般的なQ&Aを扱っているSuper User。 こちらもSt

    Stack Overflowの姉妹サイト達 - tomute's note
  • コンピューターサイエンス論文から優秀な(使える)アイデア発掘 - Indeed エンジニアリング・ブログ

    結構な時間をかけて、最近のコンピューターサイエンスの論文を読み漁っている。 自分のチームのプロダクトを改善してくれそうな、アルゴリズム的な物を何でも探しているのだ。 これも Indeed のミッションである Help People Get Jobs のため。成果はまちまちで、 Indeed では活用できそうにない美しい数式しか見つからないこともしょっちゅうある。 でも、コンピューターサイエンスの文献を読み込むことで、得られるものは沢山ある。 もっと多くのソフトウェア開発者が、文献を活用して腕を磨いてもいいんじゃないだろうか。 コンピューターサイエンスの論文を読む理由とは 「何で?」- そもそも、こう思うんじゃないだろうか。 現役で仕事をしている開発者は、やはり論文なんか読まないだろう。 事実、僕が文献サーチを勧めると、何人もの優秀な開発者にぽかんとした顔つきで見られた。 「え? Stack

    コンピューターサイエンス論文から優秀な(使える)アイデア発掘 - Indeed エンジニアリング・ブログ
  • タイピングをもっと楽しく軽やかに!打鍵音をカスタマイズできるMacアプリ「Tickeys」

    今もこのアプリ使いながら記事を書いてます。 日も“monograph”をお読みいただきありがとうございます。 PITE.(@infoNumber333)です。 キーボードを打つ際の「打鍵感」ってすごい大事ですよね。キータッチの深さ、レスポンスの強さ、キーの手触りなどなど色々な要素が絡まりキーボードの「打鍵感」という概念は成り立っています。 僕は現在12インチMacBookをメイン機として使っております。あまりのキーの浅さに賛否両論ある12インチMacbookのキーボードですが僕はこの「ペチペチ」という打鍵感が逆に気に入っていたり。 このキーボードの「打鍵感」というものは基キーボード毎に変えることのできないものですが、実は打鍵”音”だったら簡単に変えることができちゃうんです。 というわけで今日はMacのキーボード打鍵音を簡単に変えることのでできちゃうアプリ「Tickeys」をご紹介いたし

    タイピングをもっと楽しく軽やかに!打鍵音をカスタマイズできるMacアプリ「Tickeys」
  • プログラムは思った通りには動かない。書いたとおりに動くのだ

    プログラムは思った通りには動かない。書いたとおりに動くのだ Any code doesn't run as you thought, run as it wrote 2015.06.17 Updated by Ryo Shimizu on June 17, 2015, 10:13 am JST

    プログラムは思った通りには動かない。書いたとおりに動くのだ
    tatejimaru
    tatejimaru 2015/12/25
    >プログラマーの職業的美点をひとつ上げるとすれば、他のどの職業人よりも自分が無能であることに自覚的であることです。
  • メソッド名をシンプルにするために、 知っておくと便利な英語のprefixとsuffix - codic ブログ

    メソッド名などをネーミングする際に、知っておくと便利な、接頭辞と接尾辞をリストアップしてみました。どのように元の単語の意味が変わるかのルールを知っておくと、よく使う単語をベースにボキャブラリーを増やすことができるので、覚えておいて損はないと思います。 使う場合は、当たりを付けて実際の使用がないか、Googleなどで調べてみてください。 1. pre-, post- / 事前〜、事後〜 per-は、元の意味に “事前に、前に”、post-は “事後に”という意味が付け加わえます。汎用性が高いのでとても便利です。afterやbeforeの代替になるかもしれません。 // 事前テストする function testBefore(); ↓ function pretest(); // 事後処理する function executeAfter(); ↓ function postexecute();

  • プログラミング原則一覧 - Strategic Choice

    見つけた時に逐次エントリしている「プログラミング原則」カテゴリの一覧です。不定期に追加しています。プログラミング一般デメテルの法則DRY原則YAGNIKISS原則OAOOUNIX哲学可逆性曳光弾直交性契約による設計 DbCプログラマの三大美徳PIEの原則SLAPパフォーマンスチューニングの格言驚き最小の原則オブジェクト指向プログラミングパルナスの規則抽象データ型サブタイプ求めるな、命じよコマンドとクエリ分離原則オブジェクト指向設計パターン言語生成・使用分離の原則パターンの定義IOP

  • 【VSCode】Visual Studio Code 0.3.0の新機能まとめ - Tumbling Dice

    前書き いつの間にかVSCodeが0.3.0にバージョンアップしていました。 「0.2.0は?」とか「起動時に毎回やってる自動アップデートチェックとは一体何だったのか」とか色々思うことはあるんですが、気が付かなかったことにしましょう。0.2.0は色々あったみたいですが、見なかったことにしましょう。 アップデート方法 再インストールしてください。 C:\Users\{UserName}\AppData\Local\Code\app-0.3.0にまるっと新しいものがインストールされます。日フォントを適用するためにcssを直接いじってたりすると強制的に元に戻されてしまいますが、app-0.1.0に元のソースやバイナリがそのまま残っているので、適当にマージしましょう。 新機能 Updatesに色々書かれているので、適当に翻訳していきます。 新しいキーバインド 色々な要望を受けてデフォルトのキー

    【VSCode】Visual Studio Code 0.3.0の新機能まとめ - Tumbling Dice
  • 女の子らしくコードを書く、ということ – Medium Japan – Medium

    この記事の元となっているプレゼンテーションは、オークランドで開催された AlterConf のものです。テーマはジェンダー・ダイバーシティについてでした。同カンファレンスでは、人種差別、障害、階級差別など多様なテーマについてのプレゼンテーションが行われていました。 Always (訳注:女性用品のブランド)の広告で、成人の男女に「走る・叩く・投げる」を女の子らしくやってもらう、というものがあります。頼まれた人々がそれをおこなう様子は、なよなよしくてひどいものでした。その広告では、次に、同じことを若い女の子達に頼んでみます。すると、彼女達がそれをおこなう様子はまさに「精一杯・一生懸命」でした。その後、「女の子らしくやる」ってどういうことかな?と尋ねてみると、女の子の1人がこう返します。「自分に出せる全力でやる、っていうことよ」。 残念ながら、ある程度年をとると、「女の子らしく何かをする」とい

    女の子らしくコードを書く、ということ – Medium Japan – Medium
  • 関数は集まりオブジェクトを成し、プロセスに従う -プログラム創世記より- - Qiita

    関数で実装したオブジェクトに手続き的に指示を与える、これが理想のプログラミングパラダイムではないかという仮説です。 ただの持論なので学術的背景はありませんが、まさかりよろしくです! オブジェクト指向あるある:責務はどっち? このじめじめした季節、爽快なシューティングゲームを作りたいですよね。おもむろにコードを書きます。

    関数は集まりオブジェクトを成し、プロセスに従う -プログラム創世記より- - Qiita
    tatejimaru
    tatejimaru 2015/03/14
    >なんということでしょう、データ構造が露出しています!!オブジェクトがスケルトンカラー状態で、内蔵が見えています。グロいですね。
  • Programming Paradigms

  • 剛体シミュレーションをまとめてみる - Qiita

    今度やる勉強会に向けて、剛体シミュレーションの概要をまとめていきます。 とはいえ、格的に説明はできないので(理解不足で)、概要と今、自分が理解している範囲をまとめていきます。 知識としては、書籍を読んで把握した範囲なので若干偏りがあると思います。参考にした書籍は一番下に掲載しています。 (なので、なにか間違っている点などあればコメントいただけるとうれしいです) こちらの理論などを元に、実際に2Dの物理エンジンを自作してみました。その過程で参考にしたものや躓いた点などをまとめた記事も書いているので、こちらもよかったら参考にしてみてください。→ 自作2D物理エンジンを作った話 概要 剛体シミュレーションは「パイプライン」という、各種の計算を行うステージを段階的に分けたものを通って、与えられた力(例えば重力)からの位置計算が行われます。 それぞれのステージの概要は以下の通りです。 シミュレーシ

    剛体シミュレーションをまとめてみる - Qiita
  • 超小型PC「Raspberry Pi」で夏休み自由課題・第1回 - Raspberry Piとは? 入手とセットアップ (1) Raspberry Piでコンピューターを学ぼう | マイナビニュース

    プログラミング教育に超小型PC「Raspberry Pi」を 小学校から「コンピューターのプログラミング学習を」という話が出ているようだ(公立小学校で全生徒に利用させているところも)。学校で広く教えるようになるかどうか、そして各家庭の教育方針はともかく、子供に対して自宅でプログラミングに興味を持たせるというのは、親としてアリではないだろうか。 第一歩はコンピューターに親しませること。家族共用のPCではなく、自分用PCを持たせることがキッカケになるはずだが、少々費用がかかる。プログラミングとなるキーボードがほぼ必須で、タブレットという訳にもいかない。 そして、実験・教育用のPCとして近年盛り上がっているのが、Raspberry Piという超小型PCだ。約4,000円と安価で資料も多く、子供に買い与えるには良い機材と思うが、単に渡すだけではまず使えない。初期設定を一緒にやってあげつつ、何らかの

    超小型PC「Raspberry Pi」で夏休み自由課題・第1回 - Raspberry Piとは? 入手とセットアップ (1) Raspberry Piでコンピューターを学ぼう | マイナビニュース
  • オンライン C++ コンパイラ - WCE blog

    プログラミング班 3 年 @Reputeless です。 C++ のコードを書きたいけど、手元に GCC や Visual Studio がない! Visual Studio が C++11 に全然対応していなくてつらい。でも GCC をインストールするのは面倒・・・ そんなとき、オンラインで C++ のコードをコンパイル、実行してくれる Web サービスが便利です。 この記事では C++ に対応しているオンラインコンパイラを 4 つ紹介します。 対応機能は 2013 年 3 月 15 日時点のものです。 ideone.com 60 以上の言語に対応するオンラインコンパイラです。 知名度が高く、Twitter などでコードをシェアする際によく使われます。 コンパイラのバージョンの更新はやや遅めです。 以前は Boost に対応していましたが、最近の更新で消えてしまいました。復活が望まれます

    オンライン C++ コンパイラ - WCE blog
  • プログラミング言語の比較

    一口に「比較する」といっても色々な観点が考えられますが、ここでは、コードの読みやすさという点に注目して比べてみます。 人間が考えた処理内容・データ構造などを直訳的な表現で書けるか。(0は1月、1が2月、…なんてのは勘弁) 冗長な記述が少なくて済むか。 これらの点で言語ごとの違いが見えるような題材をなるべく選び、それぞれの言語で実装したサンプルコードを以下のページに並べてあります。 カテゴリ別 サンプルコード 基的な処理 数値、日時 リスト(または配列) マップ(または連想配列、ハッシュ) クラスとインスタンス ファイルとディレクトリ、通信 並列処理(スレッド) その他 このサイトで取り上げている言語 言語名 サンプルコードの凡例 参考サイト

  • プログラミングの法則 | IT屋だけど、なにか? | 株式会社イーツー・インフォの社員ブログ

    こんにちは、かねこです。 まえがき 世の中にはプログラミングの法則というものがありまして、知っていると知らないでは、コーディングの効率性や保守性に大きな差が出るような代物なので、代表的なやつを書いてみよう。 で、これが言われてみれば当たり前のことなのですが、時間や制約との戦いの中でコードかいてるとしれーっと知らないフリをしてしまったりするのです。 人間て困ったもんだ。 KISS Keep it simple, stupid!(シンプルにしておけバーカバーカ!)ということで、不必要な複雑さは排除しましょうということです。 これは、ソフトウェア界隈の言葉だと思ってたんだけど、Wikipediaを見ると、かなり昔の1900年代前半くらいに、戦闘機設計の世界で生み出された言葉だった。 あたりまえのことだけど、意識していないと意外と忘れてしまうのです。 Wikipedia DRY こちらは、Don

    プログラミングの法則 | IT屋だけど、なにか? | 株式会社イーツー・インフォの社員ブログ
  • 新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita

    最近新人研修(プログラミング未経験者・大学で専攻など、ごちゃまぜ)に関わることがありました。 適当なタイミングでEclipseのショートカットキーを教えていたのですが、実演してあげるといつきがよかったです。 ウケがいい≒新人から需要があるといえそうですし 教えるほうも教わるほうもモチベーションを保ちやすいです。 その点で、ウケるかどうかは大切な視点のひとつだと思います。 なので、ウケのよさランキングの形式で、ショートカットを紹介したいと思います。 環境は、WindowsでPleiadesのやつ(http://mergedoc.sourceforge.jp/ )を使って、Javaを教えていました。 第20位 ctrl + alt + k スネークケースとキャメルケースの切り替え 変数名やメソッド名を選択した状態でctrl + alt + k 教えていたのはJavaなのですが、C言語のように

    新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita
  • http://www.itsenka.com/contents/development/c/pointer.html