サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
img.atwiki.jp
メモリにはミラーになっている部分が多くあります。これらはハードウェア的には同じ場所 (つまりアドレスラインが浮いている)です。ミラー部分へのアクセスは基本的には避けるべきでしょう。 カートリッジメモリ カートリッジには基本的にプログラムを格納したPRG-ROMとビデオメモリのキャラクタパターン格納に使用される RAMもしくはCHR-ROMの2つからなります。しかし、プログラムに使用できるメモリ空間が32KByteととても狭いため、 初期のカートリッジを除いてバンク切り替えによる拡張が行われています。 これらカートリッジの種別をエミュレータではマッパーと呼んでいます。 マッパー#0 マッパー#0はバンク切り替えのない最も基本的なカートリッジです。32KByteもしくは16KByteのPRG-ROMと 8KByteのCHR-ROMからなります。 ネームテーブルの配置は物理的に結線されネームテー
機械学習による自然⾔語処理 チュートリアル 〜PerceptronからCRFまで〜 岡野原 大輔 東京大学 Preferred Infrastructure 2008 8/3@PFI本郷オフィス 目次 • 自然⾔語処理 紹介 • 機械学習導⼊ • パーセプトロン • バッチ学習 (最大エントロピー法) • 過学習/正則化 • 多クラス分類 • 系列分類 (CRF, Structured Perceptron) このへんで 眠くなる 自然⾔語処理 (1/2) • ⾔語情報をコンピュータで処理する – コンピュータ⾔語の研究との対⽐で自然⾔語 – 世界最初のコンピュータの出現の頃から自動翻訳は 試みられている。コンピューターサイエンスの中で も歴史の⻑い分野 – 近年ビジネス的にも成功, Googleなどなど • 非常に幅広い分野と接触する、境界領域 – 処理する⼿法 = ⾔語学, 数学, 統
文字列比較 // s1 と s2 を func で処理し比較した結果を戻す const int xcompare(const std::string& s1, const std::string& s2, int (*func)(int num)=toupper) { assert(s1.size()==s2.size()); // s1 と s2 の長さは同じなはず int result=0; std::string::const_iterator it1(s1.begin()); std::string::const_iterator it2(s2.begin()); const std::string::const_iterator end1(s1.end()); const std::string::const_iterator end2(s2.end()); for( ; it1
Git は 3方向マージを行なう手助けをします。これは 任意の回数繰り返すことにより n方向マージに拡張することができます。 通常は3方向マージ(2つの親によるマージ)のみを行ないますが、 複数の親を1回でマージすることもできます。 3方向マージをするには、マージする2組の "commit" オブジェクトが 必要です。これを使用し共通の親(3番目の"commit"オブジェクト)を見つけ、 それら commit オブジェクトを使用してディレクトリ("tree" オブジェクト) の状態を探します。 マージの "ベース" を得るには、まず次のようにして 2つのコミットの共通の親を見つけます。
git-bisect(1) コマンドはマージコミットを含んだ履歴を正確に扱います。 しかし、コミットがマージコミットである時は、そのコミットが何故問題を起こしている かの原因を見つけ出すのに苦労することがあります。 次の履歴を考えてください: ---Z---o---X---...---o---A---C---D \ / o---o---Y---...---o---B上側の開発ライン上のコミットXにて Zから存在する関数の意味が 変更されたとします。ZからAにつながるコミットは、関数の実装を変更し、 Zの時点で存在する全コール箇所と新しく追加したコール箇所の両方を変更して、 矛盾のない状態にしていたとします。 A の時点ではバグはありません。 それと同時に下側の開発ラインではコミットYにてその関数の新しい コール箇所を追加していたとします。 ZからBにつながるコミットの全ては、その関数の古い
要件定義、基本設計、詳細設計、プログラム設計、テスト、運用というシステム構築の手順が一般的に浸透しているが、このプロセスは 実践ではほとんど守られておらず、要件定義の中で、ユーザと一緒に一部分を掘り下げて行っているうちに混合されることが多い。 ここではその区別について考える。ただし、実践手順が多少、イレギュラーに設計されるのは全体の合理化を促進しようとするためであり、必ずしも良くないこととは言い切れない。 基本的には必要とされるアクターを考えることが重要だと思われる。 外部設計(システム設計) =システム方式設計+ソフトウェア設計 内部設計 =コンポーネント設計 詳細設計 =プログラム設計 (IPA) 1.システム方式の決定:アーキテクチャーとして、H/W、S/W、N/W手作業を明確化し、文書化する。2..システム方式の評価:要件定義とその実現の可能性を個々の設計、ソフ
マージ作業に行き詰まり、全ての処置を捨て去る場合には、 いつでもマージ前の状態に戻ることができます。次のようにします。
git が自動的にマージできた全ての変更は既に索引ファイルに 追加されています。そして git-diff(1) はコンフリクトだけを 表示します。そうするには通常の構文を使用します: $ git diff diff --cc file.txt index 802992c,2b60207..0000000 --- a/file.txt +++ b/file.txt @@@ -1,1 -1,1 +1,5 @@@ ++<<<<<<< HEAD:file.txt +Hello world ++======= + Goodbye ++>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt このコンフリクトを解決した後、コミットされる予定の内容は 通常と違って2つの親を持っていることを思い出してください;一方は HEAD、つまり現在のブランチ
boost::serializationを使う はじめに コンパイル 簡単な使い方 クラスのバージョン付け 読み込みと書き込みで別の動作を行う 「非侵入型」のシリアル化関数 基底クラスをシリアル化する 配列をシリアライズする constメンバはどうするか ポインタからのシリアライズ:その1 ポインタからのシリアライズ:その2 基底クラスへのポインタから復元する 実装レベル オブジェクトの追跡 抽象クラスでのエラー NVP ロケールの設定 はじめに boost C++ Libraries(以下単にboost)という非常に便利なライブラリがあります。 次期C++標準にこのライブラリのうちのいくつかが採用されるらしいという話もあり、 C++開発者にとっては無視して通れないライブラリです。 そんなboostの中に、serializationというライブラリがあります。 一言で言ってしまえば、「クラ
山本寛&神前暁 2020.10.30 同志社ローム記念館 対談講演 文字起こし ヤマカンwikiのトップページへ戻る ■■■■■■■■■■■~00:00:00■■■■■■■■■■■■ 【司会者】 今日は、京田辺祭クリエイティブなう1日目にお越しくださいましてありがとう ございます。本日の講演者、トークの方、ゲストはですね、皆さんご存知のとおり、「かんなぎ」や「私の優しくない先輩」そして、皆さん、お手持ちだと思いますが、そちらの新作「フラクタル」の作品を手掛ける山本寛監督と、(聞こえにくい)一緒にお仕事されている、神前暁、作曲、編曲家でございます。……ございます、とか言っちゃいました。おふたりには、アニメの世界を中心に、ほとんどフリートークで今回の会を作っていただきたいと思ってます。それでは、お迎えしたいと思います。皆さん、ちょっとドキドキして来ましたか? あの山本寛監督と神前暁さんがいらっ
プロジェクトはよく git に追跡してほしく'ない'ファイルを生成します。 典型的なものとしては、ビルドプロセッサーが生成するファイルや、 エディタが生成するバックアップファイルなどです。もちろん、 git が追跡しないファイルに対して git add`をしなければ良いだけの問題です。 しかし、これら追跡しないファイルがいることでイライラさせられることがあります; 例えば、それらファイルに対しての `git add . は実際に不要であるにも、 関わらず、 git status の出力でそれらが表示されてしまいます。 作業ディレクトリのトップレベルに .gitignore という名前のファイルを作成することで、 無視するファイルを git に伝えることができます。 # '#' で始まる行は無視されます # foo.txt という名前の全てのファイルを無視する foo.txt # (生成され
震災 震災 震災 震災の の の の発生 発生 発生 発生 復興 復興 復興 復興へ へ へ へ 情報の不足/情報通信機器・環境の 不足/安否確認ができない 原発 ・ 放射能汚 染に関する詳 しい情報の不 足 被災地に関する情報の不足 /親類・友人との交流不足 食糧・物品・燃料の 不足/支援の不足 病気、 怪我/集団生活のス トレス/妊婦、乳幼児、障 がい者へのケアの不足 失業、職場の倒壊、 収入元の喪失 避 難 先 の 検討・選択 住居の再建・仕事への復帰 透析等の設備や糖尿病・高 血圧等の薬の不足/エコノ ミー症候群等による苦しみ 復興事業への参画 情報収集 情報収集 情報収集 情報収集と と と と コミュニケ コミュニケ コミュニケ コミュニケ ーション ーション ーション ーションを を を を 支援 支援 支援 支援 心身 心身 心身 心身の の の の健康 健康 健康 健康
$ gitk # 履歴を視覚的にブラウズする $ git log # すべてのコミットを一覧表示する $ git log src/ # src/ 配下のファイルを変更している・・・ $ git log v2.6.15..v2.6.16 # v2.6.16 には含まれているが、v2.6.15 には含まれていない・・・ $ git log master..test # test ブランチに含まれているが、master ブランチには含まれていない・・・ $ git log test..master # master ブランチに含まれているが、test ブランチには含まれていない・・・ $ git log test...master # 片方のブランチには含まれてい
ワークツリーの中の追跡されているファイル群、インデックスファイルに登録されたデータ、 もしくは与えられたツリーオブジェクトのデータの中から、指定されたパターンを検索します。 --cached ワーキングツリー内のファイルを探す代わりに、 インデックスファイルに登録されている塊を調べます。 -a --text バイナリファイルをテキストファイルのように扱います。 -i --ignore-case パターンとファイルの大文字小文字の違いを無視します。 -I バイナリファイルはパターンにマッチさせません。 --max-depth <depth> コマンドラインから与えられたそれぞれの<pathspec>における、下るディレクトリの最大<深さ>を表します。 負の値を与えられた場合、制限なしを意味します。 -w --word-regexp 単語境界(行頭か単語に含まれない文字で始まり、行末か単語に含
git add [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p] [--edit | -e] [--all | [--update | -u]] [--intent-to-add | -N] [--refresh] [--ignore-errors] [--] [<filepattern>…] このコマンドは新しいファイルや修正したファイルのコンテンツを索引に追加します。 結果としてそれらのコンテンツを stage する (次回のコミットに含めるようgitに指示する)ことになります。 "索引" はワーキングツリーのコンテンツのスナップショットをひとつ保持しています。 そしてそのスナップショットは次回のコミットのコンテンツとして扱われます。 従ってワーキングディレクトリに何か変更を加えた後は、 commit コマンドを実
通常コミットはプロジェクトに追加されるのみで、削除したり置き換えられる ことはありません。Git はこの仮定をもとにデザインされており、 この仮定を破ると git のマージ装置は(例えば)間違ったことをしてしまいます。 しかし、この仮定を破ると便利なシチュエーションもあります。 あなたが大きなプロジェクトのコントリビュータであったと仮定し、 複雑な変更を加えたとします。あなたはそれを他の開発者に公表する為、 その変更を読みやすい手順にし、それが正しいとわかることを証明し、 各変更を行なった理由がわかるようにしたいとします。 1つのパッチ(あるいはコミット)として変更全てを公表すると、 大き過ぎる為一度に全てを消化できません。 あなたの作業の完全な履歴を公表するとなると、間違いや訂正、意味無く終わったもの などが全て含まれ、冗長すぎてしまいます。 従って、通常は次のような一連のパッチを生成す
プロジェクトに変更を投稿するもう一つの方法はプロジェクトの管理者に あなたのリポジトリから git-pull(1) を使用して変更を pull してもらうことです。 "git pull を使用して更新する" のセクションで 我々は "main" リポジトリから更新を取得する方法を説明してきましたが、 逆の方向についても同じことができます。 あなたと管理者が同じマシン上にアカウントを持っている場合は、 互いのリポジトリから直接変更を pull することができます; リポジトリの URL を引数として受け取ることのできるコマンドは ローカルのディレクトリ名もまた受け取ることができます:
git bisect help git bisect start [<bad> [<good>...]] [--] [<paths>...] git bisect bad [<rev>] git bisect good [<rev>...] git bisect skip [(<rev>|<range>)...] git bisect reset [<commit>] git bisect visualize git bisect replay <logfile> git bisect log git bisect run <cmd>... このコマンドは'git rev-list --bisect'を利用して、 与えられた過去の"正常な"コミットと、それより後に起きた"不正な"コミットを渡して 二分探索によりバグの発生した変更を探すのを手伝ってくれます。 ヘルプの使い方 "git bis
Git は少ない数のシンプルだが強力なアイデアで成り立っています。 それらを理解しなくても git を利用することはできますが、 理解することで git をより直感的に理解できます。 最も重要なコンセプトである オブジェクトデータベース と 索引(index) の説明から開始しましょう、 既に the section called “履歴の理解:コミット” で見てきたように、全てのコミットは 40桁の "オブジェクト名" で格納されています。実際、プロジェクトの履歴を 表現するのに必要な全ての情報は、そのような名前のオブジェクトとして格納されています。 それぞれの名前はオブジェクト内容の SHA-1 ハッシュによって 計算されています。SHA-1ハッシュは暗号学的ハッシュ関数です。 それはつまり、同じ名前を持つ2つの異なるオブジェクトを見つけるのが 不可能であることを意味します。このことは
大きなプロジェクトは自己完結したより小さいプロジェクトを含む場合があります。 例えば、組み込みLinuxディストリビュションのソースツリーは ディストリビュション内にローカルに変更を加えられたソフトウェアのピースが 含まれています;ムービープレーヤーは解凍ライブラリの特定のバージョンで ビルドできるようにする必要があるかもしれません;幾つかの独立したプログラムは 同じビルドスクリプトを共有しているかもしれません。 集中型のリビジョン管理システムでは、1つのリポジトリ内に各モジュールを含む ことによってこれを実現します。開発者は全てのモジュールあるいは必要なモジュール だけをチェックアウトすることができます。API や翻訳の移動や更新といった 幾つかのモジュールにまたがったファイルを1回のコミットで変更することができます。 Gitは部分的なチェックアウトを許可していない為、Git の複製アプ
新しい開発者にとっては Git のソースコードの構成を理解するのは必ずしも 容易ではないでしょう。このセクションでは、どこから開始したら良いかを 示す小さなガイダンスです。 手始めとして良い場所は、初期コミットの内容を見ることです。次のように取得します: 初期コミットには現在の git のほとんど全ての基礎ができていますが、 ざっと読みとおすのには十分な小ささです。 現在ではこのリビジョンの頃から用語が変更されています。例えば、 このリビジョンの README では現在 コミット と呼んでいる ものを "チェンジセット" と呼んでいます。 また、現在は "キャッシュ" という言い方はせず それどころか"索引(index)" と呼んでいますが、 ファイルは今も cache.h です。(注釈:Not much reason to change it now, especially since
[個々の開発者 (単独)] は単独で作業をする場合でも、 コミットをする人にとって、必要不可欠なコマンドです。 もし他の人と一緒に作業するのであれば、[個々の開発者 (参加者)] セクションのコマンドリストが同様に必要でしょう。 [インテグレーター (統合者)]の役割の人は、上記コマンドに加えて、 さらにいくつかのコマンドを学ぶ必要があります。 [レポジトリ管理者]コマンドは、gitレポジトリ群の 保守と供給の責任を負う、システム管理者のためのコマンドです。 他のユーザとパッチを交換せずに一つのレポジトリ内で単独で作業するような、 独立した個々の開発者は、下記のコマンドを使います。 git-init(1) は新しいレポジトリを作成します。 git-show-branch(1) はあなたがどこにいるかを見ることが出来ます。 git-log(1) は何が起きてきたかを見ることが出来ます。 gi
次のページ
このページを最初にブックマークしてみませんか?
『img.atwiki.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く