본문 바로가기

전체 글에 해당하는 글들

201 Articles matched
목록이 없습니다.
[HTTP] 미디어 타입 (MIME Type) MIME 타입 개념 및 탄생이유 MIME은 Multipurpose Internet Mail Extensions (다목적 인터넷 메일 확장) 이 풀네임인데 이름에서 알 수 있듯이 원래는 전자메일(이메일) 시스템을 위해서 만들어진 개념이다. 전자우편은 7비트 ASCII 코드를 사용하여 전송되기 때문에 문자 데이터 이외의 바이너리 데이터(이미지, 동영상, 엑셀 등)를 주고 받을 수 없었다. 이 때문에 주고 받을 때 규칙을 정해서 이미지를 규칙에 맞게 ASCII 코드로 변환하여 보내고 받는 쪽에서는 규칙에 맞게 다시 ASCII 코드에서 바이너리 데이터로 변환하도록 해서 주고받았다. 이 때 사용된 규칙이 바로 MIME type이다. MIME type을 통해 ASCII 코드만 전송할 수 있었던 전자우편의 한계를 넘..
[Mybatis] Null 컬럼 누락 현상 상황 프로시저를 통해서 다양한 쿼리를 구성하는 상황에서 어느 순간 에러가 발생했다. 처음에는 프로시저가 문제인줄 알았으나 원인 파악을 해보니 null 데이터가 들어가있는 경우 해당 컬럼이 생략된 채로 결과가 나오는 바람에 에러가 발생했다. 해결 이는 mybatis에서 설정이 가능하다. 아래 setting 태그를 mybatis 설정 xml 파일에 추가해주면 된다. 위와 같이 셋팅해주면 null 데이터인 컬럼도 함께 나온다. 쉽고 간단하게 해결했다.
[Ubuntu] SFTP 사용법 FTP? SSH? SFTP? FTP는 File Transfer Protocol의 약자로 TCP/IP 계층을 통해서 파일을 전송하는 프로토콜입니다. 예전에는 FTP가 많이 사용되었지만 인터넷의 보급이 활발해지고 악용하는 사례도 늘어나며 해킹문제도 심각할 때 쯔음 보안이 중요해지면서 요즘에는 보안적으로 취약한 FTP는 거의 사용되지 않는 것 같습니다. 저도 FTP는 안쓰고 주로 SFTP를 사용합니다. 앞에 붙은 알파벳 'S'는 짐작하셨겠지만 Secure를 의미합니다. 이는 이전에 SSH(Secure SHell)과도 같은 개념입니다. Shell을 통해 서버를 조작하는 작업 또한 보안이 이슈가 되면서 SSH가 등장하게 되었고 요즘에는 거의 SSH로 작업합니다. (저는 사실 서버 접속 방식 중에 SSH을 제외하고..
[MySQL/MariaDB] 서버 시작 에러 에러 내용 root@db-server:~# systemctl status mariadb.service ● mariadb.service - MariaDB 10.5.8 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: failed (Result: exit-code) since Mon 2021-05-31 11:14:34 KST; 24s ago Docs: man:mariadbd(8) https://mariadb.com/..
[Ubuntu/Linux] rename 으로 한번에 이름 변경 상황 서버 관리를 하다가 수많은 파일의 이름을 한꺼번에 패턴을 잡아서 바꿔줘야하는 경우가 생겼다. 서버 환경은 다음과 같다. 서버 OS : Ubuntu 18.04 LTS rename 설치 확인 명령어 수많은 파일의 이름을 패턴을 잡아서 (예를들면 정규식) 한번에 바꿔주는 방법은 rename이라는 명령어로 이미 우분투에서 별다른 패키지 설치 없이 사용가능했다. 혹시나 설치가 안되어 있을 수 있으니 확인해보자. $ rename Usage: rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr* [ *files* ] 위에 처럼 결과가 나오면 설치가 되어 있는 것이다. 그러면 먼저 이름을 바꿀 파일들이 존재하는 곳으로 가서 아래 명령어처..
[Electron] BrowserWindow close vs destroy 차이점 Electron으로 application을 만들다보면 BrowserWindow를 하나 붙여서 사용하기 마련인데 여기서 close 함수와 destroy 함수의 차이점을 정리해보려고 합니다. ※ 사실 제일 좋은 것은 공식 홈페이지의 document를 살펴보는것입니다. www.electronjs.org/docs/api/browser-window BrowserWindow | Electron Create and control browser windows. www.electronjs.org Electron BrowserWindow close function BroswerWindow는 쉽게 생각하면 브라우저 창 하나라고 생각하시면 편합니다. Electron 자체가 Chromium 기반으로 만들어진 것이기 때문에 브라..
[Tomcat] The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid. 웹 컨테이너로 Tomcat을 사용하는 경우에 서버에서 간혹 제목과 같은 에러가 발생하는 경우가 있다. 에러 The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid. 에러를 못하는 영어로 해석해보자면, AJP Connector 설정중에 secretRequired 값이 true인데 secret 속성은 공백이거나 null이라는 것. 그래서 유효하지 않다는 것 같다. 우선 AJP Connector는 server.xml에 있는 것을 의미하는 것 같다. 그리고 나는 AJP Connector에 secretRquired 관련 속성을 ..
샤오미 Mi 스마트 전기포트 Mi Home 연동하기 대륙의 실수로 유명한 브랜드인 샤오미는 스마트홈을 위해서 많은 재품군을 개발해왔고 이미 스마트홈을 샤오미 제품만으로 구성할 수 있을 만큼 거대해졌는데요, 이 포스팅에서는 Mi Home 어플을 통해서 샤오미 Mi 스마트 전기포트를 좀 더 스마트하게 사용할 수 있도록 설치하는 방법을 정리해보려고 합니다. 제품 리뷰는 아래 링크를 참고해주세요. [제품리뷰] 샤오미 Mi 스마트 전기포트 pro 후원이나 체험단이 아닌 개인 사비로 구매한 제품임을 밝힙니다. 최근에 전기포트가 망가지는 바람에 새로 장만하게 된 전기포트인데요 샤오미는 대륙의 실수로 유명한 제품들이 많지만 이번 steady-snail.tistory.com 1. 어플 설치 먼저 어플을 설치해줍니다. 구글플레이스토어 (Android) 앱 Mi Home -..