본문 바로가기

Programming/Languages (Java, etc)40

알고리즘의 기본 - 시간복잡도 2022.03.11 - [개발/알고리즘] - 알고리즘을 공부하기 위한 기초지식 (자료구조) 알고리즘을 공부하기 위한 기초지식 (자료구조) 목표 알고리즘의 기본을 이해한다. 알고리즘을 공부하기 위해 기본적인 자료구조 지식을 갖춘다. 목차 알고리즘이 갖는 의미 자료구조의 기본 알고리즘이 갖는 의미 컴퓨터 프로그램의 근본 kghworks.tistory.com 이어지는 포스팅입니다. 목표 알고리즘의 정의를 이해한다. 알고리즘 설계기법의 종류를 나열한다. 알고리즘 시간 복잡도의 의미와 계산법을 알아본다. 점근 성능의 표기법의 종류와 개념을 이해하고 적용할 수 있다. 목차 알고리즘의 정의와 설계 알고리즘 분석 (시간 복잡도, 빅오 표현법) 순환 알고리즘의 성능 참고 알고리즘의 정의와 설계 알고리즘이란 문제를 풀기 .. 2022. 3. 18.
알고리즘을 공부하기 위한 기초지식 - 자료구조 목표 알고리즘의 기본을 이해한다. 알고리즘을 공부하기 위해 기본적인 자료구조 지식을 갖춘다. 목차 알고리즘이 갖는 의미 자료구조의 기본 알고리즘이 갖는 의미 컴퓨터 프로그램의 근본 목적은 문제 (요구사항)를 알고리즘을 이용하여 풀어내는 것입니다. 그 문제는 단순 입/출력일 수도 있고, 보다 복잡한 계산일 수도 있습니다. 프로그램이 목적에 맞게 실행할 수 있도록 제시하는 해결방법 혹은 그 방법의 서순 자체를 알고리즘이라고 합니다. 컴퓨터 과학에서 알고리즘은 문제 해결을 할 수 있도록 하는 필수 요소일 뿐만 아니라 개발자에게는 사용자 (클라이언트)의 요구사항을 컴퓨터 기반의 언어로서 풀어낼 수 있도록 하고 나아가 더 효율적인 프로그램이 될 수 있도록 합니다. 수학으로 치면 풀이과정이며, 요리로 치면 레시피 .. 2022. 3. 11.
js, css, html 파일 웹 브라우저 캐싱 방지 - 쿼리 스트링 문제 원인 해결책 참고 문제 웹 소스들 (html, js, css)에 수정을 하여 서버에 반영해도, 브라우저 상에서 반영이 안 되는 경우가 있습니다. 운영 서비스일 때는 이 문제가 더 심각합니다. 새로운 버전을 만들어 서버에 배포를 했어도, 실제 브라우저에서는 개발자 도구를 열어봐도 이전 javascript파일 (기타 정적 파일들, css 등)을 로딩하는 경우가 발생하는 것입니다. 원인 웹브라우저는 js, css파일을 캐싱해놓고, 동일한 url을 요청한다면 캐싱해둔 소스(이전 소스)를 가져옵니다. 수정한 파일을 서버에 올린다 한들 브라우저는 캐싱되어있는 동일한 url의 소스가 있는 한 새로운 소스를 가져오지 않습니다. 그니까 브라우저가 캐싱하는 것은 문제가 아니고, 캐싱해놓고 내가 새로 올린 파일은 애초.. 2022. 3. 4.
HTML의 개요 목표 HTML의 기본 개념과 특징을 이해한다. HTML의 기본 구조와 작성방법을 숙지한다. HTML을 작성하고 실행한다. 목차 마크업 언어 HTML이란? HTML 관련 참고할만한 사이트 마크업 언어 마크업 언어란 태그따위를 이용하여 문서나 데이터의 구조를 명기하는 언어입니다. 일반적으로는 데이터의 구조까지만기술할 수 있기 때문에 프로그래밍언어라고 보지는 않습니다. 마크업 언어로 기술된 문서 안에는 아래와 같은 마크업들이 들어갑니다. 내용 (content) : 문서의 본문 내용 제목, 주소와 같은 데이터를 나타내는 의미적 마크업. 구조 (structure) : 문서의 구성 정보 문단, 제목글 등과 같은 구조적 마크업. 스타일 (style) : 문서의 표현 방법 모양, 생상 등을 나타내는 양식적 마크업. 마.. 2022. 3. 2.
[JAVA] Garbage Collection (가비지 컬렉션) 목차 JVM 가상 머신의 메모리 관리 Garbage Collection GC 동작 예시 (코드) GC 원리 (메모리) GC의 종류 참고 * JAVA의 메모리 원리에 대해 안다는 전제 하에 포스팅합니다. stack과 heap에 대한 최소한의 이해도를 가진 후 보시길 바랍니다. 혹여 부족하시다면, 아래 포스팅을 먼저 참고하실 수 있습니다. 2022.01.26 - [개발/JAVA] - stack, heap (스택과 힙) - 자바의 메모리 런타임 stack, heap (스택과 힙) - 자바의 메모리 런타임 목차 자바의 메모리 영역 스택 (stack) 힙 (heap) 가비지 컬렉션 (Gabage Collection) 자바의 메모리 영역 자바의 메모리 구조는 크게 스택과 힙으로 나뉩니다. 스택 (stack) 기본 .. 2022. 2. 16.
[JAVA] String 데이터 타입, String pool 목차 String 객체 String Interning literal vs new String() 참조 String 객체 String 데이터 타입은 기본형이 아니라 객체입니다. 따라서 Stack에 값이 바로 저장되지 않고 Heap영역에 저장되고, 그 주소 값을 참조하는 변수가 stack에 쌓이게 됩니다. (아래 그림 참고) Heap에 저장할 때는 Heap 안의 String pool에 저장합니다. String Interning String 객체가 리터럴로 할당된다면 Heap 영역의 String Constants Pool에 저장되어 관리합니다. 기본적으로 pool안의 객체는 불변성 (Immutability)을 띄며 이 얘기는 값의 수정이 없고, 같은 값이 선언된다면 같은 객체를 참조하도록 한다는 의미입니다. .. 2022. 1. 28.