분류 전체보기 193

📑 동적 계획법 (Dynamic Programming)

※ 소개 오늘은 오랜만에 코딩테스트 문제풀이를 위한 알고리즘을 정리해보고자 한다. 평소에도 문제풀이를 할때 논리가 부족해서 그런지 정렬이나 탐색 알고리즘보다 그리디나 동적 계획법쪽이 많이 어려웠는데 이번기회에 마리오 형의 강의를 참고해서 확실히 개념정리를 하고 문제를 풀어보면서 연습해보고자 한다. 알고리즘 기법의 명명 과정을 웃고 넘어갈 겸 살펴보니 다이나믹은 멋있어 보여서 붙였다고 한다... (괜히 있어보이긴 함) 프로그래밍이라는 단어는 컴퓨터 언어로 코딩을하는 것이 아니라 어떤 것을 계획하는 것을 의미하는 바가 크다. 즉, 문제가 있으면 특수한 형태로 변형시켜 쉽게 풀어내기 위한 일련의 과정이다. 입문하기는 쉽지만 마스터하기는 아주 어려운,,, 하지만 대회에서도 자주 출제되어 거의 뭐 알고리즘 학문에..

📑 리눅스 마스터 1급_3과목_CH7.네트워크 서비스

CH.7 네트워크 서비스 1. 웹 관련 서비스 1-1. 웹 관련 서비스의 이해 ※ 웹(Web) HTML (Hyper Text Markup Language) : 웹 페이지를 만들기 위한 마크업 언어 HTTP 프로토콜이 사용되고 W3C에서 주관하여 개발 주요 웹 브라우저 종류 chromium : 구글 크롬으로 더 잘 알려져 있는 브라우저. 속도가 빠르고 다양한 플러그인이 존재한다. FireFox : 모질라 재단에서 개발한 게코 엔진 기반의 오픈 소스 웹 브라우저 Opera : 노르웨이에서 개발된 블링크 엔진 기반의 웹 브라우저 Safari : 애플에서 개발한 Webkit 엔진 기반의 웹 브라우저. IOS를 위한 브라우저이다. ※ HTTP (HyperText Transfer Protocol) 웹에서 웹 페이지..

📑 리눅스 마스터 1급_2과목_CH6.시스템 보안

CH.6 시스템 보안 1. 시스템 분석 1-1. 시스템 로그 분석 ※ 시스템 로그 파일 종류 일반적으로 리눅스에서는 /var/log 디렉토리에서 시스템의 모든 로그를 기록하고 관리한다. 로그들은 (r)syslogd에 의해서 관리되며, /etc/syslog.conf 파일에서 로그 파일의 저장 위치와 저장 파일 이름을 변경할 수 있다. 시스템 로그 / 관련 명령어 정리 로그명 내용 로그 경로 명령어 기타 utmp 현재 로그인한 사용자의 정보 /var/run/utmp finger, w, who 바이너리 파일이므로 명령어를 통해 확인 wtmp 성공한 로그인 / 로그아웃, 시스템 boot / shutdown 정보 /var/log/wtmp last, last -F 바이너리 파일이므로 명령어를 통해 확인 lastlo..

📑 LIST의 .toArray() 메서드

평상시에 코드를 개발하던 중 인텔리제이에서 자주 보이는 경고에 대해 자세히 알아보았다. List 컬렉션은 정말 없으면 안 될 정도로 실무에서도 많이 사용을 하는데, 해당 컬렉션을 배열 형태로 바꾸어 사용하고자 할 때, toArray()메서드를 자주 사용한다. 리스트의 요소 타입이 Integer나 String 같은 기본 Wrapper 타입이라면 단순하게 Stream을 활용해 변환할 수 있겠지만, 개인적으로 만든 클래스 객체의 인스턴스에 대해서는 캐스팅의 문제로 불가능하다. 그래서 결론적으로 toArray를 많이 사용하게 된다. 상식적으로 생각했을 때, 리스트를 배열로 전환하려면 리스트의 요소 개수 만큼 배열의 크기를 지정해야 하기 때문에 리스트의 사이즈 만큼 지정하면 매번 아래와 같은 경고가 발생하여 의문..

📑 리눅스 마스터 1급_2과목_CH5.장치관리

CH.5 장치 관리 1. 장치의 설치 및 관리 1-1. 장치의 설치 및 관리 ※ /proc 디렉터리 내 주요 파일 /proc/partitions : 현재 시스템의 파티션 정보를 저장 /proc/cpuinfo : CPU 정보를 저장 /proc/devices : 현재 시스템이 사용하는 디바이스 정보를 저장 /proc/filesystems : 커널이 지원하는 파일 시스템의 정보를 저장 /proc/meminfo : 시스템 메모리 정보를 저장 /proc/swaps : 스왑 공간 관련 정보를 저장 /proc/mdstat : RAID나 중복 디스크에 대한 정보를 저장 ※ /dev 디렉터리 내 주요 파일 /dev/Ip* : 프린터 장치 /dev/hd* : IDE 드라이버, ATA 드라이버 등 /dev/sd* : SCS..

📑 nomadcorders_왕초보를 위한 React Native 101_Day2

2023-05-30 #2.4 Layout Stream /** * 스크롤 불가 (브라우저가 아니기 때문이다.) * 모든 View가 기본적으로 flex Container다 * react native에서 flex Direction의 기본 값은 column이다. * 높이와 너비에 기반해서 디자인 하지 않는다. * 다양한 스크린에서 동일하게 작동하도록 반응형의 레이아웃을 사용해야 한다. * flex 값을 사용해서 특정 아이콘 및 컨텐츠가 화면에서 차지하는 비율을 지정할 수 있다. * 부모 컨테이너에 지정된 flex 값이 자식 컨테이너의 비율 기준이 된다. * * Layout with Flexbox * * 컴포넌트는 flexbox 알고리즘을 사용하여 자식의 레이아웃을 지정할 수 있습니다. * Flexbox는 다양한..

📑 nomadcorders_ReactJS로 영화 웹 서비스 만들기_DAY4

2023-05-11 #6.0 EFFECTS state가 변경되어 렌더링 될 때마다 함수를 실행하는 것이 아니라, 가장 처음 컴포넌트가 렌더링 될 때만 함수를 실행하고, state의 변화로 인한 리렌더에는 실행되지 않도록 하기 우리의 코드가 초기에 단 한번만 실행되도록 보호해준다. useEffect(function, deps) function : 단 한번만 실행할 함수. deps : 내 코드의 특정 부분만이 변화했을 때, 원하는 코드들을 실행할 수 있는 방법 deps[] 배열 안에 들어 있는 값이 변화하는 경우에만 function을 실행하도록 할 수 있다. 더보기 import {useState, useEffect} from "react"; function App() { const [counter, setV..

📑 nomadcorders_왕초보를 위한 React Native 101

React Native는 단 하나의 구조가 아니라 여러가지 인프라와 그 인프라를 연결지어 주는 bridge역할을 하나로 묶은 시스템이다. 안드로이드라면 java와 sdk(software developement kit) ios라면 xcode와 시뮬레이터를 다운 받아서 인프라를 컴파일하여 앱으로 만들어야 한다. 위의 모든 과정을 하기 위해선 설치부터 어려움이 있는데 이번 강좌에서는 자바스크립트를 제외한 모든 인프라가 컴파일 되어 있는 앱(배포용 x, 테스트용 어플)을 다운받고, 자바스크립트 코드만을 해당 앱으로 보면서 어떻게 사용되는지 테스트 할 것이다. 윈도우 사용자라면 커맨드 창을 열어서 아래의 명령어로 패키지를 다운로드 받아준다. 이때 node.js 버전은 14 이상이어야 한다. npm install ..

📑 nomadcorders_ReactJS로 영화 웹 서비스 만들기_DAY3

2023.5.9 #4.0 Props 더보기 Props : 부모 컴포넌트가 자식 컴포넌트에게 유용한 데이터를 전달하는 일종의 방식! 자바의 인터페이스 처럼 공통된 속성을 하나만 만들어서 자식 컴포넌트에게 전달하는 것과 유사한 방식인 것 같다. 함수의 인자처럼 컴포넌트에서 전달할 수 있고, 인자는 단 한개만 존재하며, 해당 인자는 Object의 형식이다. 2023.5.10 #4.1 Memo Props에는 text나 boolean값 이외에도 function을 보낼 수 있다. 이는 JSX 문법으로 html 태그 자체에 이벤트 리스너를 넣는 것과는 전혀 다르게 단지 Props의 이름이기 때문에 필요한 위치에 개발자가 직접 꺼내서 배치해야 한다. 부모 컴포넌트의 상태(state)값이 변경되면 부모 컴포넌트에 속해있..

📑 Git Authentication failed~

제목과 같은 에러를 마주쳐서 곤혹을 겪은 적이 여러 번인데 이번 기회에 한 번 정리해보고자 한다. 필자는 소스트리 또는 인텔리제이에서 커밋 푸시를 하곤 하는데 이전에 했던 레포지토리에 푸시를 하려고 한 경우 위와 같은 에러메시지와 함께 푸시가 이루어지지 않았다. 해결방법은 간단하다. 이전에 등록해주었던 토큰의 유효기간이 만료되었기 때문에 인증이 다시 필요하다는 점이다. 하지만 푸시를 하는 경우에는 에러 메시지만 나오기 때문에 git bash 터미널을 사용해서 직접 새롭게 인증을 할 수 있도록 해줘야 한다. 먼저 개인 토큰을 먼저 생성해주자. 1. Settings에 들어가준다. 2. 왼쪽 네이게이션바 중 밑으로 쭉 스크롤하여 Developer Setting을 찾아 클릭 3. personal Access T..

📑 조인의 종류와 차이점 비교 분석

샘플 데이터 베이스 구조 기본 용어 정리 JOIN : ▷◁ ※ 세타 조인 정의 R(X), S(Y), A∈X, B∈Y 에 대하여 -> 릴레이션 R과 릴레이션 S의 애트리뷰트 X, Y -> A는 X에 포함된 애트리뷰트, B는 Y에 포함된 애트리뷰트 -> 릴레이션 ≒ 테이블, 애트리뷰트 ≒ 컬럼(속성) R ▷◁AθB S = { r · s | r∈R ∧ s∈S ∧ ( r.Aθs.B) } -> A, B : 조인 애트리뷰트(join attribute) -> 조인의 기준의 되는 공통 속성 -> 릴레이션 R과 S를 조인하는 데, R의 속성 A와 S의 속성 B를 기준으로 하여 R과 S의 부분집합을 떼어서 합친다. -> 릴레이션의 결과 차수 -> R의 차수 + S의 차수 ;; 차수 : 컬럼의 개수 -> 결과 릴레이션의 애..

📑 모든 개발자를 위한 HTTP 웹 기본 지식_HTTP 상태코드

[ HTTP 상태 코드 ] 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 목차 1xx (Informational) : 요청이 수신 되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : .서버 오류, 서버가 정상 요청을 처리하지 못함 만약 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면? - 클라이언트는 상위 상태 코드(큰 범위)로 해석해서 처리한다. - 따라서 미래에 새로운 상태코드가 추가된다고 하여도 클라이언트를 변경하지 않아도 된다. - 예) 299 ??? ..