전체 글 140

PHP (1) - 데이터를 전송해보자 (POST, GET 방식)

졸업 연구를 통하여 PHP를 이용한 웹서버 프로젝트를 하였습니다. PHP 언어를 본격적으로 공부하였는데 조금씩 적어보려고 합니다. HTTP 전송방식에서 데이터를 전송할 때 여러 가지 방식이 있지만 가장 기본적인 두 가지 방식 GET와 POST 방식을 사용할 수 있습니다. 두 가지 방식에 대하여 알아보는 시간을 가져보겠습니다. GET GET 방식은 URL에 키와 값을 입력하여 데이터를 전송하는 방식입니다. URL의 "?" 뒤에서부터 쿼리스트링으로 데이터를 전달합니다. 예시에서는 로그인 정보를 적었는데 실제로 GET 방식을 사용하게 되면 URL이 다 노출되어 사용하면 안 됩니다. 또 다른 단점으로는 GET 방식 같은 경우에는 URL을 이용하여 글자 수 제한이 있습니다. 하지만 GET방식은 여러 번 데이터를 ..

컴퓨터/PHP 2022.12.30

일상 - 2022년도에 세웠던 목표와 평가

블로그에 직접적으로 목표에 관한 이야기를 적은 적이 없었는데 개인적으로 세웠던 목표들이 있었습니다. 2022년도 얼마 남지 않는 만큼 해당 목표들에 대하여 어디까지 달성하였나 rewind 하기 위하여 글을 작성해 보았습니다. 2022년도 목표 목표 운전면허 취득하기 쌍기사 달성하기 기존에 하는 업무들 마무리 짓기 경북에서 정직원으로 취직하기 헌혈 5회 일주일에 한번씩 보문 라이딩 코딩 프로젝트 2회 이상 경험하기 일주일에 한번씩 게시글 적기 이렇게 적었습니다. 해당 계획에 대하여 크게 섹션을 나뉘면 다음 4가지로 나타낼 수 있습니다. 자격증 / 헌혈 프로젝트 활동 정기적인 업무 자격증 / 헌혈 목표 결과 운전면허 취득하기 취득 완료! (2종 자동) 쌍기사 달성하기 기사 1개 취득 (전자계산기 조직응용기사..

일상 2022.12.24

JavaScript (4) - FileReader를 이용하여 이미지 미리보기 구현

웹사이트 특히 게시글 관련으로 만들다보면 첨부파일에 따른 이미지 미리보기 기능이 필요합니다. 이번에는 간단하게 FileReader방식을 이용하여 이미지 미리보기를 구현하도록 하겠습니다. 알아야 할 것 FileReader FileReader는 input 태그중 file타입 혹은 API 요청등으로 전달한 File 또는 Blob 객체를 편리하게 처리할 수 있는 객체입니다. 해당 객체는 사용자의 조작에 따른 이벤트 핸들러를 가지고 있습니다. 여기에서는 이벤트 핸들러를 표를 통하여 소개하려고 합니다. 이벤트 핸들러 설명 onload 읽기 동작이 성공적으로 완료 하였을때 발생한다 onerror 읽기 동작에 에러가 생길때 발생한다. onabort 읽기 동작이 중단될때 발생한다 onloadstart 읽기 동작이 실행될..

Python (8) - Base64 방식을 이용한 이미지 인코딩, 디코딩

졸업연구를 하던중 Base64 방식을 이용한 다양한 인코딩과 디코딩을 접하는 기회가 있었습니다. 해당 글에는 Base64란 무엇인가 그리고 파이썬을 이용한 인코딩, 디코딩을 올려보도록 하겠습니다. Base64 Base64코드는 64개의 문자로만 이루어진 문자 코드입니다. 우리가 일반적으로 사용하는 ASCII 코드는 128가지의 문자로 이루어져 있습니다. 따라서 매칭하여 문자열로 변환할 수 있습니다. 여기서 ASCII 코드를 사용하지 않은 이유는 문자만 이루어져 있지 않기 때문입니다. 문자열로만 전송하는 경우에는 상관이 없으나 인코딩하여 전송하는 경우에 오류가 날 수 있습니다. 안정적으로 인코딩을할 때 사용하기 위하여 해당 문자 코드가 사용됩니다. 안정적으로 변환할 수 있으나 단점 또한 있습니다. 위의 그..

컴퓨터/Python 2022.12.15

Git - 깃허브에 데이터를 업로드, 다운로드하자 (초보자 ver)

최근에 프로젝트를 하면서 깃허브에 협업하게 되었습니다. 혼자 했을 때는 폴더에 놓고 다른 폴더를 통하여 이전 소스 코드에 대한 버전 관리만 하면 되었는데 여러명에게서 작업하는 경우에 결국 하나의 컴퓨터에 합해야 한다는 문제가 있고 깃허브를 이용하여 해당 문제를 해결하였습니다. 깃허브에 수정한 데이터를 올리는 방법을 이야기하려 합니다. 깃허브에 데이터를 업로드 및 다운로드 방법 git clone https://github.com/kmsbio/kmsbio #다른 리포지터리의 데이터를 가져온다 #======================================== git add a.txt #a.txt 파일을 추가한다 git commit -m 'hello' #hello라는 메시지와 함께 추가한 파일을 git..

컴퓨터/기타 2022.12.12

일상 - 전자계산기조직응용기사 자격증 합격수기 (전공자 시점)

인턴으로 바쁘게 지내던 중 시험을 한번 쳤었습니다. 해당 시험에 자격증 시험의 결과가 나왔습니다. 높은 점수는 아니지만 여유롭게 붙었습니다. 해당 자격증을 준비하는 다른 사람들이 있을 것이라고 판단하여 자유롭게 합격수기를 작성해보려고 합니다. ※ 저는 참고로 정보통신 관련 전공을 대학교에서 배우고 있습니다. 필기전공자의 입장으로서 필요한 것은 전공에서 배우지 않았던 부분에 대하여 다시 한번 공부하는 것과 많은 문제들을 통하여 해당 시험에 대한 감을 익히는 것입니다. 먼저 많은 문제는 CBT를 통하여 문제에 대한 감을 잡았습니다. 그리고 배우지 못한 부분에 대하여는 따로 인터넷에서 공부를 하였습니다.전자계산기조직응용기사1. 전자계산기 프로그래밍2. 자료구조 및 데이터통신3. 전자계산기구조4. 운영체제5. ..

일상 2022.12.07

Excel - 전역일 계산기를 만들어보자

제가 군대에 있을 때 전산 보직으로서, 또 여러 가지를 만들기 위해 엑셀을 배웠습니다. 간단하게 전역일 계산기를 제작하였는데 만들었던 방법을 소개하려고 합니다. ※ 만드는 방법을 소개시켜드리는 것뿐 제작으로 인한 피해는 본인에게 있습니다. ※ 제가 사용하는 작업 환경은 폴라리스 시트입니다. (그대로 진행하면 상관없어서 해당 프로그램으로 진행하였습니다.) (한셀도 가능합니다) 제작하려고 하는 기능 요약 입영일,전역일,현재 날짜만 알면 아래의 기능을 자동으로 인식시킨다. 복무기간, 한날, 남은 날, 실근무일, 백분율(%) 백분율(%)을 인식하여 바의 형태로 제작한다. 제작 과정 1. 입영일, 전역일, 오늘 날짜를 적어둡니다. 오늘 날짜는 Today() 함수를 이용하여 적고 나머지는 자신의 입대일자와 전역일자..

컴퓨터/기타 2022.08.08

임베디드 - 아두이노(MCU) vs 라즈베리파이(MPU)

언젠가는 꼭 써보고 싶었던 특집인데 그동안 밀어두다가 적게 되었습니다. 임베디드에서 교육용으로 보통 아두이노(ATmega128) 혹은 라즈베리파이(ARM)를 많이 사용합니다. 임베디드에 조금이라도 관심을 가지시는 분들은 아시겠지만 엄연하게 사용하는 역할이 다릅니다. 이번에는 각각의 차이점을 알아보는 시간을 가져보도록 하겠습니다. 우선 시작하기 앞서서 스포 하자면 둘의 가장 큰 차이는 운영체제를 사용할수 있는 유무가 가장 큰 차이점입니다. 아두이노 VS 라즈베리파이 위에서 말한 것과 같이 아두이노와 라즈베리파이의 차이점은 운영체제를 돌릴수 있는 것의 차이입니다. 아두이노 같은 경우에는 외부 프로그램을 사용하여 업로드하면 직접 핀을 제어합니다. 하지만 라즈베리파이 같은 경우에는 운영체제 안에서 직접 프로그래..

일상 - 버즈 프로를 구매하다 (아이폰과 윈도우11 사용 후기)

최근에 당근마켓에서 좋은 가격으로 얼마 안 쓴 버즈 프로를 구매하였습니다. 괜찮은 무선 이어폰을 처음 사본 후기로 오랜만에 제품을 리뷰해보겠습니다. 제품과 제품 사이의 호환성을 중심으로 리뷰를 하려고 합니다.유선 이어폰을 선호했었다 (일상)제품 리뷰를 시작하기 앞서 저는 원래 유선 이어폰을 좋아하는 사람입니다. 휴대폰으로 리듬게임을 하게 될 때 무선 이어폰을 사용하는 경우에 미세한 싱크 차이에 반응해서 유선 이어폰만 사용했었습니다. (당시에 가성비 제품을 사용하였는데 눈에 보이고 버즈로도 오랜만에 해보니까 무선 특유의 딜레이는 어쩔 수 없는 것 같습니다.) 세월이 흘러 오락실 빼고는 더 이상 리듬게임을 하지 않게 되었습니다. 노트북도 태블릿 같은 이용으로 사양을 낮추고 하다 보니 저에게 편리함이 주요 가..

일상 2022.07.27

라즈베리파이 (5) - 스위치를 이용하여 인터럽트를 구성하자

우리가 어플 같은 것을 사용할 때 버튼을 누르면 이벤트를 발생합니다. 이 버튼이 while문안에 다 들어가서 작업을 할 수도 있지만 시간은 흐르는데 메모리등 많은 것을 손해보게됩니다. 이럴 때 우리는 인터럽트를 발생시켜 버튼을 누른 경우 처리합니다. 이번에는 이러한 인터럽트에 대하여 알아보겠습니다. 인터럽트란? 인터럽트라는 영어단어(interrupt)에는 '중단시키다'라는 뜻을 가지고 있습니다. CPU가 프로그램을 실행하고 있을 때, 장치에 예외상황이 발생하여 처리가 필요할 때 기존의 프로그램을 중단시키고 마이크로프로세서가 다른 것을 먼저 처리하는 것을 말합니다. 인터럽트를 사용하지 않고 스위치를 제어하려고 할 때에는 항상 대기하는 방식으로 구성을 해야 하므로 성능의 손해가 발생합니다. 라즈베리파이에서 ..