만족은 하되 안주하지는 말자

기록해야 기억한다

전체 글 168

[Spring] Spring이란 무엇인가?

spring 은 JAVA enterprise급 framework 이다. 이 정의는 'Framework' 란게 뭐지? 라는 물음으로 이어진다. 누군가 스프링이 뭐냐고 물어볼때 처음엔 나도 잘 대답을 못 했다. framework란? 반제품. 반제품을 통해 완제품을 만든다라는 비유가 가능하다. 더 용이한 개발을 위한 '틀', 혹은 '도구상자' 라고 개인적으로는 비유하고 싶다. 특징 원하는 부분만 쓸 수 있도록 모듈화 잘되어있음. IoC 컨테이너임. MVC framework를 제공. (Model View Controller) 모듈들의 예시 도구상자라 비유하고싶다 한 이유가 여기 있다. 스프링은 단순히 한 두개의 모듈만을 제공하는게 아니라 웹,데이터 처리, 테스트 등 다양한 용도의 다양한 모듈들을 제공하고 있기 ..

[파이썬] 숫자야구 만들기

게임 룰: 컴퓨터가 랜덤으로 정한 중복없는 3개의 연속된 수를 위치까지 정확히 맞춰야 함. (= 3스트라이크) 숫자가 존재하나 위치가 다를 시 : 볼 숫자가 같고 위치까지 동일 시 : 스트라이크 승리조건: 10회 안에 3 스트라이크를 달성 패배조건: 10회 안에 성공하지 못하는 경우. 3개의 숫자와 위치가 모두 다른 OUT이 3회 생길 경우. ## 입력에 예외 발생 시에도 시도 횟수가 그대로 증가함. 그걸 처리 못했다.

프로그래밍/ETC 2019.12.25

[C++][알고리즘] 프로그래머스:: 쇠막대기

잡설 스택을 활용한 알고리즘 문제 괄호 인식은 오토마타나 프로그래밍언어 수업에서 parsing 트리나 언어처리기를 공부할 때 나오던 내용인데 딱히 여기다가 그 개념을 활용한건지는 모르겠다. https://programmers.co.kr/learn/courses/30/lessons/42585?language=cpp# 코딩테스트 연습 - 쇠막대기 | 프로그래머스 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레이저의 배치는 다음 조건을 만족합니다. - 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있습니다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되,..

[C++][알고리즘] 프로그래머스:: 기능개발

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr s = (100 - progresses[i]) % speeds[i]; 속도로..

[운영체제] 프로그램과 프로세스의 차이, 프로세스와 스레드의 차이

프로세스와 쓰레드의 차이는 무엇인가. 혹은 프로세스는 무엇이고 쓰레드는 무엇인가. 동아리 면접 때도 물어본 질문인데 이번에 운영체제 공부를 하면서 희미했던 그 차이를 조금은 명확히 머릿속에 그릴 수 있었다. 프로그램? 디스크에 저장되어있는 일련의 명령어들의 집합 이 자체로는 프로세스라 할 수 없다. 그럼 프로세스란 무엇인가? 그러면 프로세스란? 그 '프로그램'이 메모리(DRAM) 에 적재되어 실행 중인 프로그램이 프로세스이다. 말하자면 프로그램은 실행중이지 않은, 동작되고 있지 않은 정적인 개체 프로세스는 실행중이기 때문에 동적인 개체라고 나누어 표현할 수 있다. 스레드란? 프로세스 내의 하나의 실행의 흐름 단위 멀티프로세싱(Processing) 과 멀티스레드(Thread) 멀티스레딩은 하나의 프로세스 ..

프로그래밍/ETC 2019.11.16