隨筆 - 175  文章 - 202  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          第一個Blog,記錄哈哈的生活

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Java links

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          轉自:http://cupoy.javaeye.com/blog/251796

          1. 臟讀 :臟讀就是指當一個事務正在訪問數據,并且對數據進行了修改,而這種修改還沒有提交到數據庫中,這時,另外一個事務也訪問這個數據,然后使用了這個數據。

          2. 不可重復讀 :是指在一個事務內,多次讀同一數據。在這個事務還沒有結束時,另外一個事務也訪問該同一數據。那么,在第一個事務中的兩次讀數據之間,由于第二個事務的修改,那么第一個事務兩次讀到的的數據可能是不一樣的。這樣就發生了在一個事務內兩次讀到的數據是不一樣的,因此稱為是不可重復讀。例如,一個編輯人員兩次讀取同一文檔,但在兩次讀取之間,作者重寫了該文檔。當編輯人員第二次讀取文檔時,文檔已更改。原始讀取不可重復。如果只有在作者全部完成編寫后編輯人員才可以讀取文檔,則可以避免該問題。

          3. 幻讀 : 是指當事務不是獨立執行時發生的一種現象,例如第一個事務對一個表中的數據進行了修改,這種修改涉及到表中的全部數據行。同時,第二個事務也修改這個表中的數據,這種修改是向表中插入一行新數據。那么,以后就會發生操作第一個事務的用戶發現表中還有沒有修改的數據行,就好象發生了幻覺一樣。例如,一個編輯人員更改作者提交的文檔,但當生產部門將其更改內容合并到該文檔的主復本時,發現作者已將未編輯的新材料添加到該文檔中。如果在編輯人員和生產部門完成對原始文檔的處理之前,任何人都不能將新材料添加到文檔中,則可以避免該問題。

          補充 : 基于元數據的 Spring 聲明性事務 :

          Isolation 屬性一共支持五種事務設置,具體介紹如下:

          l          DEFAULT 使用數據庫設置的隔離級別 ( 默認 ) ,由 DBA 默認的設置來決定隔離級別 .

          l          READ_UNCOMMITTED 會出現臟讀、不可重復讀、幻讀 ( 隔離級別最低,并發性能高 )

          l          READ_COMMITTED  會出現不可重復讀、幻讀問題(鎖定正在讀取的行)

          l          REPEATABLE_READ 會出幻讀(鎖定所讀取的所有行)

          l          SERIALIZABLE 保證所有的情況不會發生(鎖表)

          不可重復讀的重點是修改 :
          同樣的條件 ,   你讀取過的數據 ,   再次讀取出來發現值不一樣了
          幻讀的重點在于新增或者刪除
          同樣的條件 ,   第 1 次和第 2 次讀出來的記錄數不一樣

          posted @ 2010-03-10 11:09 哈哈的日子 閱讀(217) | 評論 (0)編輯 收藏

          編譯 Trigger 出錯,錯誤的原因是找不到sequence,但是在 sql 里面使用這個sequence非常正常。找了半天原因,另一個同事試了一下給這個sequence授權,就可以編譯通過了。
          疑惑了很久,為什么sql中可以用,編譯trigger就不能用了呢。
          查了一些資料,才明白。
          是因為 Oracle 在編譯Procedu的時候,只檢查當前用戶的權限,而不管角色。所以,即使這個用戶是DBA,也沒有用,必須要對這個用戶授權。這就是顯式授權。
          我在CSDN上找到了一個很好的文章,解釋了顯式授權和隱式授權的區別。
          附在下面。






          來自CSDN博客,http://blog.csdn.net/pashine/archive/2009/12/21/5050060.aspx


          oracle 對象的授權
          Oracle授權

           

          一、授權語法


          GRANT 語法:

          1.顯式授權(直接將對象授權給用戶)
           GRANT privilege [, ...] ON object [, ...]  TO  { Public| Group | Username|role} [WITH GRANT OPTION ] 
            
          2.隱式授權(通過將角色授權給用戶)
           GRANT role TO  { Public| Group | Username|role}

          語法說明:

          privilege (權限)
             可能的權限有:
               SELECT--訪問聲明的表/視圖的所有列/字段.
               INSERT--向聲明的表中插入所有列字段.
               UPDATE--更新聲明的所有列/字段.
               DELETE --從聲明的表中刪除所有行.
               RULE   在表/視圖上定義規則 (參見 CREATE RULE 語句).
               ALL 賦予所有權限.

          object 賦予權限的對象名.
              可能的對象是: 
               table (表)
               view (視圖)
               sequence (序列)
               index (索引)
          Public    代表是所有用戶的簡寫.
          Group     將要賦予權限的組GROUP .目前的版本中,組必須是用下面方法顯式創建的.
          Username  將要賦予權限的用戶名.PUBLIC 是代表所有用戶的簡寫.
          role      某個角色,(如DBA)
          WITH GRANT OPTION 允許向別人賦予同樣權限,被授權的用戶可以繼續授權.


          描述
              對象創建后,除了創建者外,除非創建者賦予(GRANT)權限,其他人沒有訪問對象的權限。
              GRANT 允許對象的創建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限。不需要給創建者賦予(GRANT)對象的權限,創建者自動擁有對象的所有權限,包括刪除它的權限。

          說明

          Oracle不允許在過程中使用未經顯式授權的對象. 要使用另一用戶的對象,必須通過另一用戶給自己顯示授權。

          因為Oracle在編譯存儲過程時并不檢查定義者擁有的角色,只是檢查其被顯式授予的權限,而DBA也是一種角色,所以即使是DBA,也需要顯式授權。

          二、授權方式 (顯式和隱式)


            對象授權有兩種模式,顯式和隱式: 
          顯示授權和隱式授權的區別是:顯示授權是直接把對象授權給用戶,隱式授權是給用戶授予角色的方式來實現授權。

          1. 顯式授權是直接用GRANT語句進行授權。
           語法:GRANT 某種權限 TO 用戶
          如:
            CONN  USER1/Password
            GRANT SELECT  ON TABLE1 TO USER2;    --- 將user1的表TABLE1的select 權限顯示授權給user2
            GRANT UPDATE  ON TABLE1 TO USER2;    --- 將user1的表TABLE1的update權限顯示授權給user2


            注:用system/manager登錄是沒法授權的,要使USER2用戶能在存儲過程里面訪問USER1用戶的表,必須以USER1用戶(該用戶有dba權限)登錄,然后授權就可以了。
            SQL>grant select on USER1.MA_USERINFO to USER2

          2.隱式授權則是通過ROLE來授權。
           語法:GRANT 某個角色 TO 用戶
          如: 
            CONN  USER1 
            GRANT SELECT ON TABLE1 TO ROLE1;     --- 將USER1的表TABLE1的select權限顯示授權給Role1
            CONN  SYSTEM 
            GRANT ROLE1 TO USER2;                --- 給USER2授與Role1的權限。


          三、收回權限


             語法:
                 revoke 權限 from 用戶;

             例子:

            revoke select on table1 from User1; 收回查詢select表的權限;
            revoke all    on table1 from User1;
              grant  connect to xujin;
            revoke  connect  from xujin

                revoke  ROLE1    from USER2;

          End

          posted @ 2010-03-05 11:25 哈哈的日子 閱讀(1143) | 評論 (0)編輯 收藏

          command + L : safari 在地址欄輸入網址

          command + option + L : safari 顯示下載列表

          command + shift + [ : safari 選擇上一個標簽

          command + shift + ] : safari 選擇下一個標簽

          command + enter : safari 在新的 tab 頁中打開網頁,也可以 command + 點擊鏈接

          fn + delete : 刪除光標后面的字母,相當于 windows 下面的 delete

          control + a : 相當于 windows 下的 home

          control + e : 相當于 windows 下的 end

          command + option + f : safari 中的 google search

          command + option + ctrl + ? : 關機

          command + option + 拖拽 : 建立快捷方式

          option + 點擊已經最小化窗口 : 還原全部最小化窗口

          posted @ 2010-02-03 20:45 哈哈的日子 閱讀(191) | 評論 (0)編輯 收藏
          1. 準備mysql,參考jira 4.0.1 war 方式的安裝過程,使用mysql第1步,將數據庫名由jiradb修改為confluence
          2. 準備tomcat,參考jira 4.0.1 war 方式的安裝過程,使用mysql第2步,2-b不做
          3. 準備confluence
            a)下載confluence-3.1.zip,解壓到一個臨時目錄$confluence_temp
            b)修改$confluence_temp\confluence\WEB-INF\classes\confluence-init.properties,增加一行 confluence.home=D:/atlassian/confluence,紅色部分修改為實際的目錄,confluence相關的數據會存到這個目錄。
            c)下載confluence_crack.rar,將文件解壓到$confluence_temp\confluence\WEB-INF\classes目錄下
            d)運行$confluence_temp\build.bat
            e)將$confluence_temp\dist\confluence-3.1.war文件放到合適的目錄下$confluence_war(或者不移動)
            f)在$catalina_home\conf\Catalina\localhost目錄下創建confluence.xml,內容為<Context path="/confluence" docBase="$confluence_war" debug="0" reloadable="true" />,將$confluence_war替換為上一步的文件路徑

          然后啟動tomcat,訪問http://localhost:8080/confluence就可以了

          license填寫如下

          Description=Confluence\: COMMERCIAL
          NumberOfUsers=500
          CreationDate=2010-01-22
          ContactName=haha@haha.haha
          conf.active=true
          ContactEMail=haha@haha.haha
          Evaluation=false
          conf.LicenseTypeName=COMMERCIAL
          MaintenanceExpiryDate=2011-01-21
          conf.NumberOfClusterNodes=0
          Organisation=haha
          ServerID=HAHA-HAHA-HAHA-HAHA
          LicenseID=LID
          LicenseExpiryDate=2011-01-21
          PurchaseDate=2010-01-22
          posted @ 2010-01-25 10:59 哈哈的日子 閱讀(2260) | 評論 (1)編輯 收藏

          接著上一個的jira 4.0.1 war 方式的安裝過程,使用mysql,把jira的login加上crowd,為之后增加confluence和svn的sso做準備

          第一步先把jira的認證改成使用crowd,接著上次安裝完jira的tomcat,繼續安裝

          1. 準備mysql
            a)創建一個庫create database crowd character set utf8;
            b)在my.ini中增加一行
            [mysqld]
            transaction-isolation = READ-COMMITTED
          2. 準備tomcat
            a)修改$catalina_home\conf\server.xml,增加useBodyEncodingForURI="true",如下:
            <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"/>
            b)下載javamail api,放到$catalina_home\lib目錄下
          3. 準備crowd
            a)下載atlassian-crowd-2.0.3-war.zip,并解壓到$crowd_home
            b)修改$crowd_home\WEB-INF\classes\crowd-init.properties,增加配置crowd.home=$crowd_home($crowd_home替換成實際目錄)
            c)創建crowd.xml,內容為<Context path="/crowd" docBase="$crowd_home" reloadable="false"/>($crowd_home替換成實際目錄),將這個文件放到$catalina_home\conf\Catalina\localhost目錄下
            d)啟動tomcat,進入crowd,如:http://localhost:8080/crowd
            e)到applications中add application,類型選jira,name: jira, password: haha, url: http://localhost:8080/jira, ip最好手工填, directories選一個需要的,Allow all users to authenticate我選上了,成功
            f)import jira users在users里面選import users,import 的時候注意把dbname修改為jiradb就可以了。
          4. 準備jira
            a)修改$jira_home\WEB-INF\classes\crowd.properties,如
            application.name                        jira
            application.password                    haha
            application.login.url                   http://hostname/jira/
            crowd.server.url                        http://hostname/crowd/services/
            ...
            其它的不需要修改
            b)修改$jira_home\WEB-INF\classes\osuser.xml,內容如下:

          <!-- This is where JIRA's credentials checking can be configured.  For instance, see
          http://www.atlassian.com/software/jira/docs/latest/ldap.html 
          -->
          <opensymphony-user>

              
          <authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator" />

          <!-- CROWD:START
              You will need to uncomment the Crowd providers below to enable Crowd integration
              and comment out the default providers that are located further down in this file.
          -->
              
          <provider class="com.atlassian.crowd.integration.osuser.CrowdCredentialsProvider"/>
              
          <provider class="com.atlassian.crowd.integration.osuser.CrowdAccessProvider"/>
              
          <provider class="com.atlassian.crowd.integration.osuser.DelegatingProfileProvider">
                  
          <property name="provider-1">com.atlassian.crowd.integration.osuser.CrowdProfileProvider</property>
                  
          <property name="provider-2">com.atlassian.jira.user.ExternalEntityJiraProfileProvider</property>
                  
          <property name="provider-2-exclusive-access">true</property>
              
          </provider>
          <!-- CROWD:END -->

          <!-- CROWD:START  - The providers below here will need to be commented out for Crowd integration -->
          <!--
              <provider class="com.atlassian.core.ofbiz.osuser.CoreOFBizCredentialsProvider">
                  <property name="exclusive-access">true</property>
              </provider>

              <provider class="com.atlassian.jira.user.osuser.JiraOFBizProfileProvider">
                  <property name="exclusive-access">true</property>
              </provider>

              <provider class="com.atlassian.jira.user.osuser.JiraOFBizAccessProvider">
                  <property name="exclusive-access">true</property>
              </provider>
          -->
          <!-- CROWD:END -->

          </opensymphony-user>

            c)修改$jira_home\WEB-INF\classes\seraph-config.xml,內容如下:

          <security-config>
              
          <parameters>
                  
          <init-param>
                      
          <!--
                        The login URL to redirect to when the user tries to access a protected resource (rather than clicking on
                        an explicit login link). Most of the time, this will be the same value as 'link.login.url'.
                          - if the URL is absolute (contains '://'), then redirect that URL (for SSO applications)
                          - else the context path will be prepended to this URL

                          If '${originalurl}' is present in the URL, it will be replaced with the URL that the user requested.
                          This gives SSO login pages the chance to redirect to the original page
                      
          -->
                      
          <param-name>login.url</param-name>
                      
          <param-value>/login.jsp?os_destination=${originalurl}</param-value>
                      
          <!--<param-value>http://sso.mycompany.com/login?redirectTo=${originalurl}</param-value>-->
                  
          </init-param>
                  
          <init-param>
                      
          <!--
                        the URL to redirect to when the user explicitly clicks on a login link (rather than being redirected after
                        trying to access a protected resource). Most of the time, this will be the same value as 'login.url'.
                          - same properties as login.url above
                      
          -->
                      
          <param-name>link.login.url</param-name>
                      
          <param-value>/login.jsp?os_destination=${originalurl}</param-value>
                      
          <!--<param-value>/secure/Dashboard.jspa?os_destination=${originalurl}</param-value>-->
                      
          <!--<param-value>http://sso.mycompany.com/login?redirectTo=${originalurl}</param-value>-->
                  
          </init-param>
                  
          <init-param>
                      
          <!-- URL for logging out.
                           - If relative, Seraph just redirects to this URL, which is responsible for calling Authenticator.logout().
                           - If absolute (eg. SSO applications), Seraph calls Authenticator.logout() and redirects to the URL
                           
          -->
                      
          <param-name>logout.url</param-name>
                      
          <param-value>/secure/Logout!default.jspa</param-value>
                      
          <!--<param-value>http://sso.mycompany.com/logout</param-value>-->
                  
          </init-param>
                  
          <!-- The key that the original URL is stored with in the session -->
                  
          <init-param>
                      
          <param-name>original.url.key</param-name>
                      
          <param-value>os_security_originalurl</param-value>
                  
          </init-param>
                  
          <init-param>
                      
          <param-name>login.cookie.key</param-name>
                      
          <param-value>seraph.os.cookie</param-value>
                  
          </init-param>
                  
          <!-- This property controls how your cookie is encrypted.  If you truly want to secure your cookies, you need
                      to change this to a secure password 
          -->
                  
          <init-param>
                      
          <param-name>cookie.encoding</param-name>
                      
          <param-value>jiracookie</param-value>
                  
          </init-param>
                  
          <!-- This property sets the default cookie timeout in seconds.  It is currently set to 1 year -->
                  
          <init-param>
                      
          <param-name>autologin.cookie.age</param-name>
                      
          <param-value>31536000</param-value>
                  
          </init-param>
                  
          <!-- Basic Authentication can be enabled by passing the authentication type as a configurable url parameter.
                  With this example, you will need to pass http://mycompany.com/anypage?os_authType=basic in the url to enable Basic Authentication 
          -->
                  
          <init-param>
                      
          <param-name>authentication.type</param-name>
                      
          <param-value>os_authType</param-value>
                  
          </init-param>
                  
          <!--  If this parameter is set to true, the cookie will never be set secure.  This is useful if you're logging
                        into JIRA via https, but want to browse JIRA over http.  This flag will ensure that the remember me option
                        works correctly.
                  <init-param>
                      <param-name>insecure.cookie</param-name>
                      <param-value>true</param-value>
                  </init-param> 
          -->
              
          </parameters>

              
          <rolemapper class="com.atlassian.jira.security.JiraRoleMapper"/>

              
          <!-- CROWD:START - If enabling Crowd SSO integration uncomment the following JIRAAuthenticator and comment out the DefaultAuthenticator below -->
              
          <authenticator class="com.atlassian.crowd.integration.seraph.JIRAAuthenticator"/>
              
          <!-- CROWD:END -->

              
          <!-- CROWD:START - The authenticator below here will need to be commented out for Crowd SSO integration -->
              
          <!--
              <authenticator class="com.atlassian.jira.security.login.JiraOsUserAuthenticator"/>
              
          -->
              
          <!-- CROWD:END -->

              
          <!-- NB: the URL to redirect to is now specified by login.url above -->
              
          <services>
                  
          <service class="com.atlassian.seraph.service.PathService">
                      
          <init-param>
                          
          <param-name>config.file</param-name>
                          
          <param-value>/seraph-paths.xml</param-value>
                      
          </init-param>
                  
          </service>

                  
          <service class="com.atlassian.seraph.service.WebworkService">
                      
          <init-param>
                          
          <param-name>action.extension</param-name>
                          
          <param-value>jspa</param-value>
                      
          </init-param>
                  
          </service>
              
          </services>

              
          <interceptors>
                  
          <interceptor class="com.atlassian.jira.portal.PortalPageInterceptor"/>
                  
          <interceptor class="com.atlassian.jira.user.preferences.UserPreferencesResetInterceptor"/>
              
          </interceptors>
          </security-config>

            d)重啟tomcat

          一切搞定,可以使用crowd的用戶登錄jira了,而且只要在一邊登錄,兩邊就都登錄了。


          另外把遇到的問題寫一下
          1. 在crowd中import jira users的時候,將connection url改正確了之后,就是把dbname改成jiradb,依然無法連接,后來發現是crowd沒有mysql jdbc驅動,停掉crowd,將mysql jdbc驅動放到crowd WEB-INF\lib目錄,重試就可以了。
          2. 所有的都配置好了之后,到jira里面仍然無法登錄,通過查看crowd log,發現有這句話[crowd.service.soap.SOAPService] Client host is invalid: 10.40.155.43 / 10.40.155.43,明白了,因為在crowd里面add application的時候,使用的是自動得到IP,得到的是127.0.0.1。解決這個問題的辦法就是在IP里面,把這個10.40.155.43也加上,就可以了。

          posted @ 2010-01-22 15:27 哈哈的日子 閱讀(7031) | 評論 (2)編輯 收藏

          安裝方式力求簡單,更多優化配置需要進一步配置。

          1. 準備mysql
            a)下載mysql-noinstall-5.1.42-win32.zip,解壓到$mysql_home
            b)到$mysql_home目錄下,將my-medium.ini修改為my.ini
            c)到$mysql_home\bin目錄下,運行mysqld --console
            d)到$mysql_home\bin目錄下,執行mysql -uroot,然后執行sql:
            create database jiradb character set utf8;
            e)下載mysql-connector-java-5.1.11.zip,備用
          2. 準備tomcat
            a)下載apache-tomcat-6.0.20.zip,解壓到$catalina_home
            b)下載jira-jars-tomcat6.zip,解壓到$catalina_home\lib目錄下
            c)把之前下載的mysql-connector-java-5.1.11.zip,解壓里面的mysql-connector-java-5.1.11-bin.jar到$catalina_home\lib目錄下
            d)修改$catalina_home\conf\server.xml文件,將里面的
            <Connector port="8080" protocol="HTTP/1.1"
                         connectionTimeout="20000"
                         redirectPort="8443" />
            修改為
            <Connector port="8080" protocol="HTTP/1.1"
                         connectionTimeout="20000"
                         redirectPort="8443" URIEncoding="UTF-8" />
            e)修改$catalina_home\bin\startup.bat,在@echo off后面增加一行
          set CATALINA_OPTS=%CATALINA_OPTS% -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Xms128m -Xmx512m -XX:MaxPermSize=256m
            f)啟動一次,然后停止,為了在$catalina_home\conf目錄下生成Catalina\localhost目錄

          3. 準備jira
            a)下載atlassian-jira-enterprise-4.0.1.zip,解壓到一個臨時目錄$jira_temp
            b)修改$jira_temp\edit-webapp\WEB-INF\classes\entityengine.xml,將
            <datasource name="defaultDS" field-type-name="hsql"
            schema-name="PUBLIC"
            修改為
            <datasource name="defaultDS" field-type-name="mysql"
            注意:刪除了一行schema-name="PUBLIC"
            c)修改$jira_temp\edit-webapp\WEB-INF\classes\jira-application.properties,將jira.home的值填好,jira相關的數據會放到這個目錄下,比如:
            jira.home = D:/atlassian/jira/data
            d)下載jira_crack.rar,將WEB-INF目錄解壓到$jira_temp\webapp\目錄下,覆蓋一個目錄,新增加了一個目錄
            e)運行$jira_temp\build.bat
            f)修改$jira_temp\dist-tomcat\tomcat-6\jira.xml
            一、修改部分如下
            <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
                      username="root"
                      password=""
                      driverClassName="com.mysql.jdbc.Driver"
                      url="jdbc:mysql://localhost/jiradb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"
                       maxActive="20"
                      validationQuery="select 1"
          />
            注意,刪除了兩行
            minEvictableIdleTimeMillis="4000"
            timeBetweenEvictionRunsMillis="5000"
            二、如果移動了atlassian-jira-4.0.1.war
            還需要修改docBase
            g)將jira.xml復制到$catalina_home\conf\Catalina\localhost目錄下

          一切就緒,啟動tomcat,第一次需要等比較久一點兒。
          訪問http://localhost:8080/jira,如果沒問題的話,正確的填寫配置后,license可以填寫

          Description=JIRA\: COMMERCIAL
          CreationDate=2010-01-20
          ContactName=haha@haha.haha
          jira.LicenseEdition=ENTERPRISE
          ContactEMail=haha@haha.haha
          Evaluation=false
          jira.LicenseTypeName=COMMERCIAL
          jira.active=true
          licenseVersion=2
          MaintenanceExpiryDate=2011-01-19
          Organisation=haha
          jira.NumberOfUsers=-1
          ServerID=B6FW-B4KW-J1A3-4DQB
          LicenseID=LID
          LicenseExpiryDate=2011-01-19
          PurchaseDate=2010-01-20

          就可以了
          posted @ 2010-01-21 17:05 哈哈的日子 閱讀(3944) | 評論 (7)編輯 收藏
               摘要: 轉自:http://www.douban.com/group/topic/5667071/

          第一:不要認為停留在心靈的舒適區域內是可以原諒的。
          第二:不要把“好像”;“有人會……”;“大概”;“晚些時候”;“或者”;“說不定”之類放在嘴邊。尤其是和上級談論工作的時候。
          第三:不要拖延工作
          第四:不要認為理論上可以實施就大功告成了!
          第五:不要讓別人等你
          第六:不要認為細節不重要
          第七:不要表現得消極,僅僅因為你所做的事情不是你的興趣所在。
          第八:絕對不要把改善工作能力僅寄托在公司培訓上
          第九:不要推卸責任
          第十:不要對自己說“我是大學生”   閱讀全文
          posted @ 2010-01-09 21:53 哈哈的日子 閱讀(321) | 評論 (0)編輯 收藏

          增加 weiphone 的源

          http://app.weiphone.com/cydia/dists/stable/main/binary-iphoneos-arm/Packages

          照別的源弄的,可以使用。
          加了 ipa 破解和wefit

          但 repo.beyouriphone.com 的源不怎么怎么加。

          posted @ 2010-01-06 19:45 哈哈的日子 閱讀(389) | 評論 (0)編輯 收藏
          weiphone
          http://app.weiphone.com/cydia

          我用里面的ipa 破解和wefit

          BeYoIp
          http://repo.beyouriphone.com

          里面有破解的 mQuickDo 挺好用的


          默人的源里有 sbsetting 好用
          posted @ 2010-01-04 12:45 哈哈的日子 閱讀(416) | 評論 (0)編輯 收藏

          開始使用 jira 4 + greenhopper 4,為了兩個原因:
          1. 簡單:方便的創建問題,方便的更新狀態(可視化拖拽)
          2. 清晰:圖表燃盡圖顯示項目狀態,任務視圖直觀查看所有任務狀態


          一直希望項目組所有人都能夠清楚的了解項目的狀態。而我也能夠跟蹤項目中問題的狀態,但實際情況確不像想象的那么容易。
          之前一直使用 jira 來做項目問題管理,包括任務的管理。但發現實際上想要了解項目狀態的時候,卻比較困難。其實我發現最好工具的是紙、筆和白板,但辦公室沒有這個條件。

          看不到項目狀態有以下幾個原因:

          1. 項目風格比較寬松。愿意把任務記在上面就記,不愿意記就不記。我想起任務的時候,就會把任務記上,分配給相應的人。但不是每個人都習慣這樣做。jira上沒有所有的任務,自然無法看到狀態。
          2. 任務狀態不及時更新。主要是懶得更新狀態,嫌麻煩。其實和第一個原因比較接近。我一般不喜歡強制讓別人做什么,只是想自己做自己喜歡的事情,愿意的事情就好了。雖然我認為 jira 用起來已經相當簡單了,但仍然有人認為麻煩,所以,基本就不更新狀態,或是記東西什么的。
          3. 沒有時間估計。這個是項目管理上的問題,我的本意是希望簡單,自然,不要給同事們帶來麻煩。但發現不估計時間簡直就等于自殺,完全看不到項目的狀態。

          ps:其實評估任務的重要性相當的必要,但上面的問題主要是基于已經確定當前版本范圍的情況。所以,也就不用太在意哪個更重要了。

          第3個問題沒有別的辦法,只能進行時間估計。我采用大家一起來估計的方法,我充當產品負責人的角色給大家講解需求,然后讓每個人進行估計,因為目前的項目復雜度不高,所以估計工作量并不難。
          我覺得大家一起來估計工作量有兩個好處:一、大家有參與感,積極性相對會好一些。二、所有人了解所有的需求,以后有問題也好互相幫助。

          前兩個問題我希望能通過工具的簡單程度解決問題,如果做起來很容易,就會自然去做,而不會覺得麻煩了。

          我發現 jira 4 + greenhopper 4 可以方便的創建和修改任務,而且可視化拖拽。這樣就能大幅度解決問題,而且燃盡圖和任務視圖,可以非常直觀的給出項目狀態,大幅度提高所有人對項目進度的認知。

          周末隨手破解了一下,暫時先用一用,解壓到相應的目錄下即可。
          jira_crack.rar

          換了之后,使用明文注冊即可,注冊信息可以隨便修改,如下:
          JIRA 的:

          #Sun Oct 25 00:50:34 CDT 2009
          Description=JIRA\: COMMERCIAL
          CreationDate=2009-10-25
          ContactName=haha@haha.haha
          jira.LicenseEdition=ENTERPRISE
          ContactEMail=haha@haha.haha
          Evaluation=false
          jira.LicenseTypeName=COMMERCIAL
          jira.active=true
          licenseVersion=2
          MaintenanceExpiryDate=2010-10-24
          Organisation=haha
          jira.NumberOfUsers=-1
          ServerID=B6FW-B4KW-J1A3-4DQB
          LicenseID=LID
          LicenseExpiryDate=2010-10-24
          PurchaseDate=2009-10-25


          GreenHopper 的:

          #Sat Oct 24 19:09:35 CDT 2009
          Description=GreenHopper for JIRA 4\: COMMERCIAL
          CreationDate=2009-10-25
          ContactName=haha@haha.haha
          greenhopper.NumberOfUsers=-1
          greenhopper.LicenseTypeName=COMMERCIAL
          ContactEMail=haha@haha.haha
          Evaluation=false
          greenhopper.LicenseEdition=ENTERPRISE
          licenseVersion=2
          MaintenanceExpiryDate=2010-10-24
          Organisation=haha
          greenhopper.active=true
          LicenseID=LID
          LicenseExpiryDate=2010-10-24
          PurchaseDate=2009-10-25

          ps:本來想寫個注冊機,但 jira 從 4.0 開始更新了注冊的公鑰存放位置,原來是文件的,一般叫 leaf.key,現在直接寫在程序里了,沒辦法,只能替換 class,這樣寫注冊機就沒什么意義了,所以就硬破解了一下。

          posted @ 2009-11-01 21:52 哈哈的日子 閱讀(9017) | 評論 (19)編輯 收藏
          僅列出標題
          共17頁: First 上一頁 6 7 8 9 10 11 12 13 14 下一頁 Last 
          主站蜘蛛池模板: 涞源县| 凌源市| 班玛县| 紫金县| 凌云县| 扬中市| 镇远县| 布尔津县| 扶沟县| 松潘县| 马鞍山市| 盐津县| 陕西省| 疏勒县| 东丽区| 城步| 日土县| 普洱| 永川市| 徐闻县| 泰和县| 肥东县| 衢州市| 保德县| 麟游县| 金坛市| 温宿县| 湘潭市| 饶河县| 临猗县| 平乐县| 鹤岗市| 浏阳市| 合水县| 江山市| 巩义市| 福泉市| 芒康县| 盈江县| 班玛县| 铜川市|