[Oracle] PL/SQL
Oracle pipeline을 개발하다 보니 INSERT, UPDATE 등 익숙한 opernation외에 PL/SQL이라는 것을 발견해서 찾아보게 되었다. mysql에서는 이와 비슷한 ‘SQL/PSM’ 이 있고 MsSQL의 트랜잭션과 비슷하지만 PL/SQL은 실제 프로그래밍 언어처럼 사용할 수 있다는 점에서 차이가 있다. PL/SQL? PL/S...
Oracle pipeline을 개발하다 보니 INSERT, UPDATE 등 익숙한 opernation외에 PL/SQL이라는 것을 발견해서 찾아보게 되었다. mysql에서는 이와 비슷한 ‘SQL/PSM’ 이 있고 MsSQL의 트랜잭션과 비슷하지만 PL/SQL은 실제 프로그래밍 언어처럼 사용할 수 있다는 점에서 차이가 있다. PL/SQL? PL/S...
아키텍처의 필요성 내가 아키텍처의 필요성에 대해 느꼇던 상황은 아래와 같다. 초기에 서비스의 기능과 기획이 체계적이지 않을 때, 개발을 하다보니 전체적인 체계가 없어서 코드가 매우 난잡해서 새로 합류한 팀원들에게 전달 하기가 어려웠다. 클래스 별 책임이 제대로 나뉘어져 있지 않다 보니 재사용 할 수 있는 코드가 있음에도 불구하고, 중복되는...
DockerFile 최적화 docker 이미지를 빌드 할 때, 비슷한 dockerfile인데도 불구하고 빌드 속도 차이가 있는 것을 알게되었고 최적화 관련 자료를 찾아보았다. docker cache FROM ubuntu:latest RUN apt-get update && apt-get install -y build-essentia...
Redo Log? redo 로그는 oracle 에서 데이터 복구 작업에 주로 쓰이는 로그로 데이터베이스에 발생하는 모든 변경 사항을 저장하는 로그이다. (실제 데이터 변경 전 redo log에 먼저 기록한 후 변경) oralce 데이터베이스의 각 인스턴스는 에러 발생 시 데이터베이스를 보호하기 위해 연관된 redo 로그를 가지고 있다. redo lo...
SqlAlchemy count(), all() 사이드 프로젝트에서 list API에 filtering하는 기능이 있는데, 여기서 필터링 항목을 선택하는 뷰에서 몇개의 객체가 검색 될지 count를 미리 보여줘야하는 상황이었다. 이미 list API에서 total_count를 반환하도록 만들어 뒀기 때문에, list API를 두번 호출 하면 되지 않을...
네트워크 장비 허브 멀티탭 같이 하나의 네트워크 회선을 여러 개의 단말장치가 연결될 수 있도록 단말 수만큼 포트 수를 늘려 분배해주는 장비, 보통 허브 뒤편에 보면 여러 개의 LAN 포트가 있고 이 LAN 포트에 케이블을 연결해 여러 대의 컴퓨터를 네트워크에 연결할 수 있다. 허브에에 4개의 단말 장치 a,b,c,d 가 있다고 할 때 a에서 c...
Session / Cookie 클라이언트가 서버에게 로그인을 요청 서버에서 login 인증을하고 전달 받은 request 정보가 맞으면 객체를 생성하고 session ID 를 클라이언트에 전달 Session 객체는 서버에 저장 클라이언트가 서버에 요청할 때 요청 할 때 세션 ID가 같이 전달 서버에서는 클라이언트에게 받은 요청...
Docker Network Docker로 배포한 고객사에서 접근 IP 가 변경되었다는 문의사항이 있었는데 우리는 Docker Continaer를 network_mode:hosts로 사용하고 있었고 테스트용으로 포트 바인딩에서 실행시켜둔 컨테이너들이 있었는데 docker compose up 되어 있는 상태에서 내가 folder를 rename 했더...
IPv4 와 IPv6 주소체계 IP주소의 길이는 총 32bit으로 232개의 IP 주소를 표현할 수 있다. 그런데 MAC 주소는 248개이므로, IP 주소를 할당해줄 MAC 주소보다 IP 주소의 수가 매우 부족하다는 것이다. 그리고 네트워크 규모가 커질수록 단말장치의 수는 점점 늘어날 것이기 때문에 그에 다른 IP 주소의 고갈도 무시할 수 없다...
MySQL 데이터 복구하기 MySQL은 DDL, DML과 같이 DB에 변경을 주는 이벤트를 바이너리 형태로 기록하는 바이너리 로그가 있다 변경을 주는 이벤트만 남기기 때문에 ,show select 같은 쿼리문은 찾을 수 없다. 이전에 고객사에서 사원들 계정 관련 대규모 변경 건이 있었고, 해당 발생 사항들을 모두 DB에 저장을 해두고 있었다. 그런...