반응형

분류 전체보기 93

[TIL] 200828 간단한 IntelliJ 단축키 팁

키보드로 코드를 입력하다가 마우스로 어떤 명령을 실행하려 할때 흐름이 끊기는 듯한, 생각이 날아가는 듯한 느낌을 받을 때가 있다. 키보드 단축키를 따로 공부하지 않아도 해당 명령의 단축키가 어떻게 되는지 알 수 있는 플러그인이 있다. 인텔리제이 단축키 ESC 인젤리제이에서 ESC키를 누르면 언제든지 코드를 입력할 수 있는 창이 선택됨. ALT + 1 MACOS에선 컨트롤 + 1 프로젝트 뷰를 선택할 수 있음. ALT + ins 프로젝트뷰에서는 클래스와 같은 파일들을 생성할 수 있음 shift 두번을 누르면 모든것을 검색할 수 있음 인텔리제이에서 Key Promoter X 플러그인을 설치하면 마우스로 실행한 명령들을 키보드 단축키로 알려주는 팝업창이 뜬다.

TIL 2020.08.28

[Spring] 빈 (Bean)

Bean Bean은 IoC Container가 관리하는 객체를 말한다. 직접 new를해서 만든 인스턴스, 객체는 Bean이 아니다. ExamController Example = new ExamController(); ExamController bean = applicationContext.getBean(ExamController.class); 위 예제 중 둘다 같은 객체는 맞지만 Example은 Bean이 아니고 아래 bean 객체만 Bean이다. 그 이유는 applicationContext가 관리하는 객체에서 가져온것이기 때문이다. applicationContext에는 모든 Bean이 등록되어 있다. BeanFactory 인터페이스는 Container 자체라고 보면된다. 그래서 모든 Bean의 정보를 ..

[TIL] 200730 spring boot에서 mongodb 사용하기

MongoDB에 대한 지식이 없어서 spring boot에서는 어떻게 mongodb에 데이터를 insert 시키는지에 대해 공부했다. MongoDatabaseFactory 를 사용하여 추가하는 방법 @Autowired MongoDatabaseFactory mongoDatabaseFactory; ... @Bean public ApplicationRunner applicationRunner(){ return args -> { MongoDatabase db = mongoDatabaseFactory.getMongoDatabase(); db.createCollection("collectionName"); db.getCollection("collectionName").insertOne( new Document() ..

TIL 2020.07.31

[Spring] 의존성 주입 DI (Dependency Injection)

DI DI는 Dependency Injection의 약자로 직역하면 의존성 주입을 말한다. 객체간의 의존성을 생성자(Constructor) 또는 세터(Setter)를 통해 주입하는 것을 말한다. 의존관계는 간단히 말해 new 라는 키워드를 통해 생성이 된다. 의존성 주입은 IoC 원칙하에 객체간의 결합을 약하게 해주고 유지보수가 좋은 코드를 만들어 준다. 스프링에서의 의존성 주입은 외부 환경설정 (Spring config, xml, annotation 등을 통해서 이뤄진다. Bean 설정 정보를 바탕으로 Container가 자동적으로 연결해주는것을 말한다. 스프링의 의존성 주입의 3가지 유형 생성자를 이용한 의존성 주입 (Constructor Injection) Spring 4.X 이상부터 권장되는 방식..

[Spring] IoC Container의 기본 개념

IoC IoC는 Inversion Of Control로 직역하면 제어의 역전이 된다. 제어의 역전이란 클라이언트 코드가 제어를 가지고 있었던 것에서 프레임워크(Container)가 제어를 가지게 함으로써 클라이언트 코드의 제어 수를 줄이게 하는 것이다. 즉 모든 제어를 클라이언트 코드가 가지고 있던것을 프레임 워크가 제어를 가지는 것을 제어의 역전이라 부르는 것이다. IoC Container 스프링에서는 컨테이너(Container)라는 곳에 Bean이라고하는 인스턴스의 형태로 관리한다. 쉽게말해 IoC Container란 객체의 생성과 의존성을 관리하는 container이다. 설정값들을 토대로 컨테이너를 생성하여 Bean 객체들을 관리한다. BeanFactory 객체를 통해 컨테이너에 등록되어 있을 시 ..

[MongoDB] 기본적인 데이터 수정

데이터 수정 데이터를 수정하려면 update 메소드를 사용한다 /* name이 eatnows인 데이터의 age의 값을 25로 수정 */ db.컬렉션이름.update( {name: "eatnows"}, {$set: {age: 25} })document를 아예 새로운 document로 대체하고 싶을때는 $set연산자를 사용하지 않으면 된다. /* name이 eatnows인 값을 name은 victory, age는 1로 변경 */ db.컬렉션이름.update( { name: "eatnows" }, { "name" : "victory", age: 1} )데이터의 값은 완전 변경이 되었지만 데이터의 id값은 변경이 되지 않고 동일하다. field 삭제 특정 field의 값을 삭제할 경우 $unset이라는 연산자를..

DATABASE/MongoDB 2020.07.28

[MongoDB] 데이터 조회

데이터 조회 db.컬렉션이름.find([query], [projection])컬렉션에 등록된 데이터들을 조회할 수 있다. document의 값이 키-밸류가 여러개일 경우 보기 불편해지는데 그땐 뒤에 .pretty()를 붙여주면 멀티라인으로 출력이 된다. query 조회를할 때 조건을 줄 수 있다. 에) db.컬렉션이름.find({"name": "eatnows"}) 비교같은 경우 쿼리연산자를 사용할 수 있다. 예) 100보다 큰 데이터 조회 db.컬렉션이름.find({"value": {$gt: 100 } }) projection 내가 보고싶은 데이터의 값만 조회할 수 있게 해준다. db.컬렉션이름.find( {}, {"_id":false, "title":true} ) $slice연산자를 이용해 조회를 할때..

DATABASE/MongoDB 2020.07.28

[MongoDB] 기본 명령어 (db, collection, document 생성 제거)

MongoDB 기본 명령어 MongoDB 설치는 이 포스트에는 설명되어 있지 않습니다. MongoDB 서버 실행 mongodmongod를 하면 서버를 실행할 수 있다. 기본 포트는 27017. 'connections on port 27017' 이라는 문구가 나온다면 실행이 된것이다. 클라이언트로 접속 mongo사용할 데이터 베이스 선택 use 데이터베이스이름존재하지 않은 db도 선택할 수 있다. 선택한다고 db가 생성되는것은 아니다. 해당 db에 데이터가 추가가 되면 비로소 생성이 된다. 데이터 베이스 목록 조회 show dbs현재 데이터 베이스의 목록을 확인할 수 있다. 데이터 베이스 제거 db.dropDatabase()현재 선택된 데이터 베이스가 삭제한다. 반드시 삭제할 데이터 베이스를..

DATABASE/MongoDB 2020.07.28

NoSQL 이란?

NoSQL NoSQL이 무엇의 약자인지 No SQL, Not Only SQL, Non-Relational Operational Database SQL 등 많은 의견이 있지만 Not Only SQL이라는 설이 가장 유력하다 배경 지난 수년간 관계형 데이터베이스가 사용되어 왔지만, 빅데이터등 기술이 발전함에 있어 관계형 데이터베이스의 데이터 처리 비용이 증가되었고 관계형 데이터베이스에 대한 여러 대안을 찾게되었다. 비정형데이터라는 것을 보다 쉽게 저장하고 처리할 수 있는 구조를 가진 데이터베이스들이 관심을 받게 되었고 해당 기술이 발전하면서 NoSQL 데이터베이스가 각광을 받게 되었다. NoSQL 특징 데이터간의 관계를 정의하지 않는다. JOIN 사용불가 스키마가 없어 데이터를 다양하게 자유롭게 관리 Ope..

DATABASE 2020.07.27
반응형