분류 전체보기
-
내가 가진 모든 테이블 select권한 다른 유저에게 주는 방법 (Oracle)DB 2024. 8. 20. 15:56
Oracle에서 단순 데이터 조회용 계정을 만들고 관리를 안하면 조회할 수 없는 테이블이 산더미처럼 쌓이게 된다.그때마다 간단하게 아래의 SQL을 실행해 모든 테이블에 대한 select권한을 줄 수 있다. WITH PARAM AS ( SELECT :toSchema AS TO_SCHEMA FROM DUAL)SELECT REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(RTRIM(XMLAGG(XMLELEMENT(E, 'GRANT SELECT ON ' || USER || '.' || AT.TABLE_NAME || ' TO ' || P.TO_SCHEMA || ';', CHR(13) || CHR(10) ).EXTRACT('//text(..
-
Oracle에서 무한한 길이의 VARCHAR LISTAGG 하는 방법DB 2024. 8. 7. 09:06
SELECT REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(RTRIM(XMLAGG(XMLELEMENT(E, YOUR_TEXT_HERE, ',' ).EXTRACT('//text()')).GetClobVal(), ','), '&' || 'apos;', ''''), '&' || 'gt;', '>'), '&' || 'quot;', '"') AS RESULTFROM ( SELECT 'YOUR_LONG_TEXT_HERE' AS YOUR_TEXT_HERE FROM DUAL CONNECT BY LEVEL XMLAGG를 사용하면 된다. References- https://stackoverflow.com/questions/13795220/list..
-
TypeScript가 Kotlin에 비해서 거지같다고 느껴지는 이유js-ts 2024. 1. 30. 20:16
들어가며 위 글은 Kotlin을 주 프로그래밍 언어로 사용하는 Backend개발자가 작성한 글입니다. 절대로 TypeScript대신 JavaScript를 쓰자고 하는 것이 아니며, 개인적으로 TypeScript에 대해서 개선되어야 한다고 생각하는 부분에 대해서 작성한 글입니다. 혹시라도 틀린 부분이 있다면 지적 부탁드립니다. Web Front개발을 하게 되면 무조건 JS혹은 TS를 사용하게 됩니다. 먼저 JS는 기상천외한 작동 방식으로 개발자를 당황하게 만들기로 유명합니다. 이런 기상천외한 작동 방식의 가장 큰 이유는 JS가 동적 타이핑 언어, 약타입 언어이기 때문일 것입니다. 그리고, TS는 이런 JS에 type을 추가한 JS의 Superset언어이며, 강타입 언어입니다. 그렇다면 이런 JS에 type..
-
.adofai 파일 분석File format 2023. 6. 15. 20:55
개요.adofai파일은 게임 "A Dance of Fire and Ice"의 커스텀 레벨 포맷이다.전반적인것은 json과 비슷하게 생겼으나, 내부적으로는 string concat을 통해서 생성하고 있으므로 json과 완벽하게 호환되지는 않는다.분석pathData, angleData구버전에는 pathData로 나타냈으나, 최근 버전에서는 angleData로 레벨의 길을 저장한다.settings레벨의 global한 설정값 등을 저장한다.actions레벨의 각종 이벤트를 저장한다.eventType=SetSpeed레벨의 BPM을 변경한다. 이전에는 angleOffset이 없었으나, 이후 버전에서 angleOffset이 추가되었다.angleOffset 관련한 실험 1..."angleData": [0, 0, 0],..
-
Github Actions로 Github Page 배포하기인프라 2023. 5. 31. 01:00
name: NodeJS with npmon: push: branches: [ "master" ] pull_request: branches: [ "master" ]jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # Use Node.js랑 Build는 프로젝트에 맞게 구성하시면 됩니다. - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: 18.x - name: Build run: | npm ins..
-
Docker Image별 실행 방법인프라 2023. 3. 26. 17:01
Jenkins docker run -itd --env JENKINS_OPTS=--httpPort=9090 -p 9090:9090 --name jenkins jenkins/jenkins:lts -itd : ?? -- env : 환경 변수 JENKINS_OPTS=--httpPort=9090 : 젠킨스를 포트 9090으로 실행함 -p 9090:9090 : 내부 포트 9090번과 외부포트 9090번을 바인딩함. --name jenkins : 컨테이너 이름 jenkins jenkins/jenkins:lts : jenkins lts이미지 사용해서 생성 MairaDB (10.3) docker run --name mariadb-10.3 -d -p 3306:3306 --restart=always -e MYSQL_ROOT..
-
-
Docker + Postgres 이미지 실행하기인프라 2022. 9. 24. 15:54
docker run -d -p 5432:5432 --name postgres -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password postgres:14.5 -d : 모름 -p : 내부포트:외부포트 --name : 지정할 컨테이너 이름. 아무대로나 해도 됨 -e : 환경변수. POSTGRES_USER=user : 유저명 POSTGRES_PASSWORD=password : 비밀번호 postgres:14:5 : 이미지명:버전