티스토리

eunoia
검색하기

블로그 홈

eunoia

eunoia07.tistory.com/m

output of develop

구독자
0
방명록 방문하기

주요 글 목록

  • [ALGORITHM] 동적 계획법 (Dynamic Programming) 개념 동적 프로그래밍(DP)은 복잡한 문제를 단순한 하위 문제로 나누어 푸는 방법으로 같은 입력값에 대한 반복되는 호출을 하는 솔루션을 만났을 때 사용합니다. 주어진 문제를 부분 문제로 나누어 각 부분 문제의 답을 계산 후 결과값을 이용하면 원래 문제의 답을 효율적으로 구할 수 있습니다. 💡 다이나믹 프로그래밍은 하나의 문제를 단 한 번만 풀도록 하는 알고리즘으로 구체적인 알고리즘이라긴 보단, 문제 해결 패러다임에 가깝습니다. [ 🤔 탐욕 알고리즘과 다른점 ] 둘 다 최적의 값을 찾는다는 점에서 비슷하지만, 다른 방법으로 찾습니다. 탐욕 알고리즘 전체의 값을 찾기 위해 지역적으로 탐욕적인 선택을 찾음 → 비용이 많이 들며, 전역적으로는 최적의 알고리즘을 보장하지 않을 수 있음 동적 프로그래밍 전체의 값을.. 공감수 0 댓글수 0 2022. 7. 4.
  • [SPRING BOOT] @Controller, @RestController 차이 전체 소스코드는 여기서 확인하실 수 있습니다 🎵 사전정보 - 어노테이션과 RESTful API [ Spring Annotation ] Spring 어노테이션은 프로그램에 대한 추가 정보를 제공하는데 사용합니다. 프로그램에 직접적인 영향은 미치지 않고 프로그램에 대한 데이터를 제공하는 메타데이터의 한 형태입니다. 😎 사람들이 코드를 볼 때 주석을 보고 해석을 하듯, 프로그램을 컴파일, 실행 할 때 어노테이션을 보고 참고해 코드를 해석한다고 생각하시면 됩니다. Spring Framework는 아래와 같이 다양한 어노테이션을 제공하고 있습니다. @Required @Autowired @Bean @Component @Controller @Service @Repository etc ... [ Spring REST .. 공감수 0 댓글수 0 2022. 6. 30.
  • [ALGORITHM] 플로이드-워셜 (Floyd-Warshall) 개념 플로이드-워셜 알고리즘은 가중치 그래프에서 모든 최단 경로를 구하는 알고리즘입니다. 한 번 실행하여 모든 노드 간 최단 경로를 구하는데 이때, 최단 경로를 찾기 위해 DP(동적 프로그래밍) 방식을 사용합니다. [ 🤔 다익스트라와의 차이점? ] 다익스트라 : 하나의 정점에서 다른 모든 정점까지의 최단 거리 시작점으로 부터 나머지 정점까지 최단거리 구할 때 사용 음의 가중치 간선이 있으면 사용하지 못 함 프로이드-워셜 : 한 번 실행해 모든 노드 간 최단 경로 각 정점간 최단 경로 구할 때 사용 음의 가중치 간선에서 사용 가능 ✔ 시작점으로부터 각 정점까지 최단 거리만 구할 때 → 다익스트라 ✔ 간결한 소스코드, 간선 수가 많을 떄 → 플로이드-워셜 [ 알고리즘 응용 ] 최단 경로 찾는 방향 그래프 실.. 공감수 0 댓글수 0 2022. 6. 30.
  • [REACT] react-hook-form 사용하기 - 구현(2) 1편(개념편)에서 이어지는 내용입니다.😎 위 사진처럼 회원가입, 로그인 등 폼을 활용해 사용자에게 입력 필드를 제공할 때 입력과 동시에 유효성 검사를 진행하면 사용자 친화적으로 접근할 수 있어 많은 사이트들이 해당 유효성 검사 방식을 사용합니다. react-hook-form을 사용해 입력과 동시에 유효성 검증을 구현해보겠습니다. 1. react-hook-form의 기본 설정값 1편에서 설명했듯이 react-hook-form은 submit 함수가 호출 될 때, 즉 사용자가 어떤 행위를 해야 유효성 검증을 진행합니다. 이 부분을 해결하기 위해 입력 필드에 validate 옵션을 통해 함수로 유효성 검사하는 부분을 분리하겠습니다. 2. 구현 [a.기능 설명] 일단 입력 필드의 상태를 세 가지의 타입으로 나눴습.. 공감수 0 댓글수 0 2022. 6. 28.
  • [REACT] react-hook-form 사용하기 - 개념(1) 1. React Hook Form 소개 공식문서 링크 : https://react-hook-form.com/ React Hook Form은 React 내에서 From을 쉽게 제어하고 손쉽게 유효성 검사를 처리하도록 도와주는 라이브러리입니다.다른 종속성이 없는 최소한의 라이브러리로 구성되어 있어 성능이 뛰어나고 사용이 간편합니다. [React 기본 입력 필드 처리] import React, { useState } from "react"; export default function App() { const [state, setState] = useState({ email: "", password: "" }); const handleInputChange = (event) => { setState((prevPr.. 공감수 4 댓글수 0 2022. 6. 21.
  • [REDIS] redis 데이터 사용량 엑셀로 추출하기 1.ecstats 오픈소스 redis를 사용하다 모니터링이나 관리 툴을 사용하지 않고 간단하게 데이터량을 추출해보고 싶어서 ecstats 오픈소스를 사용해보게 되었습니다. ecstats 오픈소스는 ElastiCache, Azure Cache for Redis, Redis cluster를 python 스크립트를 사용해 데이터 사용량과 구성 정보를 엑셀로 추출해주는 오픈소스입니다. - 링크 : https://github.com/Redislabs-Solution-Architects/ecstats [오픈소스 구조] ecstats는 총 세 가지 유형의 캐시 저장소의 데이터량의 추출하는 스크립트를 제공합니다. ElastiCache pullElasticCacheStats.py Azure Cache for Redis .. 공감수 1 댓글수 0 2022. 3. 18.
  • [SPRING] EJB vs 스프링 프레임워크 1. 스프링 프레임워크 이전 스프링 프레임워크는 2005년 로드 존슨이 2004년에 만든 오픈소스 프레임워크입니다. 이러한 스프링 프레임워크가 등장하기 이전, 자바 기반의 애플리케이션은 대부분 EJB로 개발되었습니다. [EJB] EJB는 Enterprise JavaBeans의 약자로 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트입니다. 즉, 거대 규모 시스템 구축을 위한 컴포넌트 모델입니다. [EJB의 구조] Enterprise Bean - 비즈니스 로직을 실행하는 서버 컴포넌트 - CRUD를 관리하고 클라이언트와 DB 사이에 접근하는 역할 Container - 서버 내에서 Enterprise Bean에 대한 런타임 환경 제공 - EJB Server와 Enterprise Bean 사이에 통신 역할 .. 공감수 0 댓글수 0 2022. 3. 10.
  • [AWS] Storage AWS S3 1. Amazon S3란? Amazon S3는 Amazon Simple Storage Service의 약자로 언제 어디서나 데이터를 단순하게 처리할 수 있도록하는 웹 서비스 기반 인터페이스를 제공합니다. 웹에서 사용 가능한 오브젝트 저장소로 사용한 만큼만 비용을 지불하고 내구성과 확장성이 뛰어납니다. 2. S3 특징 API를 통한 직접 사용이 가능 병렬 처리 지원 수명 주기, 객체 잠금, 복제, 배치 작업등 스토리지 관리를 위한 기능 지원 Labmda, SQS, SNS 등 데이터를 변환하고 워크플로를 트리거해 다양한 활동 자동화 처리 가능 객체에 대한 강한 일관성 제공 S3버킷과 객체는 기본적으로 비공개로 액세스하기 때문에 권한을 감사 및 관리하기 위한 기능 제공 3. S3 저장 방식 S3는 데이터를 버.. 공감수 0 댓글수 0 2022. 3. 8.
  • [REDIS] redis 기초 개념 1. Redis란? Remote Dictionary Server(redis)는 오픈소스 기반의 비관계형 데이터베이스 관리 시스템으로 모든 데이터를 메모리에 저장하고 조회하는 키-값 기반의 NoSQL 인메모리 데이터 저장소 입니다. [캐시] 캐시란 한 번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때도 빠르게 결과값을 받을 수 있도록 도와주는 공간입니다. DB에서 한 번 불러온 데이터는 캐시에 저장 되어 다음에도 똑같은 데이터 요청이 있다면 캐시에서 반환하는 과정입니다. 1. 클라이언트는 서버에서 데이터 요청을 보냄 2. 서버는 캐시에 데이터가 있으면 캐시에서 가져옴 3. 캐시에 데이터가 없다면 DB에서 데이터를 가져옴 4. 가져온 데이터를 캐시에 저장하고 클라이언트에게 데이터 반환 [인메모리 D.. 공감수 0 댓글수 0 2022. 3. 2.
  • [C#] ?, ?? 연산자 🤔 ?, ?? 연산자란? C# 코드를 보면 물음표 문자가 변수 뒤, 메서드 뒤에 한 개 또는 여러 개씩 붙어 있는 경우가 있습니다. int? max = list?.Max; int min = list?.Min ?? 0; C#에서 ?를 사용하는 방식은 총 1개의 형식과 2개의 연산자가 존재합니다. - nullable 형식 - ? 연산자 - ?? 연산자 하나씩 알아보도록 하겠습니다. 👀 nullable 형식 C# 2.0에 추가된 nullable 형식은 System.Nullable 구조체입니다. 즉, 값 형식에 대해 null 표현이 가능하게 하는 역할을 합니다. [예제1 - Nullable 사용] Nullable _getMarried; public NullAble GetMarrid { get {return _g.. 공감수 0 댓글수 0 2022. 2. 15.
  • [JS] Cropper.js 사용기 1. 오픈소스 소프트웨어(Open Source Software, OSS) 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드입니다. [오픈소스 장점] 1. 비용 절감 2. 빠르고 유연한 개발 3. 신뢰성(검증된 기관에서 발행 시 !!) 4. 변경의 자유로움 (오픈소스가 유료화 되어도 자체적으로 변경하여 자산화 시 오픈소스 계속 이용 가능) 2. Cropper.js 오픈소스 소개 - 공식 홈페이지 - Cropper.js - GitHub 주소 - GitHub - fengyuanchen/cropperjs: JavaScript image cropper. - JavaScript의 Container와 Canvas 기능을 활용한 오픈소스로 Canvas 안 이미지를 자유롭게 편집하.. 공감수 0 댓글수 0 2022. 2. 5.
  • [면접질문] 기술 면접 질문 모음 - 1 1. 캐시와 버퍼의 차이점 두 기술은 모두 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하기 위해 사용하는 기술입니다. 캐시는 처리속도를 최대한 올리기 위한 기술로 주로 빠른 속도의 장치를 보조합니다. 버퍼는 처리속도가 최대한 떨어지는 것을 방지하는 기술로 주로 느린 속도의 장치를 보호합니다. 캐시는 속도를 더 빠르게, 버퍼는 속도가 더 느려지지 않도록 보조하는 역할을 합니다. 2. 스택을 스레드마다 독립적으로 할당하는 이유 스택은 함수 호출 시 전달되는 인자, 복귀 주소값 및 함수 내 변수 등을 저장하기 위해 사용되는 메모리 공간입니다. 스택을 독립적으로 할당하는 이유는 독립적인 함수 호출이 가능케 하여 독립적인 실행 흐름을 위해서 입니다. 스레드의 정의에 따라서 독립적인 실행 흐름을 추가하기 .. 공감수 0 댓글수 0 2022. 2. 4.
  • [IIS] MIME에 대하여... 문제상황 IIS 서버를 이용해 개발하다보니 특정 파일 업로드 시에 서버가 파일을 받지 못하는 상황이 발생 했습니다. 문제는 바로 MIME 문제였습니다.🔨 MIME이란? Multipurpose Internet Mail Extensions의 약자로 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다. - MDN 기본적으로 E-mail(전자우편) 전송 프로토콜인 SMTP는 7비트 ASCII 문자만을 지원합니다. 그러나 ASCII 문자는 영어밖에 표현할 수 없기에 영어 이외의 언어로 쓰인 E-mail은 제대로 전송될 수 없었습니다. 이를 위해 탄생한 것이 MIME입니다. MIME은 ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 E-mail 또는 그림 등을 보낼 수 있는 방식을.. 공감수 0 댓글수 0 2022. 2. 4.
  • [MSSQL] 게시판 paging를 처리하는 방법 3가지 1. paging에 필요한 필수 조건 1. 한 페이지에 출력될 게시물 수 2. 한 화면에 출력된 페이지 수 3. 현재 페이지 번호 게시판 페이징을 위해선 이렇게 세 조건이 필요합니다. 2. paging를 처리하는 방법 3가지 - ROW_NUMBER() OVER() - TOP (NOT IN) - OFFSET ROWS FETCH NEXT [1. ROW_NUMBER() OVER()] ROW_NUMBER 함수를 통해 결과물에 순차적으로 번호를 달아주어 조건으로 필요한 부분만 가져와 페이지에 출력하는 방식입니다. 장점 각 행에 번호를 부여하기 때문에 특정 범위의 행 번호 검색이 가능합니다. 단점 게시물 마다 번호를 달아주는것에 대한 시스템의 부하와, 중첩 쿼리 사용으로 인해 속도가 느립니다. --10에서 20까지.. 공감수 3 댓글수 0 2022. 1. 26.
  • [MSSQL] TOP 사용하기 1. TOP 이란? TOP문은 쿼리 결과 중 상위 몇개만 표시하기 위해 사용하는 구문입니다. [특징] - ORDER BY 절과 함께 사용하지 않으면 TOP은 임의 순서로 N개의 행을 반환합니다. - ORDER BY 절과 함께 사용하면 TOP은 처음 순서부터 N개의 행을 반환합니다. - INSERT, UPDATE, DELETE 등 DML문과도 같이 사용하여 영향을 받을 행을 지정할 수 있습니다. [사용방법] SELECT TOP [조회할 레코드 수] [컬럼명] FROM [테이블명] WHERE [조건절] 조회할 레코드 수는 세 가지 방법으로 표현이 가능합니다. 1. 상수 값 사용 2. 변수 사용 3. 백분율 지정 [중복값 포함 - WITH TIES] SELECT TOP [조회할 레코드 수] WITH TIES .. 공감수 0 댓글수 0 2022. 1. 17.
  • [MSSQL] identity 컬럼 1. identity 컬럼이란? [identity 컬럼 정의] identity 컬럼이란 MSSQL에서 사용되는 숫자 자동 증가 기능입니다. 테이블에 추가되는 각 행의 고유 숫자 값을 자동으로 생성하는 방법입니다. 주로 PK(Primary Key)로 많이 사용합니다. int와 같은 숫자형 컬럼 타입에만 적용이 가능하며, varchar, char와 같은 문자형 컬럼에는 적용이 불가합니다. [identity 컬럼 특징] - 하나의 테이블은 하나의 identity 컬럼만을 가질 수 있습니다. - 숫자형의 테이터 타입만을 정의합니다. - 암호화 알고리즘을 적용할 수 있습니다. 2. identity 컬럼 사용 방법 [테이블을 생성할 때 identity 컬럼을 적용] CREATE TABLE table ( col1 I.. 공감수 0 댓글수 0 2022. 1. 14.
  • [IIS] IIS 서버에 가상 디렉터리 추가하기 개발 사항 IIS 서버를 사용하면서 특정 서버안에 있는 이미지를 불러와야 하는 상황이 발생했습니다. 예를 들면, IIS 서버에서 구동되고 있는 A 웹사이트에서 XXX.XXX.XXX.XXX 서버에 존재하는 1.png 이미지를 사용하려는 상황입니다. IIS에 가상 디렉터리를 추가해여 구현해보겠습니다. 설정 방법 설정방법은 크게 가상 디렉터리로 설정할 서버 내 설정과 IIS 서버 내 설정으로 나뉩니다. 🔔 설정 시 가장 중요한 부분은 권한입니다. IIS 서버의 권한과 가상 디렉터리로 설정할 서버의 권한이 맞아야 합니다. [ A. 가상 디렉터리로 설정할 서버 내 설정(위 그림으로 XXX.XXX.XXX.XXX 서버) ] IIS 서버가 설치된 웹서버의 이름을 확인합니다. (만약 기본이름이라면 사용하기 편한 이름으로.. 공감수 0 댓글수 0 2021. 11. 2.
  • [ALGORITHM] 이진 탐색 (Binary Search) 개념 이진 검색 알고리즘은 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘입니다. 장점 검색이 반복될 때마다 목표값을 찾을 확률이 두배가 되므로 속도가 빠릅니다. 단점 검색 원리상(중간 값을 찾아야 하기에) 정렬된 리스트에만 사용할 수 있습니다. 알고리즘 과정 배열의 중간 값을 임의의 값으로 선택 중앙 값과 찾고자 하는 값의 크고 작음을 비교 중앙 값 = 찾는 값 : 값을 찾았으니 검색 종료 중앙값 > 찾는 값 : 중앙값 기준 배열의 왼쪽 구간을 대상으로 탐색 중앙값 < 찾는 값 : 중앙값 기준 배열의 오른쪽 구간을 대상으로 탐색 값을 찾거나 간격이 0이 될때까지 반복 리스트에서 검색할 값과 같은 요소 발견한 경우(검색 성공) 검색할 범위가 더 이상 없을 경우(검색 실패) [ 0. 선행조.. 공감수 0 댓글수 0 2021. 10. 21.
  • [KENDO JS] DataSource를 gird, listview에 재사용하기 💻 개발 사항 아래와 같이 게시판에서 kendoGrid와 kendoListView를 이용해 같은 데이터를 두 가지 버전으로 게시물을 보여주는 UI를 개발했습니다. 하지만 kendoGrid와 kendoListView를 각각의 DataSource로 구성해 본 결과 같은 요청이 두 번씩 발생하는 문제가 발견되었습니다. var dataSource = new kendo.data.DataSource({ transport: { read: { url: "https://demos.telerik.com/kendo-ui/service/products", dataType: "jsonp" } }, pageSize: 10 }); $("#grid").kendoGrid({ dataSource: dataSource, pageable:.. 공감수 0 댓글수 0 2021. 10. 8.
  • [ASP. NET MVC] 클라이언트에서 잠재적 위험이 있는 오류 해결방법 ❎ 오류사항 AJAX를 통해 서버로 POST 요청시 Controller로 넘어가지도 못하고 오류가 발생했습니다. 이때 서버로 넘긴 값에 특수문자가 포함되어 있었고 이에 따른 문제였습니다. 👩‍💻 오류 파악 서버로 값을 전달할 때 POST 요청시 특수문자나 인코딩 되지 않은 HTML 콘텐츠()가 포함되어 있으면 발생하는 오류입니다. 클라이언트에서 이러한 값이 포함된 내용을 전송 받을 경우 XSS(Cross-site scription) SQL Injection공격 같이 보안적인 이슈가 발생하기 때문에 .NET 기반 웹 기술(ASP.NET, MVC, Razor)의 기본설정에서 막고 있습니다. 즉, 서버에 전송 된 특수문자나 인코딩 되지 않은 HTML 콘텐츠를 처리 하지 못하도록 하는 ASP.NET의 요청 유효.. 공감수 0 댓글수 0 2021. 7. 5.
  • [JS] JavaScript 스코프 🤔스코프란? 스코프(scope)는 변수와 상수, 매개변수가 언제 어디서 정의되는지 결정합니다. 예를 들어 함수 매개변수가 함수 바디 안에서만 존재하는 것도 스코프의 일종입니다. function f(x) { return x + 3; } f(5); x; 위의 코드를 보면 f(5)를 통해 함수 f를 호출 하기 전까지는 x는 존재하지 않고 함수를 실행하는 동안만 존재 후 함수 바디를 벗어나면 x는 존재하지 않는 것처럼 보입니다. x의 스코프가 함수 f 라고 부를 수 있습니다. 🤔그럼, 변수가 스코프 안에 있지 않다면, 변수는 존재하지 않는 건가요? - 꼭 그런건 아닙니다! 스코프와 존재를 반드시 구별해서 생각해야 합니다. [💡스코프와 존재] 스코프(가시성) 현재 실행중인 부분, 즉 실행 컨텍스트(executio.. 공감수 0 댓글수 0 2021. 7. 1.
  • [CSS] Pure CSS로 Skeleton UI 구현하기 💀Skeleton UI란? 스켈레톤 UI는 실제 데이터가 화면에 로딩되기 전 사용자에게 화면이 로드 중임을 나타내기 위해 사용하는 UI입니다. Luke Wroblewski 는 디자이너가 시각적 개체 틀을 선호하는 스피너를 사용하지 않는다고 조언 하는 블로그 게시물에서 "스켈레톤 스크린"이라는 용어를 처음 만들었습니다. 스켈레톤 로딩 화면은 기본적으로원본 레이아웃을 기준으로 제작되고 페이지가 로딩되고 사용 가능해질 때 실제 콘텐츠와 유사한 모양으로 페이지를 보여줍니다. 스켈레톤 로딩 화면은 기본적으로원본 레이아웃을 기준으로 제작되고 페이지가 로딩되고 사용 가능해질 때 실제 콘텐츠와 유사한 모양으로 페이지를 보여줍니다. [🤔그럼, 왜 스켈레톤 UI 로딩 화면을 사용하나요?] 빈 페이지를 표시하는 대신 콘텐츠.. 공감수 0 댓글수 0 2021. 7. 1.
  • [JS] vanilla js로 무한 스크롤(Infinite scroll) 구현하기 🤔무한 스크롤(Infinite scroll)이란? 무한 스크롤은 사용자가 페이지 하단에 도달했을 때, 콘텐츠가 계속 로드되는 사용자 경험(UX) 방식입니다. 한 페이지 아래로 스크롤 하면 끝없이 새로운 화면을 보여주게 되고 이로 인해 많은 양의 콘텐츠를 스크롤 해서 볼 수 있습니다. 게시판의 많은 양의 글을 편리하게 보기 위해 무한 스크롤 방법으로 페이징 기능을 구현해 봤습니다. [👍무한 스크롤의 장점] - 사용자 참여 및 콘텐츠 탐색이 쉽습니다. - 무한 스크롤이 클릭하는 것보다 더 나은 사용자 경험을 제공합니다. (다음 콘텐츠를 보기 위한 추가 클릭이 필요없고 페이지 로드 시간이 짧습니다.) - 터치스크린(모바일)일때 더 유용하게 적용됩니다. (화면이 작을수록 스크롤은 길어지기에 모바일 환경에서 콘텐.. 공감수 0 댓글수 0 2021. 7. 1.
  • [JS] vanilla js로 Pagination 구현하기 🤔 Pagination? 페이지네이션이란 콘텐츠를 여러 페이지고 나누고, 이전 혹은 다음 페이지로 넘어가거나 특정 페이지로 넘어갈 수 있는 일련의 링크를 페이지 상단이나 하단에 배치하는 방법입니다. ✅ 필요한 Pagination 조건 게시판을 더 쉽게 볼 수 있고 사용자의 접근성을 높일 수 있게 Pagnation을 적용하기로 했습니다.💪 Pagination을 구상하면서 필요한 요구 조건들은 총 네 가지입니다. 1 한 페이지에 페이지 링크는 10개로 보여준다. 2 한 페이지에 20개씩 게시물을 보여준다. 3 이전, 다음 버튼이 존재한다. 4 처음으로, 마지막으로 버튼이 존재한다. 👩‍💻 JS로 Pagination 개발 [1. 한 페이지에 페이지 링크는 10개로 보여준다.] total : 462 1 ... .. 공감수 0 댓글수 0 2021. 7. 1.
  • [FRONT] 브라우저는 어떻게 동작할까? 브라우저 종류 인터넷 익스플로러 파이어폭스(오픈소스) 사파리(부분적 오픈소스) 크롬(오픈소스) 오페라 → 오픈소스 브라우저가 시장의 상당 부분 차지합니다 브라우저의 주요 기능 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시 자원 : HTML 문서, PDF, 이미지 , 또 다른 형태 자원의 주소 : URI(Uniform Resource Identifier) W3C(World Wide Web Consortium) 브라우저는 HTML과 CSS 명세에 따라 HTML 파일 해석해 표시 → 명세는 웹 표준화 기구인 W3C에서 정함!(최근 대부분의 브라우저가 표준 명세 따른다) 브라우저의 기본 구조 사용자 인터페이스 주소 표시줄, 이전/다음버튼, 북마크 메뉴 등 요청한 페이지를 보여주는 창을 제외한 나머지 모.. 공감수 0 댓글수 0 2021. 6. 21.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.