[JAVA] Apache POI 엑셀 스타일, 폰트
2023. 5. 19. 16:02
JAVA
SXSSFWorkbook 워크북 생성 워크북 객체를 생성해주고 워크북 내에 시트를 생성한다. 열 폭 세팅을 위해 시트의 setColumWidth(해당, 열, 폭) 메서드를 이용한다. SXSSFWorkbook workbook = new SXSSFWorkbook(); // 시트 생성 SXSSFSheet sheet = workbook.createSheet("과일표"); // 열 폭 수정 sheet.setColumnWidth(3, 6000); sheet.setColumnWidth(4, 7000); sheet.setColumnWidth(5, 8000); sheet.setColumnWidth(6, 6000); CellStyle 정렬 Alignment CellStyle 객체를 생성하여 Alignment 세팅하는 함수..
[JAVA] File Object
2023. 5. 19. 15:19
JAVA
createNewFile - 파일 생성 String rootPath = "C:/DevLog/"; String sFilePath = rootPath + "test.txt"; File file = new File(sFilePath); file.createNewFile(); 실무에 적용할 때 rootPath는 설정값을 읽어서 사용하도록 한다. properties파일 또는 yml 파일의 값은 서버와 분리하여 사용하기 때문이다. (Build시 해당 파일을 제외한다던가 설정을 통해 Local, 개발서버, 운영서버 설정 파일을 분리) mkdir - 디렉토리 생성 String rootPath = "C:/DevLog/"; String sNewDirectory = rootPath + "study"; File file = ..
[JAVA] Excel - Apache POI(SXSSFWorkbook Example)
2023. 5. 19. 15:05
JAVA
Workbook 종류 HSSF : Excel 2007 하위버전(.xls) 파일 포매을 사용할 때 사용 XSSF : Excel 2007 (,xlsx) 파일 포맷을 사용할 때 사용 SXSSF : 대용량 액셀 파일을 출력할 때 사용 XSSF, SXSSF 차이 XSSF 읽기, 쓰기가 가능하다. 메모리에 파일데이터를 쌇아두고 사용하기 때문에 용량이 큰 경우 Out Of Memory 에러가 발생한다. SXSSF 쓰기만 가능하다. 임시파일을 중간중간 생성하여 메모리를 적게 사용하기 때문에 XSSF 보다 매우 큰 엑셀 파일을 생성할 수 있다. XSSF는 전체 행에 대한 컨트롤이 가능하지만 SXSSF는 지정된 행(window size)에 관해서만 컨트롤이 가능해서 메모리를 적게 사용한다. SXSSFWorkbook Exa..
B660M AORUS ELITE DDR4 사용기
2023. 2. 4. 17:20
개발 지식
단점은 1. 가장 저렴한 h610m 보드 가격이 10만원 정도인 것에 비해 기가바이트 b660m aorus elite 보드는 17~18만원 대로 가격차이가 상당히 있다는 것 2. 메인보드 매뉴얼 한장짜리로 지원하고 홈페이지에서 pdf 파일로 다운받아야 한다는 것 이러한 가격차이나 매뉴얼 지원 부족이라는 단점을 상쇄하고도 남을 만큼 h610 보드와 b660 보드는 차이가 나기에 가치가 있는 선택인 것 같아요. 장점 1. DR.모스펫 12+1+1 의 720A 정도를 지원하는 전원부로 i5-12400 은 물론 i9-12900k 도 넉넉하게 지원 가능한 메인보드 중에서 가장 저렴한 가격 (1만원정도 더 싼걸로 기가바이트 b660m 게이밍 X 보드가 있는데 440A 전원부인데 1만원 차이면 기가바이트 b660m ..
JavaScript - 정규 표현식(Reqular expressions)
2023. 2. 1. 11:32
JavaScript
정규표현식(Regular Expression) 정규식(Regular Expression)은 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용된다. 정규식 구성 슬래쉬 문자 두개 사이로 정규식 기호가 들어가는 형태이다. 뒤의 i 는 정규식 플래그이다. // 리터럴 방식 const regex = /abc/; // 생성자 방식 const regex = new RegExp("abc"); const regex = new RegExp(/abc/); // 이렇게 해도 됨 정규식 메서드 메서드 의미 ("문자열").match(/정규표현식/플래그) "문자열"에서 "정규표현식"에 매칭되는 항목들을 배열로 반환 ("문자열").replace(/정규표현식/, "대체문자열") "정규표현식"에 매칭되는 항목을 "대체문자열"로..
JavaScript/jQuery - form, input 동적 생성 및 submit
2022. 12. 30. 17:53
JavaScript
Form 태그 역시 document내 엘리먼트이기 때문에 필요할때 문서내에 없더라도 동적으로 Form 태그를 생성하여 action method 등 필요한 속성들을 설정하고 전송할 input 엘리먼트를 form안에 생성하여 submit하는 것이 가능합니다. JavaScript /* Javascript */ // create element (form) var newForm = document.createElement('form'); // set attribute (form) newForm.name = 'newForm'; newForm.method = 'post'; newForm.action = 'https://ifuwanna.tistory.com/196'; newForm.target = '_blank'; /..
jQuery - jQeury를 사용해 쿠키 관리하기(읽기, 생성, 삭제, 생명주기)
2022. 12. 30. 14:19
JavaScript/jQuery
쿠키 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다는 특징이 있습니다. [jQuery] 다운로드 및 설치 방법 를 통해 jquery를 다운 받습니다. https://plugins.jquery.com/cookie/ jQuery Cookie 플러그인을 다운 받습니다. 다운로드 받은 js 파일을 페이지에 포함 시킵니다. jquery 플러그인 이므로 jquery 도 있어야 합니다. 쿠키 만들기 // 세션 쿠키 생성 - 브라우저를 닫으면 없으집니다. $.cookie('name', 'value'); // 7일 뒤에 만료되는 쿠키 생성 $.cookie('name', '..
JSP - Servlet Mapping
2022. 12. 30. 11:14
JSP
Servlet Mapping Servlet Mapping이란 특정 servlet을 요청할 때, 전체 경로를 url에 써주면, 너무 복잡하고 보안에도 취약하기 때문에, 간단하게 경로를 표현해주는 것이다. servlet 매핑 방법은 두 가지가 있다. 1. xml 이용 2. annotaion 이용 xml을 이용하여 servlet mapping xml을 이용하여, servlet mapping을 해주기 위해서는 web.xml파일에서 servlet mapping을 해주어야한다. 은 이 servlet의 별칭이기 때문에 임의로 바꿔주어도 된다. 는 이 servlet의 저장위치이다. action org.springframework.web.servlet.DispatcherServlet contextConfigLocatio..
Spring - Apache tiles view 레이아웃 정의하기
2022. 12. 30. 10:52
Spring
Apache tiles view 스프링 MVC는 Apache tiles 를 논리적 뷰 이름으로 타일을 정의할 수 있는 뷰 리졸버를 통해 지원한다. Composite View 패턴 모듈 단위의 뷰 들을 조합해서 하나의 뷰를 구성한다. 트리 구조로 볼 수 있으며, 부모 뷰와 자식 뷰 들의 사이를 부모를 하나의 전체 뷰로 볼 수 있고, 자식 뷰를 작은 한 부분으로 볼 수 있다. 아래는 Composite 패턴의 UML이다. Component는 표현할 요소들의 추상적인 인터페이스고, Leaf는 Component의 구현체, Composite은 Component의 구현체들을 자식으로 삼으며, 구현체(Leaf)를 관리하기 위한 메소드들이 추가적으로 있다. 즉 Composite View 패턴을 사용해서 화면이 바뀌어도 ..
OS - putty 명령어
2022. 12. 19. 17:43
OS
putty 명령어와 단축키 정리 CentOS/우분투와 같은 리눅스os에서 원격 접속하는 방법은 putty를 많이 사용한다. putty를 이용하여 원격지 리눅스서버에 접속해서 작업을 할때 필요한 명령어들을 정리해봤다. . 파일 및 디렉토리 명령어 ls : 디렉토리 및 파일 목록보기 ls -al : 숨겨진 디렉토리 및 파일 목록까지 정렬된 형태로 보기 cd (디렉토리이름) : 해당 디렉토리로 이동 (예: cd /home/) cd : 최상위 디렉토리로 이동 pwd : 현재 디렉토리의 위치 보여주기 mkdir (디렉토리이름) : 해당 디렉토리 만들기 (예: mkdir putty) rm (파일이름) : 해당 파일 지우기 (예: rm itopening) rm -r (디렉토리이름) : 해당 디렉토리 지우기 (예: r..
Oracle - 데이터 형식
2022. 12. 16. 22:42
DATABASE/Oracle
문자 데이터 타입 ex) 예를들어 가변형 문자형 데이터타입인 Varchar2에 10이라는 데이터 공간을 할당하고 abc라는 데이터를 입력했다고 치면 그 데이터는 10이라는 데이터 공간을 할당했기에 10byte까지만 데이터를 입력받을 수 있고 3글자만 입력되었으므로 그 데이터공간은 3byte가 됩니다. 반대로 고정형 문자형 데이터타입인 CHAR에 10이라는 데이터 공간을 할당하고 마찬가지로 abc라는 데이터를 입력했다고 치면 그 데이터는 3글자만 입력되었지만 데이터 공간은 10byte가 됩니다. 남 / 여 같이 1글자만 들어올 수 있는것이 아니라면 대부분 VARCHAR2를 사용합니다. 데이터 타입 설명 CHAR(n) 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte VARCHAR2(n) 가..
HTML - 변경문자
2022. 12. 16. 18:14
HTML
Character Entity Decimal Hex Rendering in Your Browser Entity Decimal Hex quotation mark = APL quote " " " " " " ampersand & & & & & & less-than sign < < < Latin capital ligature OE Œ Œ Œ Œ Œ Œ Latin small ligature oe œ œ œ œ œ œ Latin capital letter S with caron Š Š Š Š Š Š Latin small letter s with caron š š š š š š Latin capital letter Y with diaeresis Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ modifier letter circumflex a..
개념 - Eclipse로 프로젝트 시작하기
2022. 12. 4. 21:18
JAVA/개념
1. Jdk 8 사용 (1) 오라클에 접속해 java 8을 다운 받기 https://www.oracle.com/java/technologies/downloads/#java8-windows (2) 환경변수 설정 다운 받은 후 환경변수를 설정해 준다. Win + R -> sysdm.cpl 을 입력해 시스템 속성으로 이동 후 고급 탭에 환경 변수를 눌러준다. 변수 이름을 JAVA_HOME, 변수 값을 JDK8을 다운 받은 폴더로 설정해 준다. 마찬가지로 PATH를 jdk 8 폴더 안에 있는 bin으로 설정한다. (3) 설정 확인과 자바 버전 확인 Cmd 창을 실행 후 javac – version 을 입력하고 엔터를 누르면 자바 버전이 1.8로 설정이 잘 된 것을 확인할 수 있다. 2. Eclipse 다운 Ec..
JAVA - 정규표현식(regex)
2022. 11. 25. 18:30
JAVA
정규표현식(regex) 정규표현식(Regular expressions)은 줄여서 Regex라고 합니다. Regex는 문자열에 어떤 패턴의 문자들이 있는지 찾는데 도움을 줍니다. 이 글은 Regex의 패턴과 사용방법 위주로 정리하였습니다. Regex는 대부분 알고 있지만, 적용할 표현들이 헷갈렸다면 이 글을 참고하시면서 패턴을 작성해보세요. Metacharacters Metacharacters는 Regex의 패턴에서 어떤 문자가 특별한 의미를 갖는 것을 말합니다. 예를 들어, \d는 0에서 9사이의 숫자를 의미합니다. Regular Expression Description . 어떤 문자 1개를 의미 ^regex ^ 다음 regex로 line을 시작하는지 regex$ $ 앞의 regex가 line의 마지막으..
JAVA - 입력(Scanner, InputStream, BufferedReader)
2022. 11. 25. 04:46
JAVA
System.in 그리고 InputStream 한 곳에서 다른 곳으로의 데이터 흐름을 스트림이라고 한다. System 클래스의 in 이라는 필드는 InputStream 의 정적 필드 정리하자면 in 이라는 변수는 InputStream의 변수로 결국 InputStream 타입의 새 변수를 선언하고 그 변수에 System.in 을 할당시킬 수도 있다는 뜻이다. import java.io.IOException; import java.io.InputStream; public class Input_Test { public static void main(String[] args) throws IOException { InputStream inputstream = System.in; int a = inputstrea..
Spring - tomcat의 동작 원리
2022. 11. 22. 11:57
Spring
Tomcat의 설정 * server.xml의 역할 TOMCAT의 메인 설정 파일이며 초기 설정을 명세하는 책임이 있습니다. 1) Server 최상위 element로, shutdown 요청 처리를 위한 address와 port 속성을 가지고 있습니다. 2) Service 의 모음 3) Engine 의 모음 (1) name: Engine의 이름 (2) defaultHost: 접속시 기본값으로 대처할 호스트 (3) jvmRoute: 로드 밸런서가 여러 Tomcat 인스턴스를 구분하기 위해 사용 4) Host appBase: 의 애플리케이션 디렉터리 “/”를 포함한 절대 경로 엘리먼트보안을 위해 role명과 사용자명, 비밀번호의 맵핑을 외부의 데이터베이스로 부터 가져오는 장치다. tomcat은 UserDataB..
Python - 딕셔너리2
2022. 11. 22. 11:30
Python
# 가위 바위 보 게임 import random ''' def match(c, m): if m in dic: if c == m: return "비김" elif match_table[c] == m: return "졌다" else: return "이김" else: return "잘못입력" dic = {1:'가위', 2:'바위', 3:'보'} match_table = {'가위':'보', '보':'바위','바위':'가위'} ran = dic[random.randint(1,3)] user = input("가위, 바위, 보 입력 : ") result = match(ran, user) print(result, ran, user) ''' # 수상자 ''' awards = [] awards.append({'이름':'팀 ..
javaScript - Map
2022. 11. 21. 14:26
JavaScript
키, 값 쌍 키 중복 X 순서 O Map Methods Method Description new Map() Creates a new Map set() Sets the value for a key in a Map get() Gets the value for a key in a Map delete() Removes a Map element specified by the key has() Returns true if a key exists in a Map forEach() Calls a function for each key/value pair in a Map entries() Returns an iterator with the [key, value] pairs in a Map size(Property) Re..
javaScript - Set
2022. 11. 21. 14:12
JavaScript
Set Methods 중복 X, 순서 X new Set() Creates a new Set add() Adds a new element to the Set delete() Removes an element from a Set has() Returns true if a value exists in the Set forEach() Invokes a callback for each element in the Set values() Returns an iterator with all the values in a Set size(Property) Returns the number of elements in a Set new Set() const letters = new Set(["a","b","c"]); // C..
JavaScript - Iterables
2022. 11. 21. 14:00
JavaScript
Iterables는 배열과 같은 반복 가능한 객체입니다. Iterables는 간단하고 효율적인 코드로 액세스할 수 있습니다. For Of 문자열 반복 j c y 배열 반복 a b c Set 반복 const letters = new Set(["a","b","c"]); for (const x of letters) { // code block to be executed } a b c Map 반복 apples,500 bananas,300 oranges,200