반응형

전체 글 320

Toast grid 트리 구조 만드는 방법

Toast grid로 트리 구조 형태 그리드 생성하는 방법편의상 Controller, Mapper, XML(Query) 는 생략한다. 해당 그리드에서는 트리 구조를 만들기 위해서 _children 필드와 _leaf 필드가 필요하다. _children 필드: 하위 노드 정보 저장_leaf 필드: 최하위 노드 여부_inlcude 필드: 해당 노드를 최종 노드에 포함 여부  트리 구조 조건은 아래와 같다. 같은 회사 (org_co_cd) 내에서 정렬 부모(supi_org_co_cd) - 자식 (itg_org_cd) 가 같은 것들끼리 정렬해당 부서에 권한 인원 (auth_cnt)가 1 이상인 것들만 표시 (상위 노드 포함)자식 노드가 없는 노드들은 뒤로 배치 public class TempSerivce exte..

MySQL 이름, 이메일, 전화번호 데이터 마스킹 처리 방법

외부에서 접근 시에 민감한 정보를 일부 가리기 위한 방법으로 마스킹 처리가 있습니다. 간단하게 이름, 이메일, 전화번호 등을 마스킹 처리하는 방법에 대해서 알아보겠습니다. 1️⃣ 앞 3자리만 남기고 나머지를 *로 변환SELECT CONCAT(LEFT(user_id, 3), REPEAT('*', LENGTH(user_id) - 3)) AS masked_user_idFROM dual; user_id masked_user_idabcdefghabc*****  2️⃣ 중간 부분을 *로 변환SELECT CONCAT(LEFT(user_id, 2), REPEAT('*', LENGTH(user_id) - 4), RIGHT(user_id, 2)) AS masked_user..

MySQL AUTO INCREMENT 조회 및 초기화

오라클에선 자동으로 인덱스 값을 증가시키기 위해 시퀀스를 사용한다. 하지만 MySQL에선 시퀀스가 없다.비슷한 기능을 수행하기 위해선 AUTO INCREMENT 기능을 사용해야한다.  SHOW TABLE STATUS WHERE NAME = '' 위와 같이 조회하면 해당 테이블의 AUTO INCREMENT가 설정된 컬럼의 다음 값을 알 수 있다.  초기화 혹은 특정 값으로 변경ALTER TABLE 테이블명 AUTO_INCREMENT = 변경할 숫자; 특정 값으로 변경할 때는 현재 테이블에 있는 값 중 가장 큰 값보다 커야한다. 예를 들어, 테이블에 데이터가 5까지 있다면 6부터 변경할 수 있다.

PHP 한셀 PhpSpreadSheet 에러: Your requested sheet index

최근 PHP로 개발을 했다.PhpSpreadSheet로 엑셀 파일 업로드 기능을 만들었는데 아래와 같은 에러가 발생했다. Fatal Error: Uncaught PhpOffice\PhpSpreadSheet\Exception: Your requested sheet index; -1 is out of bounds. The actual member of sheets is 0....(이하생략) Sheet index가 범위에서 벗어났다는 에러다.엑셀 파일에 문제가 생긴건지 봤지만 한셀 자체 에러였다. 해결 방법구글 시트 같은 웹용 엑셀을 이용하면 쉽게 해결할 수 있다. 웹용 엑셀에 한셀에서 작업한 내용을 그대로 복사 후, 파일 > 다운로드 > Microsoft Excel(.xlsx) 엑셀 파일로 저장 후에 사용하..

Unknown return value type: java.lang.Integer 에러

ajax 호출할 때 발생하는 에러 @PostMapping(value = "/TEST/select"}, produces = {"application/json"})public int selectKey() { return this.TESTService.selectKey();}  @ResponseBody를 추가 안해서 발생하는 에러@ResponseBody: 리턴되는 값은 View를 통해서 출력되지 않고 HTTP ResponseBody에 직접 쓰여짐.@ResponseBody@PostMapping(value = "/TEST/select"}, produces = {"application/json"})public int selectKey() { return this.TESTService.selectKey();}

MySQL 권한 부여하는 방법 (GRANT)

MySQL을 설치하게 되면 가장 먼저 사용하게 되는 계정은 root.관리자 계정이기 때문에, 데이터베이스에 모든 권한을 가지고 있지만 새로 생성한 계정에는 권한이 없기 때문에 초기에는 아무것도 할 수 없습니다. 실제로 개발자와 사용자에 따라서 계정을 생성하고, 권한을 부여 받아서 사용합니다.--MySQL root 권한 접속mysql -u root -p-- MySQL 스키마 선택use 스키마 이름; 사용자 생성CREATE USER '사용자'@'host' IDENTIFIED BY '비밀번호';-- 내부 접근을 허용하는 사용자 추가CREATE USER '사용자'@'localhost' IDENTIFIED BY '1234';-- 외부 접근을 허용하는 사용자 추가CREATE USER '사용자'@'%' IDENTIF..

Oracle vs MySQL 데이터 타입 비교

최근 회사에서 사용하는 데이터베이스가 Oracle에서 MySQL로 변경되고, 테이블을 생성하고 수정하는데 불편함을 느껴서 데이터 타입을 비교 정리하려고 한다. OracleMySQLBFILEVARCHAR(n)CHAR(n), CHARACTER(n), n CHAR(n), CHARACTER(n)CHAR(n), CHARACTER(n), n > 255VARCHAR(n)CLOBLONGTEXTDATEDATETIMEDECIMAL(p, s), DEC(p, s)DECIMAL(p, s), DEC(p, s)DOUBLE PRECISIONDOUBLE PRECISIONFLOAT(p)DOUBLEINTEGER, INTINTINTERVAL YEAR(p) TO MONTHVARCHAR(30)INTERVAL DAY(p) TO SECOND(s)..

객체지향 프로그래밍 OOP 특징, 오버로딩과 오버라이딩

1. 객체지향 프로그래밍 OOP (Object-Orientred Programming) 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식 📌 객체? 객체(Object) 는 우리 주변에 있는 모든 것 (컴퓨터, 책, 사람, 마우스 등) 자신만의 고유한 특성과 행동을 가지며 다른 객체들에게 행동을 요청하거나 정보를 주고 받는 등 상호작용을 하면서 존재 객체지향 프로그래밍 절차지향 프로그래밍 처리방식 문제를 여러 개의 객체로 처리 문제를 여러 개의 함수로 처리 장점 코드 재사용 용이 유지보수가 쉬움 대형프로젝트에 적합 처리 속도 빠름 실행 속도 빠름 단점 처리 속도가 상대적으로 느림 객체가 많으면 용량이 커짐 설계시 많은 시간과 노력이 필요 ..

반응형