본문 바로가기

전체 글215

코드스테이츠 백엔드 부트캠프 43기 (32,33일차-SQL) Intelij 에서 MySQL에 데이터 삽입 데이터베이스를 연결을 확인, 데이터 추가, 변경, 검색 등을 통한 과제를 실시 하였다. CREATE 따로 schema.sql 문서를 작성하여 호출후 명령을 실행하도록 동작 1 : 작성한 문서의 위치를 참조여 file로 설정 하여 파일을 읽는다. 2 : split메소드를 사용하여 세미콜론을 기준으로 실행할 명령어를 String 배열에 담는다. 3 : excute()메소드를 사용하여 실행을 하면 명령이 실행되고 mysql에 데이터 저장 - Statement 클래스는 SQL 명령어를 실행하는 역할을 한다. JDBC : 자바에서 제공하는 데이터베이스와 연결하여 데이터를 주고 받을 수 있는 인터페이스 JDBC API 를 사용하여 제공하는 메소드를 통하여 DB와 연결하고.. 2023. 2. 1.
코드스테이츠 백엔드 부트캠프 43기 (31일차-SQL) SQL (Structured Query Language) SQL = 구조화된 쿼리 언어. 쿼리 = 질의문 -> 데이터베이스에 쿼리를 보낸다. -> 원하는 데이터를 가져오거나 삽입한다. SQL - ACID ACID = 데이터베이스 트랜잭션이 발생할 때, 그 안정성을 보장할 수 있는 성질 + 트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛. Ex) 송금 = 1.돈을 보낸다. 2.내 계좌에서 돈- 3.받는 사람 계좌에서 돈+ => 이 작업이 하나의 묶음으로 실행 되어야 한다. 이러한 작업의 안정설을 보장하기 위한 성질이 ACID Atomicity (원자성) : 전부 성공하거나 전부 실패 Consistency (일관성) : 하나의 트랜잭션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다. I.. 2023. 1. 31.
코드스테이츠 백엔드 부트캠프 43기 (30일차-HTTP) API ⭐️ REST API API란 ? API(Application Programming Interface)는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시합니다. 과거의 SOAP API 이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API입니다. -https://aws.amazon.com/ko/what-is/api/ 현재의 REST API REST API란? - .. 2023. 1. 27.
코드스테이츠 백엔드 부트캠프 43기 (29일차-웹 애플리케이션) 웹 애플리케이션의 작동원리 ⭐️ 네트워크를 만드는 기술 웹을 배우기 앞서 우리가 웹을 이용하려면 네트워크 연결이 되어있어야 서버에서 정보를 받아 웹을 볼 수 있다. 모든 사람, 모든 지역에서 연결이 되려면 같은 통신 방식을 사용해야 하며 TCP/IP이 통신약속이다. 그래서 제조사에서 할당하는 고유 시리얼인 MAC 주소와 IP주소를 통하여 우리는 네트워크 통신을 할 수 있다. 연결이 되고 이 네트워크의 연결의 규모에 따라 LAN(지역), MAN(도시), WAN(나라규모)으로 나뉠수 있다. MAC주소와 달리, IP 주소는 처음부터 주어디는 것이 아니라 할당이 되는것 - www.naver.com 검색하면 어떠한 동작으로 웹사이트가 출력이 될까? 1.DNS(Domain Name System) 에서 도메인 이름과.. 2023. 1. 26.
코드스테이츠 백엔드 부트캠프 43기 (28일차-코딩테스트) 오랜만에 블로그에 회고를 쓴다... 몇일 글쓰는게 귀찮게 느껴졌으며 다시 마음을 잡고 회고를 시작한다. 코딩테스트를 공부하면서 탐욕 알고리즘, 구현, 완전 탐색 알고리증, BFS, DFS 등을 학습하며 문제를 풀고있다. 예전에는 문제를 보면 아무생각 없이 머리를 써가면서 대충 풀었다면 이제는 이게 어떠한 알고리즘을 활용하는 문제인가를 떠올리고 푸려고 노력한다. 오늘은 코플릿에 있는 코딩테스트 5번,6번,7번,8번을 풀어보았다. 조합은 순서에 상관이 있으며 중복이 있어서는 안됨 ! ( 조합 : 순서 상관 O -> ( 1,2,3 - 1,3,2 순서가 달라도 같음) 7번 문제는 정해진 수만큼 돌면서 안겹치게만 수를 구하고 거기서 그 수의 합이 소수인지 찾는 문제 였다. 나는 소수를 찾을 때 나눠지는게 2개이상.. 2023. 1. 25.
코드스테이츠 백엔드 부트캠프 43기 (21,22일차-재귀 회고) 재귀 한달 간의 Section1 수업이 끝나고 Section2에서는 알고리즘, 데이터베이스, 스프링에 대하여 배우게 된다. 코딩테스트를 준비하면서 재귀문제를 몇개 풀어보았기에 재귀의 개념과 문제를 푸는데 어려움이 없었다. 하지만 코드스테이츠에서 제공되는 코딩테스트 재귀 문제 중 마지막 문제를 푸는데 도저히 답이 안나오고 몇시간 머리를 굴려도 답이 해결되지 않았다. 그래서 결국 5시 zoom 세션에서 선생님이 마지막 문제 해설을 해주셨는데 정말이지 매번 엄청 고민한 문제의 해설을 들을때 마다 "와 어떻게 이걸 생각하지?" 라고 생각을 하게 되었다. 그런데 그 전에 페어프로그래밍을 하면서 페어분(비전공자분)한테 내가 기본문제를 설명해주고 풀어줄때면 " 어떻게 이걸 생각해요? " 라고 물어보신게 떠올랐다. 그.. 2023. 1. 13.
코드스테이츠 백엔드 부트캠프 43기 (19,20일차-Section1 회고) 한 달 진행 후기 백엔드 부트캠프를 하기전 내가 얻고자 했던 것 1. 전공에 대한 부족한 부분을 채우자. 2. 다양한 사람들과 많이 소통해보자. 3. 프로젝트 경험을 쌓자 (협업 능력). 4. 규칙적인 생활 + 훈련수당 1. 전공에 대한 부족한 부분을 채우자. 대학을 다니면서 과제와 시험에 쫓기다 보면 메타인지를 깨닫지 못하고 오로지 시험에 나올 필요한 부분과 효율적이지 못한 공부를 하게 되었다. 그래서 전공자 임에도 완벽하지 못한 걸 깨달았고 이러한 부분을 채우고 싶었다. 확실히 부트캠프를 진행하면서 한 번 배운 내용을 보게 돼서 그런지 전체적인 흐름을 알 수 있었고 내용, 개념을 아는 것보다는 이걸 왜 사용하는지에 대해 초점을 맞추다 보니 점점 전공에 대한 살 이 붙기 시작하였다. 학부 시절에는 깃허.. 2023. 1. 11.
코드스테이츠 백엔드 부트캠프 43기 (18일차-스트림 회고) 스트림 요약 정리 처음 스트림을 배울때 스트림에 대해 어색하면서 여러 메서드들이 줄줄이 나오니깐 매우 어렵게 느껴졌었다. 하지만 문제를 하나하나 풀면서 메서드 하나하나 이해하려고하니 스트림은 정말로 편하고 가독성이 좋은 코드가 나올 수 있었다. 스트림 - (생성, 중간 연산, 최종 연산) 중간 연산 distinct() - 중복된 값을 제거 해준다. sorted() - 값을 사전순으로 정렬 해준다. map() - 스트림에 들어있는 변수를 바꾸는 기능 (스트림 자체에 있는 변수가 바뀜) - Ex) map( x - > x*2) x의 값들이 2로 곱해진 값들로 변함 - 스트림에 "김가나", "박가나" 의 값들이 있다면 // 밑에 filter의 예도 있음 - map (m -> m.substring(0, 1)) -.. 2023. 1. 9.
Iterator vs Stream 최근 스트림을 배우면서 스트림을 편리함을 점점 느끼고 있었다. 편리함은 상대적이다. 그래서 Iterator랑 스트림이랑 코드의 길이, 가독성을 비교 해보는 시간을 가졌다. https://github.com/ccw7016/origin-compare-to-stream GitHub - ccw7016/origin-compare-to-stream: copare! copare! Contribute to ccw7016/origin-compare-to-stream development by creating an account on GitHub. github.com 확실히 차이가 많이 났다. 개인적으로 좋았던 점은 스트림을 쓰며 푼 문제를 Iterator으로 풀어보니 확실히 생각해야 될 부분이 많았고 기본문법에 대한 이.. 2023. 1. 9.