最近話題のPMO(プロジェクトマネジメントオフィス)とは、一体どんな役割を果たすべき組織なのか。この点を見失うと、PMOは簡単に機能不全に陥ってしまうだろう。本連載は、「プロジェクトマネジメントを組織的に実施する」「プロジェクトマネジャを煩雑な管理作業から解放する」「プロジェクトの潤滑油としてコミュニケーションを円滑にする」といったPMOの実務に関する知見を紹介していく。 目次
はじめに プロジェクト・マネジメント・ソフトウェア(例えば Microsoft Project)を使いこなすにはスケジューリング理論の基礎を理解していることが必要です。 現場ではプロジェクト・マネジメント・ソフトウェアが勝手に日程をずらす!とか、組みたい日程で設定させてくれない…というぼやきをよく聞きます。ですが、これらの挙動はプロジェクト・マネジメント・ソフトウェアが設定されたタスク・リソース・順序関係・制約からスケジュール理論を基に最適解を導き出そうとした結果であることがほとんどです(まれにバグやソフトウェアの制約のこともありますが)。つまり、プロジェクト・マネジメント・ソフトウェアの基礎をなすスケジューリング理論を学ぶことで、それらの挙動の理由を知り、真価を発揮することができるのです。 本エントリではプロジェクト・マネジメントのためのスケジューリング理論の基礎を学ぶことに役立つ資料を
タスク管理に効く!Trelloオススメ拡張機能5選それではさっそく順番に紹介していきましょう。 オススメ拡張機能①:リストを画面全体に表示する「List Layouts for Trello」最初にご紹介するのは、通常横方向に並ぶリストを 段組み、もしくは縦方向に並べるための拡張機能です。 ダウンロードはこちらから 画像を見てもらった方が分かりやすいかと思います。 拡張機能を入れる前はこのようなリストの並び方をしています。 とにかく作ったリストの分だけ横方向に伸びていきます。 前回の記事で日付別にリストを作って処理する方法を紹介しましたが、この方法だととにかくリストの数が増加します。 その度に横方向にスライドしながら確認するのは面倒だし、視認性もそもそも悪いです。 初期状態のTrelloはこの辺りの使い勝手は あまりよろしくないと感じるんですよね…。 これを解決すべく拡張機能をList L
行・列の追加が簡単になっていた クラスメソッドでは業務で Google スプレッドシートを使う機会が多いのですが、行や列を追加する作業は面倒です。 そんなときにはもっぱらショートカットなわけですが、以前は「メニューを呼び出す」または「前の作業を繰り返す」という方法しかありませんでした。気づいたら行・列のショートカットが機能追加されていたので、簡単ではありますが共有します。 行・列をショートカットで追加する Google スプレッドシートのショートカット一覧は、下記に記載されています。 Google スプレッドシートのキーボード ショートカット - パソコン - ドキュメント エディタ ヘルプ 行・列を追加するショートカットは、次の通りです。 ⌘ + option + = 行の場合でも、列の場合でも同じショートカットです。 効果は現在の選択状態によって変わります。1行全て選択している状態であ
intro 先日の Go のカンファレンス GoCon で、 Go の並行処理周りについて発表させて頂きました。 Go Conference 2013 spring - connpass 具体的には Goroutine や Channel の話ですが、これらの機能は結構面白くて、いじって遊んでるだけでもわくわくします。 Go の並行処理は、設計方針がわりと特殊だと思うのですが、設計がシンプルなので分かるとそこまで難しくはないです。 (使いこなすのは、経験が必要そうですが) 今回話すにあたって色々調べましたが、発表時間の都合上省いたものもあるし、質疑応答で聞かれて応えられなかったこともあるので、 ここでまとめて置こうと思います。 発表資料 今回の発表資料はこちらです。 このブログの内容は、これをベースにします。 http://jxck.node-ninja.com/slides/gocon-
この記事は初心者 C++er Advent Calendar 2015の21日目の記事です. 昨日はshunonymousさんの「 C++でプログラムの動作を一定時間止める」でした. まるで初心者向けの記事を書けないかのような言われようですが1,氏の期待通り初心者向けの記事を書いたつもりです. 初心者の皆さんがこの記事を読んで初心者から一歩脱してくだされば幸いです. また,マサカリは大歓迎なのでバンバン投げてください. あじぇんだ C++において多用されるRAIIという技法の考え方とメリット・デメリットについて,同様の目的で用いられることのあるGCとの対比も交えつつ紹介していきます. ちなみに私はGCとかJavaとかよく知らない初心者なので,大嘘を書く可能性があります.もし誤った記述を見かけた際には是非コメントを下さい. 初心者向けです. 考え方自体はC++98でさえも通用しますが,コード
Linux カーネルのプロセススケジューラの核である kernel/sched.c の schedule() を読み進めていくと、タスク切り替え(実行コンテキスト切り替え)はその名も context_switch() という関数に集約されていることが分かります。2.6.20 の kernel/sched.c だと以下のコードです。 1839 static inline struct task_struct * 1840 context_switch(struct rq *rq, struct task_struct *prev, 1841 struct task_struct *next) 1842 { 1843 struct mm_struct *mm = next->mm; 1844 struct mm_struct *oldmm = prev->active_mm; 1845 184
http://ameblo.jp/nikko-inma/entry-11122429825.html http://b.hatena.ne.jp/entry/ameblo.jp/nikko-inma/entry-11122429825.html ふむふむ、なになに、PHPはクソ言語で、C++もVBもクソで、 きっちり書きたいときはC きっちり書きたいときはC きっちり書きたいときはCイスから転げ落ちるわ!!! ちょっとこれはPHPerとしては突っ込まざるを得ない。 いつ突っ込むかって? 今でしょ!! とりあえず上記サイトで書かれてるサンプルじゃあ代入と参照が深く理解できないだろうってこともあり、その部分補足してみよう。 まずサンプルプログラム <?php $a = 1; xdebug_debug_zval( 'a' ); $b = $a; //これはただの値の代入(ただしこので時点でbの変
grpc の DialOption のオプション設定方法が上手いなーと感心したのですが、初見で理解するのが難しかったので備忘録がてら解説してみます。 やりたいこと golang にはオーバーロード(同名メソッドでも引数によって呼び出されるメソッドが変わるやつ)がないので、任意のオプションを取るメソッドを作るのに工夫が必要です。 可変引数の仕組みはあるので任意数の値をメソッドに渡したり、オプション用の struct を引数に取ることで実装できなくはないのですがデメリットがあります(後述)。 DialOption がそのへんの葛藤を上手いこと解決していたのでご紹介。 ダメだった例 はじめに検討したのですがよろしく無かった例です。 可変引数でオプションを渡す オプション用の struct を渡す 可変引数でオプションを渡す golang では可変引数の仕組みがあるので、任意数のオプションを渡すこ
概要 C++のヘッダはインクルードが必要なのか不要なのか判らなかったリ、 順序によってどのような問題が起きるのか判らんけどとりあえず#pragma onceつけとけば問題無いよねとか、 大きな開発の場合初めからちゃんとやっておかないと後々解決しようがない程の問題(コンパイル速度)に発展しかねない危険も孕んでいたりと手軽に利用できる割には闇が深いです。 そこらへんについて自分の知識でまとめてみようと思うので、 間違っていたりこんな考えもあるみたいなのもあったら是非コメントでまさかりを投げてください! 出来る限り初心者の方でも判るように説明する予定です。よく判らないとかあったら言ってくれれば頑張ります。 結構長い解説になりそうなので数回に分けようと思います。 今回は初回なのでとりあえずインクルードの基礎的な知識について解説します。 includeする目的を考える 関数やクラスの宣言はヘッダに書
私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも本当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ
以降では「Visual Studio Code」を「vscode」と略します。 表示しているファイル内のシンボルの一覧を表示する vscodeでは、関数やクラス、メソッド等を「シンボル」として認識します。 以下のキーを押すと、表示しているファイル内のシンボルの一覧が表示されます(関数やクラス、メソッドの一覧が表示されます)。 mac windows 上述のキーを押した後、「:」をタイプすると、シンボルがクラスやメソッド等のカテゴリごとにソートされます。 一覧からシンボルを選択し、Enterキーを押すとそのシンボルに移動します。 シンボル名で検索する 以下のキーを押した後、シンボルの名前の一部をタイプすると、そのタイプした文字列に合致するシンボルをプロジェクト内のファイルの中から検索し、該当するシンボルの一覧が表示されます。 mac windows
前書き 特におすすめのものには**をつけてます 内容について : 特に言語に偏らず 一般エディター機能の拡張をまとめています 目次 定番拡張 カーソル拡張 入力サポート拡張 視覚サポート拡張 サイドバー拡張 カスタムビュー拡張 ステータスバー拡張 Markdown拡張 Git拡張 サイト作りの時に便利になる拡張 スニペット あれば便利かもしれない拡張 他サービスとの連携 みため 定番拡張 Visual Studio Code Setting Sync ** by shan khan version : 2.8.2 Gistを使って設定をバックアップします jumpy ** by wmaurer version : 0.3.1 Atomで人気だった拡張のVSCode版です https://marketplace.visualstudio.com/items/wmaurer.vscode-ju
Go言語のInterfaceの考え方、Accept interfaces,return structsGo言語interface Go言語の優れた特徴の一つとして、Interfaceが挙げられることがあります。 Interfaceを持つJavaやC#のような他言語と比べ、GoのInterfaceの言語機能における主な違いは 静的言語のように静的にチェックされるメソッドの羅列を宣言できるinterfaceでありながら ダックタイピングや型アサーションによって動的言語のように柔軟な使い方ができることです。 しかしこれだけでは単に、ケースに合わせて使い分けることができる選択肢を得ただけのように聞こえます。 実際にはGo言語のパッケージ、型システム、そして文化的特徴によってGo言語特有の軽量でシンプル、そして有機的なInterfaceを表現できます。 Go特有でGoらしいGoのInterfaceで
ゲームプログラミングでのお話です。 ゲームプログラミングでは、通常キャラクターの速度や座標を小数で保持します。 DirectXでは、これらの値を保持するためのベクトルクラスが定義されています。 D3DXVECTOR3などのクラスです。このクラスはx,y,zのメンバ変数を持ち、 速度や座標を表すことができます。 struct D3DXVECTOR3 { : FLOAT x; FLOAT y; FLOAT z; : } ここで見てほしいのが、メンバ変数x,y,zの型です。型が「FLOAT」なのです。 (※FLOAT型はここではfloat型と同義と考えてください) なぜdouble型ではなく、FLOAT型が使われているのか?理由は2つあります。(もっとあるかも) CPUではdouble型の方が計算速度が速いが、GPUではFLOAT型の方が速い double型が8byteでFLOAT型が4byte
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く