본문 바로가기

분류 전체보기

(106)
Chap3-1. 합병 정렬(MergeSort) 합병 정렬 = 입력이 2개의 부분 문제로 분할되고, 부분 문제의 크기가 절반으로 감소하는 분할 정복 알고리즘 중 대표 -순환문의 형태로 정렬을 한다. -2개의 부분 문제를 합병하면서 정렬하는 알고리즘 [ 설명 ] 정렬과 탐색 알고리즘이 제일 중요하다. 가장 효율적으로 원하는 것을 찾는 것이 매우 중요 정렬 알고리즘은 구현의 복잡도에 따라 단순한 알고리즘, 복잡으로 나눌 수 있다. -단순한 알고리즘 = 순차적으로 찾아다니면서 한다(1씩 감소하면서 정렬) ex) 문제의 크기가 1씩 감소하는 중첩된 반복문을 통해 크기를 비교한다. → 시간 복잡도를 따지면 n * n의 시간 복잡도임 -복잡한 알고리즘 = 단순보다는 효율적이다. - 합병 정렬 로그 선형으로 가기 때문에 n의 제곱보단 효율적이라고 할 수 있다 . ..
Chap 3. 분할 정복 알고리즘 분할정복 알고리즘 : 주어진 문제의 입력을 분할하여 문제를 해결(정복)하는 방식의 알고리즘 부분 해(분할)를 취합( =정복)하여 원래 문제의 해를 얻음 부분문제와 부분해 더 이상 분할할 수 없을 때까지 분할한다. → 분할한 문제들의 해를 취합 → 부분 취합을 다시 취합 (1) 분할 과정 [상황] 입력 = n 분할 = n을 3개로 분할 각각 분할된 부분 문제의 크기 = n/2 *질문 = 여기서 n을 3개로 분할한 것이므로 각각 분할된 부분 크기는 n/3이 아닌가? ⇒ n이라는 전체 크기를 3등분하여 반으로 나눈다는 의미 3등분을 전체에 대한 것이 아니라 전체의 반의 반이 하나의 등분으로 생각하면 된다. [ 이를 일반화 하면 ] 입력 = n 분할 = n을 b개로 분할 각각 분할된 부분 문제의 크기 = n/a..
[세션] 온보딩_백엔드 Spring이란? java 웹 어플리케이션을 제작하기 위해 상용되는 엔터프라이즈급 자바 기반 프레임 워크이다. JAVA 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워크 [ 개발 환경 ] intelliJ IDEA → 자동 완성 기능 제공 이클립스 프레임워크란? 어플리케이션을 구축할 때 자주 쓰일 만한 기능들을 한데 모아 놓은 유틸(클래스)들의 모음(집합) 화면 구현, DB연동, 개발 환경 설정 등을 돕는다. Spring 특징 1)객체 지향성 자바의 특징이라고 할 수 있다. 2)POJO spring framework 만의 특징 Plain Old Java Object = 특정 기술에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 의미 오래된 방식의 순수한 자바 객체 장점 = spring이후에는..
[어셈블리어] 어셈블리어_범용 레지스터 어셈블리 언어 배우는 이유 예전에는 악성코드들이 어셈블리 언어로 작성되었다. 지금은 어셈블리어로 작성되지 않는다. 하지만 어셈블리 언어를 배우는 이유는 악성코드의 동작원리를 명확하게 알 수 있기 때문이다. 예를 들어, 씨언어로 바이러스를 만든다고 하자, 정상적인 파일에 바이러스를 붙인다. 하지만 그냥 둔다면 정상적인 프로그램만 돌고 끝난다. 그렇기 때문에 흐름을 바꿔야한다. os는 바이러스를 먼저 실행하게 해야 한다 하지만 씨언어는 이러한 흐름을 바꿀 수 없다. 어셈블리 언어는 이것이 가능하다 씨언어로는 분석이 어렵다. ⇒ 바이러스들을 분석하기 위한 기초 작업 바이러스는 다양한 언어(파이썬, 오랑지 등)으로 만들었다. 이에 기반이 되는 것이 어셈블리 언어이다. 진수 변환 어셈블리 언어 → 진수 변환 잘해..
[세션] 온보딩_프론트엔드 1. 웹의 역사 WEB 1.0 브라우저를 통해 웹 서버로부터 HTML 파일을 받아오는 형식 정적인 서비스를 제공하며 단순 정보를 제공 HTML, CSS 주로 사용 WEB 2.0 동적인 서비스 개발 필요 → javascript 추가됨 아직 프론트, 백엔드 구분하지 않았다. WEB3.0 -자바스크립트가 메인(동적인 기능이 메인), 그 안에 일부 HTML, CSS 가 포함 SPA(Single Page Application) = 웹 어플리케이션에 필요한 모든 정적 리소스를 최초 접근시 단 한 번만 다운로드 함 [ 기존 방식 ] = 서버가 페이지 구성에 필요한 모든 요소(HTML, JavaScript, Data)를 매번 전송으로 인한 → 서버의 과부화, 불필요한 로딩 [ SPA 방식 ] = 제일 처음 전송된 단일..
Chap 1. System Software와 ISA System Software와 ISA System Software = Instruction Set Architecture(ISA)에 의존적인 소프트웨어 machine에 의존적인 성격 ↔ 대칭 개념 = “어플리케이션” cpu와 상관없이 사용자가 필요로 하는 일을 처리 운영체제(OS) = 컴퓨터 시스템의 자원 (HW와 SW)를 관리 [ ex ] MS windows, Linux 넓은 의미의 시스템 소프트웨어 운영체제 제작자는 그 운영체제가 사용될 ISA를 알고 있어야 한다. os 시스템 개발자라고 하더라도 ISA를 모두 알 필요는 없다. → 요즘은 씨언어를 통해 프로그래밍한다. 컴파일러 / 어셈블러 = 고급 언어로 작성한 프로그램을 ISA에 맞게 기계어로 변환 [ ex ] 씨언어로 작성 → 컴파일러를 통해 o..
브레인스토밍 데이 여름 방학에 1달 반정도 진행하는 SWS(Summer Web Surf)를 위한 팀을 구성했다. 디자인 2, 프론트리드 2, 백리드 2, 인턴4으로 구성되었다. 토이 프로젝트는 한 적이 있었지만 본격적인 프로젝트는 처음이라 떨렸다! 그래도 백엔드장님께서 잘 이끌어주셔서 회의는 수월하게 돌아갔다. (1) 아이디어 발표 이펍 지원서에 함께하고 싶은 아이디어를 적는 부분이 있어서 열심히 생각하고 적었는데 그것을 발표하는 것이었다. 많이 낼수록 좋을 것 같아서 3개나 제시했다. 이화여대 정보 사이트(DB모음), 스터디카페 리뷰 모음 사이트, 나의 키워드를 적어줘를 제시했다. 각각의 아이디어는 백엔드, 프론트엔드, 디자인 각각 가능한지 아닌지 체크 박스를 통해 검토하고 다 가능한 아이디어를 추려서 투표를 진행하였다..
[꾸미기] 폰트 크기 변경 " 관리자 페이지 -> 스킨 편집 -> css " 에서 폰트를 바꾸었더니 글자가 너무 작아졌다. 전체적으로 작아져서 어떻게 키워야 하나 검색해보았더니 직접 css를 변경해가면서 바꾸는 것 같았다. 건드린 태그 (1) 블로그 이름 = .cover-slider ul li .title (2) 본문 글 내용 = .entry-content 본문 글은 글 크기를 제목1, 제목2, 제목3, 본문 등으로 커스터마이징 할 수 있기 때문에 .entry-conten로 가서 각각 항목들의 크기를 변경해야 한다. (전체적 크기 X, 제목 1 => h1에서 바꿀 수 있다)
[꾸미기] 파비콘 만들기 사이트 티스토리를 본격적으로 꾸미고 싶었다. 파비콘을 직접 만들 수 있는 사이트를 보고 바로 만들었다. 사이트 url = favicon.ico Generator 결과는 짱귀>< (지금의 파비콘을 보세요~) 직접 그릴 수 있고 이미지를 불러와서 그릴 수 있다. (픽셀이 커서 마음대로 할 수 없다는 단점이...ㅠ)
[활동] OT 보호되어 있는 글입니다.