분류 전체보기
[C] [포인터] 배열 원소 값 뒤집기
1. 예제 내용 #define COUNT 10 double arr[COUNT] = { 1.2, 3.1, 4.3, 4.5, 6.7, 2.3, 8.7, 9.5, 2.3, 5.8 }; 실수형 배열에 대해서 원소들을 역순으로 초기화하는 reverse_array 함수 생성, 크기가 10인 double 배열을 reverse_array 함수에 적용하여 출력 2. 출력 결과 Before : 1.2 3.1 4.3 4.5 6.7 2.3 8.7 9.5 2.3 5.8 After : 5.8 2.3 9.5 8.7 2.3 6.7 4.5 4.3 3.1 1.2 3. 정답 코드 #include #define COUNT 10 double reverse_array(double* arr) { int l = 0; // 배열 왼쪽 첫 원소의 위..
[C] rgb 값을 입력 받아 색상 코드 출력
컴퓨터 시스템에서 색상을 표현하는 방법 중에 RGB 표기법은 red, green, blue에 8비트씩을 사용해서 색상을 표현하므로 24비트 트루컬러라고 한다. 컴퓨터 시스템에서는 32비트 데이터의 최하위 바이트부터 red, green, blue의 순서로 색상 정보를 저장하고 최상위 바이트는 사용하지 않고 0으로 채운다. 0~255사이의 값을 red, green, blue의 순서로 3개 입력받아서 RGB 색상을 만들어서 출력하는 프로그램을 작성하시오. RGB 색상을 출력할 때는 바이트 단위로 값을 알아보기 쉽도록 16진수로 출력한다. 조건 : red, green, blue 값을 입력받을 때 0~255 범위의 값을 입력받아야 한다. 만약 255보다 큰 값을 입력하면 오버플로우로 처리하게 구현하시오. 즉, 예..
[Python] WinError 5 권한 오류로 인한 설치 액세스 거부
Python에서 Package를 설치하다 권한 오류로 인해 터미널에 아래와 같은 문구가 뜨며 설치가 안될 때가 있습니다. ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 액세스가 거부되었습니다 이런 경우 cmd 를 관리자 권한으로 실행시킨 후 패키지 설치 절차를 진행하시면 됩니다. pip install 패키지명
[Python] turtle 그래픽 창을 재시작하는 방법
how to reset the turtle graphics window `turtle.mainloop()` 일명 `turtle.Screen().mainloop()`(또는 `turtle.Screen().exitonclick()`, 등) 가 없으면 프로그램이 종료되어 모든 것이 닫히기 때문에 창이 닫힙니다. 이것은 스크립트가 Python IDLE -n 내에서 실행되지 않는 한 turtle 그래픽 프로그램의 마지막 명령문이어야 합니다. `turtle.done()` (창을 닫거나 재설정하지 않습니다.) 동의어 `turtle.mainloop()` `turtle.clear()` 이 turtle이 그렸던 모든 것을 삭제합니다. `turtle.reset()` 이 turtle의 상태(예: 방향, 위치 등)를 수행한 `t..
[CSS] 구글 폰트(Google fonts) 적용 방법
1. 사이트 들어가기 (https://fonts.google.com/) 2. 원하는 폰트 선택하기 저는 ubuntu 폰트를 가져다 사용하기로 했습니다. 3. 사용할 폰트 스타일 추가하기 + Select this style 을 클릭하여 사용할 스타일을 선택 · 추가할 수 있습니다. 저는 Unbuntu 폰트의 300, 400, 500, 700 스타일을 사용하기로 했습니다. 이후 상단의 Selected family 박스를 클릭하여 추가한 폰트 스타일들을 확인할 수 있습니다. 4. CSS에서 폰트 불러오기 선택한 폰트 스타일을 불러오는 방법은 HTML에서 받느냐 혹은 CSS에서 받느냐로 나뉘는데, 필자는 CSS에서 받아오는 방식이 더 직관적이기 때문에 @import 방식을 선호합니다. 위의 그림처럼 Select..
헤르만 헤세, ≪수레바퀴 아래서≫ 서평
자전적 이야기 구성은 자기 치료의 수단 "헤세는 위기 극복 방식에 있어서 자신이 존경했던 괴테의 전통을 따르고 있다. 일찍이 괴테가 ≪젊은 베르테르의 슬픔≫을 쓰면서 자신의 우울증, 자살 소동에서 해방되었듯이, 헤세도 ≪수레바퀴 아래서≫를 쓰면서 마울브론 신학교에 입학했다 퇴학당하고, 그로 인해 우울증과 신경증 때문에 정신 치료를 받아야했고, 자살 기도도 여러 번 했던 그의 청소년기의 위기에 대한 기억으로부터 자신을 해방시킨다. 다시 말해서, 글쓰기란 작가 헤세에게는 자기 치료의 과정인 것이다." INFJ가 헤세의 작품을 사랑할 수 밖에 없는 가장 강력한 이유가 바로 이것이라고 느낀다. '자전적 이야기의 구성은 자기 치료의 수단'이라니, 와 어떻게 이런 해석을 할 수가 있을까? 수레바퀴 아래서는 19세기..
[JS] 콜백 Callback
콜백(Callback) 은 함수의 인수로 사용되는 함수를 뜻합니다. function timeout(cb) { setTimeout(() => { console.log('HEROPY!') cb() // callback 함수 }, 1000) } timeout(() => { console.log('Done!') }) 위 코드의 cb() 처럼 특정한 실행위치를 보장해주는 방법으로 활용합니다. 참고문헌 https://developer.mozilla.org/en-US/docs/Glossary/Callback_function Callback function - MDN Web Docs Glossary: Definitions of Web-related terms | MDN A callback function is a fu..
[JS] 호이스팅 Hoisting
JavaScript 는 특이하게도 호이스팅(Hoisting) 이라는 기능이 탑재되어 있는데, 이는 함수 선언부가 유효범위 최상단으로 끌어올려지는 현상을 일컫는 말입니다. const a = 3 // 함수 출력단 double() // 함수 선언부 function double() { console.log(a * 2) } 이해하기 쉽게 설명하자면, 어떤 프로그램이던 코드를 위에서부터 아래로 읽어내려가지만 JavaScript 의 경우 호이스팅을 통해서 함수 출력을 선언보다 상단에 입력하더라도 문제없이 컴파일 되는 것입니다. 만약 코드를 해석함에 있어서 '왜 선언이 되지 않은 함수가 이곳에 출력되있지?' 라고 의문을 품을 필요 없이 '이 출력단 이후 어딘가에 함수를 선언해두었구나' 라고 생각하시면 되겠습니다. 참고..
[JS] 화살표 함수 Arrow function
// 화살표 함수 // () => {} vs function () {} const double = function (x) { return x * 2 } const doubleArrow = (x) => { return x * 2 } double 과 doubleArrow 변수 둘 다 같은 결과를 도출하지만 화살표 함수 표현(arrow function expression)은 function 표현에 비해 구문이 짧고, 화살표 함수는 항상 익명이라는 점에 차이가 있습니다. 이 함수 표현은 메소드 함수가 아닌 곳에 가장 적합합니다. 그래서 생성자로서 사용할 수 없습니다. const doubleArrow = x => x * 2 화살표 함수는 return을 지정해주지 않아도 실행문을 출력할 수 있으며, 매개변수가 하나..
export 문으로 내보내기 / import 문으로 가져오기
export 문은 JavaScript 모듈에서 함수, 객체, 원시 값을 내보낼 때 사용합니다. 내보낸 값은 다른 프로그램에서 import 문으로 가져가 사용할 수 있습니다. 다시말해 .js 파일을 만들어 export default function functionName() {} 선언하면 내보낸(export) 함수의 기능을 다른 .js 파일에서 import funcionName from'./fileName' 를 통해 가져다 사용할 수 있습니다. 이 기능을 왜 사용하나요? 어떠한 함수를 여러 개의 .js 파일에서 사용해야 하는 경우, 일일이 함수 선언을 복사 붙여넣기 하는 것보다 더 효율적이기 때문입니다. 참고문헌 https://developer.mozilla.org/ko/docs/Web/JavaScript..