본문 바로가기

전체 글에 해당하는 글들

201 Articles matched
목록이 없습니다.
[제품리뷰] 샤오미 Mi 스마트 전기포트 pro (MJHWSH02YM) 후원이나 체험단이 아닌 개인 사비로 구매한 제품임을 밝힙니다. 최근에 전기포트가 망가지는 바람에 새로 장만하게 된 전기포트인데요 샤오미는 대륙의 실수로 유명한 제품들이 많지만 이번에 구매한 제품을 사용하다보니 샤오미홈이라는 어플을 사용하는데 그 안에 등록할 수 있는 제품군들을 보니까 샤오미가 엄청 거대한 회사로 느껴지더라구요.. 제품군이 엄청나게 많더라구요. 조명부터 세탁기까지 집안 가전들을 거의 다 만들더군요 .. 무섭습니다 샤오미 .. 이번에 구입한 전기포트는 샤오미 Mi 스마트 전기포트 pro 입니다. 깔끔한 디자인과 제품명에서 알 수 있듯이 스마트한 기능을 탑재하고 있는데요 글을 쓰는 시점에서 가격은 쿠팡에서 4만원 중반대로 구입할 수 있었습니다. 해외에서 직수입하여 쿠팡이 직접 재고를 쌓아두고 ..
[Ubuntu] NodeJS 설치 우분투에서 nodejs를 설치하는건 바로 apt-get install nodejs가 아니라 PPA(Personal Package Archive, 개인 패키지 저장소) 추가 과정이 필요합니다. 보통 apt-get install을 통해서 설치되는 패키지는 우분투 공식 패키지 저장소에 저장되어있는 패키지들인데요 공식 패키지 저장소에 없지만 런치패드(유명한 패키지 저장소) 등 개인 패키지 저장소에 있는 것을 설치하고 싶을 때 저장소를 추가함으로써 해당 저장소의 패키지들을 설치할 수 있습니다. 먼저 PPA 추가를 위해서 curl(Client URL) 패키지를 설치해줍니다 ※ CURL은 우분투와 같이 CLI(Command Line Interface)인 환경 즉, 브라우저를 띄울 수 없는 환경에서 브라우저처럼 URL..
우분투 기본 쉘 변경하기 (How to change default shell in Ubuntu) 우분투(Ubuntu)를 설치하면 기본적으로 BASH(배시, Bourne Again SHell)이라 불리우는 쉘이 설치되어있는데요 사실 쉘의 종류는 다양하고 커스터마이징도 가능한 부분이 있어서 개발자나 관리자가 원하는 쉘을 설치해서 커스터마이징을 할 수도 있습니다. 오늘은 우분투에 접속했을 때 기본쉘을 변경해보는 내용을 정리해보려고 합니다. 이는 우분투 뿐만 아니라 리눅스(Linux)기반 서버에서도 적용가능할것이라고 생각합니다. 우분투(Ubuntu) 변경할 수 있는 쉘 목록 확인 명령어 우분투는 기본쉘을 변경할 수 있는 명령어를 제공하고 있습니다. 바로 chsh(CHange SHell) 입니다. 정상 결과 $ chsh -l /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /u..
[chrome driver] 스크린 캡처 시 한글 깨짐 문제 상황 크롬드라이버(chrome driver)를 통해서 페이지를 로딩한 후에 페이지에 존재하는 이미지를 다운로드 받아서 워드파일로 만드는 로직을 구현하는 도중에 로컬환경에서는 잘 돌아가던 캡처기능이 우분투(Ubuntu) 서버에 올린 후에 돌려보니 이미지에서 한글이 네모로 나오는 현상을 보게되었습니다. 처음에는 한글 폰트가 없어서 그런가 해서 엉뚱한 폰트를 설치하고 location을 대한민국으로 지정하고 설정파일을 건드렸다가 우분투의 메시지들이 한글로 나오게 되었는데 정작 크롬에서 캡처한 이미지는 여전히 네모로 나오고 있었습니다. 그리하여 구글링을 하게 되었고 역시나 구글에는 답이 있었습니다. 해결방법 추측대로 한글폰트가 설치되어있지 않아서 네모로 나온 것은 맞았지만 잘못된 폰트를 설치했습니다. 정확히..
[JAVA] split 빈값 처리 문제상황 Java 서블릿 로직에서 split하는 로직이 있었는데 아래와 같은 상황에서 의도치 않은 동작이 발견되었습니다. String data = "1,2,3,,,"; String[] split_data = data.split(","); System.out.println("split length : " + split_data.length); for (String str : split_data) { System.out.println(str); } 위의 로직을 돌려보았을 때 예상되는 출력값은 아래와 같았습니다. split length : 6 1 2 3 원래 예상했던 출력 내용 하지만 예상과는 달리 아래와 같이 출력되었습니다. split length : 3 1 2 3 Java에서 split메서드의 기본동작은 ..
[MariaDB] Master-Slave replication 서버 구축 Database를 만들고 나서 혹시 모를 DB서버장애에 대비하기 위한 예방책으로는 여러가지 방법이 있습니다. 그중에 가장 기본적이고 효과적인 대비책은 바로 백업(backup)인데요. 백업 방식에도 여러가지 방식이 있습니다. linux 기반 DB 서버라면 스케줄러인 cron을 이용해서 주기적으로 덤프파일을 생성할 수도 있고 아니면 오늘 정리할 master-slave 설정을 통해서 복제(replication)하여 장애에 대비하는 방법이 있습니다. 위에서 언급했다시피 오늘은 master-slave를 설정해서 DB를 백업하고 master는 write만, slave는 read만 하는 분산처리를 통해 약간의 성능향상을 노릴 수 있는 방법을 정리해보려고 합니다. 우선 master와 slave가 같은 서버 즉, 하나의..
[MySQL/MariaDB] Error 2020: Got packet bigger than 'max_allowed_packet' 상황 insert 하는 경우 제목과 같은 에러가 발생하는 경우가 있는데 이 경우 Client와 Server사이에 주고 받을 수 있는 packet의 사이즈가 정해져있는데 아무 설정도 해주지 않았다면 기본값이 들어가있을것입니다. 보통은 1M이 기본값입니다. 문제를 해결하기 위해서는 max packet 사이즈를 늘려주어야하는데 그 설정값이 에러메시지에도 나와있는 max_allowed_packet입니다. 설정 방법은 아래 두가지입니다. my.cnf 수정 my.cnf ... [mysqld] max_allowed_packet = 128M ... 옵션 지정 아래와 같이 mysql 명령문 수행 시 옵션을 지정해줄 수 있습니다. mysqldump 명령어를 통해서 DB 덤프를 생성할 때는 my.cnf에 설정된 값이 적용되..
[MySQL] 함수 생성 시 에러 발생 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 상황 함수를 생성하려고 했으나 아래와 같은 에러메시지가 발생함. 에러메시지 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 해결 DB의 root로 접속하여 아래 쿼리를 수행해주고 재생성 SET GLOBAL log_bin_trust_function_creators = 1;