분류 전체보기 96

[지식] 렌더링과 DOM(Document Object Model)

DOM(Document Object Model)이란 말 그대로 HTML문서를 객체화한것이다. 렌더링(서버로부터 HTML , CSS , JavaScript등 파일을 받아 브라우저에 나타내는것) 과정에 대해 이해한다면 DOM을 이해하는데에 편리하다. 1. 불러오기 : 로더(Loader)가 서버로부터 전달받은 리소스 스트림을 읽는 과정 2. DOM, CSSOM 생성 웹 엔진의 HTML/XML 파서가 문서를 파싱해 DOM Tree를, CSS 파서가 CSSOM 트리를 생성(아래 파싱, 스크립트와 스타일 시트의 진행순서 참조) 3. 생성된 DOM과 CSSOM으로 렌더링 트리 생성 DOM Tree + CSSOM Tree, 렌더링에 필효한 노드만 선택해 페이지를 렌더링하는데 사용 4. css, 레이아웃 : 렌더트리를 ..

지식 2024.03.24

[mySQL] 데이터베이스

data : 정석적인 실제 값 정보 : 데이터를 기반으로 의미를 부여 ex) 에베레스트의 높이 = 8848 → data 에베레스트는 세계에서 가장 높은산 → 정보 database : 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합 / 저장 해놓은것 계층형 데이터베이스 : 트리형태의 계층적 구조를 가진 데이터베이스로 최상위계층의 데이터부터 검색 네트워크형 데이터베이스: 하위데이터들끼리의 관계까지 정의 , 설계 및 구현이 복잡하고 어려움 SQL: Structures Query Language : 구조화된 질의 언어 DDL: Data Definition Language 데이터 정의 언어 DML: Data Manipulation Language 데이터 조작 언어 DCL: Data ..

mySQL 2024.03.24

[알고리즘] 프로그래머스 Lv.1 - 신고 결과 받기

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(id_list, report, k) { const newRepo = [...new Set(report)]; // report 중복 제거 const banned = []; // 정지 아이디 const reportedCnt = Array(id_list.length).fill(0); // 신고수 [0,0,0,0] const alert = Array(id_l..

알고리즘 2024.03.24

[알고리즘]프로그래머스 Lv.1 - 시저암호

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 나의 풀이 function solution(s, n) { //아스키코드를 이용해 밀린 값만큼 값을 수정해준다. //아스키코드 : A = 65 / Z = 90 / a = 97 / z = 122 var answer = ''; for (let i = 0 ; i < s.length; i ++){ if (s[i] === " ") { answer += " " } else{ //s 변수 내..

알고리즘 2024.03.22

[JAVA]MVC패턴

MVC 패턴이란? Model , View , Controller 의 약자 view -> controller -> model의 요청 model -> view -> controller 의 응답 MVC를 이용해 도서 찾기 프로그램 만들기 필드 (vo -> 모델에 해당) public class Book { private int bNo; private int category; private String title; private String author; public Book() {} //dto 부분 만들었음 public Book(int category, String title, String author) { super(); this.category = category; this.title = title; thi..

JAVA 2024.03.21

[지식] 브라우저 동작 원리

Browser 특징 브라우저의 주요 기능은 사용자가 참조하고 싶은 웹페이지를 서버에 요청, 서버의 응답을 받아 브라우저에 표시하는것 ex) 크롬 , 사파리 , 파이어폭스 , 인터넷 익스플로러 등 URI(Uniform Resource Identifier) 를 통해 서버에 응답 요청 웹 브라우저와 웹 서버 url을 주소창에 치고나면 페이지가 이동하고 웹브라우저가 이동한 웹서버에 웹페이지 요청을 하면 웹페이지가 응답을 함 서버가 브라우저에게 전달한 응답인 HTML문서를 브라우저는 읽어들이고 해석한 후 사용자(Client) 에게 보여주고 HTML 및 CSS를 해석하는 구체적인 내용들은 모두 W3C, World Side Web Consortium 에 의해 관리되고 유지됨 1. 보이지 않는 곳의 통신을 이해할 수 ..

지식 2024.03.19

[알고리즘]개인정보수집 유효기간(JS)

문제 출처 :https://school.programmers.co.kr/learn/courses/30/lessons/150370 문제설명 풀이 //달을 구하는 코드 const addMonth = (dateString,month) => { let [year,mon,day] =dateString.split('.').map((v)=> Number(v)); mon += month; day -= 1; if (day === 0){ day = 28; mon -= 1; } if(mon>12) { const monCount = Math.floor(mon/12); mon = mon - 12 * monCount; year += monCount; } if(mon === 0){ mon += 12; year -= 1; } ret..

알고리즘 2024.03.12

[알고리즘] 프로그래머스 Lv.1 - 이상한 문자 만들기(JS)

문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 내가 풀었던 오답 function solution(s) { //단어들을 공백을 기준으로 떨어뜨려 그 단어의 인덱스가 짝수라면 대문자로 , 아니라면 소문자로 변형하여 출력 var arr = []; //공백을 기준으로 단어를 떨어뜨리고 var stringArr = s.split(" ")..

알고리즘 2024.03.11

[JAVA]네트워크

네트워크? 여러대의 컴퓨터를 통신 회선으로 연결한 것 소켓 프로그래밍 ->소켓을 이요한 통신프로그래밍 소켓 : 프로세스 간의 통신에 사용되는 양쪽 끝 단 TCP : 데이터 전송속도가 느리지만 정확하고 안정적으로 전달할수있는 연결지향적 프로토콜 서버용 소켓 프로그래밍 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) throws IOE..

JAVA 2024.03.08

[알고리즘]프로그래머스 Level 1 - 소수 만들기(Js)

기억에 남고 , 유용할 것 같은 문제여서 따로 포스팅 합니다. 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 3중 반복문을 이용하여 더해진 값의 결과가 소수인지 판별 후 소수라면 answer를 하나씩 증가시키는 구조 function solution(nums) { var answer = 0; ..

알고리즘 2024.03.08