일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- 기계학습
- n과 m
- 실버
- BOJ
- 4948
- 백준
- streamlit
- 경사하강법
- 가상환경
- 백트래킹
- 밑바닥부터 시작하는 딥러닝
- 15649
- 개발환경
- 파이싼
- 설정
- N-Queen
- 9020
- 1101
- end to end
- 1002
- 신경망 학습
- pyenv
- Python
- Mac
- 재귀
- 손실함수
- 그리디 알고리즘
- Today
- Total
목록전체 글 (181)
파이톨치
# Bootstrap # Alerts 뜻 그대로 알람을 줄 때 사용하는 것 같다. Alerts Alerts are created with the .alert class, followed by a contextual color classes: Success! This alert box could indicate a successful or positive action. Info! This alert box could indicate a neutral informative change or action. Warning! This alert box could indicate a warning that might need attention. Danger! This alert box could indicate a..
# Bootstrap 이건 무료 프론트엔드 프레임워크이다. 이것을 사용하면 반응형 웹 디자인을 만들 수 있다. 반응형은 모바일, pc 등등에서 다양하게 적용가능한 것이다. 사용방법은 간단하다. 따로 설치할 필요없이 사용할 수 있다. 다음을 써주기만 하면 된다. 부트스트랩은 html tag의 class 이름을 사용하여 적용할 수 있다. container class 를 사용해서 본문 내용을 적을 수 있다. 콘테이너 클래스를 사용하면 양쪽에 공백을 넣을 수 있다. 따라서 화면이 커지든 작아지든 그에 따라서 본문 사이즈가 달라지는 것이다. fluid 라는 키워드를 사용하면 양쪽을 채워서 만들 수도 있다. # 컨테이너 Column 1 Lorem ipsum dolor sit amet, consectetur adip..
Superscalar Processor 위키백과에 따르면 슈퍼스칼라(superscalar)는 CPU 내에 파이프라인을 여러 개 두어 명령어를 동시에 실행하는 기술이다. 라고 한다. 동적으로 스케줄링하면서 사용함으로써 병렬적으로 쓰면서 효율 높이는 것이다. 하지만 명령어 사이에 데이터 의존성, 자원 의존성, 프로시저 의존성이 존재하는 경우에는 동시실행에 제한이 있다. 다음과 같은 코드가 있을 때 다음과 같이 실행이 되는데 p1 * p2를 하기 위해서는 앞에서 한 연산의 결과가 필요하기 때문에 의존성이 있다. 스테이지에서 스테이지로 넘어가는 형태로 연산이 된다. Haswell CPU 하스웰은 단일 곱셈-누산기(영어: Fused multiply-add, FMA) 명령어를 적용할 첫 인텔 x86/x64 CPU이..
Program Optimization 알고리즘 시간에 asymptotic 복잡도를 배우지만 이것 이외에도 프로그램 성능에 영향을 미치는 요소들이 많다. 물론 점근적인 접근법도 중요하지만 이러한 최적화 문제도 중요하다. 많은 부분에서 컴파일러는 프로그래머를 대신해서 최적화를 진행해준다. 하지만 컴파일러가 만능은 아니기 때문에 우리는 컴파일러가 해줄 수 있는 부분과 없는 부분에 대해 이해하고 있어야 한다. 프로그램은 곱하기 보다 더하기에 강하다. 곱하기 연산자보다 더하기 연산자가 더 빠르기 때문이다. 그렇기에 프로그램은 곱하기 보단 더하기를 만들어 주는 방향으로 설계되어 있다. 또한 불필요하게 중복되는 연산도 있을 것이다. 그러한 것들을 줄여주는 것을 컴파일러가 해준다. Generally Useful Opt..
# 성능 컴퓨터의 성능은 2가지 관점으로 체크할 수 있다. 하나는 "응답시간"인데, 하나의 작업을 수행하는데 얼마나 시간이 걸리는지를 체크하는 것이다. 다른 하나는 "처리량"인데, 단위시간당 수행한 작업의 양을 말한다. 응답시간에 초점을 맞추어 설명을 하자. 그렇게 되면 응답시간이 짧으면 짧을수록 성능이 좋아지는 것이다. # CPU 시간 컴퓨터가 프로그램을 실행할 때 걸리는 시간을 경과 시간이라고 한다. 하지만 이 경과 시간에는 순수 프로그램 실행시간만 들어가는 것이 아니다. 디스크 접근하고 메모리 접근하고 입출력하고 하는 등의 모든 시간을 더한 것이다. 때문에 순수하게 프로세서가 프로그램을 실행하는 시간을 구분해서 CPU 시간이라고 말한다. CPU 시간은 프로그램의 CPU 클럭 사이클 수 / 클럭 속도..
# 프로그램 밑의 세계 우리 개발자들은 코드를 작성한다. 프로그래밍을 공부하지 않은 사람들이 보기에는 이 코드들도 복잡해 보이지만 실제로는 더 복잡한 일들이 일어난다. 우리가 사용하는 코드들은 고급언어로 Application Software로 구분된다. 이러한 고급 언어들을 컴파일러가 기계어 코드로 변환해주고 이를 하드웨어와 소통해서 동작한다. 고급언어를 사용함으로써 우리는 추상화를 해 문제를 풀고 생산성을 높인다. 그러면 거치고 거쳐서 이런 식으로 컴퓨터가 연산할 수 있는 데이터가 된다. # 추상화 컴퓨터는 0과 1로 이루어진 데이터만을 취급한다. 하지만 이것은 우리가 이해하기 너무나 어렵다. 그래서 우리는 이것을 추상화 시켜서 단순하게 만들었다. 명령어 집합 아키텍쳐를 만들었다. 이것은 기계가 이해하..
CSS html과 마찬가지로 CSS도 무언가의 약자이다. Cascade Style Sheet 의 약어이다. 여기서 궁금한 점은 Cascade가 무엇인지이다. 어디서 본 것 같기도 하고 처음 보는 것 같기도 한 단어였다. Cascade는 폭포라는 뜻인데, 여기서 의미하는 것은 다음과 같다. 동일 html element에 대하여 여러가지 스타일이 적용될 때 마지막에 적용된 스타일을 적용한다는 의미이다. CSS는 html의 스타일링을 담당하는 언어이다. 화면에 보여줄 때 html 요소들을 변형하고 디자인 하는 것은 CSS가 하는 것들이다. CSS 문법은 다음과 같다. 이를 보기 좋게 표현하면 이런식으로도 쓸 수 있다. h1 { color:green; font-size: 36px; text-align: cent..
맹목적 탐색의 경우에는 공간이 크지 않을 때는 좋을 수 있다. 최적의 수를 보장할 수 있기 때문이다. 하지만 바둑과 같이 경우의 수가 커지게 되면 이를 활용하기 어렵다. 평생 연산해도 부족할 만큼의 경우의 수가 발생하기 때문이다. 바둑을 두는 경우에 바둑에는 정석과 같은 수들이 있다. 즉, 확률적으로 높은 수가 있다는 이야기이다. 우리는 이러한 것들을 정보라고 보고 이를 이용해서 탐색해야 한다. # 휴리스틱 휴리스틱은 그리스어에서 기원한 단어이다. 찾다, 발견하다라는 말을 뜻하는데 신속하게 어림짐작해서 찾는 것을 말한다. 사람으로 치면 직관을 이용하는 것이다. 직관을 이용하면 항상 최적일 수는 없지만 빠른 시간 안에 괜찮은 결과가 나온다. 컴퓨터도 이와 비슷한 방식을 이용한다. 우리의 관심 사는 어떤 노..