如鵬網 大學生計算機學習社區

          CowNew開源團隊

          http://www.cownew.com 郵件請聯系 about521 at 163.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

          #

          在使用數據選擇器的時候(ValueObjectDataPicker),如果只有一條數據,顯示窗口的時候,提示document.formDataList.selectId[...]為空或不是對象。
          這是一個Bug,修改WebContent\Ctrl\ValueObjectDataPicker.jsp 的getSelectedData 方法開頭如下添加代碼:
          function getSelectedData()
          {
          if(document.formDataList.selectId.constructor != Array)
          {
              var ret = new Array();
              ret[0] = document.formDataList.selectId;
              return ret;
          }
          var selectIndex=-1;
          …………………………
          }
          posted @ 2008-11-13 23:05 CowNew開源團隊 閱讀(426) | 評論 (0)編輯 收藏

           

          shupi 

          Chinapub在線購買地址:http://www.china-pub.com/301651

          當當網在線購買地址:http://product.dangdang.com/product.aspx?product_id=20368319

          試讀電子版下載:
          下載地址1:http://www.aygfsteel.com/Files/huanzhugege/cxydSQLjd.zip
          下載地址2: http://www.namipan.com/d/2ec1eacc92d2678a38095bef1d19ed938f78831d6f791500
          第一本專門為程序員編寫的數據庫圖書

          《程序員的SQL金典》

          • 將子查詢、表連接、數據庫語法差異等用通俗易懂、詼諧幽默的語言講解出來
          • 配合大量真實案例,學了就能用,在短時間內成為數據庫開發高手
          • 高度提取不同數據庫的共同點,仔細分析不同點,并給出解決方案,同時學會MSSQLServer、MYSQL、Oracle、DB2數據庫不再是夢
          • 國內第一本講解開窗函數實際應用的圖書

          輕舉技術之“綱”,張合用之“目”,鍛造SQL高可用性數據庫應用指南從理論到實踐,凝聚SQL主流數據庫最前沿的技術要領。

          本書特色:主要介紹SQL的語法規則及在實際開發中的應用,并且對SQL在MySQL、MS SQL Server、Oracle和DB2中的差異進行了分析;詳細講解數據庫對增、刪、改、查等SQL的支持并給出了相應的SQL應用案例;透徹分析函數、子查詢、表連接、不同DBMS中的SQL語法差異、SQL調優、NULL值處理、事務、開窗函數等高級技術;通過對實際案例開發過程的詳細分析,使讀者掌握SQL的綜合應用技巧。

          內容提要

          本書主要介紹SQL以及在實際開發中的應用,并且對SQL在MYSQL、MSSQLServer、Oracle和DB2中的差異性進行了分析。本書分為三部分:第一部分為基礎篇,主要講解數據庫對增刪改查等SQL的支持,給出了這些SQL的應用案例;第二部分為進階篇,講解了函數、子查詢、表聯接、不同DBMS中SQL語法差異、SQL調優、NULL值處理、事務、開窗函數等高級技術;第三部分為案例篇,講解了前兩部分的知識的綜合運用。此書適用于學習數據庫編程的讀者,對于有一定數據庫開發經驗的讀者也有非常大的參考價值。

          前言

          市面上講解數現在據庫的書都花了很多篇幅講解數據庫的備份、授權、調優、修復、監控等內容,這些內容是數據庫管理員(DBA)應該掌握的,而對于程序員來說更需要去掌握的則是SQL語句的使用。但是市面上專門講解SQL語句的書非常少,初學者學習數據庫開發過程中常常被那些寫給DBA的書弄的暈頭轉向,無法真正快速的掌握SQL技術;而且這些書中講解的SQL也常常是針對特定數據庫系統的專有實現,無法很容易的在其他數據庫系統中運行,讀者需要閱讀大量的書和查閱大量的文檔才能掌握不同數據庫系統的使用。

          本書是專門寫給程序員的,因此沒有講解備份、授權、調優、修復、監控等開發人員不關心的內容,直接從SQL語句入手讓讀者快速的掌握數據庫開發的技能。“面向開發人員,講解對開發人員最有用的知識”是本書的編寫宗旨。

          MYSQL、MSSQLServer、Oracle和DB2等都是非常流行的數據庫管理系統(DBMS),雖然在大部分SQL語法上這些DBMS實現都是一致的,不過在實現細節以及高級語法方面這些DBMS的實現差異還是非常大的。如果編寫能夠兼容這些DBMS的SQL語句是開發人員經常需要面對的問題。本書將幫助讀者從根本上解決這個問題。

          很多開發人員對于SQL語句的掌握只限于簡單的SELECT、UPDATE語句,對于稍微復雜的邏輯經常需要編寫程序代碼來完成,這不僅無法發揮數據庫的優勢,而且開發出的系統性能非常低,而如果能夠使用數據庫函數、子查詢、表聯接、開窗函數等高級的SQL特性則可以大大簡化系統開發的難度,并且提高系統的性能。本書將對這些高級特性進行詳細的講解。

          本書第1、2章介紹數據庫系統的基本知識以及基本操作;第3章介紹Insert、Delete和Update語句的基本應用;第4章對Select語句進行全面的介紹,對模糊匹配、分組、限制數據條數、計算字段、組合查詢等高級內容進行了重點的講解;第5章介紹常用的數據庫函數以及它們在主流DBMS中的實現差異;第6章介紹索引與約束等知識點;第7、8章分別介紹表連接、子查詢等高級查詢技術;第9章對主流DBMS的語法差異進行分析,并且給出了解決方案;第10章介紹注入漏洞攻擊、SQL調優、事務、自動增長字段、NULL值處理、開窗函數等高級話題;第11章以一個案例講解書中知識點在實際開發中的應用。

          在此,我要感謝為這本書的誕生給于我幫助的所有人。首先我要感謝CowNew開源團隊的朋友們一直以來的無私奉獻;感謝KingChou在開發CowNewSQL過程中的卓越工作,沒有CowNewSQL也就不會有這本書的問世;還要感謝EasyJF的蔡世友,他一直以來對開源事業的奉獻是值得我學習的;最后我要感謝電子工業出版社的田小康經理,他的高效工作使得本書能夠順利的完成和出版。

          如果您對我的書有任何意見和建議,您可以給我發送郵件:about521@163.com,本書相關的后續資料將會發布到CowNew開源團隊網站(http://www.cownew.com)中。

          第1章 數據庫入門 1

          1.1 數據庫概述 1

          1.1.1 數據庫與數據庫管理系統 1

          1.1.2 數據庫能做什么 2

          1.1.3 主流數據庫管理系統介紹 2

          1.2 數據庫基礎概念 5

          1.2.1 Catalog 5

          1.2.2 表(Table) 6

          1.2.3 列(Column) 7

          1.2.4 數據類型(DataType) 8

          1.2.5 記錄(Record) 9

          1.2.6 主鍵(PrimaryKey) 9

          1.2.7 索引(Index) 10

          1.2.8 表關聯 12

          1.2.9 數據庫的語言——SQL 13

          1.2.10 DBA與程序員 14

          第2章 數據表的創建和管理 17

          2.1 數據類型 17

          2.1.1 整數類型 17

          2.1.2 數值類型 19

          2.1.3 字符相關類型 21

          2.1.4 日期時間類型 23

          2.1.5 二進制類型 24

          2.2 通過SQL語句管理數據表 25

          2.2.1 創建數據表 25

          2.2.2 定義非空約束 26

          2.2.3 定義默認值 27

          2.2.4 定義主鍵 27

          2.2.5 定義外鍵 29

          2.2.6 修改已有數據表 30

          2.2.7 刪除數據表 31

          2.2.8 受限操作的變通解決方案 31

          第3章 數據的增、刪、改 33

          3.1 數據的插入 34

          3.1.1 簡單的INSERT語句 34

          3.1.2 簡化的INSERT語句 36

          3.1.3 非空約束對數據插入的影響 36

          3.1.4 主鍵對數據插入的影響 37

          3.1.5 外鍵對數據插入的影響 38

          3.2 數據的更新 38

          3.2.1 簡單的數據更新 39

          3.2.2 帶WHERE子句的UPDATE語句 40

          3.2.3 非空約束對數據更新的影響 41

          3.2.4 主鍵對數據更新的影響 42

          3.2.5 外鍵對數據更新的影響 42

          3.3 數據的刪除 43

          3.3.1 簡單的數據刪除 43

          3.3.2 帶WHERE子句的DELETE語句 44

          第4章 數據的檢索 47

          4.1 SELECT基本用法 48

          4.1.1 簡單的數據檢索 48

          4.1.2 檢索出需要的列 49

          4.1.3 列別名 51

          4.1.4 按條件過濾 52

          4.1.5 數據匯總 53

          4.1.6 排序 56

          4.2 高級數據過濾 59

          4.2.1 通配符過濾 59

          4.2.2 空值檢測 63

          4.2.3 反義運算符 64

          4.2.4 多值檢測 65

          4.2.5 范圍值檢測 66

          4.2.6 低效的“WHERE 1=1” 68

          4.3 數據分組 72

          4.3.1 數據分組入門 74

          4.3.2 數據分組與聚合函數 76

          4.3.3 HAVING語句 79

          4.4 限制結果集行數 81

          4.4.1 MySQL 81

          4.4.2 MS SQL Server 2000 82

          4.4.3 MS SQL Server 2005 83

          4.4.4 Oracle 84

          4.4.5 DB2 86

          4.4.6 數據庫分頁 88

          4.5 抑制數據重復 90

          4.6 計算字段 91

          4.6.1 常量字段 92

          4.6.2 字段間的計算 93

          4.6.3 數據處理函數 95

          4.6.4 字符串的拼接 97

          4.6.5 計算字段的其他用途 103

          4.7 不從實體表中取的數據 105

          4.8 聯合結果集 107

          4.8.1 簡單的結果集聯合 108

          4.8.2 聯合結果集的原則 110

          4.8.3 UNION ALL 112

          4.8.4 聯合結果集應用舉例 114

          第5章 函數 119

          5.1 數學函數 122

          5.1.1 求絕對值 122

          5.1.2 求指數 122

          5.1.3 求平方根 123

          5.1.4 求隨機數 123

          5.1.5 舍入到最大整數 125

          5.1.6 舍入到最小整數 126

          5.1.7 四舍五入 127

          5.1.8 求正弦值 128

          5.1.9 求余弦值 129

          5.1.10 求反正弦值 129

          5.1.11 求反余弦值 130

          5.1.12 求正切值 130

          5.1.13 求反正切值 131

          5.1.14 求兩個變量的反正切 131

          5.1.15 求余切 132

          5.1.16 求圓周率π值 132

          5.1.17 弧度制轉換為角度制 133

          5.1.18 角度制轉換為弧度制 134

          5.1.19 求符號 134

          5.1.20 求整除余數 135

          5.1.21 求自然對數 136

          5.1.22 求以10為底的對數 136

          5.1.23 求冪 137

          5.2 字符串函數 137

          5.2.1 計算字符串長度 138

          5.2.2 字符串轉換為小寫 138

          5.2.3 字符串轉換為大寫 139

          5.2.4 截去字符串左側空格 139

          5.2.5 截去字符串右側空格 140

          5.2.6 截去字符串兩側的空格 141

          5.2.7 取子字符串 143

          5.2.8 計算子字符串的位置 144

          5.2.9 從左側開始取子字符串 145

          5.2.10 從右側開始取子字符串 146

          5.2.11 字符串替換 147

          5.2.12 得到字符的ASCII碼 148

          5.2.13 得到一個ASCII碼數字對應的字符 149

          5.2.14 發音匹配度 151

          5.3 日期時間函數 153

          5.3.1 日期、時間、日期時間與時間戳 153

          5.3.2 主流數據庫系統中日期時間類型的表示方式 154

          5.3.3 取得當前日期時間 154

          5.3.4 日期增減 157

          5.3.5 計算日期差額 166

          5.3.6 計算一個日期是星期幾 172

          5.3.7 取得日期的指定部分 177

          5.4 其他函數 183

          5.4.1 類型轉換 183

          5.4.2 空值處理 188

          5.4.3 CASE函數 191

          5.5 各數據庫系統獨有函數 194

          5.5.1 MySQL中的獨有函數 195

          5.5.2 MS SQL Server中的獨有函數 202

          5.5.3 Oracle中的獨有函數 206

          第6章 索引與約束 209

          6.1 索引 209

          6.2 約束 211

          6.2.1 非空約束 211

          6.2.2 唯一約束 212

          6.2.3 CHECK約束 217

          6.2.4 主鍵約束 221

          6.2.5 外鍵約束 224

          第7章 表連接 233

          7.1 表連接簡介 236

          7.2 內連接(INNER JOIN) 236

          7.3 不等值連接 240

          7.4 交叉連接 241

          7.5 自連接 245

          7.6 外部連接 248

          7.6.1 左外部連接 250

          7.6.2 右外部連接 251

          7.6.3 全外部連接 252

          第8章 子查詢 255

          8.1 子查詢入門 261

          8.1.1 單值子查詢 261

          8.1.2 列值子查詢 263

          8.2 SELECT列表中的標量子查詢 265

          8.3 WHERE子句中的標量子查詢 267

          8.4 集合運算符與子查詢 270

          8.4.1 IN運算符 270

          8.4.2 ANY和SOME運算符 272

          8.4.3 ALL運算符 274

          8.4.4 EXISTS運算符 275

          8.5 在其他類型SQL語句中的子查詢應用 277

          8.5.1 子查詢在INSERT語句中的應用 277

          8.5.2 子查詢在UPDATE語句中的應用 283

          8.5.3 子查詢在DELETE語句中的應用 285

          第9章 主流數據庫的SQL語法差異解決方案 287

          9.1 SQL語法差異分析 287

          9.1.1 數據類型的差異 287

          9.1.2 運算符的差異 288

          9.1.3 函數的差異 289

          9.1.4 常用SQL的差異 289

          9.1.5 取元數據信息的差異 290

          9.2 消除差異性的方案 293

          9.2.1 為每種數據庫編寫不同的SQL語句 293

          9.2.2 使用語法交集 294

          9.2.3 使用SQL實體對象 294

          9.2.4 使用ORM工具 295

          9.2.5 使用SQL翻譯器 296

          9.3 CowNewSQL翻譯器 299

          9.3.1 CowNewSQL支持的數據類型 299

          9.3.2 CowNewSQL支持的SQL語法 300

          9.3.3 CowNewSQL支持的函數 305

          9.3.4 CowNewSQL的使用方法 309

          第10章 高級話題 313

          10.1 SQL注入漏洞攻防 313

          10.1.1 SQL注入漏洞原理 313

          10.1.2 過濾敏感字符 314

          10.1.3 使用參數化SQL 315

          10.2 SQL調優 316

          10.2.1 SQL調優的基本原則 317

          10.2.2 索引 317

          10.2.3 全表掃描和索引查找 318

          10.2.4 優化手法 318

          10.3 事務 324

          10.3.1 事務簡介 324

          10.3.2 事務的隔離 325

          10.3.3 事務的隔離級別 326

          10.3.4 事務的使用 327

          10.4 自動增長字段 327

          10.4.1 MySQL中的自動增長字段 327

          10.4.2 MS SQL Server中的自動增長字段 328

          10.4.3 Oracle中的自動增長字段 329

          10.4.4 DB2中的自動增長字段 332

          10.5 業務主鍵與邏輯主鍵 333

          10.6 NULL的學問 334

          10.6.1 NULL與比較運算符 336

          10.6.2 NULL和計算字段 337

          10.6.3 NULL和字符串 338

          10.6.4 NULL和函數 339

          10.6.5 NULL和聚合函數 339

          10.7 開窗函數 340

          10.7.1 開窗函數簡介 342

          10.7.2 PARTITION BY子句 344

          10.7.3 ORDER BY子句 346

          10.7.4 高級開窗函數 353

          10.8 WITH子句與子查詢 360

          第11章 案例講解 363

          11.1 報表制作 371

          11.1.1 顯示制單人詳細信息 371

          11.1.2 顯示銷售單的詳細信息 373

          11.1.3 計算收益 374

          11.1.4 產品銷售額統計 378

          11.1.5 統計銷售記錄的份額 379

          11.1.6 為采購單分級 380

          11.1.7 檢索所有重疊日期銷售單 383

          11.1.8 為查詢編號 385

          11.1.9 標記所有單內最大銷售量 386

          11.2 排序 389

          11.2.1 非字段排序規則 389

          11.2.2 隨機排序 390

          11.3 表間比較 391

          11.3.1 檢索制作過采購單的人制作的銷售單 391

          11.3.2 檢索沒有制作過采購單的人制作的銷售單 392

          11.4 表復制 394

          11.4.1 復制源表的結構并復制表中的數據 394

          11.4.2 只復制源表的結構 395

          11.5 計算字符在字符串中出現的次數 396

          11.6 去除最高分、最低分 396

          11.6.1 去除所有最低、最高值 397

          11.6.2 只去除一個最低、最高值 397

          11.7 與日期相關的應用 398

          11.7.1 計算銷售確認日和制單日之間相差的天數 398

          11.7.2 計算兩張銷售單之間的時間間隔 399

          11.7.3 計算銷售單制單日期所在年份的天數 401

          11.7.4 計算銷售單制單日期所在月份的第一天和最后一天 402

          11.8 結果集轉置 403

          11.8.1 將結果集轉置為一行 404

          11.8.2 把結果集轉置為多行 406

          11.9 遞歸查詢 410

          11.9.1 Oracle中的CONNECT BY子句 410

          11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函數 414

          11.9.3 My SQL Server和DB2中遞歸查詢 415

          附錄A 常用數據庫系統的安裝和使用 417

          A.1 DB2的安裝和使用 417

          A.2 MySQL的安裝和使用 429

          A.3 Oracle的安裝和使用 441

          A.4 Microsoft SQL Server的安裝和使用 452

          20081021

          posted @ 2008-10-23 09:58 CowNew開源團隊 閱讀(2371) | 評論 (2)編輯 收藏

          C-Free是一個非常好用的C/C++開發工具,由于C-Free的內置組件比較老,而且一些設置不太合理,所以要發揮C-Free的最大優勢還要對其進行設置上的調整。

          本文中的C-Free使用的是4.1版本。

          一、升級MinGW

          ????C-Free使用的內置版本的MinGW是2.95版本的,這個版本已經非常老了,對于C/C++的新語法、新格式的資源文件、新格式的對話框資源等都支持非常差,特別是如果要開發基于對話框的Windows程序的話只能使用C-Free內置的那個老古董級別的DialogEditor,不支持ResEd、ResEditor等新一代的資源編輯器。因此強烈建議大家升級MinGW的版本,我推薦大家使用MinGW3.4.5。

          ????MinGW的下載安裝、配置非常麻煩,不過我們可以使用別人已經配置好的,最偷懶的方式就是下載Code:Blocks,Code:Blocks也是一款C/C++開發工具,它內置的就是MinGW3.4.5。可以下載帶MinGW的Code:Blocks,安裝后提取安裝目錄下的MinGW目錄就可以了。為了方便大家,JSJ321學習社區(www.jsj321.com)將提取出來的MinGW打包上傳到了網上,懶得下載Code:Blocks的朋友直接到下面地址下載即可:

          http://www.namipan.com/d/MinGW3.4.5(%e7%b2%be%e7%ae%80%e7%89%88).zip/e443fbe4717fc8c10f9e393cf2dc331c8380f9ec98193a01

          ?

          下載完成后將MinGW解壓到磁盤上,比如我解壓到D:\greeninst\MinGW3.4.5

          運行C-Free,選擇主菜單的【構建】→【構建選項】,彈出如下的對話框

          ????確保"構建配置"中選中的是"mingw2.95",然后點擊右側的向右箭頭的按鈕

          點擊【刪除配置】菜單項,在彈出的確認對話框中選擇【確定】按鈕即可將舊的MinGW2.95刪除了。

          接著再次點擊那個向右箭頭的按鈕,點擊【新建配置】菜單項,彈出下面的對話框

          "編譯器類型"選中"MinGW"(注意不是"MinGW(Old)",不要弄錯了),配置名稱中輸入"MinGW3.4.5",然后點擊【確定】按鈕。然后系統會顯示下面的對話框:

          點擊【確定】按鈕即可,會接著彈出下面的對話框要求你選擇MinGW3.9.5的位置:

          選擇你的MinGW3.4.5解壓的目錄即可,比如我這里的目錄就是:D:\greeninst\MinGW3.4.5。選擇好了以后點擊【確定】按鈕。系統會彈出下面的對話框:

          點擊【確定】按鈕即可。配置完成的界面如下:

          點擊【確定】按鈕即可以完成最終配置。

          從此我們就可以使用MinGW3.4.5做為C-Free的編譯器了。

          有更多問題,歡迎到"專為計算機專業在校大學生服務"的學習社區JSJ321.com提問。

          二、舊工程怎么遷移到MinGW3.4.5呢?

          以前用MinGW2.9.5開發的工程如果用配置了MinGW3.4.5的C-Free打開以后并不會自動應用新的MinGW3.4.5編譯器,需要手工升級。升級方式如下:

          打開工程,在工程上點擊右鍵

          選擇【工程設置】菜單項。在彈出對話框中點擊那個右鍵頭按鈕:

          在菜單中選中【從全局構建配置復制】,彈出下面的對話框:

          選擇"MinGW3.4.5"然后點擊【確定】按鈕即可完成升級。

          二、升級資源編輯器

          C-Free內置的是老掉牙的DialogEditor,這個編輯器只能編輯老格式的對話框資源文件、內置的控件非常少、對中文支持不好,只能編輯對話框資源不能編輯圖標、圖片、菜單、工具條等資源,所以除了你想懷舊一下,否則請升級到更好用的資源編輯器。

          這里推薦大家使用ResEd,這是一款非常好用的資源編輯器而且是中文界面的,提供幾個下載地址:
          http://www.duote.com/soft/1184.html
          http://download.pchome.net/development/linetools/detail-86253.html
          http://www.namipan.com/d/e856806c60616f9a54c52ab07f5ba46662118ecc53830100

          ? ? 注意ResEd和ResEdit是兩個軟件,不一樣的,不要混淆。

          下載完成后將壓縮包中的ResEd.exe解壓到C-Free的安裝目錄下,如果你沒有修改C-Free的安裝路徑的話,一般是"C:\Program Files\C-Free 4"。

          解壓完畢啟動C-Free,點擊主菜單的【工具】→【工具配置】,會彈出下面的對話框:

          在"工具"列表中選中"對話框編輯器",將"工具"修改為"資源編輯器",將"程序"修改為"$(CFRoot)\ResEd.exe",將"參數"修改為"$(FileName)"。這表示當通過主菜單啟動ResEd以后自動打開當前C-Free中正在編輯的資源文件。修改完成后如下圖:

          點擊【確定】按鈕。

          以后就可以通過主菜單的【工具】→【資源編輯器】來啟動ResEd了,而且如果當前C-Free中有rc、dlg等資源文件被打開的話ResEd還會自動打開此資源文件。

          三、配置ResEd

          ????啟動ResEd,點擊主菜單【工具】→【詳細設置】,將"名稱輸出格式"選擇為"C-Defines",并且選中"保存時自動輸出"。然后點擊【確定】按鈕,這樣每次修改資源文件并保存的時候就會自動生成資源ID的定義文件了。

          四、為什么代碼自動提示不出來?怎么增加自動提示的數量?
          【工具】→【編輯器選項】→【代碼提示】。顯示最大條數、輸入幾個字符后才激活。建議改成10、1

          、怎么修改新建文件的默認文件名為c。
          【工具】→【環境選項】、修改"新建文件類型"

          ?

          有更多問題,歡迎到"專為計算機專業在校大學生服務"的學習社區JSJ321.com提問。

          ?

          posted @ 2008-10-15 23:56 CowNew開源團隊 閱讀(1435) | 評論 (0)編輯 收藏

           今天下午和同事隨便聊天,談到他大學時做的一個項目(用C語言),里邊用到了堆棧,因為C語言中沒有內置的堆棧之類數據結構的標準庫,因此他自己寫了一個,不過問題就是他程序中有兩個地方用到了堆棧,不過兩個堆棧用存放的數據類型不一樣,由于C語言中沒有模板,因此他只能搞了兩個堆棧庫,分別是針對不同類型的,有很多重復代碼。當時我不知道為啥靈光一現說“用void指針不就行了”,因為長時間沒用C語言了,對C語言的很多概念都很模糊了,但是當時竟然能夠潛意識里反映出來“void指針可以指向任意類型”,呵呵,竟然剛才上網一查確實如此,難道這就是傳說中的潛意識?哈哈。
          from:http://www.jsj321.com/forum/viewthread.php?tid=191&extra=page%3D1&frombbs=1

          posted @ 2008-09-27 23:32 CowNew開源團隊 閱讀(971) | 評論 (0)編輯 收藏

          [搜狐科技頻道]由于Alexa使用了最新的Seliay算法,這個算法存在漏洞。根據此漏洞用工具刷1次就可以提升一個排名。
          國內專家迅速開發出了刷新工具地址:http://www.jsj321.com/systool/shua.php

          posted @ 2008-09-25 21:47 CowNew開源團隊 閱讀(409) | 評論 (0)編輯 收藏

          *** 09:33:00
          開源軟件是軟件免費提供,但是不是相關服務要收費呢?
          楊中科 09:34:07
          “開源軟件是軟件免費提供”,錯!開源軟件只是說源代碼開放,但是并沒有說免費提供,比如RedHat就是開源軟件,但是不免費,你要使用必須交費買
          楊中科 09:34:29
          “是不是相關服務要收費呢?”,一般都是。*** 09:35:56
          你開放源代碼,對我來說的好處是什么呢?我可以隨意修改。但都要遵循你的什么相關協議嗎?
          楊中科 09:40:29
          linux開放源代碼不是說你想開源就開源,想不開源就不開源,因為Linus維護的Linux核心是開源的,使用Linux核心開發的所有版本也必須開源。所以有時候開源是不得已而為之。紅旗Linux那種行為算流氓。
          對用戶的好處就是知道你內部在做什么,自己更加放心。而且一旦有bug或者自己想做個性化定制,如果自己有相應的IT力量,那么可以自己改。
          “我可以隨意修改。但都要遵循你的什么相關協議嗎?”。這個要根據不同的開源協議來定,開源協議就可以看做是格式合同,國際上有很多中流行的開源協議,比如GPL、BSD等等。以Linux遵守的GPL協議來說,你可以隨意修改Linux,但是如果你要發行你的修改版的話,你修改后的代碼也要開源。
          *** 09:45:39
          不說linux,就比如電騾或者咱們用的那個vbox的虛擬機。他們都說自己開源。是不是也就是說源代碼都是免費提供,但是都要遵循他們特定的協議。比如說用電騾源碼做得“哇嘎”,, 用vbox好比咱們也做了個靠牛虛擬機但是咱們在網上賣這個軟件是不是就算侵權了。
          楊中科 09:46:29
          要它它用的什么協議了
          楊中科 09:47:13
          常用開源協議的詳細解析
          http://www.yuanma.org/data/2006/0410/article_234.htm
          *** 09:47:21
          哦,這么說,開源的泛意是免費提供源代碼。
          楊中科 09:48:25
          開源里不要提“免費”兩個字,這是誤解,沒人說要免費。我只說我的代碼是Open的
          楊中科 09:48:38
          對誰open、怎么open是另外一回事
          楊中科 09:49:06
          比如微軟的所謂開源協議也是通過國際認證的,它的所謂開源就是你買了微軟的產品以后才給你開源嗎
          楊中科 09:49:23
          才給看源碼,而且只能看不能改。數據結構有什么用?*** 09:51:48
          那你說像eclipes這個開源ide,他的盈利方法是什么呢?也是靠賣服務。還有什么開源社區,他們靠什么呢
          楊中科 09:53:36
          eclipse的盈利模式主要有:靠eclipse把開發者聚集到IBM旗下,有了人氣剩下的錢就好賺了,比如可以推他們的商業產品
          *** 09:55:40
          啊,這么說ibm搞eclipes完全是義務勞動了。當然后期的推產品是后話。就單搞eclies來說他是根本不靠這個ide來賺錢的?楊中科 09:55:49

          楊中科 09:57:16
          它也有自己的商業產品的開發工具是基于eclipse的,這樣一來熟悉eclipse的開發人員用他們的開發工具非常方便,二來可以靠社區的力量完善他們的商業化產品
          楊中科 09:57:23
          互聯網時代人氣就是財富
          *** 09:57:34
          所以說中國開源路慢慢,你給他開了,他搞個東西賣錢,但他也不管你協議不協議的。
          本聊天記錄是“計算機321”:http://jsj321.com內部交流實錄,因為隱私的緣故隱去了QQ號碼。

          posted @ 2008-09-23 22:53 CowNew開源團隊 閱讀(378) | 評論 (0)編輯 收藏

          今天看到兩篇文章,都是談軟件開發方向的大學生應該學什么的。總是在網上看到大面積的在吹噓“計算機專業高校教的已經過時了,企業要求掌握開發經驗的大學生,培訓機構異常火爆”之類的話,我突然意識到這些其實都是那些培訓機構的本位主義的炒作而已。其實大部分企業招聘應屆生的時候并不是要求學生有太多的所謂項目經歷,但是要求最高的是應屆生對專業課的掌握程度,企業的筆試題也是以專業課的題目為主。這是企業的校園招聘和社會招聘不同的地方。有人可能會舉出反例,我只能說那樣要求應屆生有這樣那樣項目經歷的公司都是草臺班子小公司,不在我們考慮的范圍之內。有的公司招聘應屆生的時候如果看到你有太多項目經驗的時候甚至懷疑你在校期間是否有認真學習專業課。不能忽視的一個事實是很多高校的任課教師并沒有很豐富的開發經驗,因此也不能教給學生關于“這門課有什么實際用途”之類的問題,這一直困惑著我們。可以看到像jsj321.com這樣的網站已經開始在向這方面努力了,搞了很多針對在校計算機專業大學生的免費在線課程,請了很多有項目經驗以及扎實理論基礎的工程師來講課,這樣與學校的課程同步學習,“白天聽大學老師講理論,晚上聽網上老師講實戰”,兩者相結合就能培養出有實戰經驗,同時又不失理論基礎的軟件精英。
          下面是這兩篇文章的摘錄:

          寫給還在大學的兄弟姐妹

          FROM:http://www.cnblogs.com/hanxianlong/archive/2008/09/17/1292446.html

          基礎很重要

          許多企業招聘,要求大學本科畢業生有一定的工作經驗。而現實是,當今的大學教育使得有工作經驗的本科生少之又少。從大學過來的人都應該清楚大學生活是什么樣子:要么很努力的學習——這是考研一族,要么外出找兼職——這是工作一族,要么就過一天少一天——這是混日子一族。其他的情況當然也有,在此暫且只分為這幾類學生。考研的學生,若是考研成功便進一步的去深造,若失敗則面臨著求職。而他們學習是如此的刻苦,何來工作經驗?兼職的學生,有些同學可能做的很好,能夠很好的處理兼職與學習的關系,而某些認為兼職就是“賺錢”的學生可能處理的并不是那么好,認為“能讓我畢業就行”,殊不知畢業時找工作別人對于兼職所帶來的工作經驗向來是不太認可的。混日子一族就不說了,天天要么游戲要么網吧要么睡覺,習沒學好,更別提什么經驗。
          那么,我們大學畢業生就果然不能找到工作了么?答案當然是否定的!雖說每年的畢業生都在增加,每年的就業壓力都在加大,但是我們應該看到,為什么就業壓力會加大,應從我們自身多找一些原因。試問,哪個IT公司愿意招一個連冒泡排序都不知道的人?你可能抱怨畢業生真的太多競爭真的太激烈,并且自己也一點經驗都沒有,但是也應該看到,每年的招聘會上簽約的同學還是很多的。仔細分析一下那些能夠成功把自己“賣”出去同學的“賣”出自己的原因——他們的基礎一定很不錯,至少在求職那段時間內他們把課堂上學習的知識又一次鞏固了——這一點是毫無疑問的。校園招聘畢竟與社會招聘有很大的區別,企業也對當前大學教育狀況有一定的了解,因此招聘的流程是先筆試,當然一般是一些和書本上學習過的知識相關的筆試題目,比如排序算法,數據的類型等等,筆試通過你才有機會去面試。既然筆試的題目是基礎,那么一個連基礎都不明白的大學生還有什么理由有機會進入面試,還有什么理由進入公司呢?
          所以說,重視基礎!不要說大學中的課本沒用,打算畢業后走技術方向的你一定要重視幾門基礎課的學習,其中包括C語言、數據庫、數據結構,至少這三門應該是能夠掌握的非常熟練。要是問,什么叫“熟練”呢?去到網上找一些筆試題做一下去,看看自己能夠得多少分然后就知道什么叫“熟練”了。
          應屆生求職最重要的一點,就是需要有扎實的基礎。

          有了經驗,還需要什么

          我提到,有些同學是“兼職”,當然也可能是“全職”。比如我自己,從大三開始便到一家軟件公司5×8的工作,所以到畢業之后也就有兩年的實際開發經驗。求職之時底氣也足,簡歷上也不僅僅是空虛的“掌握某某語言”,而是一些自己負責開發的一些項目。
          當然,經驗并不等于全部。求職之前先仔細的審核一下“有經驗的自己”的基礎是否牢固。一個有經驗的應屆生去應聘當然會比沒有經驗的同屆學生有優勢,但是如果你基礎不牢固的話,那么這所謂的“優勢”會成為你求職路上的絆腳石。
          舉個例子說,你做了兩年的開發,當面試官問你引用類型與值類型的區別時你若不知道,那么面試官心中肯定會想,這基礎的知識都不懂這兩年是如何開發的?進而可能會想到你僅僅是做一些非常簡單的編碼工作或者認為你的經驗是捏造的……這時候你就處于被動了,雖然實際開發中你不知道引用類型和值類型的區別一樣可能開發出能夠運行的程序來,但面試官的面試往往是從理論開始。一旦你理論上不行,那么面試官對你的耐心就會大打折扣。
          我此次求職過程中就遇到了這樣的問題。因為開始時并沒有注重基礎的學習而認為僅僅是能夠實現某項功能即可,結果導致筆者在理論上很是欠缺。在求職某家公司時因基礎知識不牢固而被pass之后就利用一周的時間狠補以前就應該掌握的理論知識,再在其后的無論是筆試還是面試過程中就一路綠燈了。
          其實就算不為了求職,我們也應該把理論知識掌握牢固。如果說經驗是軀體的話,那么理論便是靈魂。軀體總是在靈魂的支配下活動的,沒有靈魂的軀體只能說是……行尸走肉。也就是說,一個不懂理論的程序員永遠只能是代碼編寫者,不可能成為優秀的軟件設計師。
          一句話,有了經驗,還需要有理論的護航才能走得更高更遠。

          有了經驗,也有了能力,求職一定會成功么?

          如果你前兩點都已經具備,那么就一定會在求職的過程中很順利么?答案顯然也是否定的。面試有一定的技巧,雖然說面試僅僅那短短的幾分鐘,或者時間長的能達到半個小時,你需要在這短短的幾分鐘到半個小時之間把自己的優點和擁有的經驗全面的推銷給你的面試者,讓他真正相信你是一個經驗和能力具備的人。
          大四上學期,我曾經作為所在的軟件公司的技術面試官到一些大學去招聘,我很奇怪有些學生會在面試的時候顯得非常緊張,可能和個人性格或者其他什么方面有關。這一點請你記住:面試官也是人,或許說不定和你同齡也不一定,不要對他產生畏懼的心理。盡可能詳盡地介紹你自己的優點,當然當面試官問到你的缺點時,你應該能夠用一種積極的態度去評價自己的缺點,而不是說“我怎么怎么不行”,應該讓面試官知道你能夠正確地認識自身的缺點并努力的改正也是增加自己面試分的一種途徑。
          有了經驗和能力的你,在求職時應多注意自己在面試時的表現,包括你的衣著,你的言行,還有你對某些問題的看法等等。

          題外話

          其實一個真正優秀的畢業生,他從剛入大學時就會去考慮自己畢業之后如何找工作,會考慮到找工作時需要哪些知識并以此為動力在自己的大學生活中朝著自己的方向努力。
          看到那些成天只知道玩的學弟學妹,有時筆者會感到一絲的難過與凄涼。他們或許還體會不到就業的壓力,或者還體會不到大四畢業時找工作的艱難與無奈。嗨,只希望讀到本篇文章的大校大學生們能夠珍惜自己的時光,多做一些有意義的事情,而不要每天在魔獸中生活。不能讓自己在畢業之后后悔。

          軟件專業畢業生之一個月攻略

          from:http://www.cnblogs.com/wsgpd/archive/2008/09/17/1292428.html

          因為畢業生本來沒有什么開發經驗,所以我們很少考畢業生什么具體的技術例如aspx、Ajax、Hibernate、ADO什么的,考了也做不出來,做出來也是垃圾。這些具體的技術可以在工作中學習。如果面試官一上來就問你會不會Ajax什么的,肯定是個爛公司,沒打算長期培訓你。
          我們要的人最基本的要求是態度好+邏輯清晰,否則寫出來的代碼是垃圾,以后沒人敢維護。
          計算機邏輯不清楚的人最好不要做計算機,寧可去坐坐小生意好了,否則越做越累,真是耽誤自己的前途。
          給畢業生的建議如下,估計狂補課一個月應該能大大提高自己的能力:
          1. 多學學數據結構和算法。
               把書上的練習題全部用C/C#/Java做一遍,保證自己邏輯清楚。
          2.數據庫基本原理。
               把微軟SQL Server的教材的練習做一遍,SQL的基本概念就很清楚了。
          3.HTML
              做做一個網上商店的例子,過一遍HTML就行了。不見得一定是PetShop這種級別的,PetShop對于新畢業生估計理解不透,還是做好基本功再說。
          4.不要天天跟技術潮流
              技術潮流會天天變的,你跟不過來,看看就行了。把以上幾門課學學好已經能夠混飯吃了。等基礎打好了,再去看潮流。
              所以不建議畢業生天天追著CSDN、CNBlogs看,還是多做練習。dudu不會罵我吧。[這段話很多人不滿,解釋下,我很希望大家都去學習框架和新技術,但是前提是你的數據結構和算法要學好是吧]
          5. 態度和責任感
              如果工作態度不夠好,到哪里都會做不好。不要罵公司,優秀的人長期下來大家都看得到,會越來越多機會和名聲。以后年紀大了,都是靠名聲吃飯的。名聲臭了,必定沒啥前途的。
          “計算機321”評論:永遠不能忽視專業課的學習,大學書本上的東西永遠不過時。

          posted @ 2008-09-18 16:14 CowNew開源團隊 閱讀(2055) | 評論 (4)編輯 收藏

          BT全名為BitTorrent,是一個p2p軟件,你在下載download的同時,也在為其他用戶提供上傳upload,因為大家是“互相幫助”,所以不會隨著用戶數的增加而降低下載速度。
          下面是一般用ftp,http等分享流程:


          1.JPG

          下面是用BitTorrent分享的流程:


          2.JPG

          其實跟ED也十分相似,ED跟BT不同的地方有:
            ED--要連上一個固定server BT--沒有固定server,只要分享者制作出該分享檔案的.torrent檔公布出來便可
            ED--分享的人越多速度越快? BT--種子seed越多速度越快
            ED--世界性的分享 BT--團體性的分享(可做到速度保證)
            ED--知道在分享者的user name &速度 BT--沒顯示使用者/分享者名字
          比起其它的P2P軟件,BT有個獨特的地方,它存在一個中間的WEB服務器,就是我們在發布的時所填寫的announce。 該服務器提供了發布的統一管理,不像其它P2P軟件那樣到處去找哪些非常不穩定的個人服務器,相對起來讓人安心的多。
          該WEB服務器更大的作用是內網用戶可以做 Send(下面會說明原理),這是其它軟件無法做到的,但不好的地方是announce當機的時候就無法下載了。要知道P2P下載關鍵是要人氣要高,announce停一下就搞到人氣全沒有了。
          .torrent 的作用
          大家都知道我們要用BT下載 ,就要先下載一個.torrent文件,這個文件到底有甚么呢:
          首先是 announce 紀錄了發布服務器的位置,讓BT知道是那個WEB服務器發布的,然后是一些文件信息,文件名,目錄名,長度等等,最后是片段長度,和片段的 Sha1 校驗碼,(BT為了事現續傳和文件校驗,就把文件分成若干個片段),大家可以用寫字板打看torrent文件看看,就是知道個大概,后面的亂碼是片段 Sha1 校驗碼。
          開始-續傳的實現 sha校驗
          BT 打開一個 torrent文件后,先要你選擇文件保存那里。然后判斷文件不存在的話就建立新文件,存在的話就用 Sha1 校驗碼去校驗文件---錯誤的就是還沒下載的,這樣就可以實現續傳了,但128位校驗,想不慢都不行
          得到 peer
          現在知道要下載甚么了,到那里下載呢?這就要尋找有誰提供上傳了,這里BT是通過WEB服務器來實現的,首先BT會通過分析 torrent 來得到下面一串網址
          http://btfans.3322.org:6969/announce?info_hash=%CDg%D4%19%AD%96%9D%93%03%DB%E4%FFXA%C6%5D%043%17O&peer_id=%00%00%00%00%00%00%00%00%00%00%00%00%A3E%E0%9BeB%90d&port=6882&uploadED=0&downloadED=0&left=19171922&event=startED
          http://BTfans.3322.org:6969/announce 是發布服務器的地址
          info_hash 是torrent文件中的 info 部分的Sha校驗碼,WEB通過它在發布列表找到對應的紀錄
          peer_id 是自身的標識,它是12個0和當前時間+全球的唯一標識碼(GUID)的Sha校驗的前八位,共20位
          port 你提供上傳的 port
          IP 你的ip地址,沒有的話服務器會自己找到
          uploadED downloadED 你上傳和下載了多少,服務器可以用它來做流量分析
          left 你還要下載多少個字節
          event 狀態,告訴服務器你是準備開始下載,還是停止,還是下載完成了
          以上這個操作默認 5 分鐘做一次,或由服務器設定
          服務器會做什么
          服務器中有個一個 track 程序來管理這些請求,得到這一串代碼后就會用 info_hash 來查找列表,找到你就可以下載,找不到就對不起啦。接著它會反連(NatCheck)你的 IP 和 Port這樣就可以知道你是內網用戶還是共網用戶(如果你是內網用戶,它是連不通的,因為它會連到你的服務器上,你的服務器當然沒有這個端口啦),然后服務器返回現在正在下載這個文件的所有公網用戶的IP和port,就像是:d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eerid20:00180531904b7e3abdd74orti6881eeee
          interval 1800 是告訴 BT 隔多少秒來查詢一次這里是 30 分鐘 (有點過分了),最后如果你是公網用戶它會把你提交的 IP 和 Port 放到info_hash 對應的列表中,這樣其它人就可以找到你
          下載
          得到這些 peer IP后,BT就可以找到對應的IP下載了,BT會到所有的peer去尋找自己要下載的東西,不是一定要到seed下載。BT每找到一個peer就和建立一個Socket來下載,所以下載的人越多,速度就越快。
          “計算機321”評論:大家用軟件的過程中一定要分析其原理,因為未來這些軟件有可能會要我們來開發,我們不是普通的用戶,而是未來的開發人員,比如像這篇文章就分析的很透徹。給大家留一個習題:分析一下為什么有人說BT軟件毀硬盤,要從操作系統、網絡原理等方面進行分析,要分析到硬盤的工作原理、網絡數據的發送接收,又想到的同學請到“計算機321”(http://jsj321.com)發表自己的看法,也可以聽老師在線講相關原理。
          內網用戶可以做Send的原理
          上面說到服務器只會返回公網的ip的,那內網用戶怎么可以做Send呢,這是因為BT是一個主動連接的軟件(即使你已經下載完了,也不也會主動連接他人)下面是一個仿真流程:
          1 內網用戶開始做 seed,
          2 服務器收到請求,由于是第一個所以也沒有peer返回
          3 公網用戶提交請求,由于seed是內網用戶所以也沒有peer返回,等待下載,但服務器會把它的IP放到列表中
          4 內網經過 interval 時間間隔后,再向服務器放出請求,得到上面得公網IP
          5 得到公網IP后,內網馬上進行連接
          6 公網用戶建立連接,數據開始傳輸 (注意現在是公網用戶做服務器,內網用戶做客戶端,是不是有點怪)
          7 其它內網用戶去上面公網用戶下載數據
          所以,內網用戶做 seed 一定要有公網用戶得參與,否則其它內網用戶無法下載。如果全部是內網用戶,那個所有連接都不會成立,當然這是比較極端的情況。
          以上可見,內網用戶不能和內網用戶連接,其它用戶無法從服務器查到你,所以無法主動連接你,你只能每隔30分鐘從服務器找到公網用戶一個個進行連接。
          由于中國很多用戶的是內網用戶(我從服務器上查回來的peer還沒試過超過10個的),所以內網用戶用BT的確要比公網用戶要慢很多。

          posted @ 2008-09-18 16:03 CowNew開源團隊 閱讀(655) | 評論 (0)編輯 收藏

          今天上午我們報道了:三鹿公司網站被黑
          下午三鹿公司的網站很快恢復,但是速度非常慢。今晚當我們再次訪問的時候發現三鹿公司網站再次被黑,并且不再像上午那樣只改了網頁的title,而是將首頁全部換了,截圖如下:

          攻擊者在首頁上寫到:
          小黑們對中國社會責任心片面一窺 by racle@sky5+1.com

          某old passby,樓主繼續黑,偶打醬油路過~

          誠心誠意懇求三鹿公司不要草菅人命!~

          聊天別占主要地方SA..我就是看你改人家東西才來的.畢竟他行為太可恥了.出事了似乎還不愿意坦白承認錯誤..很害人的,所以還得管一管.

          草菅人命固然可惡,但改首頁貌似不厚道!.

          落伍者到此一游


          塔溝學員到此一游

          原帖:http://www.jsj321.com/viewthread.php?tid=72&extra=page%3D1

          posted @ 2008-09-12 20:55 CowNew開源團隊 閱讀(321) | 評論 (0)編輯 收藏

          今天上網搜東西,無意中發現我上大學時為了創建開源團隊而發的帖子,好熟悉的感覺,好像一切都在眼前一樣:
          http://bbs.sdu.edu.cn/bbsgcon.php?board=Math&num=174

          截圖:


          熟悉的曾ID:lincosoft ,熟悉的內線電話:93142 ,熟悉的IP地址:211.87.215.43。
          已經四年多過去了,時間好快!

           
          FROM:http://www.jsj321.com/viewthread.php?tid=71&extra=page%3D1&frombbs=1

          posted @ 2008-09-12 20:36 CowNew開源團隊 閱讀(297) | 評論 (0)編輯 收藏

          僅列出標題
          共30頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 贡觉县| 龙南县| 崇信县| 长垣县| 古蔺县| 丹阳市| 闵行区| 合阳县| 鄄城县| 山东省| 泾源县| 太和县| 乐至县| 抚顺县| 四会市| 德惠市| 莲花县| 宜宾市| 唐山市| 和龙市| 平罗县| 高雄市| 尤溪县| 宜宾市| 永胜县| 阳朔县| 渑池县| 海宁市| 绩溪县| 天长市| 葫芦岛市| 湘阴县| 常山县| 运城市| 怀柔区| 昌平区| 武城县| 高平市| 台南县| 松溪县| 道孚县|