Help us make these docs great!All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request. Make a contributionLearn how to contribute
![Using Git - GitHub Docs](https://cdn-ak-scissors.b.st-hatena.com/image/square/c852e55126697503d2d6aa748d905fcfaf8eface/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fimages%2Fmodules%2Fopen_graph%2Fgithub-logo.png)
ローカルで持っているGitリポジトリをGitHubにpushしてしまいたいなぁ、と思ったのだが、pushする直前にAuthorおよびCommitterとして自分の本名を使っていることに気づいた。そういえば、Gitを使い始めたころはuser.nameに正直に本名を入れていたなぁ…。 そのままでも大した問題はないのだが、ネット上ではidesakuで通すことにしているので、こいつらを修正した。その際、あまり使わないコマンドを使ったので、作業ログなど残してみる。 さて、どうすればよいか。すぐに思いついたのは、git-rebaseを使うことである。 ところで、Gitは全てのコミットにAuthorとCommitterの二つの名前を記録している。これは、オープンソース分野でよくある「パッチを書いた人(Author)と、それをリポジトリにコミットした人(Committer)が違う」ケースに対応するための措
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "クリーネ閉包" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年5月) クリーネ閉包(くりーねへいほう、英: Kleene closure)は、形式言語とオートマトンの理論において、ある演算の繰り返しが「生成」するシンボルないし文字の列(文字列)の集合である。また、この繰り返しの単項演算子をクリーネスター(英: Kleene star)という。 集合 V に対するクリーネ閉包の適用は、V* と表す。スティーヴン・コール・クリーネがある種のオートマトンを特徴付けるために導入した方法である、正規表現でよく用いられる。 V が文字列の集
19. What is Blocking? コアが増えるほどに問題が顕著に! 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… クリティカルセク ション
レベル:10英検:準1級以上の熟語学校レベル:大学以上の水準TOEIC® L&Rスコア:730点以上の熟語
STMはソフトウェアトランザクショナルメモリの略です。 ↓とりあえずwikipedia http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%A1%E3%83%A2%E3%83%AA 日本でSTMの話題を検索すると「楽観的ロックでしょ?」といった発言を見かける事が多く、確かに実用的な手法の多くはロックベースだったりしていますが、正直なところロックベースな手法のSTMはデータベースでのトランザクションと似ているフシがあったりしてデータベースに詳しい人からするとそれほど驚くような手法ではない事が多いのです。その
計算機科学において、ソフトウェアトランザクショナルメモリ(英: software transactional memory, STM)は、データベーストランザクションに似た並行性制御機構であり、並列計算を行う際の共有メモリへのアクセス法である。この機構はロックベースの同期を用いた並行性制御の代替手段として機能し、ノンブロッキングな方法で実装される物もある。ここでいうトランザクションとは、共有メモリに対する一連の読み出しと書き込みを実行するコードを意味する。論理的にはこれらの読み出しと書き込みは、時間的なある一点で行われ、他のトランザクションからはその間の状態は見えない。トランザクションを行うためにハードウェアにサポートさせるアイデア(ハードウェアトランザクショナルメモリ)は、1986年に Tom Knight により論文と特許として出された。そのアイデアを普及させたのが Maurice H
「プログラマが知るべき97のこと」の55個目のエピソードは、並列処理に関する話です。並列処理に関する関心は日々に高まっています。プロセッサのクロック速度の向上はやや頭打ちになってきており、高速に処理を行う為にはコアを増やす傾向なのです。家庭用のPCでもデュアルコアは最低限のスペックですから、家庭で使うようなちょとしたフリーソフトであっても、並列処理を考慮する価値は十分にある時代です。しかし、並列処理は非常に難しい技術です。タイミングやデッドロックの問題、メモリのアトミック性に伴う問題などたくさんのことを学ぶ必要があります。Javaであれば、「Java並行処理プログラミング」は必読書と言えるでしょう。一時期は絶版状態でしたが、復刊運動の結果、入手もできるようになりました。 このエピソードでは、そんな並列処理の1つの技法であるメッセージパッシングについて書かれています。メッセージパッシングにつ
エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない本日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな
最近ローソンでお菓子をたくさん買った田中です。 近頃読んで面白かった論文を紹介したいと思います。 A Play on Regular Expression 今年のICFPでFunctional Pearlとして発表されたものです。ICFP(International Conference on Functional Programming)というのは、関数プログラミングに関する国際学会で、Functional Pearlというのは、エレガントでためになる、関数プログラミングのテクニック集です。 この論文ではまず、正規表現マッチャを関数型言語(Haskell)でいかにエレガントに記述できるかが示されます。それから、エレガントさを保ったままの線形時間実装へ改良し、その実装がC++によるプロフェッショナルな実装(具体的にはGoogle re2)に匹敵するパフォーマンスを示すことが示されます。さら
iterateeって良く聞くけど何が良いの、と思ってるHaskellユーザのためのメモ。iterateeについては既に日本語の紹介が複数あるが、この記事では実装の詳細に立ち入らず、何が嬉しくてあんな奇妙なインタフェースになっているかについてだけ説明する。具体的なライブラリは使わず、出てくるHaskell風のコードは全て疑似コード。 データ源と処理の分離 iterateeは何をするものかを一言で言うと、データを取得しながら回すループを簡単に書くためのものだ。典型的には、ファイルやソケットからデータを受け取り、それを加工して、画面に出力したり統計を取ったりする。これを素朴に書くと、readやrecvをして、EOFを判定し、加工し、最終的な処理をするまでを一つのループ内で行うことになる。ループが大きくなってくるとこれは嫌なので、ループを分解して、データの取得、加工、最終処理をそれぞれ別々に書いて
Play2.0がついにリリースされました。早速ダウンロードしてかねてより興味のあったWebSocketで遊んでみようとしたところIteratee/Enumeratorなるものにぶち当たりました。 とりあえずソースを見てみるもののさっぱり理解できず、google先生に泣きついたところどうやらHaskellから来た概念のようで日本語の解説としては以下のページを教えてもらいました。 iterateeとは何か、何が良いのか Enumerator Package – Yet Another Iteratee Tutorial 使ってみよう Enumerator 現時点での理解をもとに簡単な関数から初めてPlay2.0のIterateeに迫ってみたいと思います。 Inputとstep関数 Iterateeは「入力を受け取り何かをする」ということを抽象化したものだそうです。 というわけでまず入力を表すI
バレンタインチョコ欲しい! 田中です。 Iterateeの素晴らしいチュートリアルを見つけたので、今回はその翻訳をお届けしようと思います。以前、The Monad Reader Issue 16 のiterateeの記事をベースにした解説記事を書いたのですが、こちらの記事はかなり概念的なところから始まり、結構天下り的にiterateeの定義を受け入れていたのに対して、こちらの記事は、一貫して具体例からの抽象化で話が進み、また易しく書かれているので、比較的理解しやすいと思います。また、実際の実装に即して解説されていますので、読み終えて即実際に使ってみることが出来るでしょう。 このチュートリアルを書かれたMichael Snoymanという方は、現在YesodというHaskellのWebフレームワークを精力的に開発されています。Yesodには実際にiterateeがふんだんに用いられており、そ
PFI Seminar 2011/12/08(前編) 1 視聴数 長さ: 29:41 エラー処理を書いてはいけない(前編) 埋め込みコード:録画 <iframe src="http://www.ustream.tv/embed/recorded/19005140" width="608" height="368" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe> カスタム: 横幅: px 高さ: px 古いエンベッドコードを使う <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv711331" name="utv_n_129004"><p
先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "安定ソート" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2022年5月) 安定ソート(あんていソート、stable sort)とは、ソート(並べ替え)のアルゴリズムのうち、順位が同等な複数のデータのソート前の前後関係が、ソート後も保存されるものをいう。つまり、ソート途中の各状態において、常に順位の位置関係を保っていることをいう。 たとえば、学生番号順に整列済みの学生データを、テストの点数順で安定ソートを用いて並べ替えたとき、ソート後のデータにおいて、同じ点数の学生は学生番号順で並ぶようになっている。 例1:学生番号順 成績データ
オンラインアルゴリズム(英: Online algorithm)は、入力全体を最初からアクセス可能にしなくても、先頭から順に処理していけるアルゴリズムを指す。これに対して、オフラインアルゴリズム(英: Offline algorithm)は、問題を解くのに最初からデータ全体へのアクセスが必要なバッチ処理型アルゴリズムを指す。例えば、挿入ソートはオンラインアルゴリズムで、選択ソートはオフラインアルゴリズムである。 また、時系列データをリアルタイムに処理して未来を予測するようなアルゴリズムを特に「オンラインアルゴリズム」と呼ぶ場合もあり、その場合単に入力を蓄積せずに逐次的に処理するアルゴリズムを「ストリームアルゴリズム」と呼ぶ。 例として、有限な連結グラフにおける最短経路問題を考えてみよう。ひとつのノードが入力され、そこから次の連結されたノードが辿れるようなデータ形式の場合、単純かつ完全な探索
phpAds / phpAdsNew / OpenAds / OpenXTM downloads The purpose of this page This page contains all versions of the phpAds / phpAdsNew / OpenAds / Openx OpenXtm open source advertising software, the most popular open source advertising software in the world. This page exists because the open source version is not available for direct download anymore. For that purpose, we are offering direct download
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
集合論及びその応用としての数学におけるクラスまたは類(るい、英: class)は、集合(または、しばしば別の数学的対象)の集まりで、それに属する全ての元が共通にもつ性質によって紛れなく定義されるものである。「クラス」の正確な定義は、議論の基礎となる文脈に依存する。例えば、ツェルメロ=フレンケル集合論 (ZF) ではクラスは厳密には存在しないが、他の集合論(たとえば、フォン・ノイマン=ベルナイス=ゲーデル集合論 (NBG))では、「クラス」の概念は公理化されている(NBG の例だと、別の量 (entity) の要素にならないような量としてクラスが定義される)。 (どのような定式化を選んだとしても)「全ての集合の集まり」はクラスである。(ZF では厳密な言い方ではないが)このクラスだが集合でないようなものは真のクラス (proper class) と呼ばれ、集合となるようなクラス(つまり集合)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く