본문 바로가기

전체 글299

[T.I.L]DAY7 개발 개념공부 Spring 프로젝트 Spring - Mongo 연동 2022. 1. 7.
[DB이론] 트랜잭션(Transaction) , ACID특성 1. 트랜잭션 (Transaction) 트랜잭션이란 질의(query)를 하나로 묶음처리해서 중간에 실행이 중단 되었을 경우 처음부터 다시 실행하는 Rollback을 수행하고 오류 없이 실행을 마치면 Commit을 실행 한마디로, 작업수행의 논리적 단위이다 예를 들어 내가 친구에게 돈을 송금했는데 전송과정에서 실행이 중단되어 도착하지 못하는 상황이 생겼다 이런경우 내가 보낸 돈이 증발하는 상황이 생긴다 이러한 상황을 막기 위해서 트랜잭션에서는 Rollback 해주어 처음부터 다시 실행하게 된다 그리고 오류 없이 일이 잘 처리되면 Commit 을 한다 이것을 트랜잭션이라고한다 2. ACID 트랜잭션에는 4가지 특징이 있다 - 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 .. 2022. 1. 7.
[JAVA] DTO, DAO, VO 개념 1. DAO (Data Access Object) 데이터에 접근하기 위한 객체. 직접 DB에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다 DataBase 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용되었다 하지만 현재는 Mybatis등을 사용할 경우 컨넥션 풀까지 제공되어 DAO를 별도로 사용하지 않는다 2. DTO (Data Transfer Object) DTO는 계층 간 (Controller View Business Layer (Model)) 데이터 교환을 위한 빈즈 (Java Beans)를 의미 DTO는 주로 비동기 처리를 할 때 사용된다 DB의 데이터가 Presentation Logic Tier로 넘어올 때는 DTO로 변환되어 오고 가는 것이다 - Jav.. 2022. 1. 7.
[T.I.L]DAY 6 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ AWS 몽고 DB연결 2022.01.07 - [개발 개념] - [AWS] MongoDB 인스턴스 생성 2022.01.07 - [개발 개념] - [MongoDB] EC2 MONGODB설치 및 외부설정 [MongoDB] EC2 MONGODB설치 및 외부설정 [MongoDB] EC2 MONGODB설치 및 외부설정 UBUNTU 18.04 버전 MONGO 4.2 버전 AWS 인스턴스 생성 홈페이지에서 버전에 맞게 몽고를 설치함 https://docs.mongodb.com/manual/.. 2022. 1. 7.
[MongoDB] EC2 MONGODB설치 및 외부설정 [MongoDB] EC2 MONGODB설치 및 외부설정 UBUNTU 18.04 버전 MONGO 4.2 버전 AWS 인스턴스 생성 홈페이지에서 버전에 맞게 몽고를 설치함 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ Install MongoDB Community Edition on Ubuntu — MongoDB Manual Docs Home → MongoDB ManualMongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get star.. 2022. 1. 7.
[AWS] MongoDB 인스턴스 생성 [MongoDB] AWS 인스턴스 생성 인스턴스 생성 스토리지도 마찬가지 2022. 1. 7.
[JAVA] 객체 생성과 파괴 객체를 만들어야 할때와 만들지 말아야 할때를 구별한다. 유형별 올바른 객체 생성 방법, 불필요한 생성을 피하는 방법을 구별한다. 객체의 유통기간을 보장하고 그 객체를 파괴하기 전 수행해야 할 작업을 관리한다. 생성자 대신 정적 팩터리 메서드를 고려하라 클래스 인스턴스는 일반적으로 public 생성자를 통해 생성되나 이를 정적 팩터리 메서드(static factory method)를 사용했을 때 아래와 같은 강점이 존재한다. 장점 - 이름을 가질 수 있다. 이름을 가질 수 있어 생성자 보다 명시적이다. 소수 BigInteger 인스턴스를 반환하는 방법 비교 BigInteger(int, int, Random) 생성자 vs BigInteger.probablePrime 장점 - 매번 인스턴스를 새로 만들 필요가.. 2022. 1. 6.
[스터디모임]1주차 내 발표자료 인터넷 네트워크 인터넷 통신 클라이언트 - 서버 서버가 바로 옆에 있으면 메시지를 바로 보낼 수 있지만 클라이언트 - 인터넷 - 서버 클라이언트와 서버가 서버가 멀리 떨어져 있다면 인터넷을 활용하여 여러 노드를 거쳐 통신이 됨 IP (Internet Protocol) 노드를 통해 내가 원하는 메시지를 보내기 위해서 필요한 것이 IP주소 IP 역할 지정한 IP주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 IP 패킷 정보 출발지 IP , 목적지 IP , 전송 데이터 등등 IP 패킷 정보를 인터넷망에 던져주면 약속된 패킷 정보를 이해하고 노드끼리 통신하면서 도착지 IP로 메시지를 전달하게 됨 그 후 도착지 IP에서 출발지 IP에게 잘 받았다고 통신을 주게 된다 이때, 출발지가 요청할 때와.. 2022. 1. 6.
[T.I.L]DAY5 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 네트워크 개념 2022.01.05 - [개발 개념/이론] - [네트워크] HTTP 개념 스터디모임 객체생성과 파괴 객체를 만들어야 할때와 만들지 말아야할때를 구별 2022.01.06 - [프로그래밍언어/JAVA] - [JAVA] 객체 생성과 파괴 머신러닝 2022.01.06 - [개발 개념/이론] - [머신러닝]머신런닝 & 데이터 2022. 1. 5.
[네트워크] HTTP 개념 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 모바일 게임의 경우에는 거의 모든것을 HTTP로 주고받으면서 기능을 구현하는 어플도 있음 기반 프로토콜 TCP : HTTP/1.1, HTTP2 UDP: HTTP/3 현재 HTTP/1.1를 주로사용하지만 이후 버전도 자주 사용됨 HTTP 특징 클라이언트 서버 구조 Request Response 구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 클라이언트와 서버를 분리하여 복잡한 비즈니스 모델과 데이터를 서버에 밀어 넣고 나머지 UI, 사용성에만 집중을 하여 각각 진화할 수 있게 됨 만약 회사가 .. 2022. 1. 5.
[T.I.L]DAY4 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 프로젝트 시작 자바 프로젝트에 프론트 생성 (부트 사용) 2022. 1. 4.
[PYTHON] K번째 수 구하기 K번째 수 N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열중에서 s번째부터 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 테스트 케이스 T(1 2021. 12. 30.
[PYTHON] 약수구하기 약수 구하기 문제 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. 6을 예로 들면 6 ÷ 1 = 6 … 0 6 ÷ 2 = 3 … 0 6 ÷ 3 = 2 … 0 6 ÷ 4 = 1 … 2 6 ÷ 5 = 1 … 1 6 ÷ 6 = 1 … 0 그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다. 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오. 두 수의 값을 입력받아서 약수를 구함 n ,k = map(int , input().split()) cnt = 0 for i in range(1 , n+1)) : if n%i == 0 : cnt += 1 if cnt == k : print(i) break else.. 2021. 12. 30.
[T.I.L]DAY3 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ OCR 이미지 인식 공부 2021.12.29 - [프로그래밍언어/JAVA] - [JAVA] OCR 기본활용 프로그래머스 문제풀이 LEVEL1 - 서울에서 김서방칮기 LEVEL1 - 직사각형 별찍기 2021. 12. 29.
[JAVA] OCR 기본활용 이미지인식을 윈한 딥러닝 기술 텐서플로우 구글 OpenCV 인텔 Tesseract HP 개요 딥러닝은 기본적으로 학습된 데이터 필요함 이미 학습되어 있는 데이터를 가지고 실습을 진행함 제공하는 툴을 활용하는데 파이썬이 언어 사용법이 단순하며, 강력한 기능들을 제공하고 처리 성능을 고려하지 않고, 프로그램 실행해도 되기 때문 OCR 구현을 위한 Tesseract4 라이브러리 다운로드 net.sourceforge.tess4j tess4j 4.4.1 DTO package poly.dto; public class OcrDTO { private String seq; //순번 private String save_file_name; // 저장된 이미지 파일 이름 private String save_file_path;.. 2021. 12. 29.
[PYTHON] 플라스크 기본 FLASK 웹 애플리케이션 개발을 위한 파이썬 프레임 워크 Django(장고) 와의 비교 Django(장고) Django(장고는 보다 복잡한 Python 기반 웹 앱을 구축하는 데 사용되었기 때문에 확장성을 제공하는 강력한 아키텍처입니다 MVT(Model-View-Template) 구조로 전체 스택 개발을 위한 완벽한 프레임 워크로 웹 개발을 할 때에 프런트 엔드 및 백엔드뿐만 아니라 서버 측 언어로 구현할 수 있는 강력한 프레임워크 Python파일 구조를 이용할 수 있을 뿐만 아니라 ORM(Object-Relational Mapper)를 내장하여 다양한 데이터베이스에 유연하게 액세스 할 수 있다 Django의 ORM은 데이터베이스에 대한 별도의 쿼리를 작성할 때 제공되는 추가 작업을 처리할 수 있도록 .. 2021. 12. 28.
[T.I.L] DAY2 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 파이썬 프로그래머스 문제 풀이 LEVEL 1 - 제일 작수 제거하기 LEVEL 1 - 행렬의 덧셈 파이썬 플라스크 2021.12.28 - [프로그래밍언어/PYTHON] - [PYTHON] 플라스크 기본 2021. 12. 28.
[T.I.L] DAY1 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 1. 프로그래머스 문제 풀이 LEVEL1 - 예산 LEVEL1 - 없는 숫자 더하기 LEVEL1 - 다트 총 3문제 풀이 2. 인터넷 통신 정리 2021.12.27 - [개발 개념/이론] - [네트워크] 인터넷 네트워크 통신 개념 [네트워크] 인터넷 네트워크 통신 개념 인터넷 네트워크 인터넷 통신 클라이언트 - 서버 서버가 바로 옆에 있으면 메시지를 바로 보낼수있지만 클라이언트 - 인터넷 - 서버 클라이언트와 서버가 서버가 멀리 떨어져 있다면 인터넷을 yikanghee2.ti.. 2021. 12. 27.
[네트워크] 인터넷 네트워크 통신 개념 인터넷 네트워크 인터넷 통신 클라이언트 - 서버 서버가 바로 옆에 있으면 메시지를 바로 보낼 수 있지만 클라이언트 - 인터넷 - 서버 클라이언트와 서버가 서버가 멀리 떨어져 있다면 인터넷을 활용하여 여러 노드를 거쳐 통신이 됨 IP (Internet Protocol) 노드를 통해 내가 원하는 메시지를 보내기 위해서 필요한 것이 IP주소 IP 역할 지정한 IP주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 IP 패킷 정보 출발지 IP , 목적지 IP , 전송 데이터 등등 IP 패킷 정보를 인터넷망에 던져주면 약속된 패킷 정보를 이해하고 노드끼리 통신하면서 도착지 IP로 메시지를 전달하게 됨 그 후 도착지 IP에서 출발지 IP에게 잘 받았다고 통신을 주게 된다 이때, 출발지가 요청할 때와 도착지가 응.. 2021. 12. 27.
[Java] Array 개념 Array 배열(Array)이란 선형 자료구조중 하나로, 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료구조 자바에서 배열을 사용하는 방법은 다음과 같습니다 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 관리해야 하다보니 배열 선언 배열에 메모리 할당 배열 요소의 사용 int[] a ; or int a []; //int 자료형 배열 생성 우선 원하는 자료형의 배열을 선언해줍니다 다음으로 배열의 방 ( 메모리 할당 ) 을 해주어야합니다 a = new int[10]; 메모리를 할당해줄때 사용하는 new연산자는 클래스 타입의 인스턴스 (객체)를 생성해주는 역할 new연산자를 통해 메모리(Heap 영역)에 데이터를 저장할 공간을 할당받음! 인스턴스.. 2021. 12. 22.
SPRING MVC모델 게시판 일반적으로 spring 프로젝트를 작성할 때 DB 생성 -> DTO테이블 -> MAPPER 쿼리 작성 -> IMAPPER작성 -> ISERVICE작성 -> SERVICE작성 -> CONTROLLER 작성 이런 식으로 개발 순서를 갖는다 오늘은 기본중에 기본 게시판을 작성할 것이다 DTO는 DB 테이블과 동일한 이름으로 작성해준다 public class NoiceDTO{ private String notice_seq; // 기본키, 순번 private String title; // 제목 private String notice_yn; // 공지글 여부 private String contents; // 글 내용 private String user_id; // 작성자 private String read_cnt;.. 2021. 11. 22.