본문 바로가기

프로그래밍

[WinAPI] 자료형 1. 문자셋의 종류 - SBCS(Single-Byte Character Set) : 1바이트 문자 표시 1바이트중 7비트 이용해서 ASCII코드(알파벳,숫자,특수문자) 남은 1비트를 이용해서 확장, but 한글,일어,한자 등은 표시 불가능 - MBCS(Multi-Byte Character Set) : 1바이트 이상으로 문자표시 :1바이트문자는 1바이트로, 2바이트이상 문자는 여러바이트 이용해서 표시 :영문 1바이트, 한글 2바이트 - WBCS(Wide-Byte Character Set) : 유니코드(UNICODE) : 1바이트로 충분한 알파벳도 2바이트로 표현 : 영문 2바이트, 한글 2바이트 : MBCS의 문제점 해결 2. TCHAR - MBCS, 유니코드 여부에 따라 자동으로 자료형 변경 MBCS :..
[MySQL / MariaDB] Connection 모니터링 MySQL/MariaDB Connection 모니터링 Version : MySQL 5.7.21, Ubuntu 16.0.4 MySQL 서버에서 connection 모니터링 하는 방법에 대해서 알아본다. MySQL 뿐만 아니라 다른 데이터베이스에서도 connections의 수는 운영과 성능면에서 매우 중요하다. 특히 connection의 개수가 max_connections 값을 초과할 경우 새로운 connection이 할당되지 못하여 어플리케이션이 MySQL 서버에 연결되지 않아 오류가 발생할수 있다. 또한 신규 connection이 할당 될때, 그에 따른 메모리 할당 및 기타 작업이 동반되기 때문에 빈번한 connection 연결 및 해제는 여러가지 성능 문제와도 관련이 있다. MySQL에서 connect..
Linux 서버에서 이미지 업로드시 java.lang.NoClassDefFoundError 에러날떄 java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment 또는java.lang.NoClassDefFoundError: com/github/jaiimageio/stream/RawImageInputStream 에러 발생시에 해결 방법 개발환경인 윈도우에서는 잘 돌아가던 파일 업로드가 리눅스 서버 환경에서는 다음과 같은java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment 에러가 발생. 알고보니 리눅스 환경 때문에 나는 에러인듯.. (Thumbnailator라이브러리로 썸네일 이미지 생성시 발생했었음) 시스템 프로퍼티에 java.awt.headless=true 를 설정하고 나면 해결됨. (catal..
[Spring boot] Spring boot - nginx + tomcat 연동시 리얼 아이피 설정 방법 1.application.properties 또는 yml 에server.tomcat.protocol-header=x-forwarded-proto server.tomcat.protocol-header-https-value=https server.use-forward-headers=true server.tomcat.remote-ip-header=x-forwarded-for 를 추가하여준다. 2. nginx.conf 에 location / { proxy_pass http://argos-api; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Hos..
[Mysql] Mysql을 사용하면서 하지 말아야할 17가지 *MySQL 쓰면서 하지 말아야 할 것 17가지*권장사항이다. 이것을 이해하면 당신의 어플리케이션이 더 나은 성능을 발휘할 것이다.다만 이것이 사람의 실력을 판단하는 척도로 사용되서는 안 될 것이다. 작게 생각하기- 조만간 규모가 커질거라면 MySQL ecosystem을 봐야된다. - 그리고 캐싱 빡시게 안 하는 메이저 웹사이트는 없다. - develooper.com의 Hansen PT랑 Ilia 튜토리얼 볼 것 - 처음부터 확장 가능하게 아키텍처 잘 쪼개놔야된다. - 복제랑 파티셔닝 어떻게 할지 미리 계획 세워놔라. - 파일 기반 세션 좀 쓰지마 -_- - 그렇다고 너무 쓸데없이 크게 생각하지도 말 것 - 특히 성능하고 확장성 구분 못 하면 난감함 EXPLAIN 안 써보기- SELECT 앞에 EXPLA..
[Mysql] 아이피 주소 데이터 유형? 이때까지 IP 주소를 varchar형으로 저장 했었는데 IP는 4바이트 정수형을 선언하기를 권장하고 있다.IP를 정수형으로 변환하여 저장하게 되면 용량과 검색에 더 효과적이라고 한다. MYSQL 레퍼런스http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21839&cat1=12&cat2=359&cat3=375&lang=k 여기서 정수형 변환을 지원하는 함수가 있다. INET_ATON(expr)점 4개로 구분된 네트워크 주소를 스트링 형태로 입력하면, 네크워크 주소의 수치적 값을 표현하기 위한 정수값이 리턴 된다. 이러한 주소는 4 또는 8 바이트 주소가 됨.mysql> SELECT INET_ATON('112.115.203.45'); 결과값은 ..
[Thymeleaf]타임리프 if else if else 조건식, 3항 연산자 사용법 타임리프 if else if else 조건식, 3항 연산자 사용법 /h2> User is an administrator User is a manager User is some other thing Hello! Something else
[Spring] Spring Web Application Architecture https://www.petrikainulainen.net/software-development/design/understanding-spring-web-application-architecture-the-classic-way/