본문 바로가기

전체 글

[통신] UART, SPI, I2C 통신이란? 안녕하세요 인포돈 입니다. 통신이란? 우리는 앞선 제목을 이해하기 위해서 통신이 무엇인지 간략하기 짚고 넘어갈 필요가 있다. 통신을 나누는 기준은 정말 다양한다. 우리 주변에서 통신이라고 할 수 있는 것들을 모두 떠올려 보자. 기본적으로 TV와 리모컨 / 컴퓨터의 인터넷 / 무전기 / 블루투스 / WIFI 이외에도 정말 다양한 통신을 활용해오고 있다. 그렇다면, 우리는 이러한 통신들을 사용하기 위해서는 어떠한 통신이 무엇을 어디로 보내기 위해 활용되고 있는지 알아야 한다. => 기본적으로 통신은 데이터를 주고받는 행위들을 의미한다. 그렇다면 어떻게 통신을 분류할 필요성이 있다. 통신을 분류하는 여러 기준점들이 있다. - 직렬/병렬 - 단방향/양방향 - 유선/무선 - 동기식/비동기식 - 베이스밴드/브로드밴.. 더보기
[Git]Git Push할 때 Email관련 라인이 있다면 푸쉬가 안된다? (Block command line pushes that expose my email) 안녕하세요 인포돈 입니다. Git Push error: GH007 오류 Git에서 Push를 할 떄 아래와 같은 오류 문구가 나타날 수 있다. 이때 우리는 간단히 몇가지 해결방안으로 해결해 볼 수 있다. Total 13 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 0% (0/2) remote: Resolving deltas: 50% (1/2) remote: Resolving deltas: 100% (2/2) remote: Resolving deltas: 100% (2/2), completed with 2 local objects. remote: error: GH007: Your push would publish a priv.. 더보기
[Spring] Interceptor는 무엇인가? Security와 Filter의 차이점은 무엇이고, 언제 사용할까? 안녕하세요 인포돈 입니다. Spring을 학습하다 보면, 우리는 로그인 구현하기 위해서 Security를 보통 처음 접하게 된다. Security를 통해서 들어오는 요청을 걸러내, 올바른 요청만 Controller에 도착을 할 수 있도록 만들어 로그인 기능을 구현하게 된다. 그렇다면, 우리는 Interceptor와 Security, Filter 3가지에 대해서 파 해치고 Interceptor에 대해 익혀보자. Security와 Filter란? Security에 대한 설명은 정말 무수히 많은 블로그에 정리가 되어있다. 나는 이러한 Security에 대해서는 아주 간략히 접하고 넘어갈 볼 것이다. Security는 사용자의 '인증'과 '권한'에 대한 부분은 Filter의 흐름에 따라 처리하는 Spring의 .. 더보기
[MyBatis - Spring]Parameter not found. available parameters are 오류 안녕하세요 인포돈 입니다. * 참고사항 - 개발환경은 Intellij을 기준으로 작성되었습니다. - Spring 환경에서 사용하는 MyBatis입니다. MyBatis 인자를 인식하지 못하는 문제 MyBatis를 활용하다 보면, 가끔씩 인자를 인식하지 못하는 경우가 있다. 그렇다면 어떠한 경우에 이러한 오류가 생길까? 우선 내가 접한 문제는 아래 코드에서였다. @Insert(""" """) void write(String subject, String content); 단순히 값을 넣어주는 코드였다. 그러나 알 수 없는 이유에서 subject의 인자를 찾을 수 없다는 오류가 계속해서 나왔다. 이를 좀만 검색해 본다면, 금방 해결할 수 있다. 바로 아래 코드처럼 어노테이션을 붙여서 명확히 표현해 주면 된다. .. 더보기
[C언어] 변수 타입과 서식 지정자 안녕하세요 인포돈 입니다. 변수 타입 C언어에서 제공하는 변수 타입에 대한 설명이다. 해당 표 하나면 변수 정리가 깔끔하게 끝난다. 기억해 두자 서식 지정자 보통 서식지정자는 화면에 출력할 때 많이 사용해보았을 것이다. 각 타입에 맞는 서식지정자는 아래 표와 같다. %ld long %f float %lf double %c char %s char* %u unsigned int %lu unsigned long 더보기
[CS모음]CPU의 구조와 동작 방식, 메모리(Heap, Stack)구조 안녕하세요 인포돈 입니다. CPU의 구조와 동작 과정 CPU의 구조와 어떻게 동작하는지에 대해서 이해해본다. CPU의 구조에는 크게 제어 장치(Control Unit) // 산술 논리 장치(ALU) // 레지스터(Register) 3가지로 구성되어 있다. 각각의 담당하는 역할을 아래와 같다. 제어 장치(Control Unit) : 제어 산술 논리 장치(ALU) : 계산 레지스터(Register) : 저장 그렇다면 이렇게 3가지의 구성품들이 도대체 어떻게 동작하여 컴퓨터를 동작하게 하는지 알아야 한다. 이때 우리는 좀 더 자세히 레지스터를 나누어 보아 생각해 보아야 한다. CPU에 존재하는 레지스터 종류 프로그램 카운터 (PC) : 다음에 실행할 소스 코드 라인 주소 정보 저장 명령어 레지스터 : 현재 실.. 더보기
[HTML/CSS] 1차, 2차, 3차 드롭 다운 메뉴 바 구현하기 안녕하세요 인포돈 입니다. 백엔드를 학습하고 있는 입장에서 정말 css를 구성하는 것만큼 귀찮은 작업은 없다고 생각합니다 ㅜㅜ 그러나 테스트를 위해서, 간단한 메뉴 바 정도는 정말 빠르게 만들 수 있도록 틈틈이 연습해 두시면, 도움이 되는 것을 알아두세요! 때문에 이번 포스트에서는 1차, 2차, 3차 드롭 다운 메뉴 바를 만든는 법을 이해해봅시다. 1차 드롭다운 메뉴 바 HTML 코드 더보기 아이템 1 아이템 2 아이템 3 css 코드 더보기 /* 초기화 작업 */ body, ul, li{ margin : 0; padding : 0; list-style : none; } a{ text-decoration: none; color:inherit; font-weight : bold; } .box { text-.. 더보기
[HTML/CSS] display와 positon의 이해 안녕하세요 인포돈 입니다. 기업에는 CSS에서 가장 기초지만, 많이 사용하고 모르면 CSS를 다루기 힘들어지는 display와 position에 대해 이해해 보자 Display css를 활용하기 위해서 display의 개념을 확실히 이해하는 게 좋다. display에 넣을 수 있는 값들이 굉장히 많지만, 전문적인 frontend를 꿈꾸고 있지 않는 이상, 많은 개념을 알 필요가 없다. 크게 2가지만 알고 있으면 된다. 1) display : block 해당 block의 기능은 아래 특성만 기억하면, 완벽하다. - 설정되어 있지 않으면, 너비는 최대한으로 넓어진다. - 설정되어 있지 않으면, 높이는 최소한으로 줄어든다. - 세로 배열로 정렬된다. - 이를 블록화라고 부른다. 정말 별로 어렵지 않다. 너비가.. 더보기