분류 전체보기667 728x90 반응형 [MariaDB] Incorrect string value "\xF0\x9F\x8E\xB5\x0A\x0A" 이모지 오류 조치 MariaDB를 데이터 저장소로 사용하고 있는 프로그램을 개발 중에 특정 문자열을 추가(INSERT)하니 "(0x80004005): Incorrect string value: '\xF0\x9F\x8E\xB5\x0A\x0A' for column" 이런 오류가 발생하는 경우가 있다. 이런 문자값은 보통 이모지를 입력했을 때 나타나며 이모지를 나타내기 위해서는 4바이트가 필요하다. 하지만 현재 설정된 인코딩이 그 값을 지원하지 못하고 있지 못하면 저런 오류가 발생한다. 이를 해결하기 위해서는 데이터베이스 인코딩 설정을 'utf8mb4'로 하면 제대로 동작한다. 1. MariaDB 인코딩 설정을 변경한다. 아래와 같이 명령어를 입력하여 MariaDB 서버의 인코딩 설정을 변경한다. vi /etc/my.cnf.d.. 2021. 4. 8. [CentOS 7/8] 고정(static) IP 주소 설정 서버 컴퓨터를 구축하다보면 서버 수가 적으면 DHCP로 IP 주소를 통제하는 것보다는 수동으로 서버별로 IP 주소를 할당하는 것이 더 나을 때가 많다. 본 글에서는 서버에서 고정 IP 주소를 설정하는 것을 다룬다. 1. 네트워크 인터페이스 확인 네트워크 인터페이스 목록과 각 인터페이스별 설정 값을 확인한다. 이더넷 네트워크 인터페이스인 "ens32"가 현재 "192.168.0.73"으로 자동(DHCP) 할당되어 있는데 "192.168.0.221"로 변경하겠다. ip addr show 2. 네트워크 인터페이스 설정 파일 수정 아래의 명령어를 입력하여 설정파일을 텍스트 에디터로 연다. 컴퓨터마다 네트워크 인터페이스의 이름이 다를 수 있기 때문에 "/etc/sysconfig/network-scripts/네트워.. 2021. 4. 6. [CentOS 7] MariaDB 방화벽 허용 CentOS7의 방화벽 정책 CentOS 7은 방화벽 때문에 자신의 컴퓨터가 아닌 다른 컴퓨터에서 접근 하는 것을 기본적으로 차단하고 있다. 웹 서버와 DB 서버를 분리한 경우 웹 서버에서 DB 서버로 접근할 수 있도록 방화벽을 허용해줄 필요가 있다. 명령어는 아래 사진과 같다. 방화벽 허용 정책 설정 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="아이피주소/서브넷마스크" port protocol="프로토콜명" port="포트번호" accept" firewall-cmd --reload 방화벽 허용 정책 삭제 firewall-cmd --permanent --remove-rich-rule="rule family="ip.. 2021. 4. 6. [CentOS 7] IP 주소 확인하는 법 CentOS에서 IP 주소를 확인하는 방법은 여러가지가 있겠지만 본 글에서는 터미널에서 명령어로 IP 주소를 확인하는 법을 다룬다. 아래 처럼 명령어를 입력하면 가지고 있는 네트워크 인터페이스 목록과 해당 네트워크 인터페이스의 IP 주소 값 등을 확인할 수 있다. ip addr show 현재 네트워크 인터페이스는 "lo"와 "ens32"로 두 가지가 있는데 "lo"는 자기 자신을 호출 하기 위한 루프백 인터페이스이며 "127.0.0.1"로 설정되어 있다. "ens32"로 이름이 설정된 이더넷 네트워크 인터페이스는 "192.168.0.73"로 IP 주소가 설정되어 있는 것을 확인할 수 있다. 2021. 4. 6. [.NET] "hostfxr.dll could not be found" 오류 해결법 .NET으로 만든 프로그램을 배포하다보면 "hostfxr.dll could not be found"라는 오류 메세지가 아래의 사진처럼 나타날 때가 있다. 내용을 살펴보면 .NET 실행환경이 구축되어 있지 않아서 발생하는 문제이며 .NET Runtime을 설치하면 해결된다. 내용 중에 다운로드 링크가 있는데 저 링크를 통해서 다운받으러 가도 되고 아니면 필자가 아래에 입력한 링크로 가서 받아도 된다. .NET 다운로드 주소 : dotnet.microsoft.com/download 사용하고자 하는 버전의 .NET을 적절히 다운 받아서 설치하면 된다. 실행만 한다면 Runtime만 설치해도 된다. 2021. 4. 6. [C#] 프로젝트 프레임워크를 .NET 5.0으로 변경하기 여러가지 이유로 .NET 5.0으로 C# 프로그램을 개발해야할 때가 있다. 나는 C# 프로그램을 개발할 때 Visual Studio 2019를 사용하고 있는데 예전에 설치한 버전이라서 5.0 런타임을 설치하고 다른 종속성 패키지들도 업데이트할 필요가 있었다. 하지만 설치 및 업데이트 후에도 '프로젝트 속성'-'애플리케이션'-'대상 프레임워크'에서 .NET 5.0이 아래처럼 설정 목록에 없었다. 이 경우는 텍스트 에디터로 프로젝트 설정을 바꿔주면 된다고 MSDN(Microsoft Developer Network) 문서에 있었기에 아래처럼 내용을 확인하고 바꾸니 .NET 5.0으로 잘 설정되었다. 프로젝트 설정 파일은 프로젝트 폴더로 가서 '프로젝트명.csproj'으로된 파일이다. 이 파일을 메모장이나 자신.. 2021. 4. 3. [IIS 10.0] 클라우드 플레어 서버만 접근할 수 있도록 접근 제한 클라우드 플레어를 경유해서만 서버에 접근하게 하기 위해서는 서버로 직접 요청이 오는 것을 차단할 필요가 있다. 방화벽에서 차단하는게 제일 안전한 방법이겠지만 상황에 따라서는 IIS에서 요청을 차단해야할 수 있다. 그 경우에는 아래의 주소에 가서 클라우드 플레어 서버의 IP 범위를 확인한 후 아래의 사진처럼 IIS의 'IP 주소 및 도메인 제한' 기능으로 가서 설정을 하면 된다. 클라우드 플레어 IP 주소 범위 : www.cloudflare.com/ko-kr/ips/ 2021. 3. 30. [CentOS 7/8] MariaDB 재설치하기 MariaDB를 설치하고 이것저것 테스트하던 중 정전이 발생하여 MariaDB 관련 데이터가 상당히 망가졌다. 복구를 하려고 했으나 내 능력에선 복구에 실패했다. 다행히 데이터베이스 자료는 백업되어 있었기 때문에 재설치하기로 하였다. 1. 기존 MariaDB 설치 확인 yum list installed mariadb\* 위의 명령어를 입력하여 MariaDB 가 설치되어있는 것을 확인한다. 2. 기존 MariaDB 삭제 아래의 사진과 같이 아래의 명령어를 이용하여 삭제한다. yum remove MariaDB-server.x86_64 3. MariaDB 설치 아래의 명령어를 입력하여 MariaDB를 설치한다. yum install mariadb mariadb-server 4. MariaDB 시작 아래의 명령.. 2021. 3. 29. [CentOS 7] MariaDB "max_open_files" 경고 조치 경고 내용 MariaDB 오류가 발생한 것 때문에 이것 저것 조치하고 있다보니 눈에 거슬리는 경고문이 있어서 조치를 했다. 아래와 같이 MariaDB 서비스를 시작할 때 "[Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)"라고 경고문이 발생했었다. 경고 해결 방법 위의 경고문은 MariaDB 서비스 파일을 수정하여 조치할 수 있다. vi /lib/systemd/system/mariadb.service 위의 명령어를 입력하여 MariaDB 서비스 파일을 텍스트 에디터로 연다. 위와 같은 구문이 있을 수도 있고 없을 수도 있는데 있다면 적당한 숫자를 기입하거나 무한대로 아래와 같이 입력한다. 없으면.. 2021. 3. 28. XE1 "Call to undefined function mysql_connect()" 오류 조치 XE1로 운영 중인 사이트가 잘 되다가 업데이트 후에 아래와 같은 메시지가 뜨면서 동작하지 않을 때가 있다. 이는 데이터베이스 설정파일의 MySQL을 지칭하는 속성명이 바뀌어서 발생하는 문제이기에 설정을 수정하면 해결할 수 있다. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in 2021. 3. 28. [CentOS 7/8] MariaDB 인코딩 설정하기 MariaDB에서 기본적으로 사용할 인코딩을 지정해야 자동으로 무언가를 할 때든 협업할 때든 간에 일이 수월하게 풀린다. CentOS 7에 설치한 MariaDB의 인코딩을 바꾸는 방법은 다음과 같다. 1. MariaDB 설정 파일 열기 vi /etc/my.cnf.d/server.cnf 2. MariaDB 설정 파일 수정 적당한 곳에 인코딩 설정을 입력한다. 필자의 경우 UTF-8로 지정하기 위해 아래처럼 입력했다. character_set_server = utf8 이모지 활용을 위해 utf8mb4로 인코딩을 지정하고 싶다면 아래처럼 입력하면 된다. character_set_server = utf8mb4 2021. 3. 28. [CentOS 7/8] 시스템 시간을 한국 시간으로 변경하기 CentOS를 설치할 때 별도 시간 설정 없이 진행하면 아래와 같이 한국 시간이 17시 53분이지만 뉴욕 시간으로 나타나서 로그 파일을 볼 때 상당히 불편하다. 아래와 같은 명령어로 서울 시간으로 시스템 시간을 변경하면 한국 시간으로 로그파일이 잘 나타나는 것을 확인할 수 있다. sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 2021. 3. 27. Typora에서 작성한 내용을 HTML로 변환하기 Typora에서 작성한 내용은 기본적으로 '*.md' 파일로 저장된다. 마크다운이라는 의미를 가진 확장자 '.md'로 저장되는 것인데 필요에 따라서는 다른 파일 형식으로 변환하여 사용할 필요가 있다. 이번 글에서는 HTML로 변환하는 것을 소개하고자 한다. Typora에서 '파일'-'내보내기'-'HTML'을 클릭하면 HTML로 변환하여 저장할 수 있다. 적당한 파일명을 입력하고 '저장'을 누른후 웹브라우저에서 생성된 파일을 실행하면 아래와 같이 화면이 나타난다. Gitbook 테마를 활용한 것이라 Gitbook 스타일로 HTML이 생성되었다. 2021. 3. 22. Typora에 Gitbook 테마를 적용하기 Typora의 Gitbook 테마 취향에 맞는 디자인으로 마크다운 에디터 Typora를 쓰고 싶다면 테마를 바꾸는 방법이 있다. Typora에 Gitbook 테마를 적용하여 Gitbook 느낌이 나도록 할 수 있는데 방법은 다음과 같다. Typora의 Gitbook 테마 설치 Typora Gitbook 테마를 Github 저장소에 가서 다운로드 한다. Typora Gitbook 테마 주소 : https://github.com/16soundsofsilence/typora-gitbook-theme/releases/ Gitbook 테마 파일이 잘 다운로드 됬는지 확인하고 Typora 테마 폴더를 확인하기 위해 Typora로 이동한다. 'Typora 환경설정'-'모양'-'테마 폴더 열기'를 클릭하여 테마 폴더를.. 2021. 3. 22. 전자책 작성에 유용한 도구 Typora 소개 및 설치 전자책을 작성하는 방법은 다양하게 있다. 나는 전자책으로 발행하기 전에 각 장들을 온라인으로 게시하고 배포하여 여러 피드백을 받아보고자 한다. Github Pages에 전자책으로 쓸 초안을 나누어 HTML 문서로 업로드하여 내용을 공유하고 피드백을 받아가면서 온라인에서 수정과 배포가 지속적으로 일어나도록 한다음 몇 개월의 시간이 지나면 전자책을 발행하고자 한다. 저자가 나만 있는게 아니라 여러명이 있기에 아무래도 같은 에디터를 사용하여 최대한 비슷한 형식으로 글을 작성하는 것이 필요하기에 마크다운 에디터인 Typora를 사용하려고 한다. Typora는 무료로 사용할 수 있으며 윈도우와 리눅스, Mac OS X에서 동작한다. Typora 홈페이지 주소 : typora.io 다운로드 페이지로 이동하여 자신의.. 2021. 3. 22. [버추얼박스] Failed to load unit 'lsilogicscsi'(VERR_SSM_LOADED_TOO_LITTLE) 해결법 버추얼박스(VirtualBox)를 사용하다보면 원하지 않았는 타이밍에 가상머신이 종료되는 경우가 있다. 이 경우 시작할 때 오류가 발생할 수 있는데 나의 경우 bitnami-gitlab 이미지를 테스트하던 중에 데스크톱 전원이 나가버려서 발생하게 되었다. 오류 메시지가 "Failed to load unit 'lsilogicscsi'(VERR_SSM_LOADED_TOO_LITTLE)" 이렇게 나온다. 이 경우 이미지를 오른쪽 클릭하여 '저장된 상태 삭제'를 눌러서 시작되지 않는 상태를 지운다. 상태를 지우면 정상적으로 잘 실행되는 화면을 확인할 수 있다. 2021. 3. 22. 라이믹스(XE1)에서 XEICON 오류가 발생할 때 대처법 최신 라이믹스(XE1)에서 SweetMobileBoard 스킨을 쓰려고 하면 아이콘이 나타나야할 부분에 네모박스들만 엄청나오는 오류가 발생한다. 이 네모박스는 XEICON이라는 폰트를 인식하지 못 해서 데이터들이 그저 네모로 나오는 것인데 이를 해결하기 위해서는 해당 스킨의 XEICON에 특정 코드를 추가하면 된다. 라이믹스(XE1) 공통 영역에 있는 XEICON의 스타일시트를 읽어오는 코드를 스킨의 header에 넣으면 해결된다. SweetMobileBoard의 경우는 '/modules/board/m.skins/sweetMobileBoard/_header.html'에 넣으면 된다. 정작 적용해보니 SweetMobileBoard의 경우 1.0.2 버전의 XEICON을 쓰고 있는데 최신의 라이믹스는 2.x.. 2021. 2. 21. 라이믹스(XE1) 글 공유시 페이스북(오픈그래프) 이미지 나오는 기능 분석 라이믹스(XE1)에는 SEO(Search Engine Optimization) 모듈이 기본적으로 탑재되어 있으며 이 모듈에서 오픈그래프 기능을 화성화하면 SNS에서 공유할 때 글과 글 이미지가 잘 정리되어서 나온다. 하지만 나의 경우 최근에 분명히 글에 이미지 파일이 있는데 오픈그래프 이미지로 나오지 않아서 어떤 식으로 동작하는지를 분석할 필요가 있었다. 오픈그래프 기능은 라이믹스의 경우 "/classes/display/HTMLDisplayHandler.php"에 545번줄에 구현되어 있다. 여기를 보면 글 내용에 이미지가 있는 경우와 이미지가 없는 경우를 구분하여 오픈그래프의 이미지 태그(og:image)가 생성이 되는데 글 본문에 이미지가 있음에도 이미지가 없다고 인식되는 경우였기에 "$documen.. 2021. 2. 13. 스프링 모바일을 추가하여 모바일 장치를 인식하자 스프링 프레임워크에서 모바일 장치를 인식하는 방법은 여러가지가 있겠지만 그 중 스프링 모바일을 가져와서 코드 몇줄만으로 장치를 인식하는 방법을 소개하려고 한다. 현재 기준으로 스프링 모바일은 2.0.0.M3가 안정적인 배포 버전이다. 메이븐으로 스프링 모바일을 프로젝트에 추가하는 방법은 아래와 같다. spring-milestones Spring Milestones https://repo.spring.io/libs-milestone false 메이븐 저장소를 위의 코드처럼 추가한다. org.springframework.mobile spring-mobile-device 2.0.0.M3 그리고 스프링 모바일 라이브러리를 위의 코드처럼 추가한다. 그 후 스프링 모바일 인터셉터를 위의 코드처럼 서블릿 설정파일에 .. 2021. 2. 12. 라이믹스(XE1) 문서 조회수 설정 라이믹스(XE1)에서는 게시글의 조회수를 집계하는 방식을 수정할 수 있다. 운영하는 사이트의 정책에 따라 같은 사용자가 여러번 봐도 모두 조회수로 인정하는 것이 필요할 수가 있고 한 사용자는 최대 1개의 조회수만 올릴 수 있다는 정책을 적용하고 싶을 수 있다. 그 경우 '라이믹스 관리자 대시보드' - '콘텐츠' - '문서' - '기본 설정' - '조회 수 설정'에 가면 설정하는 것이 있다. 조회수 설정 화면으로 이동하면 아래의 사진 처럼 '모두 계산', '일부 계산', '중복 금지', '계산 안 함'을 설정할 수 있다. '모두 계산'은 게시글을 본 만큼 조회수를 증가시키는 것이며 '일부 계산'은 로그인 하지 않는 사용자라도 사이트에 접속(새로운 세션)한 다음 봤으면 최대 1번까지 인정해주는 것이고 '중복.. 2021. 2. 7. 이전 1 ··· 26 27 28 29 30 31 32 ··· 34 다음