본문 바로가기

반응형

전체 글

67일차 코딩학원 ● 코딩학원 공부 내용정리 1. 어제는 유효성 검증에 대해 공부했다. 오늘은 '트랜잭션'에 대해 공부한다. 2. 트랜잭션 : 프로그램에서 어떤 이벤트가 발생했을 때 하나의 테이블에만 데이터를 변경하는 경우보다 여러 테이블을 차례로 변경해야 하는 경우가 많이 발생한다. 예를들어 은행에서 계좌이체를 한다. 신한 은행 A계좌에서 B계좌로 이체한다고 했을 때 게좌는 테이블로 볼 수 있다. A계좌에서 100만 원을 차감하고 B계좌에 100만원을 추가하면 계좌이체가 완료된다. 만약 이 과정에서 에러가 발생하면 A계좌에서 차감했던 금액은 다시원래대로 되돌려야 한다. 트랜잭션은 하나의 논리적 기능을 수행하기 위해 여러 작업을 묶어서 처리하는 것을 의미한다. commit, rollback등의 명령이 있다. 처리 과정에서.. 더보기
Java 캡슐화와 접근 제어자(게터와 세터) 클래스나 멤버에 접근 제어자를 사용하는 이유는 클래스의 내부에 선언된 데이터를 보호하기 위해서다. 비밀번호를 누가 바꾸면 큰일 난다. 비밀번호는 외부의 접근을 막아야한다. 이것을 데이터 감추기, 캡슐화라고 한다. 외부에서 접근할 필요가 없는 멤버들은 private으로 지정하여 외부에 노출시키지 않음으로써 복잡성을 줄일 수 있다. 정리하면 접근 제어자(private)를 사용하는 이유는 1) 외부로부터 데이터 보호 2) 외부에 불필요한, 내부적으로만 사용되는 부분을 감추기 위한 목적 예시 코드 : 멤버변수에다가 접근제어자를 private으로 설정하여 외부에서 접근하지 못하도록 했다. 반면 메서드는 public이라서 외부에서 접근이 가능하다. public class Time3 { private int hour.. 더보기
66일차 코딩학원 ● 66일차 코딩학원 공부내용 정리 1. 게시판이 final임. 반복해서 만들어볼 것. 2. SpringMVC(화면과 데이터 분리)에서 SpringBoot로 가면 추상화가 심해진다. 추상화 : 내용이 많이 감춰져 있음. 미술도 추상화는 이해하기 힘들다. 숨겨진 내용이 많다. 3. 오늘의 과제 : 'JDBC 연결해제' 하기. 복습을 조금 해보면 JDBC는 자바 프로그램에서 다른 기종간의 데이터베이스를 표준화된 방법으로 접속할 수 있도록 만드는 API 규격이다. 4. 테이블당 하나의 DAO를 가진다. 1:1 관계다. 5. interface는 구현부가 없다. abstract다. 6. interface, Override 등 java개념이 계속 나옴. 7. @Autowired를 사용하면 injection된다. 8.. 더보기
HashMap 개념 및 예제 컬렉션프레임워크의 HashMap에 대해 알아보자. 주요 단어 : Key값, Value값, 해싱. 해싱이란 환자정보관리 예시를 떠올려보자. 주민번호가 7로 시작하는 환자의 의료기록을 알고 싶다면 주민번호 앞자리가 7인 서류함을 열어봐야한다. 7은 저장위치를 알려주는 것이다. 이는 배열의 인덱스에 해당한다. 해싱은 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보인다. 예제 코드 import java.util.*; import java.util.Scanner; public class HashMap1 { public static void main(String[] args) { HashMap map = new HashMap(); map.put("myId", "1234"); map.put("asdf", "1.. 더보기
65일차 코딩학원 1. 오늘 능력단위평가가 오전 10시에 있다. 시험 문제 : 사용자 로그인 화면 및 로그인 메인 화면 구현(LoginEvWeb), 스프링 예외처리 컨트롤러 및 예외처리 화면 구현(LoginEvWeb) 2. 저항하지 말고 받아들일 것. 하다보면 알게되는 것들이 있다. 반복해서 쳐보면 눈에 들어온다. 더보기
Java 예외처리(exception handling) ● Java 예외처리 (exception handling) 1. 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이런 결과를 에러(오류)라고 부른다. 2. 에러의 종류에는 컴파일 에러, 런타임 에러, 논리적 에러가 있다. 3. 컴파일 에러는 javac.exe가 구문체크, 번역, 최적화하는 과정에서 발생하는 에러다. eclipse를 사용하면 컴파일을 자동으로 해준다. 원래는 cmd창에서 컴파일을 따로 해줘야 했었다. 4. 런타임 에러는 프로그램 실행 도중에 발생하는 에러다. 5. 논리적 에러는 컴파일, 실행이 잘되지만 의도한 것과 다르게 동작하는 것을 말한다. 6. 에러(error)는 프로그램 코드에 의해서 수습될 수 없는 심각한 오류를 말한다. 7. 예외(exc.. 더보기
파이썬 넘파이 연습 넘파이는 강력하다. 왜? 배열 연산이 매우 빠름, 다른 차원간의 배열도 계산이 가능함. 한마디로 빠른데 처리하는 데이터양도 많음. 도구도 많이 가지고 있음. 효율적임. 결론 강력함. 1. 예제 연습 import numpy as np # 파이썬 리스트 선언 data = [1, 2, 3, 4, 5] print(data, type(data)) # 파이썬 2차원 리스트(행렬) 선언 data2 = [[1, 2], [3, 4]] print(data2) # 파이썬 리스트를 numpy array로 변환 arr = np.array(data) print(arr, type(arr)) arr = np.array([1,2,3,4,5]) print(arr, type(arr)) # 2차원 리스트를 np.array로 만듦 -> 행렬.. 더보기
64일차 코딩학원 ● 64일차 코딩학원 수업시간 공부내용정리 1. 프래시맨 뜻 : 신선한 사람. 아직 지성이 없는 상태. 처음에는 '열심히 하겠습니다' 라는 마음으로 시작해야한다. 장화신고 하수구에 들어가서 청소하는 것부터 시작이다. 그런 것들이 쌓여야 나중에 기회가 올 때 점프할 수 있다. 2.Postgresql은 Database에 해당하는 부분이다. 3. src/test/java에서 작업 중 4. jUnit은 디버깅과 비슷해보인다. 테스트를 하는 이유는 책을 쓰고 수정하는 과정과 비슷하다. jUnit테스트를 통해 코드의 오류를 찾거나 수정을 통해 효율적인 코드를 만들 수 있다. 5. 단위테스트가 계속되려면 삭제하고 삽입하고, 삭제하고 삽입하는 과정이 반복되어야한다. 6. 예외처리가 계속 나오네? 왜 예외처리를 해줘야만.. 더보기

반응형