江湖的筆記

          積累比獲取更重要

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            6 隨筆 :: 1 文章 :: 0 評論 :: 0 Trackbacks

          2009年1月10日 #

              從事軟件開發相關工作近八年,將自己形容成一名老兵。做開發幾年,帶團隊幾年。頭幾年編碼量較大,后幾年斷斷續續寫點東西,大多時間以指導別人開發為主。究個人能力而言,不算特別出色的程序員。但因工作性質等原因,對軟件系統產品整體的把握和產品設計工作還是有一些心得。這幾年的工作,既有項目管理,也有架構設計與分析設計,還有產品設計。對軟件開發的感覺相對比較宏觀,但也還是有一些方面有較為深入的了解。
              今天談談軟件開發方法,主要原因在于最近觀察到新入行做外包開發的小伙子們,似乎都不太注重方法這類知識的積累。個人理解,軟件開發是一門技術活,其直觀特點應是一門偏工程類的工作。既然為一門工程,必然有方法可循。整個行業發展至今,各個細分領域都有不少經典的理論。如項目管理工程,架構方法,產品設計方法等等。這些理論都是在工程實現的過程中可以借鑒和使用的方法學知識,是提升工程效率和質量的武器裝備。軟件的實現過程,不僅僅是一個將計算機語言轉換為信息系統的過程。它不僅包含了一類信息流,數據流的抽象和組織工作和方法。還是一個用信息科技解決現實需求的過程。
              在外包行業,代碼的重復堆疊的時間遠比創新的結構設計工作要多得多。有時候為了趕工,大量的拷貝和復制成為現實的選擇。但隨著從業年齡的增長,繼續使用這類方法顯然不合時宜。這既不利于提高工作效率,也不利于提高軟件產品的質量。大量的編碼實踐是提高軟件實現能力的不二選擇,但沒有軟件開發方法的思考與積累,再多的量變也無法發生質變。軟件產品千千萬,但其組織結構與設計方法卻是大同小異。更多的關注軟件產品的設計方法而非語言實現形式,才能不斷提高軟件開發水平。
              一名資深的架構師設計或分析師編寫代碼的速度不一定比從業兩三年的小伙子快,但其實現的軟件產品質量絕對要比后者好得多!
          posted @ 2016-06-02 00:23 江湖 閱讀(160) | 評論 (0)編輯 收藏

          ajax默認使用UTF-8來發送中文數據,因此在服務器端,需要通過類似new String(getBytes("iso-8859-1"),"utf-8")去轉換。
          或者在發送前,使用escape處理中文數據,再在服務器端進行unescape操作。
          posted @ 2012-10-26 17:24 江湖 閱讀(188) | 評論 (0)編輯 收藏

          aix下websphere不能打印中文字符,這需要設置jvm參數 java -Duser.country=CN -Dfile.encoding=UTF-8 -Duser.language=zh -Dclient.encoding.override=UTF-8
          修改System.print能正常打印中文,Servlet中解析中文字符用request.getParameter("field")就可以了

          在windows下默認是以ISO-8859-1讀入字符,所有需要用new String(request.getParameter("fields").getBytes("ISO-8859-1"))來處理中文

          當然也可以在tomcat配置文件中修改編碼,中文的處理實際上是控制字符的讀入的編碼和輸出的編碼的問題。
          posted @ 2009-01-10 01:44 江湖 閱讀(1400) | 評論 (0)編輯 收藏

          自己用到的一個方法,貼上來便于記憶

           1    protected  void execBatch(String procDate) throws HsException{
           2        CallableStatement cstmt=null;
           3        String onlineDay=getSysParam("OCRM_ONLINE_DATE"); //系統上線日期
           4        if(procDate.compareTo(onlineDay)<0){
           5            throw new HsException("00001","批處理日期應該大于系統上線日期!");
           6        }

           7        try{
           8            String procName=getProcName();
           9            if(procDate.compareTo(getSysParam("OCRM_BATCH_DATE"))<=0) procName=procName.trim()+"_REDO";  //重跑批處理名稱
          10            cstmt=dataSource.getConnection().prepareCall("{ call "+procName+" (?,?,?) }");
          11            cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
          12            cstmt.registerOutParameter(3, java.sql.Types.VARCHAR);
          13            cstmt.setString(1,HsDate.dateTo8(procDate));
          14            Progress p=Progress.newInstance();
          15            p.start();
          16            cstmt.execute();
          17            p.setOff(true);  //退出
          18            int ret=cstmt.getInt(2);
          19            String reinfo=cstmt.getString(3);
          20            if(ret!=0){
          21                throw new HsException("00001","批處理執行失敗!,"+reinfo);
          22            }

          23//            cstmt.close();
          24        }
          catch(Exception e){
          25            throw new HsException(HsErrorMsg.ERR_DB_ERROR,e.toString());
          26        }

          27    }
              
          這個函數一直到批處理結束后才會返回,因而執行時要放在線程里面。
          posted @ 2009-01-10 01:31 江湖 閱讀(345) | 評論 (0)編輯 收藏

              訪問jdbc Template查詢數據得到Map對象時,在tomcat下用key值不區別大小寫,但是在wesphere下卻只能使用大寫,否則會出錯,例如map.get("user_name")要換成map.get("USER_NAME"),記住了!!
          posted @ 2009-01-10 01:26 江湖 閱讀(418) | 評論 (0)編輯 收藏

               摘要: 最近項目需要用到上傳文件,找了個fileupload組件,寫了幾個類,記錄如下: 1.上傳操作配置類  1public class UpConfig {  2    private long max_size=10*1024*1024;    ...  閱讀全文
          posted @ 2009-01-10 01:15 江湖 閱讀(357) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 都兰县| 山西省| 图片| 邯郸县| 徐闻县| 岳阳县| 长阳| 保德县| 平武县| 论坛| 调兵山市| 余庆县| 专栏| 金塔县| 乌鲁木齐市| 阆中市| 玉溪市| 鲁甸县| 团风县| 公安县| 盘锦市| 葫芦岛市| 鹿泉市| 临夏市| 咸宁市| 乌拉特后旗| 襄垣县| 措美县| 新安县| 土默特左旗| 秦安县| 灌南县| 洛扎县| 繁峙县| 察隅县| 新营市| 土默特左旗| 鄱阳县| 平凉市| 黄大仙区| 陵川县|