スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コンパイラ、シェアードライブラリ

LAMP環境を構築する為のコンパイラの準備
$ sudo yum install gcc-c++


ビルド = コンパイル + リンク

ライブラリの種類

シェアード(共有)ライブラリ
シェアードライブラリをリンクすることをダイナミックリンクという

スタティック(静的)ライブラリ
スタティックライブラリをリンクすることをスタティックリンクという
元のライブラリからオブジェクトをコピーして実行形式に統合する

拡張子が.soとなっているものがShared Objectの略


ダイナミックリンクのメリット
ディスクを節約できる


シェアードライブラリの確認
lddコマンド
ダイナミックリンクは実行時にリンクする為、実行しようとしたら
ライブラリがない、という事が起こりえる。パッケージ管理ではなく、
独自にビルドする場合は注意する事。

参考URL
http://www.atmarkit.co.jp/flinux/rensai/buildlamp/lamp_07/07_1.html

アジャイル開発勉強会 復習

XP
C3プロジェクトを救うプログラミング
プログラミングが中心の考え方

現実的かつ具体的なものに価値をおく。

良い点
見やすいコードを書く
レビュー、標準化

悪い点
更新されないドキュメント
重複するドキュメントを繰り返し作成する

変化することがXPの基本思想

変化への適応を前提とする

実績を重視する
過去に蓄積した実績値を用いる

5つの価値
抽象度が高い←同じプロジェクトはないから
コミュニケーション
 その現場で一番良いものを選ぶ
シンプル
 その現場で最適なものを選ぶ
フィードバック
 多い方が良い
勇気
 正しいと判断することを実行する
尊重
 他人の見解を尊重する

後工程の変更は大変

管理変数として、QCDを使用する。
開発規模は、明示されていない。 
でもQCDってよくわからない。

イテレーション開発
極小のウォーターフォールの集合
小さな設計/開発を何度も繰り返す

何度もリリースする
それだけでも動くものを顧客へプレゼンする
全部完成するまで待たなくても、一部の機能からメリットを享受することができる

要件/作業はカード単位
見積もりはカード単位で行う

ストーリー
ストーリーをカードに分割

手短な設計
テスト
コーディング
リファクタリング

XPの管理変数
Resource
Time
Quality
Scope

プラクティス
習慣/実践項目
変わる為のヒントが、プラクティス

メタファ
 共通の言葉を、全員で共有する
 
ただ、プラクティスを間違った方法でやってもダメ。
原則を 

設計 Design
サンプルプログラム
フローチャート
UML
メモ

ペアプログラミング
仕様を決める
ToDoに落とす
各ToDoの優先順位を決め、見積もりする
ドライバーはコーディングをする。
ナビゲーターはドライバーをナビゲートする。
 レビュー
 ToDoの確認
 実績時間記入
 相談相手
 その他モロモロ
ドライバーが詰まったら、ナビゲーターと交代する
疲れたら適度に休息する

効果
 品質
  レビュー密度がアップ
  ペアの指摘で抜け/漏れが低減する
 効率
  隣の相談相手を使いシンキングタイム削減
  誤りを即座に修正
  一人が休んでも、もう一人がカバー
  ペアでスキルが伝播されるため開発しながら教育が可能
 メンタル
  しっかり開発している充実感が得られる
  成功を分かち合う相手がいる

弱点
 慣れてくるとサボってしまう
 長時間続けるとソロプログラミングしたくなる
 いやな相手とペアを組むと効率が低下する
 開発以外の作業がすすまなくなる

組み込み 実験 復習

PIC18F4550

ハンドアセンブル

マニュアルのGOTOを参照

org 0h ※アセンブラ指示語

goto start(00800h)
1110 1111 0000 0000
1111 0000 0000 1000

800番地
movf 1, 0, 0 ※movf f{,d,{a}}
d = 0, a = 0, f = 0000 0001
0101 0000 0000 0001

802番地
addwf 2, 0 ,0
0010 0100 0000 0010

804番地
movwf 3,0
0110 1110 0000 0011

806番地 ※自分からどれだけ離れているか、相対ジャンプ
    ※フェッチが終わったら、プログラムカウンタは808番地を指している
     foreverに飛んでくるには、-2しないといけない
bra forever ※00800hから、6バイト
1101 0nnn nnnn nnnn ※nnn nnnn nnnnには、相対距離を記述する

000 0000 0010 2
111 1111 1101 反転(1の補数)
111 1111 1110 -2 

従って、nnn nnnn nnnには
111 1111 1110

end

★アセンブリ言語 文法
[ラベル][命令][オペランド]
行頭から フィールド 区切りor空白orTAB

★MPLAB IDEの使い方
new project
standalone
Family: PIC18
Device :4550

Simulaterを選ぶ

Select compiler
mpasmを選ぶ
Finish!

Source Filesを選択して
右クリック→New File→Empty File
test.asmを作成
################# test.asm #####################
#include

org 0h
goto start

org 800h
start
movf 1,0,0
addwf 2,0,0
movwf 3,0
forever
bra forever
end
##########################################

ビルドして、サブフォルダのtest.listを確認する

組み込み 実験 復習

PIC
Peripheral Interface Controller
マイクロチップ社の開発
http://www.microchip.com/
CPUの機能を分散して周辺機器の制御を行うために開発されたIC

特徴
様々なインタフェース回路を内臓していてコンパクト
いろいろなICを組み合わせなくてもPICだけで制御部を構成できるので回路をコンパクトに作ることができる

SUBOARD 2
Sabanci University Board 2

基本構成
メモリマップ
RAM
BSR Bank Select Register
GPR General Purpose Register
Access Bank

SFR SPECIAL FUNCTION REGISTER
File Select Register

機械語
オペコード
オペランド

ニーモニック
mnemonic 記憶を助ける

アセンブリ言語
人間が理解しやすいニーモニックで表記したプログラム

ハンド・アセンブル
人の手でアセンブリ言語を機械語に翻訳すること

bit7-5
Unimplemented bit, read as '0' 演算の結果の正負を示す

bit4
Negative bit
1 = Result was negative
0 = Result was positive

bit3
Overflow bit
1 = Overflow occured for signed arithmetic
0 = No overflow occured

bit2 Zero bit
1 = The result of an arithmetic or logic operation is zero
0 = The result of an arithmetic or logic operation is not zero

bit1 Digit Carry Borrow bit 桁上がりの判定
1 = A carry-out from the Most Significant bit of the result occured
0 = No carry-out from the Most Significant bit of the result occured







djangoとEclipseの連携 on Linux Mint 12

まずPyDevプロジェクトMyProjectを作成

eclipseから
Djangoプロジェクトmysiteを作成

Eclipseに戻り、「Navigator」タブのプロジェクト(MyProject)を右クリックし、「Refresh」を選択します。
これによって、先ほど作成したDjangoプロジェクトのファイルが反映。

メニューから「Run」-「Debug」を選択
Debug Configurationをいじる

「Python Run」を開き、「New_configuration」を選択。

「Project」の「Browse」ボタンを押し、プロジェクトを選択。

「Main Module」の「Browse」ボタンを押し、「manage.py」を選択
Arguments」タブ
「Program Arguments」に「runserver –noreload」と入力
「Apply」ボタンを押し、設定を適用

Debugボタンで実行

参考URL
Ubuntu 8.0.4にDjangoの開発環境を作る(2)EclipseとPydevの設定
http://www.gesource.jp/weblog/?p=603
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。