Search

Linux - CentOS 使用編譯器安裝僅提供原始碼的應用程式

2015-01-18 11:19 PM

目前的Linux系統大多可以使用rpm等自動安裝的方式安裝應用程式

但對於程式開發人員來說

很多時候找到的應用程式只有提供原始碼

這個時候我們就必須使用編譯功能安裝

而在這裡我將提供最簡單的範本命令流程

若不想太深入研究Linux就不會感到那麼痛苦了

使用編譯器安裝之前必須先行安裝gcc編譯器

若尚未安裝可執行 yum install gcc

若是以C++撰寫則需安裝C++編譯器

yum install gcc-c++

以下將以 linuxquestions.tar.gz 為例

程式碼範例
tar zxf linuxquestions.tar.gz
cd linuxquestions
./configure
make
make test (optional)
make install

Linux - 顯示目前系統日期與時間

11:01 PM

使用Linux系統的終端機時

若想查詢目前系統時間可使用以下命令


程式碼範例
date +%Y%m%d_%H%M%S

後方為日期顯示格式化設定

Y - 年

m - 月

d - 日

H - 時

M - 分

S - 秒

Java - Spring MVC 的自定義 Validation

2015-01-12 9:54 AM

有用Spring MVC的都知道使用@Valid註解的方便性

但Spring本身支援的驗證服務僅僅只有基本的功能

因此若有一些較複雜的驗證就必須自行實作

若善用此功能將會使程式碼顯得更優雅

以下將以檢查List是否為空作範例實作此功能

程式碼範例
//首先需定義驗證用的Annotation
@Documented
@Constraint(validatedBy = ListNotEmptyValidator.class)
@Target( { ElementType.METHOD, ElementType.FIELD } )
@Retention(RetentionPolicy.RUNTIME)
public @interface ListNotEmpty {
 String message() default "Empty list";
 Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}

//接著定義Validator
public class ListNotEmptyValidator implements ConstraintValidator<ListNotEmpty, List<?>> {

 @Override
 public void initialize(ListNotEmpty constraintAnnotation) {
  
 }

 // 在此定義驗證方法
 @Override
 public boolean isValid(List<?> value, ConstraintValidatorContext context) {
  if( value == null || value.isEmpty() ) return false;
  return true;
 }

}

就這麼簡單

其實就是定義一個Annotation + 驗證用的class即可