🗂️ Etc
웹 개발자를 위한 안드로이드 웹뷰 만들기
웹뷰란 App 내에 웹 사이트를 띄우는 것으로 웹 개발자들이 간단한 App을 만들기 위해서 선택할 수 있는 최고의 방법입니다. 하지만 웹뷰 만들기를 검색하면 전부 안드로이드 개발자의 시선에 맞춰져 있어서 개인적으로 웹 개발자가 보기엔 다소 헷갈리는 면이 있었습니다. 그래서 추후에 저도 다시 참고할 겸 웹 개발자를 위한 웹뷰 만들기라는 주제로 최대한 쉽게 작성해 보겠습니다. 설치 가장 간단하게는 Swing2App이라는 사이트를 이용해 웹뷰를 만들 수 있지만 해당 사이트를 이용하면 실제 배포 시 트래픽이 발생하면 유료로 전환되는 것 같아 직접 만들기로 했습니다. 실제 배포가 목적이 아니라면 Swing2App을 이용하는 것도 나쁘지 않은 것 같습니다. 우선 최신 버전의 안드로이드 스튜디오를 설치해서 실행해 주..
이모지(Emoji) 단축키 및 MySQL과 Javascript에서 사용하기
이모지 사용법 키보드에서 아래 키를 누르면 이모지를 입력할 수 있다. Window + . 🍕🍔🍟🌭🍿🧂🥓🥚🍳🧇🥞🧈🍞🥐🥨🥯🥖 하지만 이러한 값들을 mysql 환경에서 삽입하려고 하면 could not execute statement라는 에러와 함께 올바르게 들어가지 않는다. 왜냐면 mysql에서는 초기 UTF-8 자료형을 3바이트 가변 자료형으로 설계하였기 때문에 제대로 삽입이 안된다. 일반적인 모든 언어들은 3 Byte 이하로 이루어져있기 때문이다. 하지만 이모지는 4 Byte로 이루어져있다. 그래서 UTF-8을 UTF8MB4 타입으로 바꿔줘야한다. 아래 방법중에 테이블 변경으로만으로도 해결이 되었다. (물론 테이블 전체를 4 Byte로 바꾼 것이기 때문에 설계적으로 좋지 않을 수 있겠다) 데이터베이스에서..
Hosts 파일 경로, 형식, 원리
경로 hosts 파일은 C:\Windows\System32\drivers\etc 밑에 들어간다. 형식 hosts 파일에는 아래와 같이 IP와 Domain Name 형식으로 이루어져 있다. 200.1.216.230 www.test.com 원리 hosts 파일을 이용한다면 해당 Domain으로 접속 시 DNS Server를 거치지 않고 바로 IP로 변환해서 들어간다. 그렇기에 DNS Server를 거치지 않기 때문에 빠르다. hosts 파일이 없다면 DNS Server를 찾아가게되는데 DNS Server를 못찾을 경우(내부 인터넷망이 끊겼다거나 등)에는 브라우저에서 DNS Server를 못찾는다고 에러가 발생한다. 더불어 hosts 파일을 해커가 조작 한다면 다른 IP로 접속이 될 수도 있다. 그렇기 때문에..
Netty 아키텍처 기초 소개 및 사용법
소개 Netty는 Java를 통해 소켓 통신 + 비동기 프로그래밍을 고성능으로 단순하게 구현할 수 있는 기반이 튼튼한 프레임워크다. 국내에서도 거래가 여러번 일어나는 프로젝트 뿐 아니라 WebFlux 기반의 고성능 서버를 구축할 때도 많이 사용 중이다. 기존에는 HTTP 통신을 위해서 HttpURLConnection를 사용하고 TCP 소켓 통신을 위해서는 java.net의 ServerSocket를 이용했다. 다만 해당 방식은 동기 전송 방식만 지원했는데 해당 방식을 Blocking IO, 즉 OIO(Old Input Output)라고 불렀다. 그리고 2002년인 자바 4 버전부터 None Blocking IO 패키지가 포함된 java.nio인 NIO(New Input Output)가 출시되었다. 다만, ..