본문 바로가기

CS 지식/데이터베이스

(4)
2. cs 지식 - 데이터 베이스 1. sql 인젝션이 뭐야? 머ㄴ ㅑ고. sql 인젝션이란 공격자가 악의적인 의도를 갖는 sql 구문을 삽입해서 데이터베이스를 비정상적으로 조작하고 혼란을 주는 공격 기법 이런 짓을 왜 하는거야?;; 2. RDBMS vs NoSQL RDBMS : 모든 데이터를 2차원 테이블 형태로 그림 장점 : 스키마에 맞춰 데이터를 관리하기 때문에 데이터의 정합성 보장 가능 별 다섯개 단점 : 시스템이 커질수록 쿼리가 복잡해지고, 성능이 저하되며 scale-out 난감 초난감 (scale- up만 가능) tip ) 이런 경우에 써보세요 : 데이터 구조가 명확하고, 딱히 변경 될 상황도 안생길 것 같고.. 스키마가 중요한 경우중복데이터가 없어서 데이터 변경이 용이하여, 관계를 맺고 있는 데이터가 자주 변경하는 시스템에 ..
1. cs 지식 - 데이터 베이스 1. 데이터 베이스 특징 4가지 ㄱ. 실시간 접근성 - 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 함 ㄴ. 지속적인 변화 - 데이터베이스의 상태는 !동적!이다. 즉, 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)로 데이터베이스는 항상 최신 상태로 유지해야 함 ㄷ. 동시 공용 - 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것으로, 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함 (사용자마다 다른 내용의 데이터를 제공받으면 클나) ㄹ. 내용에 의한 참조 - 데이터베이스에 있는 데이터를 참조할 때, 데이터 레코드의 주소, 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용으로 찾아야 함 2. 데이터베이스 언어 읊어라..
[에러 해결] ORA-28001: the password has expired (Oracle DB 비밀번호 만료 해결법) 발단 : 비밀번호 갱신을 미루고 미루다보니 하다하다 이제 이런 에러까지 만나게 됐다. ORA-28001: the password has expired 말 그대로 비밀번호가 만료되어서, DB 연동이 안된다는 의미이다. ㅠㅠ 해결 과정(그런데 이제 난관이 하나 더 추가됨) : cmd에서 sqlplus 아이디/pw 이렇게 sqlplus가 연결되지 않았다고 나온다. 'sqlplus'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 왜 그러지? 하고 당황했는데 원인을 알았다. 원인 : 환경변수 설정이 안되어 있던 것이었다...! 해결법 : 첫째 : bin 폴더 경로를 복사한다. 나같은 경우는 bin 경로가 좀 달라서 찾느라 조금 고생했다 C:\oraclexe\app\oracl..
[CS지식] side effect와 CQRS원칙 side effect : 말 그대로 해석하면 예상치 못한 부작용이라는 뜻 그러나 프로그래밍에서는 부작용?스러운 부정적인 의미는 아니다. 빈 구문이 아닌 한, 항상 가지게 되는 것이 하나의 side effect라는 것. 코드에 조금의 변화라도 일어난다면 당연히 발생하게 되는 현상이라는 것으로 '실행 도중에 어떠한 객체에 접근하여 변화가 발생하는 행위'라는 것이다. 그렇다면 왜 side effect는 그다지 나쁜 건 아닌 거 같은데 왜 경계를 하는 것일까나? A. 이유는 side effect가 많이 발생할 수록 디버깅 과정이 까다로워지기 때문이다. 디버깅 과정이 까다로워지면, 코드를 디버깅하는데 쓰는 시간도 많아지고, 리팩토링이나 다른 사람이 내 코드를 리뷰할 때 복잡해지기 때문이다. Q. 그렇다면 보통 s..