programmingに関するkokorokaraのブックマーク (539)

  • Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD

    (訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基原則にあると考えています。 この基原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい

    Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD
  • 大規模ソースコードの読み方

    We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

    大規模ソースコードの読み方
  • オープンソースライセンス比較用早見表 - Google ドライブ

    このファイルを使用中のユーザーが多すぎるため、一部のツールを利用できない場合があります。再試行詳細閉じる オープンソースライセンス比較用早見表 : Sheet1ABCDEFGHIJKLMN1ライセンスと著作権の表示変更した旨を示すことソースコードの開示ライブラリとして使用すること商用利用改変配布派生物に別のライセンスを課す特許の利用個人利用作者に責任を求めること商標の利用注記2No License必須可能禁止禁止禁止可能GitHubで公開したソフトウェアにライセンスを付記しなかった場合の条件3GPL v2.0必須必須必須必須でない可能可能可能禁止可能可能禁止言及なし4GPL v3.0必須必須必須必須でない可能可能可能禁止可能可能禁止言及なし5Affero GPL v3.0必須必須必須必須でない可能可能可能禁止可能可能禁止言及なし6Artistic GPL 2.0必須必須必須必須でない可能可

  • コードがはっきりと見やすく使いやすい!Sublime TextとAtomとVim対応のテーマ -DuoTone Themes

    DuoTone Themes DuoTone Dark -GitHub コードがはっきりと見やすいカラー DuoTone Themesの5つのテーマ DuoTone Themesのダウンロードとインストール コードがはっきりと見やすいカラー DuoToneは2つの色相をベースに色調を変化させた7つのカラーで構成されています。 コードで重要な部分には強調したカラー、それほど重要ではない部分には和らいだカラーが適用され、はっきりとした見やすいテーマになっています。 DuoToneは5種類あり、Darkのベースカラーはパープルとゴールドです。 ↓縮小してますが、見やすくないですか? Colorscheme DuoTones - Dark 対応言語は下記の通り。これからも増えていくそうです。 C Clojure CoffeeScript C# CSS GF Markdown Go Haskell

    コードがはっきりと見やすく使いやすい!Sublime TextとAtomとVim対応のテーマ -DuoTone Themes
  • Kindle Paperwhite で動くプログラムを書いてみた話 : DSAS開発者の部屋

    2018年追記 記事は 2014年12月当時の事情に基づく試みの記録として残しているものです。すでに内容に実効性はなく、むしろ現時点においては一連の手順が何らかの事故を誘発する可能性もあります。記事を参照した結果何らかの損害が発生したとしても筆者ならびに当社は一切の責任を負いません。十分にご注意下さい。 はじめに 〜ご注意下さい〜 この記事は、Amazon 社の販売する電子書籍リーダー「Kindle Paperwhite」を "脱獄" し、公式の開発キットである KDK を使わずに作成した GUI プログラムを動かした試みについて記述したものです。この試みは Kindle 愛好者の一人としてとても残念に思った Amazon 社の最近の方針転換を受け自己責任で行った実験であり、記事は自分用に控えた情報の一部を技術的な話題のひとつとして書き留めたものです。無論 Kindle の "脱獄"

    Kindle Paperwhite で動くプログラムを書いてみた話 : DSAS開発者の部屋
  • Web Audio APIを使ってブラウザで音楽や音声にエフェクトをかけられるツールを作りました。 - Qiita

    ブラウザで格的なサウンドプログラミングが可能になるWeb Audio APIを使って、リアルタイムで音声にフィルタを掛けられるツールを作りました。コードを書くことなくマウスで操作するだけで、好きな動画や音楽にエコーを掛けたりフィルタを掛けたり、MP3ファイルへとエンコードしたりと、いろいろな実験ができます。Web Audio APIやサウンドプログラミングの入門教材にもどうぞ。Web Audio APIは使ってみると楽しいAPIです。以下のURLで実際にブラウザ上で実行することができます。 (追記: BitbucketとGithubの両方に設置してありますが、気まぐれにアップデートしているので両者の内容が異なる場合があります。だいたいはBitbucketに置いてある方が新しいです。ただし、ChromeではHTTPSで接続しないとUser Mediaを使うことができないため、パソコンのマイ

    Web Audio APIを使ってブラウザで音楽や音声にエフェクトをかけられるツールを作りました。 - Qiita
  • GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita

    .gitignore し忘れて他人に見えちゃマズいファイル(パスワードをベタ書きしたファイルや AWS_SECRET_ACCESS_KEY を書いたファイルとか)を git commit しちゃった!そんなときは すればすぐ何もなかったことにできます。 が!そこで気付かずに GitHub へ git push してしまった!こうなると容易に何もなかったことにはできません。 この記事では、こういうときに何もなかったことにする方法を紹介します。 そのデータを無効にする 特に Public Repository の場合はすでにそのデータが他人の目に触れていた…ということも十分ありえます。AWS_SECRET_ACCESS_KEY なんかは取得用のクローラが存在するとも聞きます。ので、まずは不正利用されても影響が出ないように、パスワードの書き換えやトークンの無効化を施しましょう。 (この時点でもう

    GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita
  • メモリを使用する、とは

    この投稿は「Windows & Microsoft技術 基礎 Advent Calendar 2015」の16日目の記事です。 稿では、Windows(広く一般のOSでも、基礎的な知識としては適合する)の、「メモリ使用量」の取り扱いについてまとめたものです。特に、コードからメモリを使用するとはどういうことなのかがちょっとでも明らかになれば良いかなと思っています。 普通の人、普通のプログラム、普通のプロセス .NET環境であったり、C++で各ネイティブなコードであったり、通常プログラムを書くと「ユーザープロセス空間」で動くコードがビルドされます。C#でコードを書けば、newしたりすることで、「どこかにあるメモリ」を適量確保し、それを使用可能にしてくれます。 このメモリ使用量はどのように決まってくるのか? 例えば以下のコード: var data = new byte[10 * 1000 *

    メモリを使用する、とは
  • Subversionを使用し続けているプロジェクトがGitに移行することを考えてみた - Qiita

    このページについて 中央集権型バージョン管理のCVSとSVN、分散バージョン管理のGit両方を各プロジェクトで使用してきた経験から、新規開発、保守開発でSVNを使用し続けているプロジェクトがGitを使うメリットについて考えて書いてみるページです。 あくまでも経験を下に主観で書いていきますので、いやいやその考え方は間違っているよ!とか、これも書いといて!というのがあれば、コメントやら編集リクエストなどください。 想定読者 Gitを使ってみたいけど、保守開発だからSVNからGitに乗り換えるのなんて無理だよ!と半ば諦めている方 SVNからGitに乗り換える提案をしたいから、乗り換えることで生じるメリット・デメリットが知りたいよ!という方 うちはSVNで構成管理をしてきたんだ!Gitなんか誰も使ったことないから何かあったら誰が責任取ってくれるんだ!と使用を許してくれない上司を説得したいという方

    Subversionを使用し続けているプロジェクトがGitに移行することを考えてみた - Qiita
  • 第31回 FreeBSDのソースコードを調べる方法 | gihyo.jp

    ソースコードを調べる FreeBSDでなにか問題が発生したり解決したいことがでてきた場合には、オンラインマニュアルを読んだりFreeBSDハンドブックを読んだり、またはGoogleで検索して同じ問題とその解決方法が提示されていないか調べることがあります。こうした作業で問題が解決すれば御の字です。 しかし、希なケースの問題であったり、オンラインマニュアルに記載されていない場合、解決策を見つけるのが難しいです。オンラインマニュアルに書いてあることも常にソースコードの記述を正確に反映しているとは限らないため、そうした場合にはソースコードを調べる必要があります。 FreeBSDでソースコードを調べる方法はいくつかあります。ここでは3つの方法を採り上げて、どうやってソースコードを調べていくのか紹介します。想定するシナリオは、lpr(1)コマンドで印刷を行おうとしたところ「unable to get

    第31回 FreeBSDのソースコードを調べる方法 | gihyo.jp
  • Githubのsubversionサポートが神 | GREE Engineering

    ちょびえです。Githubのsvnサポートが神なことに最近きがついたのでカッとなってエントリでも書いてみました。 きっとこの便利さはあんまり言及されてないはず(ワタシだけが知らんかった、とかだったらほんとすいません) https://help.github.com/articles/support-for-subversion-clients/ Githubでは上のページに書いてある通りsubversion clientのサポートもしております。 なんで今さらsubversion?という感じもする方もいらっしゃるかと思いますが。 これ、svnなので当然ディレクトリ個別にチェックアウトできるのですよね・・・・ たとえば、こんなふうにやると svn co https://github.com/chobie/flatbuffers/trunk/php flatbuffers-php A flat

    Githubのsubversionサポートが神 | GREE Engineering
  • プレイヤーが自然に感じる乱数の作り方 - A Successful Failure

    2015年11月10日 プレイヤーが自然に感じる乱数の作り方 Tweet ゲームでは擬似乱数がよく使われるが、ある種のゲーム数学的に精度の高い擬似乱数(たとえばMT)を用いているにも関わらず、コンピュータが有利になるように乱数を操作していると批判に晒されている。 実際、数学的に正しい乱数と、プレイヤーが自然と感じる乱数には、ある種の差が存在する。北陸科学技術大学院大学の池田研究室では、プレイヤーに自然に感じる乱数の生成に関する研究を行っている。 プレイヤーが不自然に感じる理由 数学的に正しい乱数に対してプレイヤーが不自然に感じる理由としては認知バイアスが考えられる。特に事象に関連する認知バイアスとして、次が挙げられている[1]。 確証バイアス: 人は自分のもつ仮説に一致する情報を求め、反証となる証拠を避ける傾向がある。ひとたび、サイコロが操作されていると感じると、それ以降、その仮説に都

    プレイヤーが自然に感じる乱数の作り方 - A Successful Failure
  • 今年はScalaもSwiftも! はてなサマーインターン2015を元に「はてな教科書」を最新化しました - Hatena Developer Blog

    こんにちは、アプリケーションエンジニアの id:pokutuna です。 「はてな教科書」は、はてなで Web 開発に携わるエンジニアのために作られた1週間で Web アプリケーション開発の基を身につけるための教科書です。はてなサマーインターンシップや、入社時研修に利用されています。2012年から GitHub 上で公開しており、どなたでも読むことができます。 はてなでは継続的に教科書を更新していますが、特に毎年のインターンの講義内容をフィードバックしています。今回の更新では、新しくはじまったScalaSwiftのコースで利用した教科書を追加しました。アプリケーションの学習や研修題材としてどうぞご利用ください。 Scala の教科書を追加しました 今年のインターンでは Mackerel の開発に取り組む 「クラウドサーバ管理システムコース」コースが開催されました。去年までのインターンで

    今年はScalaもSwiftも! はてなサマーインターン2015を元に「はてな教科書」を最新化しました - Hatena Developer Blog
  • Gitのコミットメッセージの書き方 | POSTD

    (訳注:2015/10/31、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注:2015/11/1、いただいた翻訳フィードバックを元に記事を再修正いたしました。) 訳: プロジェクトが長引くほど、私のGitのコミットメッセージは情報が薄くなっていく。 イントロダクション | 7つのルール | ヒント イントロダクション:なぜ良いコミットメッセージを書くことが重要か Gitのリボジトリのログをランダムに閲覧すると、ひどいコミットメッセージを目にすることがあります。例として、私が昔書いたSpringにコミットした これらのgem を見てみましょう。 $ git log --oneline -5 --author cbeams --before "Fri Mar 26 2009" e5f4b49 Re-adding ConfigurationPostProcessorTest

    Gitのコミットメッセージの書き方 | POSTD
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

    この投稿では、以前に TinyKeepDev が こちら で述べたランダムなダンジョンを生成する技法について説明しようと思います。元の投稿に比べて、もう少し具体的に話を進めるつもりです。まずは、以下に示したアルゴリズムの一般的な動作をご覧ください。 部屋の生成 はじめに、幅と高さを持つ部屋を円の中にランダムに配置しましょう。TKdevのアルゴリズムは、各部屋のサイズを生成するのに正規分布を用いています。これは一般的にとてもいいアイデアです。なぜかと言うと、これによってより多くのパラメータを扱うことができるようになるからです。幅/高さの平均と標準偏差間の異なる比率を選ぶと、通常は見た目の違うダンジョンとなります。 ここで実行すべき関数は getRandomPointInCircle です。 function getRandomPointInCircle(radius) local t = 2

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • 20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由 Googleは検索サービスやGoogle Apps、Google Cloud Platformなど巨大なサービスを多数運営しています。その同社は、20億行にもおよぶソースコードの管理をサービスやプロジェクトごとに分けず、すべて単一のリポジトリで管理しているそうです。 先週9月14日にサンノゼで開催されたイベント「@Scale」で、Googleによるセッション「The Motivation for a Monolithic Codebase: Why Google Stores Billions of Lines of Code in a Single Repsitory」(単一コードベースへの取り組み:なぜGoogleは単一リポジトリに数十億行ものコー

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由
  • Gitのつくりかた | メルカリエンジニアリング

    はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals

    Gitのつくりかた | メルカリエンジニアリング
  • 関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも

    codicとは codicは、日頃、変数名や関数名に頭を悩ませるプログラマのためのネーミング辞書です。 以前は、プログラマ向けの単語辞書といった感じだったのですが、Ver.3からは、「日語を入力すると、ふさわしい名前を勝手に生成してくれる」という仕様になりました。 例えば関数名を作るのに、「従業員数を取得する」と入力するだけで「get_employee_count」という名前を勝手に生成してくれます。 これだけでも、かなり便利なんですが、codicにはその他にも、プログラミングのための便利な機能が満載だったので、その使い方などを紹介したいと思います。 codicの使い方 codicの主な機能は、日語を入力すると、勝手にネーミングを生成してくれると言うことです。 ただ、ちょっとした使い方次第で、より便利に利用できるので、その使い方などの紹介です。 基機能 まずは、基的な機能、「日

    関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも
  • Gitのデータモデル

    近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基的なコマンドを実行した時のオブジェクト関係を解説します。 基概念 Gitの基概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文

    Gitのデータモデル
  • PlantUML + IntelliJ IDEA - タケユー・ウェブ日報

    恥ずかしながらPlantUMLというツールを知らなかったんだけど、IntelliJ IDEAのPlantUMLプラグインで初体験。なにこれ快適。 テキストファイルなので、シーケンス図、クラス図などいろんな設計がVCSで管理・マージできるすばらしさ。 IntelliJ IDEAのPlantUML integrationでサクサクライブビュー。マウスとキーボードを往復せずとも書けるので思考を途切れさせません。 プロジェクトファイルと一緒に管理していれば不整合も減らせそう。 導入手順 プラグインリポジトリで'PlantUML integration'検索、インストール。PlantUML体も含まれる?ので別途インストールは不要です。 シーケンス図以外の描画に使う'graphviz'をインストール。macなら'brew install graphviz'でOK。 プラグインの設定でgraphviz

    PlantUML + IntelliJ IDEA - タケユー・ウェブ日報