日韩精品一区二区亚洲AV观看,国产精品国产亚洲精品看不卡,91亚洲自偷在线观看国产馆http://www.tkk7.com/lucky/<B>平凡的世界</B></br> <font color="blue">看似平常實崎嶇</br> 成如容易卻艱辛</font>zh-cnFri, 09 May 2025 11:25:49 GMTFri, 09 May 2025 11:25:49 GMT60 Effective JAVAhttp://www.tkk7.com/lucky/archive/2016/08/26/431682.htmlLuckyLuckyFri, 26 Aug 2016 09:45:00 GMThttp://www.tkk7.com/lucky/archive/2016/08/26/431682.htmlhttp://www.tkk7.com/lucky/comments/431682.htmlhttp://www.tkk7.com/lucky/archive/2016/08/26/431682.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/431682.htmlhttp://www.tkk7.com/lucky/services/trackbacks/431682.html EffectiveJAVA.html

Effective JAVA

第2章 創建銷毀對象

1.考慮用靜態工廠方法代替構造器

優點

·靜態工廠方法有名稱
·不用每次都創建新實例
·可以返回遠返回類型的任何子類型的對象
·在創建參數化類型實例的時候代碼更簡潔

缺點

·不能被子類化
·它們與其他的靜態方法實際上沒有任何區別
2.遇到多個構造器參數時要考慮用構造器

如果類的構造器或者靜態工廠中具有多個參數,可以考慮使用Builder模式

3.用私有構造器或者枚舉類型強化Singleton屬性

編寫一個包含單個元素的枚舉類型

public enum Elvis{
INSTANCE;
public void leaveTheBuilding*(){
...}
}
">public enum Elvis{ INSTANCE; public void leaveTheBuilding*(){ ...} }
4.通過私有構造器強化不可實例化的能力

讓不需要實例化的類擁有私有(private)構造器來避免被實例化

//Noninstantiable utility class
public enum UtilityClass{
private UtilityClass(){
throw new AssertinError();
}
...
}
">//Noninstantiable utility class public enum UtilityClass{ private UtilityClass(){ throw new AssertinError(); } ... }
5.避免創建不必要的對象

使用靜態的初始化器(initialize)避免創建重復的Calendar,TimeZone和Date實例

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class Person {
private Date birthDate;
private static final Date BOOM_START;
private static final Date BOOM_END;
static {
Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0);
BOOM_START = gmtCal.getTime();
gmtCal.set(1965, Calendar.JANUARY, 1, 0, 0, 0);
BOOM_END = gmtCal.getTime();
}
public boolean isBabyBoomer() {
return birthDate.compareTo(BOOM_START) &gt;= 0 &amp;&amp; birthDate.compareTo(BOOM_END) &lt;= 0;
}
}
">import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class Person { private Date birthDate; private static final Date BOOM_START; private static final Date BOOM_END; static { Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0); BOOM_START = gmtCal.getTime(); gmtCal.set(1965, Calendar.JANUARY, 1, 0, 0, 0); BOOM_END = gmtCal.getTime(); } public boolean isBabyBoomer() { return birthDate.compareTo(BOOM_START) >= 0 && birthDate.compareTo(BOOM_END) <= 0; } }

優先使用基本類型而不是裝箱基本類型,要當心無意識的自動裝箱。

6.消除過期的對象引用

一旦對象引用已經過期,只需清空這些引用即可。

7.避免使用終結方法

終結方法(finalizer)通常是不可預測的,也是很危險的,一般情況下是不必要的。
不應該依賴終結方法來更新重要的持久狀態。
顯式終止方法的典型例子:InputStream,OutputStream,java.sql.Connection的Close

第3章 對于所有對象都通用的方法

8.覆蓋equals時請遵守通用約定
·類的每個實例本質上都是唯一的
·不關心類是否提供了“邏輯相等”
·超類已經覆蓋了equals,從超類繼承過來的行為對于子類也是合適的
·類是私有的或是包級私有的,應該覆蓋父類的equals方法保證永遠不會被調用
9.覆蓋equals時總要覆蓋hashCode
10.始終要覆蓋toString
11.謹慎地覆蓋clone
12.考慮實現Comparable接口

第4章 類和接口

13.使類和成員的可訪問性最小化
14.在公有類中使用訪問方法而非公有域
15.使可變性最小化
1.不要提供任何會修改對象狀態的方法
2.保證類不會被擴展
3.使所有域都是final
4.使所有域都成為私有的
5.確保對于任何可變組建的互斥訪問
16.復合優先于繼承
17.要么為繼承而設計,并提供文檔說明,要么就禁止繼承
18.接口優于抽象類
- 現有的類可以很容易被更新,以實現新的接口
- 接口是定義minin(混合類型)的理想選擇
- 接口允許我們構造非層次結構的類型框架
19.接口只用于定義類型
20.類層次優于標簽類
21.用函數對象表示策略
22.優先考慮靜態成員類

第5章 泛型

23.請不要在新代碼中使用原生態類型
24.消除非受檢警告
SuppressWarnings注解始終在盡可能小的范圍中使用。
25.列表預先于數組
數組是協變得(covariant)。
數組是具體化的。
26.優先考慮泛型
27.優先考慮泛型方法
28.利用有限制通配符來提升API的靈活性
29.優先考慮類型安全的已購容器

第6章 枚舉和注解

30.用enum代替int常量
31.用實例域代替序數
32.用EnumSet代替位域
33.用EnumMap代替序數索引
34.用接口模擬可伸縮的枚舉
35.注解優先于命名模式
36.堅持使用Override注解
37.用標記接口定義類型

第7章 方法

38.檢查參數的有效性
39.必要時進行保護性拷貝
40.謹慎設計方法簽名
謹慎地選擇方法的名稱
不要過于追求提供便利的方法
避免過長的參數列表
41.慎用重載
42.慎用可變參數
43.返回零長度的數組或集合,而不是null
44.為所有到處的API元素編寫文檔注釋

第8章 通用程序設計

45.將局部變量的作用域最小化
46.for-each循環優先于傳統的for循環
 無法使用for-each的情形
1.過濾
2.轉換
3.平行迭代
47.了解和使用類庫
48.如果需要精確的答案,請避免使用float和double
正確的做法:使用BigDecimal,int或者long進行貨幣計算
49.基本類型優先于裝箱基本類型
50.如果其他類型更適合,則盡量避免使用字符串
字符串不適合替代其他的值類型
字符串不適合代替枚舉類型
字符串不適合替代聚集類型
字符串也不適合太呆能力表(capabilities)
51.當心字符串連接的性能
52.通過接口引用對象
53.接口優先于反射機制

反射機制的代價
喪失了編譯時類型檢查的好處
執行反射訪問所需要的代碼非常笨拙和冗長
性能損失

54.謹慎地使用本地方法
55.謹慎地進行優化
56.遵守普遍接受的命名慣例

第9章 異常

57.只針對異常的情況才使用異常
58.對可恢復的情況使用受檢異常,對編程錯誤使用運行時異常

JAVA提供了三種可拋出結構(throwable)
1.受檢的異常(checked exception)
2.運行時異常(run-time exception)
3.錯誤(error)

59.避免不必要地使用受檢的異常
60.優先使用標準的異常
61.拋出與抽象相對應的異常
62.每個方法拋出的異常都要有文檔
63.在細節信息中包含能捕獲失敗的信息
64.努力使失敗保持原子性
65.不要忽略異常

第10章 并發

66.同步訪問共享的可變數據

關鍵字synchronized可以保證在同一時刻,只有一個線程可以執行某一個方法,或者某一個代碼塊。

67.避免過度同步
68.executor和task優先于線程
69.并發工具優先于wait和notify
70.線程安全性的文檔化
71.慎用延遲初始化
72.不要依賴于線程調度器
73.避免使用線程組

第11章 序列化

74.謹慎地實現Serializable接口
代價
1.實現Serializable接口而付出的最大代價是,可改變性變低
2.增加了出現Bug和安全漏洞的可能性
3.隨著類發行新的版本,相關的測試負擔也增加了
75.考慮使用自定義的序列化形式
76.保護性地編寫readObject方法
77.對于實例控制,枚舉類型優先于readResolve
78.考慮用序列化代理代替序列化實例


Lucky 2016-08-26 17:45 發表評論
]]>
解決EXP-00091http://www.tkk7.com/lucky/archive/2013/04/16/397888.htmlLuckyLuckyMon, 15 Apr 2013 16:44:00 GMThttp://www.tkk7.com/lucky/archive/2013/04/16/397888.htmlhttp://www.tkk7.com/lucky/comments/397888.htmlhttp://www.tkk7.com/lucky/archive/2013/04/16/397888.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/397888.htmlhttp://www.tkk7.com/lucky/services/trackbacks/397888.html原文請參照
http://blog.csdn.net/wangjialiang/article/details/6051817

說明:

EXP-00091:
出口可疑的統計。
EXP-00091: Exporting questionable statistics.
產生:
在數據庫的服務器端和客戶端字符集不同的情況下,導出
(dump)
數據庫表時,會產生這個錯誤。雖然產生這個錯誤,但好像對導入沒有影響。
解決:
服務器端數據的字符集查看方法:
1、打開SQLPLUS,用sys用戶登錄。
2、執行
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
其中
'NLS_CHARACTERSET'
必須為大寫。
PARAMETER
-------------------
VALUE
--------------------
NLS_CHARACTERSET
ZHS16GBK
Linux)
oracle用戶的.bash_profile文件加入
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

Windows
1
、打開注冊表,依次進入
HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0
目錄。
2、察看NLS_LANG的值。
3、將其修改為數據庫服務器端字符集相同的字符。

臨時設定環境變量
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK




Lucky 2013-04-16 00:44 發表評論
]]>
Oracle 11G在用EXP 導出時,空表不能導出解決 http://www.tkk7.com/lucky/archive/2013/04/15/397887.htmlLuckyLuckyMon, 15 Apr 2013 15:39:00 GMThttp://www.tkk7.com/lucky/archive/2013/04/15/397887.htmlhttp://www.tkk7.com/lucky/comments/397887.htmlhttp://www.tkk7.com/lucky/archive/2013/04/15/397887.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/397887.htmlhttp://www.tkk7.com/lucky/services/trackbacks/397887.html
            原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://wanwentao.blog.51cto.com/2406488/545154         11G中有個新特性,當表無數據時,不分配segment,以節省空間

  解決方法:

  1、insert一行,再rollback就產生segment了。

  該方法是在在空表中插入數據,再刪除,則產生segment。導出時則可導出空表。

  2、設置deferred_segment_creation 參數

show parameter deferred_segment_creation
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE
SQL> alter system set deferred_segment_creation=false;
系統已更改。
SQL> show parameter deferred_segment_creation
NAME                                 TYPE        VALUE
----------------------------------- ----------- ------------------------------
deferred_segment_creation            boolean     FALSE

  該參數值默認是TRUE,當改為FALSE時,無論是空表還是非空表,都分配segment。

  需注意的是:該值設置后對以前導入的空表不產生作用,仍不能導出,只能對后面新增的表產生作用。如需導出之前的空表,只能用第一種方法。

搞了我好久,最后查到這個方法。

先查詢一下當前用戶下的所有空表

select table_name from user_tables where NUM_ROWS=0;

用以下這句查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

把查詢結果導出,執行導出的語句

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'

-----------------------------------------------------------
alter table AQ$_AQ$_MEM_MC_H allocate extent;
alter table AQ$_AQ$_MEM_MC_G allocate extent;
alter table AQ$_AQ$_MEM_MC_I allocate extent;
alter table AQ$_AQ_PROP_TABLE_T allocate extent;
alter table AQ$_AQ_PROP_TABLE_H allocate extent;
alter table AQ$_AQ_PROP_TABLE_G allocate extent;
alter table AQ$_AQ_PROP_TABLE_I allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_T allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent;

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table AQ$_SYS$SERVICE_METRICS_TAB_T allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_H allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_G allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_I allocate extent;

然后再執行

exp 用戶名/密碼@數據庫名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log


  成功!



Lucky 2013-04-15 23:39 發表評論
]]>
項目百態 筆記 http://www.tkk7.com/lucky/archive/2012/08/28/386413.htmlLuckyLuckyTue, 28 Aug 2012 02:47:00 GMThttp://www.tkk7.com/lucky/archive/2012/08/28/386413.htmlhttp://www.tkk7.com/lucky/comments/386413.htmlhttp://www.tkk7.com/lucky/archive/2012/08/28/386413.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/386413.htmlhttp://www.tkk7.com/lucky/services/trackbacks/386413.html模式1 玩的就是心跳組織相信一直處于忙碌狀態才是正常的,事情沒有優先級,只要是緊急的事件,就會去做,沒有一種任務管理的機制。這實際會降低開發效率。
模式2 快,趕上行動力強,迭代開發,快速出原型。
模式3 死魚即使所有人都知道項目不可以完成,也沒人說出來。在沒償試之前,你就說不能完成,會被人認為你沒信心,害怕挑戰,不努力工作等。
模式4 歡樂的鼓掌會議完全是一種形式的,領導在講話,而且拒絕在會議上提出的問題。
模式5 保姆型項目經理保姆型項目經理類似于英式保姆,負責保護項目成員,為項目成員的成長等提供幫助。對項目成員的能力了如指掌,在分派任務、制訂計劃等時會尋求最佳的契合點。
模式6 牽涉性疼痛發現不了根本問題,往往只注意到表面表現,解決了這些問題,也無法根除根本問題。
模式7 明日復明日緊迫感是實際行動的重要催化劑。如果目標訂的過于粗,時間過于長,往往在項目的前期,成員無法感到緊迫,這個時候往往工作效率是比較低的。
模式8 眼神交流讓成員在一起工作,讓他們有眼神交流,可以更準確、清晰的傳達信息,增加彼此的了解,能獲得最佳的整合效果。
模式9 情緒戒指管理經理不是基于擺在項目面前的風險、決策和問題為匯報項目狀態,而是基于團隊的活動、付出和熱情。
模式10 忠實信徒個體把某種思想派系作為真理來膜拜,與圣典稍有偏差即被認為是褻瀆神靈。項目上的忠實信徒會讓工作止步不前,他們不去專注于內容,反而為方法爭執不休。
模式11 出租靈魂從業者愿意放棄長期練就的技能或者技術。當某個情景下,用另一種技術能更好的實現當前任務時,那就采用這種技術,即使讓你放棄長期堅持甚至精通的技術并不容易,你要能忍受暫時的不適。
模式12 系統開發旅鼠周期雖然組織流程很明顯地需要定制,但項目團隊依然盲從于未定制的標準。
模式13 清空“板凳”組織變得如此精簡,以致于失去任何一個關鍵人物,都會演變成一場災難。所以,要預留一些板凳人員,他們技能較全面,在任一個關鍵人物離開時,他們都能頂上去,以防止項目的中斷。
模式14 面對面分布式團隊通過各地之間大量的面對面交流機會,以建立使遠距離團隊合作成為可能的熟悉感和可靠感。(視頻會議也有一定效果)讓分布式團隊成員有面對面的機會,
面對面可以增加他們的熟悉度與信任感,在后續一起合作時會更高效。如果缺乏面對面的交流,其中一個團隊往往會以高傲的態度對待其它地點的團隊。
模式15 我給了你鑿子,可你為什么不是米開朗基羅經理購買工作、潛意識里希望它們可以賜予團隊技能。“工具的成本不僅僅是工具的價格”。
擁有恰當的技能去使用工具,才是最關鍵的。
模式16 主面板強弱團隊都使用主面板,但用的目的及方法不一樣,面板表達的意義也是不同的。團隊前進動力并非緣于對成功一腔熱情,而是對批評心有余悸。
團隊成員從他們的領導那里秉承了這一特點。
模式17 無休止的集體會議允許無休止的爭辯,最終肯定無法達到任何一項決定。一定要有決策機制,不能允許無休止的爭辯。
要讓成員認識到,最終,一旦做出決定,大家都要無條件接受。
模式18 幼犬和老狗年輕人更有活力,可以帶動組織里年齡比較大的員工,讓他們也充滿活力,老年人這時候往往不敢粗心大意,應付工作等。
模式19 影評人影評人是團隊成員或者公司內部的旁觀者,他們認為自己給項目帶來的價值在于指出問題所在或者將會出現問題的地方,
卻不把解決問題視為自己的職責。影評人的特征:即使自己所處的項目失敗了,他們也能成功。
(認為自己指出了項目中的缺點,從而獲得了個人成功)影評人認為自己的成功與項目的成功是涇渭分明的,而且經常快到項目結束時才參與進來。
之所以存在“影評人”,原因是有些組織的管理文化允許甚至是贊揚影評人,鼓勵影評人的出現。
模式20 單一問責項目的每件任務都清晰地映射到僅僅承擔單一職責的個體身上。每個人都十分清楚自己承擔的職責,以及自己同事承擔的職責。插曲
項目秘密聽上去無關痛癢的詞句背后,是并不友善的深層含義。比如“進度表有些激進”往往意味著“我們有麻煩了”,“這是一次學習經歷”意味著“我們真的搞砸了”等。
模式21
蘇式風格交付的產品包含了客戶要求的功能,但客戶并不喜歡。原因是缺乏與客戶的溝通,產品出來之后,往往與客戶認為的不同。
模式22
自然權力能力吸引權力。即如果自己在某方面或某領域具有相應的很強的能力,則應該有制定相應決策的能力,而并不是僅僅有領導來決策所有。
模式23
萬籟俱寂的辦公室辦公室太安靜,凸顯出團隊已經失去了活力源泉。
模式24
白線通過聲明需要修改的系統/業務領域與直接交互的外部世界之間的每個接口來定義項目范圍。一旦該工作完成,系統范圍就將不再有任何的歧義,你已經借助于接口繪出了白線。
模式25 沉默即同意利害相干人無法區分屈服的沉默和同意。
模式26 稻草人快速完成原型開發,以獲得早期的反饋和認識。
模式27
偽造的緊急性僅僅是為了遏制成本,項目的截止日期被強行安排得非常緊張。信徒的緊急性會引發偽造風險。容易引導組織沒有抓住真正的商業機會去從事高價值的項目,而高價值的
項目風險是值得去嘗試的。
模式28
時間清除了你的手牌經理在項目初期的決定對項目的影響最大。所有優秀的項目經理都要知道何時需要亮出自己的牌,好讓時間無法贏過他們。(也經常因為前期項目沒有緊迫感,導
致項目會出現延期、交付質量差等問題……)模式29 Lewis與Clark項目團隊在前期投入精力,探索新領域并發掘潛能。前期進行項目預研,判斷可行性。
模式30
短鉛筆連續不斷的削減成本,開始影響到組織完成任務的能力。
模式31 節奏團隊通過定期交付,建立起工作的節奏。 (迭代)模式32
加班預兆如果在早期項目成員就已經開始加班,很有可能說明項目已經出現了問題,開發人員可能知道項目是不可能完成的了,而且恐懼文化充斥于組織內部,人們怕項目失敗會承受
責備,所以,通過不斷的加班,來確保當項目失敗時自己不會受到責備。
模式33
撲克之夜來自組織各個部門的雇員聚集在一起,參加與工作角色并無關聯的活動。可以讓人們之間增加聯系,多了一份朋友關系,在工作中更加容易溝通、交流等,為別人做起事來也更
積極。
模式34 錯誤的質量關卡項目中的質量保證工作著眼于格式檢查,而這些工作根本不能給真正的產品質量帶來任何改善。(只注意形式,不注重真正的內容)模式35
測試之前先測試讓測試貫穿于整個項目。
模式36
蘋果酒屋規則項目團隊成員罔顧或者繞過那些由項目工作無關人士制定的規則。成功的項目需要有一些規則和定義良好的流程。但是,規則制訂者眼中的世界和規則遵守者棲息的世界
必須得存在耦合的地方。
模式37 說,然后寫下來項目團隊在交談間得出了決定,然后立刻用書面形式記錄下來以供交流。
模式38
項目中貪多求全貪多求全會放慢速度,導致凈收益降低。給任務安排優先級,把高價值的任務放前面,低價值的放后面。
模式39
巨神阿特拉斯團隊領袖(幾乎)善長一切事情。他們也是精神領袖,帶領著項目成員完成一個個的項目,但領袖起到非常大的決定作用,而且自己完成很多細節工作。不過一旦這個領袖
離開了團隊,就會出現很多問題了,因為團隊成員已經完全依賴于那個領袖了,很難再為團隊找到這樣的領袖。不過對這個領袖本身而已,因為事無巨細,所以可能無法帶領更大的項目
團隊。如果要帶領更大的團隊,需要放權,讓更多的團隊成員來決策、執行。
模式40 所有人都穿著衣服是有原因的信息冗余會導致注意力渙散。
模式41
同事預審在招聘過程中,讓將來與應聘者共事的人也參與進來。如果大家都不喜歡應聘者時,那就毫無疑問pass掉。
模式42
浮潛與水肺潛水不同形式的分析活動貫穿項目的整個生命周期。偵察時用浮潛,審查時用水肺潛水。
模式43
一切都是該死的接口要強調接口,接口極易出現問題。防止出現任何一個工作組在任何一個接口上做出不恰當假設的可能性。康威定律:產品反映了制造該產品的組織結構。對于接口,
這一點尤為正確:項目中復雜的人類接口容易導致復雜的產品接口。
模式44
藍色區域藍色區域即是那些沒有明確要要做的事情,而又沒有被明確禁止的。組織里存在這樣一種人是幸運的,在完成自己本職的工作基礎上,會自覺去完成藍色區域中的任務,他們
以項目利益最大化為指導原則。
模式45
消息美化壞消息在組織里沒有被準確地向上傳達。因為人們總是討厭那些傳遞壞消息的人,所以人們源于恐懼,在壞消息傳遞的過程中,會讓消息看起來沒那么壞。所以在傳遞過程中,
壞消息慢慢的就變成了普通消息,甚至是好消息。
模式46
慢慢地道出事實公司文化迫使人們把令人不安的消息埋在心底。因為如果是你發現了雜亂不堪的現象,領導可能就會讓你去清理,所以就會導致很多人發現問題之后保持沉默。
模式47
 殘局游戲迭代開發模式48 音樂制作人根據員工興趣,讓他們組織起來,也為他們提供展現的平臺。
模式49
記者記者是指那些把準確報告這個目標與讓項目成功這個目標完全分開的項目經理。記者類似于組織里面的“影評人”,把自己的成功與項目成功分開。
模式50
空椅子添加一把椅子,為專門負責協調所有子項目的人準備的。
模式51 我的堂兄文尼爭論的關鍵在于說服別人。
模式52
特性湯產品夸耀自己繁多的零碎特性,其中很多對于解決客戶真正的業務需求幾乎毫無幫助。要避免不斷往產品中添加無關緊要的特性。
模式53
數據質量數據本身有錯誤,卻去尋找更好的軟件來處理數據。而不是從根本上來解決數據錯誤的問題。
模式54
本一些人對工作的熱愛大于對薪水的熱愛。要留住這些人,不要因為他們熱愛工作,就把一些離職人員的工作都交給他們,當他們工作壓力太大時,要么對工作的興趣消失,要么會離職
走人。
模式55 禮數小姐要對事不對人,不要拒絕批評。
模式56 全神貫注盡量專注于一個項目,如果同時處理多個項目時,在項目之間切換是會有一定的浪費的。
模式57
“棒球不相信眼淚!”組織文化不鼓勵人們表露情緒,進而使得沖突只能暗中進行。應該讓員工表露自己的情緒,激情有時會掀起怒火,但撲滅這怒火是達成宏偉目標必須償付的代價之
一。
模式58 鐵窗喋血把所有的未能達成、和諧的情景都歸咎于溝通不足。溝通成了替罪羊。 沖突其實是自然的,要把注意力放在有效解決沖突的技巧上。
模式59
按期交付,每回都不例外不能完全以交付上期為標準,這樣容易導致為了趕時間交付,即使質量還不達標的時候。版本后期容易出問題。
模式60
食物++項目團隊成員定期在一起享用他們的食物,而且如果可能,整個團隊會在一起策劃和準備這些食物。實際上是通過成功完成“做飯、吃飯”這樣的日常小項目,來增加團隊的凝聚
力,提高活力等。
模式61 沒人在意的交付物沒有人在意的交付物,不要去開發。
模式62
隱藏的美“美到極致不是增無可增,而是減無可減。”所有設計,都存在美學元素。要懂得欣賞別人工作成果中的美。
模式63
我不知道組織營造出能講真話的氛圍,即使講真話意味著無法立即給予答復。如果說出“我不知道”,會提出當前存在的問題,可能別人有思路或很容易解決。
模式64
烏比岡湖兒童經理給出的績效排名不能有效地區分出執行力的強弱。那些能力很強的,沒有得到相應的績效,而那些能力弱的,因為慢慢分給他們更少的工作,當工作少到一定程度之
后,他們可能也能完成自己的工作,所以,他們的績效可能也不差。
模式65
互相教學項目的利害相干人明白每個人都能從其他人那里學到很多東西。每個人都能從其他人那里學到很多東西。消費者和開發者要各自向對方學習需求,必須深刻理解消費者的需求
才能產生正確的產品和服務。
模式66
意氣相投游擊隊,他們非常快速的完成所有事情。他們允許開發流程的簡化,讓你覺得軟件開發流程中的很多部分其實沒必要那么正式。他們可以有高的驚人的生產率,也可以驚人地
富于破壞性,這取決于如何引領和指導他們。這樣的團隊是逐漸形成的,通常圍繞著一兩位引人矚目的領袖人物形成的。
模式67
十字槽螺絲帽顯而易見的想法可能不會很快被接受。
模式68 可預測的創新團隊在自身對創新的需求和老板對可預測性的需求之間做出平衡。
模式69
瑪莉蓮·明斯特在有些組織中,開發人員就是君王,而在有些組織中,他們只是無名小卒。即同樣的人,因為所處的環境不同,待遇什么也是不同的。插曲 剪輯掉的底片模式70
布朗運動在項目愿景尚不明朗的情況下,團隊成員就被添加到項目里面。在前期都加進來,為了讓員工都利用起來,往往會使決策很倉促,項目就會更亂。(在《最后期限》中有對這塊的
詳細論述)模式71
大聲地、清楚地要清晰的表達項目的目標。擁有正確的目標至關重要。讓每個人都始終意識到自己的目標會給項目以及自己開發的產品產生巨大的影響。
模式72
安全閥為了化解工作中的緊張氣氛,團隊發明了紓解壓力的活動,并深化為團隊生活的一部分。做為經理,如果發現團隊在安全閥活動上面花了一點時間,不要反對,也不要鼓勵,因為
這是團隊自己的娛樂時間,他們清楚怎么利用這段時間。
模式73 巴別塔開發出團隊成員和利害相干人都能理解的通用語音。
模式74
驚喜死死抓住獎勵和資金模式的組織從來得不到獎勵。
模式75 冰箱門團隊成員定期把各自的工作成果展現給團隊所有的人。
模式76
明天會是晴空萬里經理相信未來的平均進度會超過過去的平均進度。因為之前遇到過很多突發事件,導致的進度比較慢,所以經理認為后續進度會趕上來。但往往沒有意識到,后面也
會有很多突發事件,所以在制定計劃時,就要考慮好。
模式77 堆積利害相干人,不斷的往項目中添加特性。 (類似于特性湯)模式78
變更時節迭代!即如果有需求變更,也要放到下個迭代中,但前提是迭代周期不要太長。
模式79 造紙廠組織通過迄今產出文檔的重量和數量來衡量進度。
模式80
離岸荒唐事領導們被低廉的工人薪資所吸引,啟動了離岸開發計劃,使得在各個開發地點之間溝通的難度劇增。
模式81
作戰室如果有可能,為項目組提供一個作戰室,里面貼滿了進度、待辦任務之類的,讓團隊成員進去之后明確的感受到當前項目的進度等。
模式82
什么味道所有的員工都需要知道他們的組織聞起來如何,從而可以決定做出如何反應。
模式83
不從教訓中學習團隊認識到自己的錯誤,卻一次一次地重蹈覆轍。學而不思則罔,需要認真的總結過去的失敗,然后制定下一步改進的措施,以及執行。
模式84
不成熟的想法神圣不可侵犯團隊愿意鼓勵、呵護即使看起來不成熟的想法。
模式85
滲漏人們有時候為了讓自己看起來進度正常,可能會在嘗試比較難以完成的任務之后,轉而去實現容易實現的任務,以此在前期可以表現正常。但這可以隱藏風險,到后期才會暴露出
來。
模式86
模板僵尸項目團隊使用模板---而不是對于產品交付所必需的、經過深思熟慮的iytk---來驅動自己的工作。流程是死的,人是活的,按需進行調整,不能頑固的完全按照模板來,靈
活的處理一切。

Lucky 2012-08-28 10:47 發表評論
]]>
第4章 ファイルとプロセスの管理http://www.tkk7.com/lucky/archive/2012/08/02/384604.htmlLuckyLuckyThu, 02 Aug 2012 05:33:00 GMThttp://www.tkk7.com/lucky/archive/2012/08/02/384604.htmlhttp://www.tkk7.com/lucky/comments/384604.htmlhttp://www.tkk7.com/lucky/archive/2012/08/02/384604.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/384604.htmlhttp://www.tkk7.com/lucky/services/trackbacks/384604.html第4章 ファイルとプロセスの管理
4.1 基本的なファイル管理
4.1.1 ファイルの圧縮、解凍
gzip オプション ファイル名
-d 圧縮ファイルを展開する
-c 標準出力へ出力する
-r ディレクト內のファイルをすべて圧縮する

4.1.2 アーカイブの作成、展開
複數のファイルをまとめたファイルをアーカイブといいます。
tarコマンド
tarコマンドの主なオプション
-c アーカイブを作成
-x アーカイブからファイルを取り出す
-t アーカイブの內容を確認する
-f ファイル名を指定する
-z gzipによる圧縮をサポートする
-j bzip2による圧縮をサポートする
-v 詳細な情報を表示する

cpioコマンド
ファイルをアーカイブファイルにコポーしたり、アーカイブからファイルをコポーします。

ddコマンド
入力側に指定したファイルの內容を、ファイルもしくは標準出力に送ります。
4.2 パーミッションの設定
4.2.1 所有者
アクセス件の変更
アクセス権を変更するには、chmodコマンドを使います。
chmod オプション アクセス権 ファイル名

-R 指定したディレクト以下にある全ファイルのアクセス権を変更する
u 所有者
g グループ
o その他ユーザー
a すべてのユーザー

+ 権限を追加
- 権限を削除
= 権限を指定

r 読み取り
w 書き込み
x 実行
s SUIDもしくはSGID
t すてぃキービット

4.2.5 デフォルトのアクセス権
umask マスク値
4.3 ファイルの所有者管理
4.3.1 所有者の変更
chown -R 指定したディレクトりとその中にある全ファイルの所有者を変更する
chgrp グループの変更
4.4.1 ハードリンク
4.4.2 シンボリックリンク
4.4.3 リンクの作成
ln オプション リンク元 リンクファイル
-s シンボリックリンクを作成
4.5 プロセス管理
4.5.1 プロセスの監視
ps オプション
a ほかのユーザーのプロセスも表示する
f 親子関係をツリー狀に表示する
u ユーザー名も表示する
x 制御端末のないデーモンなどのプロセスも表示する
-e すべてのプロセスを表示する
-l 詳細な情報を表示する
-p PID 特定のPIDのプロセス情報のみ表示する

top
pstree
kill - PID
kill -s PID
kill -SIG PID
HUP  ハングアップ
INT 2 割り込み
KILL 9 強制終了
TERM 15 終了
CONT 18 停止しているプロセスを再開
STOP 19 一時停止
killall - プロセス名
killall -s プロセス名
4.5.3 ジョブ管理
4.6 プロセスの実行優先度
nice -n ナイス値 コマンド
renice ナイス値 

第5章 デバイスとLinuxファイルシステム
/bin /sbin システムに必要なコマンド、プログラム
/etc 各種設定
/lib ライブラリ
/dev デバイスファイル
fdisk コマンド
fdisk -l デバイス名
パーティションテーブルの狀態を表示しています。
fdiskコマンドのサブ子アンド
l  表示
n 作成
d 削除
p テーブルを表示
t 変更
a ブートフラグをオン/オフする
w 変更を保存
q  変更を保存しない
m ヘルプメニューを表示

5.2.1
df オプション デバイス名
-h  容量を適切な単位で表示する
-H 
-k  容量をキロバイト単位で表示する
-i 

du オプション ファイル名/ディレクトリ名
duコマンドのオプション
-a ディレクトリ以外にファイルについても表示する
-l リンクを含めて集計
-c すべての容量の合計を表示する
-k
-m
-s
-S

fsck オプション デバイス名
-t ファイルシステム名 種類を指定
-a 自動的に修複
-r 対話的に修複を実行
-A
-N 実際には実行せず何が行われるかのみ表示
5.2.3 ファイルシステムの管理
tune2fs
-c チェックなしでマウントできる最大回數を指定する
-i ファイルシステムをチェックする最大の時間間隔を指定する
-j
-L

5.3 ファイルシステムのマウントとアンマウント
5.3.1 マウントの仕組み
5.3.3 マウントアンマウント
mountコマンド
mount オプション
-a /etc/fstab
-t ファイルシステムの種類を指定する
-o マウントオプションを指定する
unmount
-a
-t
5.4 ディスククォータの管理
クォータ

quotaコマンド
quota -u オプション ユーザー名
quota -g オプション グループ名

quotacheck
quotaon
quotaoff

5.5.2 ファイルの検索

find検索
find 検索ディレクトリ 検索式
-name  ファイル名で検索する
-atime 最終アクセス時刻で検索する
-mtime 最終更新時刻で検索する
-perm アクセス権で
-size
-type
-user
-print
-exec

locateコマンド
予め作成されたあデータベースに基づいて、指定されたパターンに一致する
ファイルを検索します。
locate 検索パターン
updatedb コマンド
whick コマンド
whereis
type


Lucky 2012-08-02 13:33 發表評論
]]>
GNU&UNIXコマンドhttp://www.tkk7.com/lucky/archive/2012/07/26/384045.htmlLuckyLuckyThu, 26 Jul 2012 05:01:00 GMThttp://www.tkk7.com/lucky/archive/2012/07/26/384045.htmlhttp://www.tkk7.com/lucky/comments/384045.htmlhttp://www.tkk7.com/lucky/archive/2012/07/26/384045.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/384045.htmlhttp://www.tkk7.com/lucky/services/trackbacks/384045.htmlGNU&UNIXコマンド
3.1
一般ユーザーの場合とスーパーユーザーの場合では、プロンプトが異なります。
シェルのプロンプト表示は環境変數PS1で設定できます。
カーソルの移動
Ctrl+A カーソルが行頭に移動
Ctrl+E カーソルが行尾に移動
コマンドラインの編集
Ctrl+D カーソル部分の1文字を削除します
Ctrl+H カーソルの左側にある1文字を削除します
Ctrl+L  一旦畫面をクリアしてから、カレント行を再表示します。
3.1.3 シェル変數と環境変數
シェル変數の有効範囲は、その変數を定義したしゃるのみになります。
環境変數は、その変數を定義したシェル上、及びそのシェルで実行されるプログラムからも參照することのできる変數です。
主な環境変數
PATH コマンドやプログラムを検索するディレクトリリスト
PWD カレントディレクトリ
HOSTNAME ホスト名
USER 現在のユーザー
LANG ロケール
HOME カレントユーザーのホームディレクトリ
LOGNAME ログインシェルのユーザー名
PS1  プロンプトの表示文字列
PS2  複數行にわたる入力時のプロンプト
HISTSIZE コマンド履歴の最大値
HISTFILE コマンド履歴を格納するファイル
TERM 端末の種類
変數名=値
echo 「文字列または$変數名」
unset 変數名
定義されている環境変數を一覧ひょいうじするには、envコマンドやprintenvコマンドを使います。
環境変數とシェル変數を両方表示したい場合、setコマンドを使います。
シェル変數は新たに起動したシェルから參照することはできませんが、exportコマンドでエクスポートすることによって參照できるようになります。
export 変數名[=値]
3.1.4 環境変數PATH
環境変數PATHにパスを追加するには、.bash profileなどの環境設定ファイルのPATH設定を修正するか、
PATH=PATH:追加するディレクトリ名
カレントディレクトリにパスが通っていない場合、カレントディレクトリにあるプログラムを実行するには、プログラム名の前にカレントディレクトリを意味するを明示する必要があります。

3.1.5 コマンドの実行
コマンドを「;」で區切りったバイ、
&& コマンド1が正常に終了したときだけコマンド2が実行されます
||  コマンド1が正常に終了しなかっただけコマンド2が実行されます
’ 単一引用符の中は、すべて文字列であると解釈されます
" 二重引用符
  二重引用符內に変數があれば、その変數の內容が展開されます。
3.1.7 コマンド履歴
history コマンド
! 履歴番號
man
-a すべてのセクションのマニュアルを表示する
-f 指定されたキーワードを含むを表示する
-k 指定されたキーワードを含むドキュメントを表示する
-w マニュアルの置かれているディレクトリを表示する
セクション
1  ユーザーコマンド
2 システムコール
3 ライブラリ
4 デバイスファイル
5 ファイルフォーマット
6 ゲーム
7 その他
8 システム管理コマンド
9 Linux獨自のカーネル用ドキュメント
man -f
whatis
aproposコマンド、-k及び-fオプション付きのmanコマンドはいずれもwhatデータベースを參照します。
3.1.9 ファイル操作コマンド
lsコマンド
ls コマンドの主なオプション
-a    .から始まるファイルも表示する
-A 
-d ディレクトリ自身の情報を表示する
-F ファイルの種類も表示する
-i  iノート番號を表示する
-l  ファイルの詳細な情報を表示する
-t  日付順に表示する
cpコマンド
cp オプション コピー元ファイル名 コピー先ファイル名
cpコマンドの主なオプション
-f       コピー先に同名のファイルがあれば上書きする
-i  同名のファイルがあれば確認する
-p ファイルの屬性をほう
-r -R ディレクトリ內を再帰できにコピーする
mv コマンド
-f  同名のファイルがあれば上書きする
-i  同名のファイルがあれば確認する
mkdirコマンド
ーm 指定したアクセス件でディレクトリを作成する
-p 必要なら親ディレクトリも同時に作成する

rmコマンド
-f  ユーザーへの確認なしに削除する
-i  削除する前に確認する
-r,-R 再帰的にディレクトリ全體を削除する

rmdirコマンド
-p 複數階層の空ディレクトリを削除する
touch コマンド
-t  タイムスタンプ変更する
-a アクセス時刻だけ変更する
-m 修正時刻だけ変更する
fileコマンド
ファイルの種別を表示します。
3.2 パイプとリダイレクト
3.2.1 標準入出力
0  標準入力 キーボード
1 標準出力 畫面
2 標準エラー出力 畫面
teeコマンド
teeコマンドは、標準入力から読み込み、それをファイルと標準出力へとT字
ls -l |tee lslog |wc -l
3.3 テキスト処理フィルタ
cat ファイル內容を表示します。
-n 各行の左端に行番號を付加する
cat file1 file2 > newfile
nlコマンド
nlコマンド
  テキストファイルの一部または全部に行番號を付けて表示します。
  ヘッダ、本文、フッタの部品に分けて行番號を付加することができます。
  nlコマンドの主なオプション
  -b 形式 指定した形式で本文に行番號を付加する
  -h  ヘッダ
  -f  フッタ
 形式
 a すべての行
 t 空白以外の行
 n 行番號の付加を中止
 odコマンド
 バイナリファイル內容を8進數や16進數で表示します。オプションを指定しない場合は8進數でひょうじします。
 od オプション ファイル名
 -t 出力タイプ
 c ASCII文字
 o 8進數
 x 16進數
 headコマンド
 ファイルの先頭部分を表示します。オプションを指定しない場合は、先頭から10行目までを表示します。
 head オプション ファイル名
 -n 行數 
 -行數
 -c バイト數
 tailコマンド
-n 指定された行數分だけ表示する
-行數
-c バイト數
-f ファイルのに追加された行を常に表示する
cutコマンド
ファイルの各行から指定したフィールドを取り出します
cut オプション ファイル名
-c文字數 取り出す文字位置を指定する
-d區切り文字
-f 取り出すフィールドを指定する
joinコマンド
join オプション ファイル名1 ファイル名2
-jフィールド 連結するフィールドを指定する
Pasteコマンド
1つ以上のファイルを読み込んで、それぞれで一致する行を水平方向に連結します。
paste オプション ファイル名1 ファイル名2
tr [オプション] 「文字列1 「文字列2」」
-d 文字列1でマッチした文字列を削除する
-s 連続するパターン文字列を1文字として処理する
sortコマンド
行単位でファイル內容をソートします。デフォルトではにソートします。
sort オプション 開始位置 終了位置 ファイル名
-b 行頭の空白は無視する
-f  大文字小文字の區別を無視する
-r 降順にソートする
-n 數字を文字ではなく數値として処理する
splitコマンド
指定されたサイズでファイルを分畫します。
split オプション 入力ファイル名 出力ファイル名
-行數 入力ファイルを指定された行ごとに
split -100 sample.txt s}sample.
uniqコマンド 入力されたテキストリームの中で重複している行を調べて、重複している行は1行にまとめて出力します。
uniq オプション 入力ファイル 出力ファイル
-d 重複している行のみ出力する
-u 重複している行は1行にまとめて表示する
prコマンド
ファイルの書式を。
pr オプション ファイル名
+開始ページ
-h へっだ文字列
-l ページ長
fmtコマンド
テキストを決められた桁に整形します
fmt オプション ファイル名
-w 文字幅 1行の幅を設定する
expandコマンド
テキストファイルの中にあるタブをスペースに変換します。
expand オプション ファイル名
-i 行頭のタブのみ変換する
-t タブ幅 タブ幅を設定する
unexpand コマンド
行頭にある連続した空白をタブに変換します。
unexpand オプション ファイル名
-a 行頭以外の空白も変換する
-t タブ幅 タブ幅を指定する
wcコマンド
ファイルの行數、単語數、文字數を表示します。
wc オプション ファイル名
-c 文字數を表示する
-l 行數を表示する
-w 単語數を表示する
xargsコマンド
標準入力から受け取った文字列を引數に指定して、與えられたコマンドを実行します。
find . -mtime +60 -type f | xargs rm

3.4 正規表現を使ったテキスト検索
3.4.1 正規表現
文字 正規表現の中にある文字
任意の1文字 任意の1文字を表すには「.」を使います。
文字クラス
^は行頭を、「$」は行末wお表します。
特殊文字
. 任意の1文字
* 直前の文字の0回以上の繰り返し
「」 -
^ 行頭
$ 行末
¥ 次に來る文字をメタキャラクタではなく通常の文字として処理する。
3.4.2 grepコマンド
grep オプション 検索パターン ファイル名
grep オプション -f ファイル名 ファイル名
-c パターンがマッチした行の行數だけを常時する
-f 検索パターンをファイルから読み込む
-i 大文字小文字を區別せず検索する
-n 検索結果と合わせて行番號も表示する
-v パターンがマッチしない行を表示する
-E 拡張正規表現を使用する

3.4.3 sedコマンド
sedは,テキストストリームに対して編集を行います。sedでは、編集する內容をコマンドやスクリプトとしてsedに指示しておき,sedはその指示に基づいてストリームの編集を行って、標準出力に編集結果を書き出します。
d マッチした行を削除する
s パターンに基づいて置換する。gスイッチを使うと、マッチ箇所すべてを置換する
y 文字を変換する

-e 次の引數はコマンドと認識する
-f 次の引數はスクリプトファイルと認識する
dコマンド
ファイルの複數行を削除します
sコマンド s/検索パターン/置換パターン 
yコマンド
「y/検索文字/置換文字」 





Lucky 2012-07-26 13:01 發表評論
]]>
LPIC Level1http://www.tkk7.com/lucky/archive/2012/07/18/383389.htmlLuckyLuckyWed, 18 Jul 2012 04:25:00 GMThttp://www.tkk7.com/lucky/archive/2012/07/18/383389.htmlhttp://www.tkk7.com/lucky/comments/383389.htmlhttp://www.tkk7.com/lucky/archive/2012/07/18/383389.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/383389.htmlhttp://www.tkk7.com/lucky/services/trackbacks/383389.html第一章 システムアーキテクチャ
1.1.3 デバイスの確認

/proc/bus/usb/* USBデバイス情報
/proc/cpuinfo CPU情報
/proc/interrupts IRQ情報
/proc/pci PCIデバイス情報
/proc/scsi/scsi SCSIデバイス情報

Linuxは、ハードウェアへのアクセスを抽象化するデバイスファイルを持っています。
デバイス情報を確認するためのコマンドも用意されています。
USBデバイスの情報を表示するには    lsusb
PCIデバイスの情報を表示するには  lspci

1.1.4 デバイスドライバのロード
Linuxでは、デバイスドライブはカーネルの一部として提供されています。
ロードされているカーネルモジュールを確認するには、lsmodコマンドを使います。
手動でロードする場合はmodprobeコマンドを実行します。

1.2 システムの起動
1.2.2 ブートオプションの指定
GRUBでブートオプションを指定するには、起動時の畫面でAキーを押します。
すると、キーボートからパラメータを入力できるようになります。
1.2.3 起動時のイベント確認
dmesgコマンドを使うと、システム起動時にどのような処理が行われたのかを確認できます。
システムのメインログファイルである/var/log/messagesにも起動時のメッセージが記録されています。
1.3 ランレベルとシャットダウン
1.3.1 ランレベル
種類
0  停止
1 シングルユーザーモード
2 マルチユーザーモード
3   マルチユーザーモード
4 未使用
5  マルチユーザーモード
6  再起動
S/s シングルユーザーモード

シングルユーザーモード rootユーザーだけが利用できる狀態です。
ランレベルの変更
現在のランレベルを表示するには、runlevelコマンドを使います。
ランレベルを変更するには、スーパーユーザーでinitコマンドもしくはtelinitコマンド
を使います。
#init 1
デフォルトのランレベルの設定
Linuxが起動すると、最初のプロセスとしてinitが実行され。
デフォルトのランレベルは、/etc/inittabに記述されています。

/etc/inittabファイルでデフォルトのランレベルを指定できます。書式も覚えておきましょう。

1.3.2 システムのシャットダウンと再起動
システムのシャットダウンや再起動は、shutdownコマンドを使って操作します。

shutdown [option] 時間 「メッセージ」
 -h  シャットダウン完了後にシステムを停止する
 -r シャットダウン完了後にシステムを再起動する
 -f 次回起動時にfsckをスキップする
 -F 次回起動時にfsckを必ず実行する
 -k 実際にシャットダウンせず警告メッセージを通知する
 -c 現在実行中のシャットダウンをキャンセルする
 
 第2章 Linuxのインストールとパッケージ管理
 2.1 ハードディスクのレイアウト設計
 ルートパーティション
 さわっぷ領域
 ?/home
 ?/var
 ?/usr
 ?/boot
 ?スワップ領域
 スワップ領域のサイズは物理メモリと同程度~2倍程度のサイズを割り當てます
 用途が異なるディレクトリは別パーティションに配置するようにします。
 
 2.2 ブートマネージャのインストール
 2.2.1 GRUB
 GRUBは多機能なブートローダです。
 ?多數のファイルシステムを認識可能
 ?シェル機能を搭載し、コマンドによる高度な管理が可能
 #grub-install /dev/sda
 
 GRUBの設定ファイルは/boot/grub/menu.lst
 timeout  メニューを表示している時間
 default デフォルトで起動するエントリの番號
 title   メニューに表示されるエントリ名
 root   ルートデバイスの指定
 kernel  起動するカーネルイメージファイルと起動オプションの指定
 makeactive ルートパーティションをアクティブ化
 chainloader 指定されたセクタの読み込みと実行
 hiddenmenu 起動時に選択メニューを表示しない。
 
 2.2.2 LILO
 
 LILOはIntelアーキテクチャマシン用のブートローダです。
 ?ブートローダ
 ?マップインストーラ /sbin/lilo
 ?マップファイル  ディスク上の物理的なカーネルの位置を記録したファイルです。
 ?LILO設定ファイル /etc/lib.confです。
 
第一段階のブートローダは、BIOSから呼び出され、第2段階のブートローダ
をメモリに読み込みます。第2段階のブートローダの役割は次の通りです。
?ブートプロンプトを表示する
?読み込むカーネルを選択する
?カーネルをメモリ上に読み込む
?etc/lib.conf

boot ブートセクタを含むデバイス名
timeout プロンプト時の入力待ちタイムアウト時間
prompt ブート時にプロンプトを表示して入力を要求する
default デフォルトで起動するカーネルの食べる
append 起動時にカーネルに渡すパラメータ
read-only ルートファイルしセムを読み込み専用でマウントする
map マップファイルの指定
image ブートイメージのラベル
label ブートイメージのラベル
initrd 初期RAMDISKの読み込み指定
root ルートファイルシステムのデバイス名

/etc/lilo.confの設定內容を反映させるには、/sbin/liloコマンドを実行する必要があります。
lilo コマンド

-C設定ファイル 設定ファイルを知っていする
-R        次回再起動時に適用されるコマンドラインパラメータを指定する
-V                    Version
-q                   現在のマップファイルの內容を表示する
-t        テストのみ実行する
-u        LILOを削除する
-v                  詳細情報を表示する

2.3 共有ライブラリ管理
共有ライブラリは、libreadline.so.5のように、「lib~.so~」という名前が付けられていうます。通常、/lib,/usr/libに配置されています

2.3.2 必要な共有ライブラリの確認
実行ファイルが必要としている共有ライブラリは、lddコマンドで調べることができます。
ldd /bin/cat
しかし、プログラムを実行するたびにこれらのディレクトリを検索するのは非効率出來なので、実際にはバイナリのキャッシュファイルである/etc/ld.so.cacheが參照されます。
ldconfigコマンドは、/etc/ld.so.confファイルに基づいて/etc/ld.so.cacheを再構築します。
#ldconfig

そのたのディレクトりも検索対象に加えたい場合は、環境変數LDLIBRARYPATHにデイレクト利リストを記述します。
2.4 Debianパッケージの管理
2.4.1 パッケージ管理とは

 実行プログラム、設定ファイル、ドキュメントなどを一つのファイルにまとめたものをパッケージといいます。
 パッケージ管理システム
 パッケージの依存関係
 パッケージ管理システムは依存関係を監視し、依存関係を 損なうようなインストールやアンインストールには警告をはします。
 Debian形式は、Debian系のディストリビューションで利用されている。
 パッケージ管理作業にはdpkg,dselect,APTツール
 RPM形式は、パッケージ管理作業にはrpmコマンドが使われます。両者には互換性
 がありませんが、alienコマンドを使って相互に形式を変換することもできます。
 Debian形式のパッケージファイル名は、次のようになっています。
 tree-1.5.0-2-i386.deb
 tree: パッケージ名
 1.5.0.2 バージョン番號
 2   リリース番號
 i386 アーキテクチャ
 deb 拡張子
 
 Debian形式のパッケージを扱うにはdpkgコマンドを使います。
 
 dpkg [option] アクション
Option
  -E  すでに同バージョンがインストールされていればインストールしない
 -G すでに新バージョンがインストールされていればインストールしない
 -R ディレクトりないを再帰的に処理する
 
 Action
 -i  パッケージをインストールする
 -r 設定ファイルも含め完全にパッケージをアンインストール
 -P 設定ファイルも含め完全にパッケージをアンインストール
 -l インストール済みパッケージを検索して表示する
 -S 指定したファイルがどのパッケージからインストールされたが表示する
 -L 指定パッケージからインストールされたファイルを一覧表示する
 -s パッケージの情報を表示する
 --configure 展開されたぱっっケージを構成する
 --unpack  パッケージを展開する
 
 dpkg -i apache2-2.2.3-4+etch6-all.deb
 
 dpkg --purge apache2
 dpkg -S '*/apache'
 dpkg -l
 dpkg -L bash
 dpkg -s bash
 
 2.4.3 apt-getコマンド
 apt-getは、APTというパッケージ管理ツールに含まれるコマンドで、依存関係を調整
 しながらパッケージのインストール、アップグレード、アンインストールを行います。
 
apt-get 「オプション」 サブコマンド パッケージ名
option
-d ファイルをダウンロードする
-s  システムを変更せず動作をシミュレートする
サブコマンド
clean    過去に取得して保存中のパッケージを削除する
dist-upgrade Debianのシステムを最新にアップグレードする
install   パッケージをインストールまたはアップグレードする
remove アンインストール
update パッケージデータベースを更新する
uograde システムの全ぽっけーじを安全にアップグレードする

apt-getコマンドでパッケージ管理を始めるには、まず/etc/apt/sources.listにパッケージ
を管理しているサイトのURLを記述します

apt-cacheコマンド
パッケージ情報を照會?検索することのできるコマンドです。
apt-cache 
search
show
showpkg
depends

aptitudeコマンド
apt-getコマンドよりも高度な機能を持ったコマンドとしてaptitudeコマンドがあります。
とりわけ、正規表現を使った検索機能が優れています。

2.5 RPMパッケージの管理
RPMパッケージのファイル名は、次のようになっています。
bash-3.2-21.i386.rpm
bash パッケージの名稱
3.2  バージョン番號
21  リリース番號
i386 アーキテクチャ
rpm 拡張子

2.5.2 rpmコマンドの利用
rpmコマンドの主なオプション
-i  インストール
-U アップグレード
-F 
-v 詳細な情報を表示する
-h 進行狀況を「#」で
--nodeps 依存関係を無視してインストールする
--force 既存のファイルを新しいものに置き換える
--test    実際にはインストールせずテストを実施する
-e     パッケージをアンインストール
-q    指定したパッケージがインストールされているか照會する
-a    インストール済みのすべてのパッケージを表示する
-f  指定したファイルを含むパッケージ名を表示する
-p  対象としてパッケージファイルを指定する

パッケージのインストール
#rpm -ivh zsh-4.2.6-1.i386.rpm
次の例では、~/rpmsディレクトリ以下にあるRPMパッケージをすべてアップグレードします
#rpm -Fvh ~/rpms/*.rpm

パッケージのアンインストール
#rpm -e httpd
パッケージ情報
パッケージを調査するには-qオプションを使います。
#rpm -qa | grep emacs
#rpm -qi bash
#rpm -qf /bin/bash
#rpm -qlp bash-3.0-19.2.i386.rpm
#rpm -qR gzip

2.5.3 YUM
YUMの設定 /etc/yum.confと/etc/yum.repos.dディレクトリ以下のファイルで行います。
yum サブコマンド
check-update アップデート対象のパッケージリストを表示する
update パッケージ名 指定したパッケージ名をアップデートする
install パッケージ名 インストール
remove アンインストール
info 指定したぱけーじの情報を表示する
list  全パッケージをリスト表示する
search   キーワードで検索する
grouplist パッケージグループをリスト表示する
groupinstall パッケージをインストール

#yum check-update
#yum update
#yum install
#yum remove emacs
#yum info samba
#yum list
#yum search ruby
#yum grouplist
#yum groupinsatll "X Window System"
#yumdownloader samba

 



Lucky 2012-07-18 12:25 發表評論
]]>
配置VirtualBox+CentOS的SSH+FTP及CentOS yum鏡像http://www.tkk7.com/lucky/archive/2012/07/13/383041.htmlLuckyLuckyFri, 13 Jul 2012 09:28:00 GMThttp://www.tkk7.com/lucky/archive/2012/07/13/383041.htmlhttp://www.tkk7.com/lucky/comments/383041.htmlhttp://www.tkk7.com/lucky/archive/2012/07/13/383041.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/383041.htmlhttp://www.tkk7.com/lucky/services/trackbacks/383041.html

配置TELNET一定要映射端口

配置VirtualBox+CentOS的SSH+FTP及CentOS yum鏡像

Posted on 27 八月 2011 by 柳城 ,閱讀 554

接上(虛擬機VirtualBox+Centos+NAT網絡的配置過程):裝好VirtualBox后,在XP下進入網絡鄰居,多了個VirtualBox Host-Only Network。可知:

Host機的IP

Host機的IP:192.168.56.1

虛擬機的IP

在CentOS查看虛擬機的IP:

ifconfig -a #查看IP
eth0      Link encap:Ethernet  HWaddr 08:00:27:BE:80:A6           inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0           inet6 addr: fe80::a00:27ff:febe:80a6/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:172 errors:0 dropped:0 overruns:0 frame:0           TX packets:119 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:15640 (15.2 KiB)  TX bytes:21109 (20.6 KiB)  lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host           UP LOOPBACK RUNNING  MTU:16436  Metric:1           RX packets:0 errors:0 dropped:0 overruns:0 frame:0           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:0           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

映射虛擬機和Host機的端口(用SSH登陸Centos

虛擬機的IP是10.0.2.15,自動獲取的IP。接下來打開  VirtualBox,按下圖設置:

SSH的默認端口是22,填好HostIP及GuestIP就行了。這樣子就能通過putty等軟件SSH登陸了。

SSH IP:  192.168.65.1

帳號:CentOS設置的帳號,如root

web的80端口是為以后安裝apache用的。設置了這個后,Host機才能用http://IP/通過瀏覽器直接訪問。(還需要設置CentOS的防火墻不屏蔽80端口。以后再詳~)

CentOS yum鏡像

設置yum的鏡像,方便下載更新軟件。設置的方法參照:http://centos.ustc.edu.cn/

 

安裝地方設置為HTTP,Server ctos.ustc.edu.cn, 目錄 為centos/6/os/i386 或 centos/6/os/x86_64。

安裝后請按照以下步驟修改CenOS-Base.repo,以后就可以方便的用yum從本鏡像站點安裝、更新軟件。

 CentOS6的安裝方法

cd /etc/yum.repos.d mv CentOS-Base.repo  CentOS-Base.repo.save wget http://ctos.ustc.edu.cn/CentOS-Base.repo.6 wget http://ctos.ustc.edu.cn/epel.repo.6 mv CentOS-Base.repo.6 CentOS-Base.repo mv epel.repo.6 epel.repo

 

提醒:裝了centos的最小版本minimal之后,一開始沒有安裝wget了,所以就是需要配置SSH后,就能隨便上傳文件了。



Lucky 2012-07-13 17:28 發表評論
]]>
CentOS的yum配置http://www.tkk7.com/lucky/archive/2012/07/13/383023.htmlLuckyLuckyFri, 13 Jul 2012 07:22:00 GMThttp://www.tkk7.com/lucky/archive/2012/07/13/383023.htmlhttp://www.tkk7.com/lucky/comments/383023.htmlhttp://www.tkk7.com/lucky/archive/2012/07/13/383023.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/383023.htmlhttp://www.tkk7.com/lucky/services/trackbacks/383023.html
1、プロキシの設定(yumによるアップデート) 】
◆/etc/yum.conf を編集しないでプロキシの指定する方法

記述例:プロキシのポート番號を5273としています。

# export proxy=http://proxy.hostname.com:5273/

 リポジトリの設定

日本國內では理研のサーバを指定するのが主流(らしい)なので、
yum が見に行くサーバを理研のサーバになるように変更します。
変更するファイルは /etc/yum.repos.d/CentOS-Base.repo です。

# vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
gpgcheck=1

#released updates
[update]
name=CentOS-$releasever - Updates
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/
gpgcheck=1

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/addons/$basearch/
gpgcheck=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/
gpgcheck=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0

#packages in testing
[testing]
name=CentOS-$releasever - Testing
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/testing/$basearch/
gpgcheck=1
enabled=0

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

設定後、上書き保存します。



Lucky 2012-07-13 15:22 發表評論
]]>
SAStrutshttp://www.tkk7.com/lucky/archive/2011/12/08/365855.htmlLuckyLuckyThu, 08 Dec 2011 04:56:00 GMThttp://www.tkk7.com/lucky/archive/2011/12/08/365855.htmlhttp://www.tkk7.com/lucky/comments/365855.htmlhttp://www.tkk7.com/lucky/archive/2011/12/08/365855.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/365855.htmlhttp://www.tkk7.com/lucky/services/trackbacks/365855.html最近把SAStruts的文檔翻譯成中文了,有需要的親們請下載。
SAStruts中文文檔
/Files/lucky/saStruts-Doc-zh.zip

SAStruts的介紹PPT(日語)/Files/lucky/Sastruts_intro.zip


Lucky 2011-12-08 12:56 發表評論
]]>
50個必備的實用jQuery代碼段(轉載)http://www.tkk7.com/lucky/archive/2011/12/07/365721.htmlLuckyLuckyWed, 07 Dec 2011 01:59:00 GMThttp://www.tkk7.com/lucky/archive/2011/12/07/365721.htmlhttp://www.tkk7.com/lucky/comments/365721.htmlhttp://www.tkk7.com/lucky/archive/2011/12/07/365721.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/365721.htmlhttp://www.tkk7.com/lucky/services/trackbacks/365721.html閱讀全文

Lucky 2011-12-07 09:59 發表評論
]]>
測試http://www.tkk7.com/lucky/archive/2011/07/30/355396.htmlLuckyLuckySat, 30 Jul 2011 06:24:00 GMThttp://www.tkk7.com/lucky/archive/2011/07/30/355396.htmlhttp://www.tkk7.com/lucky/comments/355396.htmlhttp://www.tkk7.com/lucky/archive/2011/07/30/355396.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/355396.htmlhttp://www.tkk7.com/lucky/services/trackbacks/355396.html發布



Lucky 2011-07-30 14:24 發表評論
]]>
結束PMP學習http://www.tkk7.com/lucky/archive/2011/05/20/350691.htmlLuckyLuckyFri, 20 May 2011 07:06:00 GMThttp://www.tkk7.com/lucky/archive/2011/05/20/350691.htmlhttp://www.tkk7.com/lucky/comments/350691.htmlhttp://www.tkk7.com/lucky/archive/2011/05/20/350691.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/350691.htmlhttp://www.tkk7.com/lucky/services/trackbacks/350691.html從有學習PMP的想法,開始已經過了1年了。在這1年里系統參加了netlearning的《IT項目管理》的學習,
教材方面看了幾遍PMBOK的第4版,然后學習了Rita的經典PMP考試教材。也做了配套的Fast Track
的1501道,還有網上找到的465道練習題。原先想考PMP認證的想法現在反而沒有了,即使進行了
系統的學習,還是強烈的認為項目管理是門藝術。
PMBOK定義了理想狀態下的流程,提供了很多工具和方法論。PMP的試題也是有很多來考查這些東西,
對于立志于做PM但是缺少相關知識,概念和經驗的人可以通過系統的學習,以及做題和考試來完善自己的
知識儲備和自己管理方法體系的建立。但是在實際的工作環境中,會看到一些PMBOK提供的流程定
義,方法,工具的影子,但很多時候你會發現有很多并沒有遵守甚至違反的地方。每個公司,每個PM都有
自己的一套既成的管理方法體系結構。做了這么多年的項目,很多都是大公司花了多少億的大項目,
但是最終做的好的并沒有幾個,公司不管執行什么CMMI,還是會管理的PM,不管過程中的文檔做的多么
漂亮,溝通多么完善,一些成功的項目反而是技術出身的PM帶的。單純熟練掌握PMBOK并熟練應用各種溝
通技巧的會管理的PM管理IT項目,有時候可能并不如沒有掌握完善的溝通技巧,PMBOK也是一知半解的人
管理的項目成功率高。個人觀察的可能原因是,IT是個腦力創造的行業,雖然到具體的函數方法可能只是
簡單的crtl+C和Ctrl+V,但是作為項目的負責人必須在系統成型之前頭腦就應該對系統有個整體的image,
并且能夠對每個成員的工作狀況有個切實的確切的把握,而不是單純的每天填表報告完成了百分之多少。
就是說項目中可能出現的問題,以及需要注意的地方都在頭腦中有印象。當出現時馬上能反映出相關的對策。
總之,個人認為,IT的PM應該是個技術性的領導者,這樣就能比較從容應對系統出現以及可能出現的問題,
并且能夠在與干系人交流時能夠能夠對交流的事情進行自我判斷并形成自己的意見。
有時間的話,真想再把溫伯格的書找出來看看。10年沒翻過,看看再翻這些經典書的時候自己會有那些感觸。
PMP的學習就此結束,重點轉向日語。

Lucky 2011-05-20 15:06 發表評論
]]>
VBA參考http://www.tkk7.com/lucky/archive/2011/03/24/346958.htmlLuckyLuckyThu, 24 Mar 2011 08:09:00 GMThttp://www.tkk7.com/lucky/archive/2011/03/24/346958.htmlhttp://www.tkk7.com/lucky/comments/346958.htmlhttp://www.tkk7.com/lucky/archive/2011/03/24/346958.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/346958.htmlhttp://www.tkk7.com/lucky/services/trackbacks/346958.html
Sub 辭書コードを取得()

Dim intCount_JISYO_CD As Integer
Dim intUUNo_JISYO_CD As Integer
intCount_JISYO_CD 
= 3
intUUNo_JISYO_CD 
= 2
'辭書コードをSheetn5に作成します、重複の場合スキップします
Do While Len(Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value) > 1
    
Set Obj = Worksheets("Sheet5").Cells.Find(Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value, LookAt:=xlWhole)
    
If Obj Is Nothing Then
        Worksheets(
"Sheet5").Cells(intUUNo_JISYO_CD, 1).Value = Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value
        intUUNo_JISYO_CD 
= intUUNo_JISYO_CD + 1
    
End If
    intCount_JISYO_CD 
= intCount_JISYO_CD + 1
Loop

'Sheet5に作成された辭書コードを昇準にソートします
'
Worksheets("Sheet5").Active
Worksheets("Sheet5").Range(Cells(11), Cells(intUUNo_JISYO_CD, 1)).Sort Key1:=Worksheets("Sheet5").Cells(11), order1:=xlAscending

End Sub

Sub 辭書コードが存在しない部品()

Dim intCount_JISYO_CD As Integer
Dim intNum_Record As Integer
intCount_JISYO_CD 
= 3
intNum_Record 
= 3
'辭書コードが存在しない部品をSheet6に作成します
Do While Len(Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value) > 1
    
If Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value = "C5416" Or Worksheets("Sheet2").Cells(intCount_JISYO_CD, 13).Value = "C5860" Then
    Worksheets(
"Sheet2").Cells(intCount_JISYO_CD, 13).EntireRow.Copy
    Worksheets(
"Sheet6").Cells(intNum_Record, 1).EntireRow.Insert
    intNum_Record 
= intNum_Record + 1
    
End If
    intCount_JISYO_CD 
= intCount_JISYO_CD + 1
Loop
End Sub

Sub 重複レコードを削除します()
Dim intRows As Integer
Dim intUniqueRows As Integer
intRows 
= 1
intUniqueRows 
= 1
Do While Len(Worksheets("Sheet7").Cells(intRows, 1).Value) > 1
    
Set Obj = Worksheets("Sheet9").Cells.Find(Worksheets("Sheet7").Cells(intRows, 1).Value, LookAt:=xlWhole)
    
If Obj Is Nothing Then
        Worksheets(
"Sheet7").Cells(intRows, 1).EntireRow.Copy
        Worksheets(
"Sheet9").Cells(intUniqueRows, 1).EntireRow.Insert
        intUniqueRows 
= intUniqueRows + 1
    
End If
    intRows 
= intRows + 1
Loop
End Sub


Lucky 2011-03-24 16:09 發表評論
]]>
探親簽證所需資料http://www.tkk7.com/lucky/archive/2011/01/12/342871.htmlLuckyLuckyWed, 12 Jan 2011 07:23:00 GMThttp://www.tkk7.com/lucky/archive/2011/01/12/342871.htmlhttp://www.tkk7.com/lucky/comments/342871.htmlhttp://www.tkk7.com/lucky/archive/2011/01/12/342871.html#Feedback0http://www.tkk7.com/lucky/comments/commentRss/342871.htmlhttp://www.tkk7.com/lucky/services/trackbacks/342871.htmlhttp://www.cn.emb-japan.go.jp/consular/visa_shinzoku.htm日本大使館
http://www.shanghai.cn.emb-japan.go.jp/cn/apply/index.html 上海領事館

http://www.jxfsc.com/ysqzriben.asp?p=384&dir=386 簽證代辦機構  江西省友好因私出國境服務中心

Lucky 2011-01-12 15:23 發表評論
]]>
主站蜘蛛池模板: 亚洲视频免费一区| 成年大片免费高清在线看黄| 亚洲国产精品综合一区在线| 亚洲kkk4444在线观看| 一级毛片免费不卡| 日韩精品成人无码专区免费| 国产成人无码免费视频97| 亚洲色大成网站WWW久久九九| 亚洲黄色片在线观看| 久久精品一本到99热免费| 免费乱码中文字幕网站| 少妇中文字幕乱码亚洲影视| 在线播放亚洲精品| 24小时免费看片| 国产亚洲精品国看不卡| 亚洲人AV在线无码影院观看| 免费国产成人午夜在线观看| 四虎影视在线永久免费观看| 亚洲五月综合网色九月色| 久久亚洲免费视频| 狠狠亚洲狠狠欧洲2019| 免费观看久久精彩视频| 91亚洲精品麻豆| 最近中文字幕完整免费视频ww| 久久精品国产99国产精品亚洲 | 亚洲精品天堂无码中文字幕| 在线播放免费人成毛片乱码| 亚洲乱码国产一区三区| 曰批免费视频播放免费| 国产网站在线免费观看| fc2成年免费共享视频18| 免费国产美女爽到喷出水来视频| eeuss影院免费92242部| 亚洲视频一区二区在线观看| 成年女人永久免费观看片| 在线亚洲高清揄拍自拍一品区| 高清永久免费观看| 亚洲午夜精品第一区二区8050| 免费大片黄在线观看| 日木av无码专区亚洲av毛片| 四虎影在线永久免费四虎地址8848aa |