![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FcHXR/btsl5jjGRFn/2dgEMESPAbtcxyOdCkB17K/img.png)
1. C 언어 #include int main(void) { printf("hello, world\n"); }위 코드를 한 줄 씩 살펴보자 #include 는 “stdio.h”라는 이름의 파일을 찾아서 “printf” 함수에 접근할 수 있도록 해준다. int main(void)는 '시작한다'의 의미를 가지고 있다. printf("hello,world\n")는 스크래치의 "'hello, world'라고 말하기" 블록과 같은 역할을 한다. 주의할 점은 글자나 단어, 문장을 적을 때는 언제나 텍스트에 " " 쌍따옴표로 감싸야 한다. 또한 문장 끝에 세미콜론(;)을 붙여야 한다. 또한 우리가 Word로 문서를 저장했을때 "문서.docx"와 같이 .docx가 붙는 것 처럼, C로 작성한 코드는 "파일이름.c"로 ..
1.알고리즘 숫자, 글자, 색깔 등을 컴퓨터가 이해할 수 있는 2진법으로 표현하는 것은 입력(input)이다. 그렇다면 어떻게 입력에서 출력을 얻을 수 있을까? 정답은 알고리즘이라는 과정을 통해 출력할 수 있다. 즉, 알고리즘은 입력(input)에서 받은 자료를 출력(output) 형태로 만드는 처리 과정이다. 다시말해 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열이다. 또한 같은 출력값이라도 알고리즘에 따라 출력 하기까지의 시간이 다를 수 있기 때문에 제대로 된 알고리즘을 짜는 것이 중요하다. 2. 정확한 알고리즘 알고리즘을 평가할 때는 정확성, 효율성이 중요하다. 여기서 효율성의 의미는 작업을 완료하기까지 얼마나 시간과 노력을 덜 들일 수 있는 지에..
1. 문자의 표현 컴퓨터는 스위치는 ON/OFF 하면서 숫자를 표현한다. 그렇다면 문자는 어떻게 표현할까? 바로 문자를 숫자로 표현할 수 있는 약속(표준)이 있다. 그 중 하나는 ASCII(아스키코드/American Standard Code for Information Interchange)이다. ASCII는 총 128개의 부호로 정의되어 있고 알파벳 A는 10진수 기준으로 65, 알파벳 B는 66로 되어있다. 이외에도 Unicode라는 표준에서는 더 많은 비트를 사용하여 좀 더 다양한 다른 문자들을 표현할 수 있다. 예시로 Unicode는 😂(기쁨의 눈물) 이런 이모티콘 까지 표현할 수 있게 해준다. 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010 인데 만약 ..
1. 컴퓨터 과학 컴퓨터 과학이란 문제 해결에 대한 학문이다. 문제 해결은 입력(input)을 전달받아 출력(output)을 만들어 내는 과정이며 그 중간 과정을 컴퓨터 과학이라고 한다. 이러한 입출력을 표현하기 위해선 약속(표준)이 필요하다. 따라서 컴퓨터 과학의 가장 첫 번째 개념은 어떻게 표현하는지에 대한 표현 방법이다. 2. 2진법 우리가 일상에서 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 표현하는 것은 10진법이다. 하지만 컴퓨터는 이렇게 많은 숫자가 없기 때문에 오직 0과 1로만 표현하는 2진법을 사용한다. 5라는 숫자를 2진법으로 나타내어보자. 2진법에서 첫 번째자리는 2의0제곱 두 번째 자리는 2의1제곱 세 번째 자리는 2의2제곱을 나타낸다. 따라서 5..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pzu1w/btsyQRBC4n8/RfoxCgQZ99JwNLy6wsfegK/img.png)
일관성이 없는 메세지 내용은 각 커밋의 위치에서 어떤 작업을 했는지 명확하게 알아 볼 수 없다. 또한 시각적 통일성을 떨어뜨려 커밋 히스토리를 파악하는데 어려움을 줄 수 있기 때문에 협업 전 커밋 규칙을 정하는 것이 중요하다. 따라서 오늘은 커밋 메세지를 일관성있는 규칙으로 작성하는 방법을 정리하려 한다. 1. Commit Message 구조 type(타입) : title(제목) body(본문, 생략 가능) Resolves : #issueNo, ...(해결한 이슈 , 생략 가능) See also : #issueNo, ...(참고 이슈, 생략 가능) 2. 기본규칙 제목과 본문을 빈 행으로 구분 제목은 영문 기준 50글자 이하 첫 글자는 대문자로 작성 제목 끝에 마침표X 제목은 명령문으로 사용, 과거형X 본..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cXOFTX/btr0WeYv5D2/DISRfDMGAYvSKmaJ0h2Fmk/img.png)
*피드백은 언제나 환영합니다🙌 GIthub Pages로 배포까지 마치고 코드를 어떻게 짰었는지, 수정할 건 없는지 보던 와중에 휴식 탭 대신에 달력을 넣기로 결정했다. 이유는 유튜브 영상보다 투두리스트+타이머 기능이 들어있는 생산성 웹 페이지라는 큰 틀에 걸맞게(?) 달력을 넣는게 훨씬 나을 것 같다고 생각했기 때문이다. 가능하다면 작게나마 일정을 추가할 수 있게 만들어보려고 한다. 달력 만들기 1. 설치 및 날짜 설정하기 먼저 npm create-react-app [프로젝트명]을 사용해서 react 파일을 생성해준다. 나는 기존 프로젝트가 있어서 따로 생성하지 않았다. 다음으로 캘린더를 만들기 위한 핵심 라이브러리인 moment.js를 설치해준다. moment.js는 JavaScript에서 날짜 및 시..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qBkN1/btrXrMwQIUt/nTl6kjsCy5E7Ta9j3vzaq0/img.png)
*피드백은 언제나 환영합니다🙌 에러 수정하기 배포하기 전 여러 기능들이 잘 작동되는지 확인하던 중 내일 할 일 , 추후 탭에서 내용이 같은 리스트를 삭제하려고 하면 에러가 나는 것을 확인했다. Warning: Encountered two children with the same key, `산책하기`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version. 예를들어 '산책하기'라는..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xDFcY/btrXoDTXhAQ/kLInyHBWWbKJBOc9OkhiQ1/img.png)
*피드백은 언제나 환영합니다🙌 먼저 iframe태그를 이용해서 Youtube영상을 넣었다. 영상 넣는 방법은 간단하다. 먼저 원하는 영상에 들어가서 동영상 아래의 공유버튼을 누른 뒤 첫번째 버튼인 퍼가기를 누르면 이렇게 HTML 코드가 뜨는데 복사해주면 끝이다. 근데 HTML 처음 배웠을 때 비디오를 삽입하고 싶은 경우 video 태그를 사용한다고 배웠었는데 Youtube는 특이하게 iframe을 통해 동영상을 넣어야 한다. - 자동재생, 음소거, 반복재생 등 영상의 옵션은 주소의 매개변수(파라미터)로 작성하면 되고 추가적으로 넣을 매개변수는 &를 사용하면 된다. 나는 자동재생과 음소거를 하기 위해 autoplay와 mute를 각각 1로 설정했다. 이렇게 하면 영상 재생은 잘 된다. 그런데 콘솔창을 보면..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BrJoz/btrNocsEYbw/53s3cEOQwYhg4qkYaZNkx0/img.png)
*피드백은 언제나 환영합니다🙌 오늘은 Tomorrow.js와 Someday.js 투두리스트 만드는 과정을 다뤄볼 예정이다. Tomorrow.js와 Someday.js Today.js의 투두리스트와 다르게 완료 체크, 수정 기능이 없어서 비교적 간단하게 만들 수 있었다. Tomorrow.js 먼저 input에 들어갈 텍스트를 담기위해 state를 하나 생성했다. let [text, setText] = useState(""); 그리고 onChange 속성을 이용해 input에 들어가 있는 값을 실시간으로 받아올 수 있도록 했다. { setText(e.target.value); }} value={text} placeholder='✔ 할 일 추가 (Press Enter)' /> 제출 버튼을 없앴기 때문에 엔터를..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/etzz0e/btrNif3RHkv/ytll6syqA5AqH1j0O0OFAK/img.png)
*피드백은 언제나 환영합니다🙌 오늘은 랜덤 명언 표시 기능을 다뤄보려고 한다. 먼저 QuotesDatabase.js 컴포넌트를 새로 만들었다. 그리고 Today.js 에 import 해주었다. 완료한 작업 개수 : {done} 그리고 명언과 작가가 담긴 배열을 만들었는데 너무 긴 명언은 뺐다. const quotes=[ { "quote": "You can observe a lot just by watching.", "author": "Yogi Berra" }, { "quote": "A house divided against itself cannot stand.", "author": "Abraham Lincoln" }, { "quote": "Difficulties increase the nearer we ..
- Total
- Today
- Yesterday
- map
- 비제어 컴포넌트
- html
- rest parameter
- react
- 스프린트프론트엔드6기
- 배열
- 중급 프로젝트
- 코드잇 스프린트
- hydrationboundary
- javascript
- GitHub
- Target
- currentTarget
- arguments
- 유사배열객체
- 객체
- js
- Next.js
- Git
- 취업까지달린다
- innerhtml
- 비동기
- 제어 컴포넌트
- tanstackquery
- 프론트엔드
- 리액트
- 동기
- 코드잇스프린트
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |