1. MongoDB 드라이버를 maven pom.xml에 추가

<!-- MongoDB 드라이버를 maven pom.xml에 추가 -->

<dependency>

<groupId>org.mongodb</groupId>

<artifactId>mongodb-driver-sync</artifactId>

<version>4.0.4</version>

</dependency>

 

  1. MongoDB에 계정 생성 추가 방법

#root 권한으로 계정 생성

use admin;

db.createUser({ user: "ID입력", pwd: "암호입력", roles: [ "root" ] })

 

 

#특정 DB만 엑세스 가능한 계정 생성

use DB명 입력;

db.createUser({ user: "ID입력", pwd: "암호입력", roles: [ "readWrite" ] })

 

 

  1. java 샘플 소스

 

import com.mongodb.Block;

import com.mongodb.MongoClientSettings;

import com.mongodb.MongoCredential;

import com.mongodb.ServerAddress;

import com.mongodb.client.MongoClient;

import com.mongodb.client.MongoClients;

import com.mongodb.connection.ConnectionPoolSettings;

import org.bson.Document;

 

 

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.concurrent.TimeUnit;

 

 

/**

* 몽고DB java 4.0.4 드라이버 사용시 커넥션 소스 샘플

*  - 몽고DB 4.2에 데이터 저장하는 샘플소스

*  - DB서버는 인증모드와 replica모드가 적용되어 있음

*

* @author 엄승하

*/

public class MongoDBConnectWithAuth {

 

 

   public static void main(String[] args) {

 

 

      final String dbAddr = "DB서버주소";

 

 

      final String dbName = "DB명입력필요";

      final String user = "ID입력필요";

      final String pwd = "암호입력필요";

 

 

      final String colNm = "저장할 컬렉션명 입력 필요";

 

 

      //인증정보

      MongoCredential credential = MongoCredential.createCredential(user, dbName, pwd.toCharArray());

 

 

      //커넥션풀 설정

      Block<ConnectionPoolSettings.Builder> poolSetting = builder -> builder.maxWaitTime(4, TimeUnit.SECONDS).maxConnectionIdleTime(10000,

         TimeUnit.SECONDS).maxConnectionLifeTime(58, TimeUnit.SECONDS);

 

 

      //클러스터 또는 replica 설정

      List<ServerAddress> serverList = Arrays.asList(new ServerAddress(dbAddr, 27017));

      Block<com.mongodb.connection.ClusterSettings.Builder> clusterSettings = builder -> builder.hosts(serverList);

 

 

      //mongo와 실제 커넥션 생성(mongo client생성)

      MongoClient mongoClient = MongoClients.create(

         MongoClientSettings.builder().credential(credential).applyToConnectionPoolSettings(poolSetting).applyToClusterSettings(clusterSettings).build());

 

 

      int docsCnt = 10000;

      List<Document> docs = new ArrayList<>(docsCnt);

 

 

      for (int i = 1; i <= docsCnt; i++) {

         Document doc = new Document();

         doc.put("doc_id", i);

         doc.put("dt_ms", System.currentTimeMillis());

 

 

         docs.add(doc);

      }

 

 

      mongoClient.getDatabase(dbName).getCollection(colNm).insertMany(docs); //bulk insert

      mongoClient.close(); //자원 반환

   }

}

 

 

  1. 결과

    1. 아래와 같이 데이터가 정상적으로 저장됨을 확인 가능

 

 

www.eversql.com

'DB > 기타' 카테고리의 다른 글

웹에서 ERD 그릴수 있는 툴(무료)  (0) 2017.05.25

import org.apache.commons.validator.routines.InetAddressValidator;

위 import 후에 아래 소스

String decodedIp = URLDecoder.decode(nidIp, "UTF-8"); //IPV6의 경우 인코딩되어서 들어옴
if (InetAddressValidator.getInstance().isValid(decodedIp) == false) {
return null;
}

 

 

/**

* private key 내용을 얻어옴

* - -----BEGIN PRIVATE KEY----- 또는 -----END PRIVATE KEY----- 와 같은 가이드라인 줄은 제외하고 실제 사용하는 부분만 파일에서 가져옴

*

* @param privateKeyFile

* @return

*/

private String getPrivateKeyBody(MultipartFile privateKeyFile) {

 

try (BufferedReader br = new BufferedReader(new InputStreamReader(privateKeyFile.getInputStream()))) {

 

String line;

StringBuilder sb = new StringBuilder();

while ((line = br.readLine()) != null) {

if (line.contains("PRIVATE KEY")) { //guard line은 pass

continue;

}

sb.append(line);

}

 

return sb.toString();

 

} catch (Exception e) {

log.error(e.getMessage(), e);

throw new RuntimeException(e.getMessage(), e);

}

}

 

 

 
후배의 원래글
 
 
1) 임시 폴더 생성 후 생성된 폴더로 이동
$ mkdir temp $ cd temp
2) 이동해야할 repository를 임시 폴더 하위에 clone파일을 생성
$ git clone --bare https://github.com/exampleuser/old-repository.git
3) 생성된 clone 폴더로 이동
$ cd old-repository.git
4) 신규 repository에 push
$ git push --mirror https://github.com/exampleuser/new-repository.git
 

백엔드 API를 많이 개발하다보니 postman을 많이 사용합니다.

그런데 얼마전에 HTTP/2로 개발하는데(최신 애플서버 API나 IOT, 내부 성능 요하는 쪽 등에서 HTTP/2를 많이 사용 중) postman으로는 정상 작동 안하더군요.

 

그래서 postman git쪽 이슈를 찾아보니 개선 요청이 있더군요.

웃긴게 해당 이슈에 +1 댓글놀이(?)가 생겼습니다. ㅎㅎ

해결해줄 것 같지 않아서 일단 크롬 확장 프로그램 툴 중에 괜찮은 것 같아서 바꿧고요

 

'개발툴' 카테고리의 다른 글

Top 35 Git Commands With Examples  (0) 2021.08.24
putty세션 색깔 변경  (0) 2020.01.21
  1. 개발환경 셋팅에 앞서

    1. Flutter는 Visual Studio Code또는 Android Studio And IntelliJ 2가지를 공식적으로 지원함(링크

    2. 앱을 배포하기 위해 필요한 도구들이 Android Studio에 있고, 기타 셋팅도 편해서(intelliJ를 평소 사용하기에) Android Studio를 사용해서 셋팅을 진행

  2. Android Studio 설치

    1. https://developer.android.com/studio

    2. SDK 설치

      1. ANDROID_HOME 환경 변수 등록

      2. Sdk 하위의 platform-tools를 path에 등록

  3. Flutter SDK 다운로드

    1. https://flutter.dev/docs/development/tools/sdk/releases?tab=windows 

      1. path 설정

        1. flutter\bin path에 등록

  4. Flutter Plugin 설치

    1. Flutter Plugin 설치

    2. dart도 함께 설치

  1. Flutter 프로젝트 생성

    1. SDK Path 셋팅

       

    2. New Project

       

    3. 앱 구동 테스트

 

 

 





Action
IntelliJ IDEA
Eclipse
Open any file quickly
(파일명 입력으로 바로 찾기)
Ctrl + Shift + NCtrl + Shift + R
프로젝트 전체에서 찾기Ctrl + Shift + F 
Show all the members of current typeCtrl + F12Ctrl + O
Delete lineCtrl + YCtrl + D
Duplicate lineCtrl + DCtrl + Alt + ↓
메소드 호출 위치로 바로 가기Ctrl + Alt + H 
Open hierarchyCtrl + HF4
특정 라인넘버의 위치로 바로 이동CTRL + G 
구현체로 바로 가기(ex. 인터페이스의 구현체로 바로가기)CTR + ALT +B 
out line viewALT + 7 또는 CTR + F12 
리네임(리팩토링)Shifth + F6 
스프링 Request MapperSHIFT + CTRL + \ 
마지막 편집 위치로 이동ctrl + shift + backspace
To jump from one member to the next (or previous)Alt + ↓ Alt + ↑Ctrl + Shift + ↓ Ctrl + Shift + ↑
Go to parent classCtrl + BCtrl + T
Back and forth through the files you have visitedCtrl + Alt + ← Ctrl + Alt + →Alt + ← Alt + →
Last edit locationCtrl + Shift + BackspaceCtrl + Q
Organize importsCtrl + Alt + OCtrl + Shift + O
DebugShift + F9F11
RunShift + F10Ctrl + F11
Step IntoF7F5
Step OverF8F6
Step OutShift + F8F7
ResumeF9F8
Rename in placeShift + F6Alt + Shift + R
Format codeCtrl + Alt + LCtrl + Shift + F
Change signatureCtrl + F6Alt + Shift + C
Quick fixAlt + EnterCtrl + 1
View Javadoc for memberCtrl + QMouse over


ctrl + H 예

+ Recent posts