본문 바로가기
반응형

조조나리53

apt/yum/brew 등 패키지관리자의 update와 upgrade의 차이 우리는 OS를 운영할때 brew나 yum, apt등을 이용하여 패키지를 관리합니다. 저도 보통 서버에서는 yum을 통해 관리하고, 맥북에서는 brew를 자주 쓰고있습니다. 최신버전을 유지하고 싶을땐 update와 upgrade를 둘 다 해주고있었는데요 문득 그차이가 궁금해졌습니다. 결과 요약 yum update : 최신 버전으로 패키지 수정 + 사용하지 않는 패키지 유지 $yum update upgrade : 최신 버전으로 패키지 수정 + 사용하지 않는 패키지 삭제 $yum upgrade $yum update --obsoletes 와 $yum upgrade는 같은 처리를 합니다. --obsoletes 는 사용하지 않는 패키지 삭제 옵션 apt update : 업그레이드 가능한 패키지들의 버전에 대한 정보.. 2020. 12. 20.
LocalDateTime의 데이터가 9시간 차이남 java에서 찍어보면 아래와 같이 현재 시간이 찍힙니다. expires_at : 2020-12-19 20:44:13 issued_at : 2020-12-19 20:44:14 //Java에서 찍어봤을때나오는데이터 { "expires_at": { "date": { "year": 2020, "month": 12, "day": 19 }, "time": { "hour": 20, "minute": 44, "second": 13, "nano": 0 } }, "issued_at": { "date": { "year": 2020, "month": 12, "day": 19 }, "time": { "hour": 18, "minute": 44, "second": 14, "nano": 0 } } } 하지만 DB에 들어간 데이터는.. 2020. 12. 19.
Homebrew 설치하기 오랜만에 맥북 포맷 후 세팅 1. brew.sh/index_ko 에 접속한다. Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 2. 터미널을 켜고 brew.sh/index_ko에서 제공하는 설치 명령어를 넣기만 하면 된다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3. xcode설치 ...... Downloaded Command Line Tools for Xcode Installing Command Line Tools for Xcode Done with Command Line Tools for Xcode .. 2020. 12. 16.
Remote branch명 변경하기 git 원격 브랜치명 변경하기 1. 로컬 브랜치명 변경$>git branch -m oldbranch newbranch $>git push origin :oldbranch $>git push origin newbranch 2019. 3. 8.
VirtualBox VT-x is not available. (VERR_VMX_NO_VMX) VirtualBox VT-x is not available. (VERR_VMX_NO_VMX) Hyper-V가 사용하도록 되어있는 경우(DOCKER 사용등을 이유로) Hyper-V기능을 꺼주어야한다.관리자로 실행한 CMD에서 c:\> dism.exe /Online /Disable-Feature:Microsoft-Hyper-V반대로 도커(docker)사용시 Hyper-V기능을 켜주어야한다관리자로 실행한 CMD에서 c:\> dism.exe /Online /Enable-Feature:Microsoft-Hyper-V 2019. 1. 23.
JAVA에서 MD5 변환 /** * 문자열을 MD-5 방식으로 암호화 * * @param str 암호화 하려하는 문자열 * @return String */ public String getEncMD5(String str) { String MD5; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(str.getBytes()); byte byteData[] = md.digest(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); .. 2018. 9. 7.
invalid loc header (bad signature) ERROR : invalid loc header (bad signature) 메이븐 레파지토리에 이상이 있다는 것으로 로컬에 있는 메이븐 레파지토리를 삭제후 다시 받으면 된다. 1. C:/Users/사용자명/.m2/repository 하위 모든 폴더 삭제2. 프로젝트 클릭 후 메이븐 -> 업데이트 메이븐 2017. 12. 5.
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path ERROR : The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 해결 : server runtime 추가프로젝트 우클릭 -> Build Path -> Configure Build Path...-> Libraries 탭 -> add library -> server runtime -> was 선택 2017. 12. 5.
jqgrid 사용시 setCell if(trim(rowData[field]) == '소계'|| trim(rowData[field]) == '총 합계') {$('#grid_dynamicStati').setRowData(rowId, false, cssBackground);$('#grid_dynamicStati').jqGrid('setCell', rowId, field, '', cssBlack);} 조건을 주어 위와 같이 CSS를 적용하려고 했는데 마지막 줄에 마지막 소계만 CSS가 적용이 안되었다. if(trim(rowData[field]) == '소계'|| trim(rowData[field]) == '총 합계') {$('#grid_dynamicStati').jqGrid('setCell', rowId, field, '', cssBlack);.. 2017. 6. 23.
gorup by rollup(xxx, yyy)시 소계, 합계 구분하기 gorup by rollup(xxx, yyy)시 소계, 합계 구분하기 오라클에서 gorup by rollup(xxx, yyy)을 할 때 xxx나 yyy가 null이거나 empty일경우 소계와 합계 구분이 쉽지 않다. 오라클에서 null과 empty를 모두 null로 처리하는 것이 엄청 짜증난다. 이런경우 Grouping() 혹은 Grouping_id() 함수를 사용하면 쉽게 구분할 수 있다. select xxx, yyy, Grouping_id(xxx, yyy) AS group_gubun from tttgroup by rollup(xxx, yyy) group_gubun이 0,1,3으로 떨어지는 데 0은 데이터를, 1은 소계를, 3은 합계를 반환하는 row이다. by. 조조나리 2017. 6. 14.
mysql에서 테이블 레코드수, 용량 확인 SELECT table_name, table_rows, round(data_length/(1024*1024),2) as 'DATA_SIZE(MB)', round(index_length/(1024*1024),2) as 'INDEX_SIZE(MB)', TABLE_COMMENTFROM information_schema.TABLESwhere table_schema = '디비명'GROUP BY table_name ORDER BY table_name ASC 2017. 6. 2.
대용량 시스템의 미래 : 마이크로 서비스 아키텍처 대용량 시스템의 미래 : 마이크로 서비스 아키텍처 마이크로서비스 아키텍처 구축국내도서저자 : 샘 뉴먼(Sam Newman) / 정성권역출판 : 한빛미디어 2017.03.01상세보 작고, 한 가지 일을 잘하는데 주력 책을 받고나서 목차를 살펴봤다. 가장 강하게 나를 끌어당기는 문장이 바로 "작고, 한 가지 일을 잘하는데 주력"이다. 개발을 할때도 이런 말을 들어본적이 있다. 단일 책임의 원칙(객체 지향 프로그래밍에서 단일 책임 원칙이란 모든 클래스는 하나의 책임만 가진다.)이라는 SOLID규칙의 하나다. 하나의 서비스를 봤을때도 이런 원칙은 비슷하게 적용될 수 있는 것 같다. 하나의 서비스는 하나의 책임만 가지다. 이런 시선으로 바라볼때 우리의 서비스는 너무 많은 기능과 책임을 가지고 있다. 이런 모놀리스.. 2017. 4. 16.
서브쿼리 소수점 문제 발견 서브쿼리로 다른 테이블의 소수을 select 해오는 서브쿼리를 날렸을때 결과가 이상하게 나온다. 실제 merchant 테이블에는 0.04 데이터를 가진 row 1개만 있다. frg_charge의 타입은 float이다. 쿼리를 날리면 이상없이 가져오지만 서브쿼리로 가져오면 이상하게도 소수점 자릿수가 늘어나면서 값이 달라진다. 무려 15자리가 추가되었다. float나 double의 경우 2진수로 저장되고 2진수로는 10진수의 표현을 정확하게 표현할 수 없다. 이때 소숫점을 10진수로 저장하면 되는데 데이터타입을 DECIMAL로 변경해주면 된다. 자세한 내용은 아래의 주소에 다른분이 잘정리해놓았다. https://honux77.wordpress.com/2014/06/12/mysql%EC%97%90%EC%84%.. 2017. 2. 22.
jqgrid - sort disable jqgrid에서 sort 설정을 없애려고하는데 아래 설정이 안먹을때. sortable: false - > cmTemplate: { sortable: false }버전차이로 인해 설정 방법이 달라진거 같다. 2017. 2. 20.
Insert시 Key 관련 에러 - Error getting generated key or setting result to parameter object. Insert시 Key 관련 에러 - Error getting generated key or setting result to parameter object. #Error[10:50:53,082] 10:50:53 [http-bio-8081-exec-10] DEBUG com.hanuri.helper.util.dao.MyBatisDaoImpl - org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: java.sql.SQLException: 지원되지 않는 기능입니다: getMetaData; uncategorized SQLException for.. 2017. 1. 16.
mysql과 oracle의 paging mysql과 oracle의 paging #mysqlLIMIT #{startRowNum}, #{endRowNum} mysql의 limit을 사용하면 보통 limit 0, 15 이런식으로 사용한다. 0은 어디서부터 읽을 위치를 나타내고, 15는 몇 row를 읽을 것인가를 나타낸다. 그래서 limit을 쓸데는 앞의 0만 0, 15, 30....이런식으로 증가하게 되면 0부터 15개, 15부터 15개, 30부터 15개 이런식으로 페이징처리를 도와준다. 하지만 오라클의 rownum을 사용하게 되면 보통 between을 사용하게 되는 기존의 것을 그대로 쓰면 rownum between 0 and 15 이런식으로 되서 처음1장만 제대로 되고 rownum between 15 and 15, rownum between 3.. 2017. 1. 13.
오라클 예약어를 DTO에서 사용하기 오라클 예약어를 DTO에서 사용하기 #Errormysql에서 사용하던 필드를 오라클로 이관했다. 하지만 오라클에서는 uid를 예약어로 잡아놓고있어서 필드이관시 자동으로 uid뒤어 언더바가 붙는다. uid_ 이걸 기존 소스에서 사용하려면 UID_ as uid 이런식으로 사용하게 되는데 그럼 "[Err] ORA-00923: FROM 키워드가 필요한 위치에 없습니다." 이런 에러가 뜬다. #해결alias를 ""로 묶으면 사용이 가능하다. uid_ as "uid" #참고 - 오라클 예약어목록 ACCESSADD *ALL *ALTER *AND *ANY *AS *ASC *AUDITBETWEEN *BY *CHAR *CHECK *CLUSTERCOLUMNCOMMENTCOMPRESSCONNECT *CREATE *CURREN.. 2017. 1. 12.
ERROR - ORA-00923: FROM 키워드가 필요한 위치에 없습니다. mysql -> oracle로 전환하면서 아래와 같은 에러가 났다. # ErrorCaused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-00923: FROM 키워드가 필요한 위치에 없습니다. ) #해결 : root-context.xml에 validationQuery에 From 구문이 빠져있었다. 추가해주면 된다. mysql에서는 SELECT 1 만해주면 되지만 오라클에서는 FROM DUAL을 해줘야 한다. FROM DUAL이 있다고 mysql에서 오류가 나는게 아니므로 양쪽에서 사용해도 된다. #참고 : DUAL테이블은 임시테이블로 테이블내에 어떠한 값이 있는건 아니다. #코드 SE.. 2017. 1. 11.
반응형