분류 전체보기 138

관계형 데이터베이스 part1

-DB(Database)가 필요한 이유 1)In-memory는 프로그램 종료될 때 사용하던 데이터가 없어짐(=변수 등에 저장한 데이터가 프로그램의 실행에 의존) 2)File I/O는 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링하기에 비효율적 *Database는 필터링 외에도 여러 기능을 가지고 있는 데이터에 특화된 서버 1.SQL(Structured Query Language) : 구조화된 쿼리 언어 -주로 관계형 데이터베이스(DB)에서 사용하는 데이터베이스 언어 -DB에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있음 +쿼리(Query)란 "질의문"이란 뜻으로, 저장되어있는 데이터를 필터하기 위한 질의문 -SQL을 사용하기 위해서는 데이터의 구조가 고정되어 있어..

부트캠프 2023.01.30

네트워크 - HTTP

1.HTTP Messages -HTTP는 HyperText Transfer Protocol의 줄임말로, HTML과 같은 문서를 전송하기 위한 Application Layer 프로토콜 -전통적인 클라이언트-서버 모델에서 클라이언트가 HTTP messages 양식에 맞춰 요청을 보내면, 서버도 HTTP messages 양식에 맞춰 응답함 -HTTP messages는 클라이언트와 서버 사이에서 데이터가 교환되는 방식으로 다음와 같은 두 가지 유형이 있음 (1)요청(Requests) (2)응답(Responses) -요청(Requests)과 응답(Responses)은 다음과 같은 유사한 구조를 가짐 (1)start line : 요청이나 응답의 상태를 나타내며 항상 첫 번째 줄에 위치함. 응답에서는 status l..

부트캠프 2023.01.30

네트워크 - 웹 애플리케이션 작동원리 part2

3.웹(Web) : 인터넷에서 제공되는 하이퍼텍스트 시스템 -하이퍼텍스트(hypertext) : 문서안에 다른 문서의 위치정보 등을 포함하여 문서 간의 정보를 서로 연관 지어 참조 할 수 있는 문서 -HTML로 대표되는 하이퍼텍스트 언어와 인터넷이 융합하여 탄생 -기술의 발전과 함께 오늘날 게임, 동영상 서비스, 전자상거래, 거대 소셜미디어 서비스 등 다양한 용도로 활용되고 있음 3-1.클라이언트-서버 아키텍쳐(Client-Server Architecture) -리소스가 존재하는 곳(서버)과 리소스를 사용하는 앱(클라이언트)을 분리 -2티어 아키텍쳐라고도 부름 -클라이언트는 보통 플랫폼에 따라 구분되며 웹사이트, 스마트폰/태블릿 용 앱, 데스크탑 앱 등이 있음 -서버는 무엇을 하느냐에 따라 종류가 달라지..

부트캠프 2023.01.30

반복문을 곁들인 배열 요소 제거 문제

오늘 스터디 시간에는 1.오늘 배운 웹 애플리케이션 내용 복습 2.내일 해볼 API 내용 예습 3.데일리 코딩 문제 틀린 부분 질문 을 진행했다. 복습한 내용은 부트캠프에 정리해두었으니, 여기에서는 틀린 코딩 문제를 복기해보자. 문제 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 입력 인자 1 : arr String 타입을 요소로 갖는 배열 arr[i].length()는 20 이하 출력 배열을 리턴해야 합니다. 주의 사항 가장 짧은 문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다. 가장 짧은 문자열 또는 가장 긴 문자열이 다수일 경우, 나중에 위치한 문자열을 제거합니다. 공백을 입력받을 경우, null을 반환합니다. 입출력 예시 ..

코딩 스터디 2023.01.26

네트워크 - 웹 애플리케이션 작동원리 part1

1.웹 애플리케이션에 대하여 1-1.네이티브 애플리케이션(Native-application) -특정기기에 설치해서 사용하는 애플리케이션 -Apple iOS, Android OS, Windows 같은 특정 실행환경에 종속됨(아이폰에 설치되게끔 만들어진 애플리케이션은 갤럭시나 윈도우 컴퓨터에서 실행할 수 없음) -장점 (1)인터넷 없이 사용 가능 (2)애플리케이션이 설치된 기기의 시스템/기기의 리소스에 접근이 용이함(GPS 기능이나 카메라) (3)웹애플리케이션보다 빠르고 안전함(모바일의 경우 앱스토어에 승인 필요) -단점 (1)빠른 업데이트가 힘듦 (2)웹애플리케이션에 비해 개발비가 더 들어감 (3)앱스토어에 승인 받기가 힘들고 비용이 발생함 1-2.웹애플리케이션(Web-application) -웹 브라우저..

부트캠프 2023.01.26

momo study(23.01.25)

오늘은 알고리즘 중 순열과 조합문제를 풀어보고 복습하는 시간을 가졌다. 5개 문제 중 레퍼런스 참고 없이 푸는데 성공한 건 한 문제 뿐이었다. 유클리드 호제법을 활용해 최대공약수를 구하면 쉽게 풀어나갈 수 있는 문제였는데, 레퍼런스 만큼이나 깔끔하고 보기 쉽게 코드를 짠 것 같아서 올려본다. 조건 한 회사의 팀장은 출근길에 아몬드 빼빼로 M개와 누드 빼빼로 N개를 구매하여 아침 일찍 출근길에 나섰습니다. 팀장은 출근한 직원 수에 따라 어떻게 빼빼로를 나누어 줄지 고민하고 있습니다. 여러분이 직원 수에 따라 빼빼로를 나누어 주는 방법을 구하는 솔루션을 제공해 주세요. 입력 인자 1: M int 타입의 양의 정수 (1 ≤ M ≤ 1,000,000,000) 인자 2: N int 타입의 양의 정수 (1 ≤ N ..

코딩 스터디 2023.01.25

자료구조/알고리즘 - 알고리즘 part2

1.순열(Permutation) : 요소 n개 중에 m개를 선택하여 순서에 상관 있게 뽑는 경우의 수 2.조합(Combination) : 순서에 상관없이 요소 n개 중에 m개를 뽑는 경우의 수 3.팩토리얼(factorial, !) n! 은 n에서부터 1씩 감소하여 1까지의 모든 정수의 곱 -n 보다 작거나 같은 모든 양의 정수의 곱으로, 0!과 1!은 모두 1임 4.정규표현식(정규식:正規式) : 문자열에서 특정한 규칙에 따른 문자열 집합을 표현하기 위해 사용되는 형식 언어 -특정한 규칙을 갖는 문자열로 이루어진 표현식 -정규표현식에서의 특수 문자는 각각의 고유한 규칙을 가짐 -이러한 규칙들을 조합하여 원하는 패턴을 만들고, 특정 문자열에서 해당 패턴과 대응하는 문자를 찾을 수 있음 +정규표현식 생성 웹페..

부트캠프 2023.01.25

momo study(23.01.21)

오늘 토요일부터 설 연휴 시작이라 시간이 넉넉했다. 주말에도 아침 5시 루틴은 계속 유지하고 있었지만 오전시간을 딱히 하는 것 없이 낭비하며 보냈지만 오늘은 9시부터 개인공부를 시작했다. 오늘 개인 공부 내용은 1.객체지향 프로그래밍 기초 파트 복습 2.텍스트 스타크래프트 프로그램 실습 이었다. OOPs 기초 파트를 복습하면서 클래스, 객체, 필드, 메서드간의 관계를 명확히 이해할 수 있었고 static의 의미와 메서드 오버로딩에서 잘 모르던 부분을 다시금 이해했다. 특히 내가 어려워하던 생성자 개념을 이번 기회에 확실히 알 수 있었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public class Mai..

코딩 스터디 2023.01.21

momo study(23.01.20)

오늘 스터디 활동내용은 1.코플릿 알고리즘 문제 1,2,3번을 복습 2.4번 문제를 풀어본 후 레퍼런스 코드 및 풀이 영상 시청 3.객체지향 프로그래밍 기초 복습 까지 진행했다. 2,3번은 푸는데 성공했고, 1번은 의사코드는 적절했지만 코드로 옮기는 부분이 서툴러 결국 풀지 못했고, 4번은 굉장히 어려워서 포기했었다.(솔직히 4번은 레퍼런스 코드와 풀이 영상까지 보고 왔는데도 이해가 잘 안 간다... DP 개념을 알고리즘 문제화시킨 녀석이었는데... 상당히 어렵다) 1번 문제를 간단히 소개하고 어떤 부분에서 부족했는지 짚고 넘어가보자 조건 짐의 무게를 담은 배열 stuff와 박스의 무게 제한 limit가 매개변수로 주어질 때, 모든 짐을 옮기기 위해 필요한 박스 개수의 최소값을 return 하도록 mov..

코딩 스터디 2023.01.20

momo study(23.01.19)

오늘은 알고리즘 관련 학습 콘텐츠를 복습하고, 코드스테이츠에 있는 코플릿 자료구조 문제 10,11번을 복습하고 12번에 대한 풀이 영상을 보았다 10번 문제는 방향이 있는 간선과 방향이 없는 간선들의 목록을 받아 2차원 배열의 인접행렬을 반환하는 함수를 작성하는 문제였다. int[][] 배열을 입력받는데 (내부는 {{0, 3, 0}, {0, 2, 0} ...} 이런 상태의 2차원 배열) 각 간선은 0번째는 간선의 시작 정점, 1번째는 간선의 도착 정점, 2번째는 방향성(1==무향, 0==단방향) 이라는 정보를 담고있다. 이를 다시금 2차원 인접행렬로 반환하는데 행은 바깥, 열은 안쪽 배열이고, 세로축은 시작 정점, 가로축은 도착 정점이며, 두 정점간의 간선 유무는 0(두 정점 간에 간선 존재x)과 1(두..

코딩 스터디 2023.01.19