DevOps(15)
-
AWS Certified Cloud Practitioner 연습문제(5) 오답정리
1. You have just set up your AWS environment and have created six IAM user accounts for the DevOps team. What is the AWS recommendation when granting permissions to those IAM accounts? The principle of least privilege(PoLP): It requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user, or a program, depending on the subject) must be able ..
2020.02.25 -
MySQL 잠금기능
잠금(Locking)을 알기 위해선 그 전에 동시성 제어(Concurrency Control)를 먼저 짚고 넘어가야 한다. 동시성 제어는 다중 사용자 환경을 지원하는 데이터베이스 시스템에서 동시에 실행되는 여러 트랜잭션 간의 간섭으로 문제가 발생하지 않도록 트랜잭션의 실행 순서를 제어하는 기법이다. 한 트랜잭션을 실행하는 중에 다른 트랜잭션이 간섭하게 되면 갱신 분실(lost update), 연쇄 복귀(cascading rollback) 또는 회복 불가능(unrecoverability), 불일치 분석(inconsistent analysis) 등과 같은 문제들이 발생할 수 있다. 동시성 제어는 다시 비관적 동시성 제어 (Pessimistic concurrency Control)와 낙관적 동시성 제어(Opt..
2020.02.20 -
MySQL view(뷰)
뷰의 작동 방식은 다음과 같다. 뷰를 생성하여 SELECT문으로 데이터를 조회하면 테이블과 동일한 모양으로 확인할 수 있다. 뷰를 사용하는 이유는 다음과 같은 장점이 있기 때문이다. 보안에 도움이 된다: 위와 같은 뷰에는 사용자의 이름과 주소만 있을 뿐, 시용자의 중요한 개인정보인 출생년도, 연락처, 키, 가입일 등은 들어 있지 않다. 예를 들어 다른 사용자에게 무언가 작업을 맡겼을 때 연락처 등의 중요한 정보에는 접근하지 않고 이름과 주소 데이터만 가지고 작업하도록 할 때 뷰를 사용할 수 있다. 복잡한 쿼리를 단순화할 수 있다: 이렇게 줄도 길고 여러 조건이 들어간 쿼리를 자주 사용하게 될 경우 이 쿼리문을 뷰로 만들어 놓으면 편리하다. CREATE VIEW Statement ALTER VIEW Sta..
2020.02.17 -
자바 for문에서 length cannot be resolved or is not a field 해결
for (int j = 0; j < findFollowers.length; j++) { feedVO.setUserId(findFollowers.getFollowerId()); feedVO.setFolloweeId(userId); feedVO.setPostId(id); feedDAO.insertFeed(feedVO); } 리스트 findFollowers의 데이터 개수만큼 for문을 돌려고 했다. 그래서 ctrl+space 했을 때 나오는 가장 기본 형식인 for (int i = 0; i < array.length; i++) { } 이 형식을 그대로 사용했다. 그래서 j < findFollowers.length; 된 것 ㅎ 그랬더니 length에 계속 빨간줄이 떴다. length cannot be resol..
2020.02.14 -
jar 파일 실행하기
jar는 어떠한 프레임워크 등을 사용하기 위한 확장자인 줄 알았는데 앱 스냅샷(이미지 같은 느낌이랄까)의 용도로도 활용될 수 있었다. Windows PowerShell이 내 컴퓨터 안에 내장되어 있다. 이것을 켠다. 다음과 같은 화면이 뜬다. jar 파일이 있는 경로를 잘 확인해준 뒤, java -jar jar파일이름.jar 을 입력해준다. 그러면 다음과 같이 콘솔창 같은 화면이 뜬다.(개인정보가 될만한 것들은 지움) 다 되고 나서 새로운 브라우저창에 localhost:8080과 원하는 url을 입력하면 내가 원하는 웹앱을 확인할 수 있다. 임의로 내가 지운 부분에 tomcat 관련된 메시지가 있다. 톰캣 서버를 입력했기 때문에 8080 포트를 이용한다.
2020.02.11 -
MySQL SELECT문
select문에 들어가기 앞서... RDBMS에서는 데이터베이스 조작을 위해 SQL문을 명령어로 사용한다. SQL문을 세 가지로 분류할 수 있다. DML(Data Manipulation Language) •테이블의 행을 조작(선택, 삽입, 수정, 삭제) •트랜잭션 발생: 트랜잭션 제어어(TCL: Transaction Control Language): DML을 사용할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시킴 COMMIT/ ROLLBACK/ SAVEPOINT SELECT INSERT UPDATE DELETE DDL(Data Definition Language) •데이터베이스 개체를 조작(생성, 삭제, 변경) •트랜잭션이 없어서 실행 즉시 MySQL에 적용 CREATE ALTER DROP RE..
2020.02.10