반응형

스프링 부트 하루만에 배우기

책 소개

하루면 대표적인 자바 프레임워크 스프링 부트 웹 어플리케이션을 만들 수 있습니다.

스프링 부트를 개발하는 데 필요한 프로그램 설치부터 스프링 부트의 구조에 대한 설명, JPA를 이용해 데이터를 다루는 법까지 익혀봅니다. 이해하기 어려운 개념 설명보다는 코드를 작성하고 개별 코드를 설명하는 방식으로 진행하므로 초보자 분들도 보다 쉽게 다가가실 수 있으리라 생각합니다. 또한 스프링 MVC와 스프링 부트 차이에 따른 개발 방식에 대해서도 설명하므로 기존에 스프링 MVC를 사용하셨던 분들이 스프링 부트에 적응하시는 데도 도움이 되시리라 믿습니다.

국내 자바 웹 개발 트렌드는 스프링 MVC에서 스프링 부트로 많이 넘어갔다고 생각합니다. 물론 이미 기존에 스프링 MVC로 구축된 프로젝트의 경우는 어쩔 수 없겠지만, 신규로 개발하는 경우 보다 설정이 간단한 스프링 부트 프로젝트를 많이 쓰는 추세입니다.

이제 우리도, 대세에 합류해 봅시다.

 

https://wikidocs.net/book/10382

 

스프링 부트 하루만에 배우기

# 책 소개 하루면 대표적인 자바 프레임워크 스프링 부트 웹 어플리케이션을 만들 수 있습니다. 스프링 부트를 개발하는 데 필요한 프로그램 설치부터 스프링 부트의 구조에 대…

wikidocs.net

 

반응형
반응형

[JAVA] 점프 투 스프링부트 - https://wikidocs.net/book/7601

 

 

https://github.com/pahkey/sbb3/

 

GitHub - pahkey/sbb3: 점프 투 스프링부트3 책의 소스코드

점프 투 스프링부트3 책의 소스코드. Contribute to pahkey/sbb3 development by creating an account on GitHub.

github.com

 

점프 투 스프링부트

점프 투 스프링부트는 Spring Boot Board(SBB)라는 이름의 게시판 서비스를 만들어가는 과정을 설명한 스프링부트 입문서이다. 자바 설치부터 시작하여 서비스 운…

wikidocs.net

 

 

반응형
반응형
>java -XX:+PrintFlagsFinal -version 2>&1 | findstr /I "heapsize permsize version"
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
    uintx InitialHeapSize                          := 268435456                           {product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx MaxHeapSize                              := 4282384384                          {product}
java version "1.8.0_271"

Java Default Heap/Perm Size 알아내는 방법

출처: https://jang8584.tistory.com/257 [개발자의 길]

 

JVM의 default heap size 확인(리눅스, 윈도우)

1. 개요 java를 실행시킬 때, 혹은 WAS를 설치/구성 후 기동할 때 JVM옵션에 Heap, Perm 등의 설정을 넣지 않고 운영하다 쏟아져들어오는 요청들에~ 메모리를 많이 필요료하는 로직들에 의해 OutOfMemoryErr

jang8584.tistory.com

 

반응형
반응형

자바 명명 규칙 - 클래스 / 메서드 / 변수

 

주로 쓰는 반의어 

get / set
add / remove
create / destroy
start / stop
insert delete
increment / decrement
old / new
begin / end
girst / last
up / down
min / max
next / previous
open /close
show /hide
suspend /resume
parent / child

받다/ 받다
추가/제거
창조/파괴하다
시동/정지
삽입/삭제
증가/감소
구/신
시작/끝
긴/마지막
위/아래
최소/최대
다음/이전
열다/ 닫다
보이다/ 숨기다
일시 정지/재개하다
부모/아이

 0. 공통 명명 규칙

대소문자가 구분되며 길이에 제한이 없다.
예약어를 사용해서는 안 된다.
숫자로 시작해서는 안 된다.
특수문자는 '_' 와 '$'만을 허용한다.
파스칼 표기법 (PascalCase)과 카멜 표기법(camelCase)를 사용한다.
      PascalCase : 모든 단어에서 첫 번째 문자는 대문자이며 나머지는 소문자이다.
      camelCase : 최초에 사용된 단어를 제외한 첫 번째 문자가 대문자이며 나머지는 소문자이다.
반의어는 반드시 대응하는 개념으로 사용해야 한다.

1. 패키지(Package) 명명 규칙

패키지명은 표준 패턴을 따라야 한다.
Ex) [com].[Company].[Project].[TopPackage].[LowerPackage]

패키지명은 가급적 한 단어의 명사를 사용한다.
Ex) 좋은 예 : com.nexon.sudden.member.object
Ex)  나쁜 예 : sudden.memberObject


2. 클래스(Class) 명명 규칙

클래스명에는 파스칼을 사용한다.
Ex) public class HelloWorld {}

인터페이스에는 특별한 접두사나 접미사를 사용하지 않고 파스칼을 사용한다.
Ex) public interface Animal {}

인터페이스를 구현한 클래스에는 특별한 접두사나 접미사를 사용하지 않고 파스칼을 사용한다.
Ex) public class Tiger implements animal{}

추상 클래스에는 특별한 접두사 접미사를 사용하지 않고 파스칼을 사용한다.
Ex) public abstract class Animal {}


3. 메소드(Method) 명명 규칙

메소드명에는 파스칼 표기법을 사용한다.
Ex) public void SendMessage(String message) {}

속성에 접근하는 메소드명의 접두사는 'get','set'을 사용한다.
Ex) public void setDisplayName
Ex) public void getDisplayName

데이터를 조회하는 메소드명의 접두사는 find를 사용한다.
Ex) public void findData(String data){}

데이터를 입력하는 메소드명의 접두사는 input을 사용한다.
Ex) public void inputData(HashMap data){}

데이터를 변경하는 메소드명의 접두사는 modify를 사용한다.
Ex) public void modifyData(HashMap data){}

데이터를 삭제하는 메소드명의 접두사는 delete를 사용한다.
Ex) public void deleteData(String data){}

데이터를 초기화 하는 메소드명의 접두사는 initialize을 사용한다.
Ex) public void initData(String data){}

반환값의 타입이 boolean인 메소드는 접두사로 is를 사용한다.
Ex) public void isData(String Data){}

데이터를 불러오는 메소드명의 접두사는 load를 사용한다.
Ex) public void loadData(){}

데이터가 있는지 확인하는 메소드명의 접두사는 has를 사용한다.
Ex) public void hasData(){}

보다 지능적인 set이 요구될때 사용하는 메소드명의 접두사는 register를 사용한다.
Ex) public void registerAccount(){}

새로운 객체를 만든뒤 해당 객체를 리턴해주는 메소드명의 접두사는 create를 사용한다.
Ex) public void createAccount(){}

해당 객체를 다른 형태의 객체로 변환해주는 메소드명의 접두사는 to를 사용한다.
Ex) public void toString(){}

해당 객체가 복수인지 단일인지 구분하는 메서드명의 접미사는 s를 사용한다.
Ex) public void getMembers(){}

B를 기준으로 A를 하겠다는 메소드명의 전치사는 By를 사용한다.
Ex) public void getUserByName(String name){}

반환값의 타입이 boolean인 메소드는 접두사로 is를 사용한다.
Ex) public void isData(String Data){}

데이터를 불러오는 메소드명의 접두사는 load를 사용한다.
Ex) public void loadData(){}

데이터가 있는지 확인하는 메소드명의 접두사는 has를 사용한다.
Ex) public void hasData(){}

보다 지능적인 set이 요구될때 사용하는 메소드명의 접두사는 register를 사용한다.
Ex) public void registerAccount(){}

새로운 객체를 만든뒤 해당 객체를 리턴해주는 메소드명의 접두사는 create를 사용한다.
Ex) public void createAccount(){}

해당 객체를 다른 형태의 객체로 변환해주는 메소드명의 접두사는 to를 사용한다.
Ex) public void toString(){}

해당 객체가 복수인지 단일인지 구분하는 메서드명의 접미사는 s를 사용한다.
Ex) public void getMembers(){}

B를 기준으로 A를 하겠다는 메소드명의 전치사는 By를 사용한다.
Ex) public void getUserByName(String name){}

4. 변수(Variable) 명명 규칙

변수와 메소드의 파라미터에는 카멜표기법을 사용한다.
변수에 약어를 사용하지 않고 모든 의미를 충분히 담는다.
한 글자로 된 이름을 사용하지 않는다.
선언된 지점에서 초기화하며, 가능한 사용범위를 최소화 한다. 숫자 0 레퍼런스 null
반복문에서 인덱스로 사용할 변수는 i,j,k 등으로 사용한다.
Ex) for(int i = 0; i < 10; i++){}

지역변수와 멤버변수(전역변수)는 변수명 앞에 밑줄(_)을 사용하여 구별한다.
boolean타입의 변수는 접두사로 is를 사용한다 Ex) isCheck

반응형
반응형

JAVA excel - [POI] POI 엑셀 - Using newlines in cells ( 셀에서 줄바꿈 )

 CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

   Workbook wb = new XSSFWorkbook();   //or new HSSFWorkbook();
    Sheet sheet = wb.createSheet();

    Row row = sheet.createRow(2);
    Cell cell = row.createCell(2);
    cell.setCellValue("Use \n with word wrap on to create a new line");

    //to enable newlines you need set a cell styles with wrap=true
    CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

    //increase row height to accomodate two lines of text
    row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

    //adjust column width to fit the content
    sheet.autoSizeColumn((short)2);

    FileOutputStream fileOut = new FileOutputStream("ooxml-newlines.xlsx");
    wb.write(fileOut);
    fileOut.close(); 

반응형
반응형

[JEUS 8] response charset 변경하기 페이지 인코딩 변경

webApplication/WEB-INF/jeus-web-dd.xml 을 만듭니다.

 
<?xml version="1.0" encoding="UTF-8"?> 
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus"> 
<context-path>/euckr</context-path> 
<encoding> 
<response-encoding> 
<default>EUC-KR</default> 
</response-encoding> 
</encoding> 
</jeus-web-dd>
 

 

자 이렇게 되면
받는 쪽 body 로 제우스는 EUC-KR의 인코딩 형태로 html 을 던져 줍니다.

출처:https://ipex.tistory.com/entry/JEUS-8-response-charset-변경하기-페이지-인코딩-변경[깍돌이]

----------------------------------------------------------------------------------------------------------------------------
 http://blog.naver.com/hwanwhat81/221181267297 
ja 로 jeus admin(관리자 모드 접속)하여

applist 하면 container 정보들이 출력..
jeus 홈디렉토리 config 파일에 가보면 서비스 디렉토리 안에 container list 가 존재한다.
한글깨짐 현상이 발생하는 컨테이너로 가보면
WEBmain.xml 이 존재.

vi 로 들어가서 편집해 준다.  

<context-group>
        <group-name>MyGroup</group-name>
        <encoding>
            <request-url-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-url-encoding>
            <request-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-encoding>
            <response-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </response-encoding>
        </encoding>
생략 ....
</context-group> 



----------------------------------------------------------------------------------------------------------------------------
file.encoding ansi_x3.4-1968

분명히 utf-8로 셋팅 되었는데 Jeus는 가끔 미쳐서 파일 인코딩을 제대로 인지 못하는 경우가 있다.

String fileEncoding=System.getProperty("file.encoding");

이럴 경우 Jeus의 설정 파일에서( JEUSMain.xml ) 컨테이너 설정에 -Dfile.encoding=UTF-8 를 추가 해야 한다.

출처: https://lahuman.jabsiri.co.kr/57 [lahuman & jabsiri 노트]

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

https://waspro.tistory.com/183

 

[JEUS] Encoding 설정에 따른 출력 Test

본 포스팅은 Encoding 관련 우선순위 테스트입니다. Request Encoding, Response Encoding 각각 우선순위에 대한 테스트를 수행할 예정입니다. 먼저 Request Encoding 우선순위 테스트입니다. JEUS의 Encoding JEU..

waspro.tistory.com

 

반응형
반응형

[POI] POI 엑셀 - Using newlines in cells ( 셀에서 줄바꿈 )
//////////////////////////////
cs.setWrapText( true );
//////////////////////////////////

 

// 엑셀 파일 로드
HSSFWorkbook wb = excelService.loadWorkbook(sb.toString());
 
HSSFSheet sheet = wb.createSheet("cell test sheet2");
sheet.setColumnWidth((short) 3, (short) 200);	// column Width
 
HSSFCellStyle cs = wb.createCellStyle();
HSSFFont font = wb.createFont();
font.setFontHeight((short) 16);
font.setBoldweight((short) 3);
font.setFontName("fixedsys");
 
cs.setFont(font);
cs.setAlignment(HSSFCellStyle.ALIGN_RIGHT);	// cell 정렬
cs.setWrapText( true );
 
for (int i = 0; i < 100; i++) {
	HSSFRow row = sheet.createRow(i);
	row.setHeight((short)300); // row의 height 설정
 
	for (int j = 0; j < 5; j++) {
		HSSFCell cell = row.createCell((short) j);
		cell.setCellValue(new HSSFRichTextString("row " + i + ", cell " + j));
		cell.setCellStyle( cs );
	}
}
 
// 엑셀 파일 저장
FileOutputStream out = new FileOutputStream(sb.toString());
wb.write(out);
out.close();

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:excel

 

egovframework:rte2:fdl:excel [eGovFrame]

Excel 파일 포맷을 다룰 수 있는 자바 라이브러리를 제공하여, 사용자들이 데이터를 Excel 파일 포맷으로 다운받거나, 대량의 Excel 데이터를 시스템에 올릴 수 있도록 지원하기 위한 서비스이다. Excel 서비스는 Apache POI 오픈소스를 사용하여 구현하였으며 주요 Excel접근 기능 외에 Excel 다운로드, Excel 파일 업로드 등의 기능이 있다. 엑셀 파일을 생성하여 지정된 위치에 저장하는 기능을 제공한다. HSSFWorkbook 인스

www.egovframe.go.kr

 

반응형
반응형

[Java] 문자열 치환(Replace) 사용법 & 예제

String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replace([기존문자],[바꿀문자])
a= a.replace("대한", "민국");	
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세
String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replaceAll([정규식],[바꿀문자])
a= a.replaceAll("대한", "민국");
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세
반응형

+ Recent posts