2017年9月23日 星期六

JQuery 常用方法

檢測與設定  checkbox
檢測
$('#checkboxId').is(':checked') for verify if is checked
設定
$("#checkboxId").prop('checked', true) to check
$("#checkboxId").prop('checked', false) to uncheck

Struts 1.x html:select 加入id 屬性


<html:select property="myProperty" styleId="myId" >

will translate as

<select name="myProperty" id="myId">

2017年7月25日 星期二

公司請你來幹嘛?

文章出處: CMoney  https://www.cmoney.tw/notes/note-detail.aspx?nid=12734
                                   http://tw.gigacircle.com/55661-1
                                   https://life.tw/?app=view&no=112015

【問題就是你的機會】
1、公司的問題:就是你改善的機會;
2、客戶的問題:就是你提供服務的機會;
3、自己的問題:就是你成長的機會;
4、同事的問題:就是你提供支持建立合作機會;
5、領導的問題:就是你積極解決獲得信任的機會
6、競爭對手的問題:就是你變強的機會。

【不要輕易離開團隊,否則你要從零做起】:
1、不要老想著做不順就放棄,哪個團隊都有問題,哪個團隊都有優點。
2、跟對領導很重要,願意教你的,放手讓你做的領導,絕對要珍惜。
3、團隊的問題就是你脫穎而出的機會,抱怨和埋怨團隊就是打自己耳光,說自己無能,更是在放棄機會!
4、心懷感恩之心,感謝系統給你平台,感謝夥伴給你配合。
5、創造利潤是你存在的核心價值,創業不是做慈善。
6、遇到問題請先思考,只反映問題是初級水平,思考並解決問題才是高級水平。
誰能最後享受到勝利成果?
第一:能始終跟著團隊一起成長的人。
第二:對團隊的前景始終看好的人。
第三:在團隊不斷的探索中能找到自己位置的人。
第四:為了團隊新的目標不斷學習新東西的人。
第五:抗壓能力強且有耐性的人。
第六:與團隊同心同德、同舟共濟、同甘共苦的人
第七:不計較個人得失,顧全大局的人。
第八:雄心博大,德才兼備,有奉獻的人!

【只為成功找方法,不為失敗找藉口】

第一段
你的責任就是你的方向,
你的經歷就是你的資本,
你的性格就是你的命運。

第二段
複雜的事情簡單做,你就是專家;
簡單的事情重複做,你就是行家;
重複的事情用心做,你就是贏家。

第三段
美好是屬於自信者的,
機會是屬於開拓者的,
奇蹟是屬於執著者的!
你若不想做,總會找到藉口;
你若真想做,總會找到方法!

【對領導而言:愛他就嚴格要求他!】
1、對你有嚴格要求的領導,才是能真正幫助你成長的好領導,使我痛苦者,必使我強大!
2、任何強大公司都不會給下屬安全感,用最殘忍方式激發每個人變得強大,自強不息!
3、凡是想辦法給下屬安全感的公司都會毀滅的,因為再強大的人,在溫順的環境中都會失去狼性!
4、凡是想方設法逼出員工能力,開發員工潛力的公司都會升騰不息,因為在這種環境下,要么變成狼,要么被狼吃掉!
5、最不給員工安全感的公司,其實給了真正的安全感,因為逼出了他們的強大,逼出了他們的成長,也因此他們有了未來!
6、如果真的愛你的下屬,就考核他,要求他,高要求,高目標,高標準,逼迫他成長!
7、如果你礙於情面,低目標,低要求,低標准養了一群小綿羊、老油條,小白兔。這是對下屬最大的不負責任! 因為這只會助長他們的任性、嫉妒和懶惰。

讓你的下屬因為你而成長,擁有正確的人生觀,價值觀,並具備了完善的品行。
讓員工不斷的成長,就是領導對下屬最偉大的愛。


2017年6月25日 星期日

Eclipse 安裝 Tomcat 8.x (Neno版)

以新版 Eclipse 安裝 Tomcat 步驟更簡單,只要下載 Eclipse Neon 與 Tomcat zip 檔分別解壓縮就可安裝完成

1.下載 Eclipse
https://www.eclipse.org/downloads/eclipse-packages/

2下載 Tomcat 8 zip



3.解壓縮 Eclipse 至 x:\eclipse
4.解壓縮 Tomcat 至 x:\tomcat8
5.並啟動 Eclipse ,
6.在Eclipse 設定 Tomcat server
   在Server consol 加入 Tomcat





2017年6月16日 星期五

工程師與老闆的差異

鴻海工程師大聲嗆郭台銘:「為什麼爆肝是我,首富卻是你?」沒想到郭董3句話就讓他羞愧了臉!

郭董說: 我們之間有三個差別
第一: 三十年前我創建鴻海的時候是賭上全部家當,不成功便成仁
      而你只是寄出幾十份履歷表後來鴻海上班,且隨時可以走人
      我們之間的差別在: 創業與就業

第二:我選擇從連接器切入市場,到最後跟蘋果合作是因為我眼光判斷正確
     而你在哪個部門上班是因為學歷和考試被分配的
     我們之間的差別在: 選擇與被選擇

第三:我24小時都在思考如何創造利潤,每一個決策都可能影響數萬個家庭
     生計與數十萬股民的權益
     而你只要想好時麼時候下班跟照顧好你的家庭
     我們之間的差別在: 責任的輕重

     這些事大家都能做,只是在於你有沒有勇氣踏出第一步,
     還有你所做的每一個選擇都會影響到你,而老闆們只是做了我們不敢做的事情
     而且他們成功了

2017年5月19日 星期五

Java 7 新的 try-with-resources 語法(Auto Source release )

出處: OSChina : https://www.oschina.net/question/12_10706
作者:@红薯

Java 7 build 105 版本開始,Java 7 的編譯器和運行環境已支援新的 try-with-resources 語法,稱為 ARM (Automatic Resource Management) ,自動資源管理。
新的語句支援包括流以及任何可關閉的資源,例如,一般我們會編寫如下代碼來釋放資源:

private static void customBufferStreamCopy(File source, File target) {
    InputStream fis = null;
    OutputStream fos = null;
    try {
        fis = new FileInputStream(source);
        fos = new FileOutputStream(target);
 
        byte[] buf = new byte[8192];
 
        int i;
        while ((i = fis.read(buf)) != -1) {
            fos.write(buf, 0, i);
        }
    }
    catch (Exception e) {
        e.printStackTrace();
    } finally {
        close(fis);
        close(fos);
    }
}
 
private static void close(Closeable closable) {
    if (closable != null) {
        try {
            closable.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


而使用 try-with-resources 語法來簡化如下:
private static void customBufferStreamCopy(File source, File target) {
    try (InputStream fis = new FileInputStream(source);
        OutputStream fos = new FileOutputStream(target)){
 
        byte[] buf = new byte[8192];
 
        int i;
        while ((i = fis.read(buf)) != -1) {
            fos.write(buf, 0, i);
        }
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}


or

public static void customBufferStreamCopy(String[] args) throws Exception{
 @Cleanup InputStream in = new FileInputStream(args[0]);
 @Cleanup OutputStream out = new FileOutputStream(args[1]);
 byte[] buf = new byte[8192];       
        int i;  
        while ((i = in.read(buf)) != -1) {  
            out.write(buf, 0, i);  
        }  
}


2017年5月7日 星期日

一對多 Hibernate4 One To Many Annotation (By MS SQL)

參考文章:  http://viralpatel.net/blogs/hibernate-one-to-many-annotation-tutorial/

 One To Many : 一個部門 (department) 有多個員工(employee )
 Many To One : 多個員工(employee )屬於一個部門

一對多情況時,必須於  一 與 多的二方設定以上關聯

在 MS SQL 執行 CREATE TABLE
CREATE TABLE dbo.department (
department_id  INT IDENTITY(1,1)PRIMARY KEY,
dept_name VARCHAR(50) NOT NULL DEFAULT '0'
);

CREATE TABLE dbo.employee (
employee_id INT IDENTITY(1,1)PRIMARY KEY,
firstname VARCHAR(50) NULL DEFAULT NULL,
lastname VARCHAR(50) NULL DEFAULT NULL,
birth_date DATE NULL DEFAULT NULL,
cell_phone VARCHAR(15) NULL DEFAULT NULL,
department_id INT FOREIGN KEY REFERENCES dbo.department(department_id)
);

Employee.java
import java.sql.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


@Entity
@Table(name="EMPLOYEE")
public class Employee {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="employee_id")
private Integer employeeId;

@Column(name="firstname")
private String firstname;

@Column(name="lastname")
private String lastname;

@Column(name="birth_date")
private Date birthDate;

@Column(name="cell_phone")
private String cellphone;

@ManyToOne
@JoinColumn(name="department_id")
private Department department;

public Employee() {

}

public Employee(String firstname, String lastname, String phone) {
this.firstname = firstname;
this.lastname = lastname;
this.birthDate = new Date(System.currentTimeMillis());
this.cellphone = phone;
}

public Department getDepartment() {
return department;
}

public void setDepartment(Department department) {
this.department = department;
}

public Integer getEmployeeId() {
return employeeId;
}

public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}

public String getFirstname() {
return firstname;
}

public String getLastname() {
return lastname;
}

public Date getBirthDate() {
return birthDate;
}

public String getCellphone() {
return cellphone;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public void setLastname(String lastname) {
this.lastname = lastname;
}

public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}

public void setCellphone(String cellphone) {
this.cellphone = cellphone;
}
}

Department.java
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="DEPARTMENT")
public class Department {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="DEPARTMENT_ID")
private Integer departmentId;

@Column(name="DEPT_NAME")
private String departmentName;

@OneToMany(mappedBy="department")
private Set<Employee> employees;

public Integer getDepartmentId() {
return departmentId;
}

public void setDepartmentId(Integer departmentId) {
this.departmentId = departmentId;
}

public String getDepartmentName() {
return departmentName;
}

public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}

public Set<Employee> getEmployees() {
return employees;
}

public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
}

For TEST

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class Main {

public static void main(String[] args) {

SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
session.beginTransaction();

Department department = new Department();
department.setDepartmentName("Sales");
session.save(department);

Employee emp1 = new Employee("Nina", "Mayers", "111");
Employee emp2 = new Employee("Tony", "Almeida", "222");

emp1.setDepartment(department);
emp2.setDepartment(department);

session.save(emp1);
session.save(emp2);

session.getTransaction().commit();
session.close();
}
}






Java 不同編碼字串, 其字串長度大小計算

以 Java 開發專案, 在 DAO 寫入資料庫時, 常遇到JAVA 字串與資料庫編碼不一致, 有時會產生字串過長,導致無法寫入資料庫的情況. 這時就要在入庫前, 先驗證 JAVA 編碼字串是否超出資料庫欄位長度 JAVA 依 不同編碼, 其長度是不一樣的 如: ...