본문 바로가기

분류 전체보기

(179)
AOP는 또 뭐에요? 처음 들어봐요 AOP라는 말을 처음들었다. 이해한 바로는 공통적인 기능과 핵심적인 기능을 분리해서 관리하기 위해 사용된다고 이해했다. AOP(Aspect Oriented Programming) 열심히 메소드들과 여러 기능들을 조합해서 코드를 짰다. 그 때, 상사가 각각의 메소드들의 걸리는 시간을 로깅해달라고 했다. 이 때 사용할 수 있는 기능이 AOP다. 엄청나게 많은 메소드들에 일일이 로깅을 찍는 코드를 작성하는 것은 여간 쉬운 일이 아니다. 그래서 로깅을 찍는 코드를 분리해서 원하는 곳(메소드)에 적용시켜 주면 일일이 메소드들에 찾아가서 찍지 않아도 로깅 기능을 사용할 수 있게 된다. 핵심은 공통적인 기능을 따로 관리한다는 점이다. 이를 통해 유지보수가 용이해지고 쉽게 관리할 수 있다. 구글링을 통해 AOP에 대해..
[인프런x코드캠프] 훈훈한 Javascript_3日 함수의 선언과 호출에 대해서 학습했다. onclick: 버튼을 누르면 동작 (ex: 함수 호출) document : 작성한 html 문서 (객체의 일종: 추후에 다룸) querySelector: html tag의 id, class를 통해서 값을 가져올 수 있음 (ex: document.querySelector('#target-year-input').value) Math.floor(소수점 내림) 함수: 표현식, 선언문 ,화살표함수 표현식 : 호이스팅으로 인해 예측하기 어려움 선언문 : 흐름대로 따라가면 됨 화살표함수 : 일반적으로 Method 안에서 많이 사용됨 앞으로 학습과정기록을 gitHub에 남기기위해 새로 Repository를 생성했다. GitHub - jootang2/JavaScript_Basic..
H2 DB File corrupted while reading record: null. Possible solution: use the recovery tool [90030-200] 90030/90030 오류 : 해결방법 예전에 사용했던 h2 db를 다시 사용하기 위해 설치부터 실행까지 처음부터 진행했다. File corrupted while reading record: null. Possible solution: use the recovery tool [90030-200] 90030/90030 에러가 발생했다. 파일이 손상되었다는 메세지다. 내 생각에는 예전에 h2 db를 사용했었는데 그 때 설정된 파일이 지금 적용하려다 보니까 에러가 난 듯 했다. 그래서 local.mv.db를 제거해줬다. C 드라이브/사용자(Users)에 local.mv.db 파일이 있을 것이다. (이름이 다를 수도 있다. 나는 local로 만들었기 때문에 local.mv.db이다.) 아무튼 ~.mv.db라는 파일이 있을텐데 삭제하고 이름만 같게 해..
null 값을 관리할 수 있는 class : Optional<T> Optional Java8부터 null 값을 깔끔하게 처리할 수 있도록 Optional 클래스가 추가됐다. Optional opt = Optional.ofNullable("자바 Optional 객체"); System.out.println(opt.get()); 참조 변수의 값이 null이 될 가능성이 있으면 Optional 객체를 생성하는 것이 편리하다. .ofNullable() 메소드를 통해 명시된 값이 null 이면 비어있는 Optional 객체 반환, null이 아니면 값을 가지는 Optional 객체를 반환한다. Method .isPresent() : 값이 null인지 여부 => 존재한다면 true, null값이라면 flase 반환 .ifPresent() : 람다식을 인자로 받아서, 값이 존재할 때..
[인프런x코드캠프] 훈훈한 Javascript_2日 배열과 기본적인 배열 메소드들에 대해서 배웠다. 1. push() : 배열의 가장 뒤에 추가해주는 메소드 => 추가된 배열의 길이를 반환 2. pop(): 배열의 가장 뒤에 있는 데이터를 제거하는 메소드 => 제거된 데이터 반환 3. includes(): 특정 배열에 주어진 데이터가 존재하는지에 대한 여부 확인 => true, false 반환 4. indexOf(): 특정 배열에서 주어진 데이터의 index 값 반환 Object(객체) 여러개의 property를 가지는 data의 type 키와 값이 쌍으로 관리된다. key: value Dot notation ex) data.name Bracket notation ex) data["name"] data["" 형태로 키를 입력해주어야 한다.] 그냥 입력하면..
클래스, 객체, 인스턴스가 뭐에요? 클래스 : 일종의 설계도, 각각의 기능과 성능을 정의해놓은 것 (설계도일 뿐, 실제로 작동하지는 않음) => 붕어빵 틀, 핸드폰의 설계도 객체 : 구현해야할 대상 => 붕어빵, 핸드폰(S20, IphoneSe2) , 붕어빵, 핸드폰이 가져야할 기능과 성능을 클래스에서 정의 인스턴스: 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체 실제로 메모리로 할당 ex) 팥붕어빵과 슈크림붕어빵은 같은 타입의 객체지만 인스턴스의 관점으로 봤을 때는 다르다. ex) S20과 IphoneSe2는 같은 핸드폰이라는 틀에 있지만 다른 핸드폰이므로 다르다. 참조: https://blog.naver.com/PostView.nhn?blogId=good_ray&logNo=222069343755 [Java] 클래..
[인프런x코드캠프] 훈훈한 Javascript_1日 개인프로젝트를 위해서나 간단한 프론트작업, Http 통신을 통한 TestCode를 작성하기 위해 JavaScript의 필요성을 느꼈다. 그래서 오늘부터 [인프런x코드캠프] 훈훈한 Javascript를 통해 학습하고자 한다. 첫 시간인 만큼 아주 기초적인 내용들이 나왔다. 하지만 나는 기초가 없기 때문에 새로 알게된 내용들도 많았다. 가장 주의깊게 들었던 변수 선언 키워드다. JavaScript에는 let, const, var라는 키워드들이 있는데 각자의 기능들이 조금씩 다르다. let : 재할당 가능, 재선언 불가능 const: 재할당 불가능, 재선언 불가능 var: 재할당 가능, 재선언 가능 JavaScript에서 var는 되도록이면 지양해야한다고 한다. 이유는 변수가 겹쳐도 에러가 나지 않기 때문에 ..
NCP 무료 크레딧 이용후기 (멋쟁이사자처럼 x NCP) 나의 첫 번째 개인 프로젝트로 timecapsule을 만들었다. (현재는 서버 반납 상태) www.timecapsule.jootang2.com Timecapsule 이제 온라인에서도 타임캡슐을 묻을 수 있습니다. 추억을 묻어보세요. www.timecapsule.jootang2.com 그리고 이 프로젝트를 배포하는 과정에서 NCP의 Server를 사용했다. 간단 후기 처음 써보는 클라우드 플랫폼이라서 재미있었다. 그리고 어떻게든 끈질기게 잡고 늘어지면 할 수 있다는 사실또한 한번 더 느낄 수 있는 경험이었다. 문제 상황 일단 처음부터 난관이었다. 서버 스펙은 어떤 사양을 선택해야할 지, 포트포워딩은 어떻게 해야할 지 등등 세팅부터 많은 문제가 있었다. 그리고 도메인을 구매해서 어떻게 연결해야 하는지, 공공..