了解團隊運作
團隊合作是所有成功管理的根基。無論你是新手還是資深管理人,對你而言,管理好團隊都是重要且具激勵性的挑戰。
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.鼓勵團隊成員正面積極的貢獻。
30.肯定、宣揚和慶祝團隊每次的成功。
31.找到易于讓成員及團隊了解每日工作進度的展現方式。
32.鼓勵成員之間建立工作上的伙伴關系。
33.鼓勵天生具有領導才能的人,并引導和培養他們的領導技巧。
34.絕對不能沒有解釋就駁回團隊的意見,與此相反,解釋要坦白,理由要充分。
35.確定團隊和客戶經常保持聯系。
36.以自信肯定的態度讓團隊知道誰當家,但要預防予人來勢洶洶的感覺。
37.想辦法給新團隊留下一個實時的好印象,但切忌操之過急。
38.倘若你要求別人的建議,抱持的心態不能只是歡迎就行了,也要依循建議有所行動。
提升團隊效率
團隊要達到應有的效率,唯一的條件是每個成員都要學會集中力量。你必須了解團隊的能力,以確保團隊的成功。
39.協助團隊找出方法以改變有礙任務推展的團體行為。
40.找出可建設性地利用沖突的方法。
41.記住要在工作中穿插安排娛樂調劑身心──這是每個人應得的福利。
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.聘請顧問設立公司內部的訓練課程。
87.利用移地訓練時的用餐時間作非正式的計劃。
88.每位團隊成員都必須參與設定目標的工作,以促進團隊合作及達成共識。
89.允許團隊自行決定達成目標的方法,可激勵團隊努力工作。
90.確定目標能激發團隊的斗志,如果不行,請改變目標。
91.一支沒有“嚴峻”目標的團隊,工作表現將不如接受過此類考驗的團隊。
92.設定獎勵標準時,允許團隊成員有發言權。
93.避免使用名次表,因為落后的團隊成員將會感到自尊心受創。
94.指定某人監視市場上每一個相關變化。
95.隨時準備作改變,甚至計劃的根本要素亦包含在改變的范圍內。
96.記住有某些人很害怕變革。
97.尋找能推動改革的團隊成員。
98.每隔一段時間作一次生涯發展的評量。
99.記住:鼓勵團隊成員即是在幫助團隊。
100.與團隊同事就生涯規劃達成一致意見,并給他們提供必要的協助。
101.團隊解散后仍舊要與團隊成員保持聯系,因為你可能還會與他們再次合作
用于 FROM 子句時,把源表記錄組合起來。
FROM表1 [ LEFT | RIGHT ] JOIN表2
????ON 表1.字段1compopr 表2. 字段2
LEFT JOIN 及 RIGHT JOIN 運算可分為以下幾個部分:
部分 | 說明 |
---|---|
table1, table2 | 記錄被組合的表的名稱。 |
field1, field2 | 被聯接的字段的名稱。且這些字段必須有相同的數據類型及包含相同類型的數據,但它們不需要有相同的名稱。 |
compopr | 任何的關系比較運算子:"=," "<," ">," "<=," ">=," 或 "<>." |
用 LEFT JOIN 運算 創建左邊外部聯接.左邊外部聯接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。
用RIGHT JOIN 運算 創建 右邊外部聯接.右邊外部聯接將包含了從第二個(右邊)開始的兩個表中的全部記錄,即使在第一個(左邊)表中并沒有匹配值的記錄。
例如,可以使用 LEFT JOIN 與部門(左邊)及員工(右邊)表來選擇所有的部門,包含了沒有分配到員工的部門??梢允褂?RIGHT JOIN 選擇所有的員工,包含了沒有分配到部門的員工。
下列示例顯示如何在類標識符字段中聯接類表及產品表。查詢將會列出所有種類的列表,包含那些沒有產品在其中的種類:
SELECT CategoryName,
ProductName
FROM Categories LEFT JOIN Products
ON Categories.CategoryID = Products.CategoryID;
在本例中,CategoryID 是聯接的字段,但由于它不包含在 SELECT 語句中,因此,也不包含在查詢結果中。要包含聯接的字段,請在 SELECT 語句中輸入字段名 — 在這個示例中為 Categories.CategoryID。
注意
欲創建只包含聯接字段中數據相同的記錄的查詢,請用 INNER JOIN 運算。
若試圖聯接包含 Memo或 OLE Object數據的字段,會導致錯誤。
FROM 子句 (Microsoft Jet SQL) | UNION 運算 (Microsoft Jet SQL) |
INNER JOIN 運算 (Microsoft Jet SQL) | ? |
rst is Ok!" + rst.next());
while(rst.next()){
out.println("
BOOK_CODE:" + rst.getString(1));
}
cn.close();
}else{
out.println("rst Fail!");
}
}
else
out.println("Fail!");
}catch(Exception ne){ out.println(ne);
}
3.2 Statement Pool
普通預編譯代碼:
String strSQL=”select name from items where id=?”;
PreparedStatement ps=conn.prepareStatement(strSQL);
ps.setString(1, “2”);
ResultSet rs=ps.executeQuery();
但是PreparedStatement 是與特定的Connection關聯的,一旦Connection關閉,則相關的PreparedStatement 也會關閉。
為了創建PreparedStatement 緩沖池,可以在invoke方法中通過sql語句判斷池中還有沒有可用實例。
4. 持久層設計與O/R mapping 技術
1) Hernate:適合對新產品的開發,進行封閉化的設計
Hibernate 2003年被Jboss接管,通過把java pojo對象映射到數據庫的table中,采用了xml/javareflection技術等。3.0提供了對存儲過程和手寫sql的支持,本身提供了hql語言。
開發所需要的文件:
hibernate配置文件: hibernate.cfg.xml 或 hibernate.properties
hibernate 映射文件: a.hbm.xml
pojo類源文件: a.java
導出表與表之間的關系:
a. 從java對象到hbm文件:xdoclet
b. 從hbm文件到java對象:hibernate extension
c. 從數據庫到hbm文件:middlegen
d. 從hbm文件到數據庫:SchemaExport
2)Iatis :適合對遺留系統的改造和對既有數據庫的復用,有很強的靈活性 3) Apache OJB:優勢在于對標準的全面支持 4)EJB:適合集群服務器,其性能也不象某些人所詬病的那么差勁 5) JDO (java data object)
設置一個Properties對象,從而獲取一個JDO的PersistenceManagerFactory(相當于JDBC連接池中的DataSource),進而獲得一個PersistenceManager對象(相當于JDBC中的Connection對象),之后,你可以用這個PersistenceManager對象來增加、更新、刪除、查詢對象。
JDOQL是JDO的查詢語言;它有點象SQL,但卻是依照Java的語法的。
5. 基于開源框架的Struts+Spring+Hibernate實現方案
示例:這是一個3層架構的web 程序,通過一個Action 來調用業務代理,再通過它來回調 DAO類。下面的流程圖表示了MyUsers是如何工作的。數字表明了流程的先后順序,從web層(UserAction)到中間層(UserManager),再到數據層(UserDAO),然后返回。
Spring是AOP, UserManager和UserDAO都是接口.
1) web層(UserAction) :調用中間層的接口方法,將UserManager作為屬性注入。
采用流行的Struts框架,雖然有很多人不屑一顧,但是這項技術在業界用的比較普遍,能滿足基本的功能,可以減少培訓學習成本。
2) 中間層(UserManager):將UserDAO作為屬性注入,其實現主要是調用數據層接口的一些方法;它處于事務控制中。
采用Spring框架實現,IOC與AOP是它的代名詞,功能齊全,非常棒的一個架構。
3) 數據層(UserDAO):實現類繼承HibernateDaoSupport類,在該類中可以調用getHibernateTemplate()的一些方法執行具體的數據操作。
采用Hibernate做O/R mapping,從種種跡象可以看出,Hibernate就是EJB3.0的beta版。 (轉載文章請保留出處:Java家(www.javajia.com))
用java寫服務端代碼
import java.io.*;
import java.net.*;
public class test {
public test() {
}
public static final int PORT = 8080;
public static final String ip = "10.194.111.222";
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(51,2,InetAddress.getByName(ip));
System.out.println("Started: " + s);
try {
// Blocks until a connection occurs:
Socket socket = s.accept();
try {
System.out.println(
"Connection accepted: "+ socket);
BufferedReader in =
new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
// Output is automatically flushed
// by PrintWriter:
PrintWriter out =
new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
socket.getOutputStream())),true);
while (true) {
String str = in.readLine();
if (str.equals("END")) break;
System.out.println("Echoing: " + str);
out.println(str);
}
// Always close the two sockets...
} finally {
System.out.println("closing...");
socket.close();
}
} finally {
s.close();
}
}
}
.net寫客戶端代碼
private void button2_Click(object sender, System.EventArgs e)
{
try
{
stSend = new Socket ( AddressFamily.InterNetwork ,
SocketType.Stream , ProtocolType.Tcp ) ;
//初始化一個Socket實例
IPEndPoint tempRemoteIP = new IPEndPoint(IPAddress.Parse("10.194.111.222"),51);
//根據IP地址和端口號創建遠程終結點
EndPoint epTemp = ( EndPoint ) tempRemoteIP;
stSend.Connect ( epTemp ) ;
}
catch ( Exception err)
{
string s = err.ToString();
}
}
1.工作區: (顯隱)
項目面板:ctrl + Alt + p (Project)
設計面板: ctrl + Alt + c (content)
結構面板: ctrl + Alt + s (Structure)
信息面板: ctrl + Alt + M (Message)
狀態面板: ctrl + Alt + Z
2.主面板:(代碼面板和設計面板)
激活代碼模塊: ctrl + J (@1)
參數提示信息的激活: ctrl + shift + H
打開查詢、替換窗口: ctrl + F
類的查詢: ctrl + -
3.F 鍵的用法
F1: 幫助快捷
F4: 運行多行
F5: 加入斷點
F7: 當遇到方法時會運行方法內的代碼
F8: 逐步運行代碼
F12: 代碼面板和設計面板切換
4. Shift 鍵的用法
添加多個相同組件: 按shift鍵在選項上選取組件,把組件添加到窗口即可
調整組件間間隔和對齊: 假設有組件JPanel 1/2/3;(要達到3個組件寬度相同,組件間隔相等,并且都是依據JPanel1左對齊),按shift鍵,用鼠標選中需要調整的組件,(第一個選中的組件是其他的基準)然后右鍵。
5: codeInsight 和 Codetemplates
MemberInsight -- 根據當前的代碼提示可用的類成員或方法(說明)
ParameterInsight -- 提示當前的方法需要使用的參數
SymbolInsigh -- 查看當前的變量、方法或者類的愿代碼。
MemberInsight: ctrl + space 或 ctrl + H
ParameterInsight: ctrl + shift + space 或 ctrl + shift + H
SymbolInsight: ctrl + Enter 或 Alt + shift + H
ClassInsight : ctrl + alt + space 或 ctrl + alt + H
注: (@1):使用代碼功能:(ctrl + J)
1、 在想要輸入代碼的位置輸入代碼摸板名,然后按 ctrl + J(開發人員可以用主菜單上的Tools/Editor/Templates命令來查看代碼摸板的名字)
2、把光標定位于想要輸入代碼的位置,然后按ctrl + J
http://blog.csdn.net/javamxj/archive/2004/10/11/131935.aspx
我是一名java的愛好者,理所當然裝了不少java方面的軟件,大部分是開放源碼的,而且多數是綠色軟件,只要解壓,設置一下環境變量即可使用。