본문 바로가기

분류 전체보기92

favicon 오류? 안녕하세요~ IT 여행자입니다. 이번 작은 구술에서는 favicon에 대한 이야기를 해 보렵니다. favicon은 브라우저의 제목 표시줄에 표시되는 사이트를 특정 짓을 수 있는 작은 아이콘을 의미합니다. 일반적인 웹 서핑할 때는 큰 문제가 되지 않지만 개발자 입장에서 사이트를 테스트하거나 할 때 브라우저의 개발자 모드를 열어 놓고 작업할 때가 매우 많습니다. 이때 눈에 가장 거슬리는 오류 아닌 오류가 바로 favicon에 해당하는 아이콘이 없을 때입니다. 이럴 때 좀 귀찮아도 favicon으로 사용할 이미지를 16x16이나 24x24 크기로 이미지를 만들어 태그를 사용하여 연결해 놓으면 에러 같지도 않은 에러 메시지를 보지 않아도 됩니다. ^^ 이런 면도 그렇지만 이왕이면 해당 사이트에 걸맞은 고유한 작.. 2022. 11. 18.
네이버 메일 서버를 사용한 메일 작성하기 안녕하세요~ IT 여행자입니다. 이번 여행지는 메일 발송이 되겠습니다. JavaMail API를 사용하여 메일을 발송해 보도록 하겠습니다. 메일을 발송하기 위해 메일 서버를 직접 구축해도 되겠지만, 실제로 서버를 직접 구축하여 메일을 발송하는 것은 배 보다 배꼽이 더 커지는 경향이 있어 전문적인 메일 발송 앱을 만들게 아니라면 외부에 구축되어 있는 메일 서버를 활용하는 것이 좋을 것입니다. 해서 본 지면에서는 네이버 메일 서버를 활용하여 메일을 발송하는 웹을 만들어 보겠습니다. 외부에 구축되어 있는 메일 서버를 사용하려다 보니 몇 가지 환경 설정을 해야 합니다. 1. 네이버 메일 환경 설정 네이버 메일 계정에 로그인 > 환경설정 > POP3/IMAP 설정 으로 이동하여 POP3/IMAP 사용을 "사용함".. 2022. 11. 16.
MySQL에서 데이터의 대소문자 구분 mysql은 기본적으로 데이터의 대소문자를 구분하지 않는다. 데이터를 검색할 때 대소문자 구분 없이 검색되는 게 편할 수도 있지만 아이디나 암호 같은 경우에는 반드시 대소문자가 구분되어야 한다. 이때 where절에서 사용하는 칼럼명 앞에 binary를 추가하면 대소문자가 구분된다. select 컬럼명 from 테이블명 where binary id='아이디' and binary pwd='암호' 2022. 11. 15.
mysql 데몬조차 실행되지 않을 때 DB는 일정한 주기로 백업해야 하는 것이 원칙이다. 그러나 데이터는 백업되었으나 mysql 데몬 자체에 문제가 생겨 접속 조차 되지 않는 경우가 발생할 수도 있다. 이런 경우엔 백업 받은 데이터가 무용지물이 될수 밖에 없을 것이다. 인터넷을 검색해 보면 다양한 방법들이 나와 있지만, 그리 만족스럽지 않았다. 이 때 mysql을 다시 설치하고 기존 데이터를 복구하는 방법을 알아 보겠다. 1. 기존 설치되어 있던 mysql 폴더 전체를 다른 폴더에 그대로 복사한다.(백업) 2. 설치용 mysql 압축 파일을 처음 설치했던 폴더에 그대로 다시 압축을 해제한다. 3. 압축이 해제된 폴더의 bin 폴더로 이동하여 아래의 명령을 수행한다. ../bin>mysqld -initialize-insecure 위의 명령은 .. 2022. 11. 13.
heidiSQL 툴 사용시 함수 생성 오류 mysql용 클라이언트 툴은 여러 가지 종류들이 있지만, 가볍고 무료로 사용할 수 있는 툴 중 heidiSQL이라는 툴이 있다. 이 툴을 사용하여 함수를 개발할 때 아래와 같은 오류가 발생할 수 있다. 이때 root 권한으로 접속한 뒤 아래의 명령을 수행함으로 오류를 없앨 수 있다. SET GLOBAL log_bin_trust_function_creators=ON; 2022. 11. 13.
Servlet에서 JSP의 useBean 사용하기 안녕하세요 IT여행자입니다. JSP를 사용하여 웹을 개발할 때 안에 있는 정보를 VO객체에 담을 수 있는 방법 중 가장 손쉬운 방법은 아마도 을 사용하는 것이 아닐까 합니다. 그런데 Servlet 구조를 사용하게 되면서 처럼 손쉽게 안에 있는 값들을 VO에 담을 수 있는 방법이 없게 되었습니다(이 부분은 아마도 제가 방법을 알지 못할 수도 있습니다.) 그래서, Servlet 코드 안에서 태그 안에 있는 값을 VO로 만들어주는 메서드를 정의해서 사용하곤 합니다. 항목이 몇 개 되지 않는다면 별 문제가 되지 않지만 항목의 수가 많아질수록 그 수고로움이 말도 아니게 됩니다. 즉, String id = request.getParameter("id"); ... MemberVo vo = new MemberVo();.. 2022. 11. 8.
이클립스에서 DBeaver 플러그인 설치하기 안녕하세요~ IT 이곳 저곳을 여행하고 있는 IT 여행자압니다. 이번 수첩은 이클립스에서 DBearver 플러그인을 설치하고 사용해 보는 간단한 내용을 적을까 합니다. DBeaver는 다양한 데이터베이스를 사용할 수 있는 몇 안되는 클라이언트 툴입니다. 윈도우, 맥, 리눅스에서 사용할 수 있는 독립적인 프로그램을 따로 설치하여 사용할 수도 있습니다. 그러나 윈도우용에서 어떤 경우엔 프로그램 자체가 실행되지 않는 생각지도 못한 버그가 존재합니다. 명확한 해결책을 찾기가 매우 힘들기 때문에 프로그램을 설치해서 사용하는 것은 일단 비추이지만, 이클립스의 플러그인을 설치하여 사용하는 것을 추천 드립니다. step 1. 이클립스 marketplace에서 dbeaver 를 검색하여 설치한다. 버전번호는 그 때 그 .. 2022. 7. 16.
spring에서 사용하는 주요 Annotation 안녕하세요. IT 이곳 저곳을 여행하고 있는 IT여행자입니다. 이번 여행자 수첩에서는 스프링에서 주로 사용하고 있는 어노테이션 몇가지를 정리해 보려 합니다. 그럼 시작해 볼까요~~ spring에서 사용하는 어노테이션들은 굉장히 다양하다. 그중에 자주 사용하는 어노테이션을 정리하였다. annotation이란 자바의 메타데이터로 컴파일할 때 그 기능을 주입하는 역활을 한다. 1. @Bean 이미 만들어진 클래스를 빈으로 등록하기 위해 지정한다. @Bean @Bean(name="id명") name이 지정되면 지정된 "id명"으로 빈을 등록할 수 있다. 아래의 코드는 Config 클래스에서 빈을 등록하고 있는 모습이다. @Configuration public class AppConfig { @Bean(value.. 2022. 7. 14.
4. 제약 조건 제약 조건이란 간단히 말하면 하자요인이 있는 데이터를 걸러내는 기능이라 볼 수 있다. 즉, 점수는 0~100 사이만 입력되게 한다던지, 글의 제목은 반드시 있어야 하고, 답글이 있는 경우 본문글만을 삭제하지 못하도록 만드는 기능이라 생각하면 될 것이다. 4.1. 제약 조건의 목적 데이터의 무결성 유지 : 하자가 있는 데이터가 발생하지 않도록 하는것. relation을 보다 견고하게 : 테이블 사이의 데이터 연결이 반드시 유지 되도록 하는것 4.2. 무결성 제약조건의 종류 제약 조건명 설명 PRIMARY KEY(PK) - NOT NULL, UNIQUE의 특성을 갖고 있고 테이블당 하나만 존재. - 둘 이상의 컬럼을 묶어 하나의 PK를 선언할 수 있음. - 자동으로 INDEX가 만들어진다. FOREIGN K.. 2022. 3. 1.
3. TABLE 생성및 변경 데이터를 저장하기 위해서는 TABLE을 생성해야 한다. TABLE과 관련된 내용을 간단히 살펴보자. 테이블 목록 확인 : SHOW DATABASES; 테이블명 변경 : RENAME TABLE 원본 테이블명 TO 변경 테이블명 3.1. 데이터 유형 3.1.1. 숫자형 TYPE BYTES SIGNED UNSIGNED MIN MAX MIN MAX TINYINT 1 -128 127 0 255 SMALINT 2 -32,768 32,767 0 65,535 MEDIUMINT 3 -8,388,608 8,388,607 0 16,777,215 INT 4 -2,147,483,648 2,147,483,647 0 4,294,967,295 BIGINT 8 0 3.1.2. 문자형 TYPE BYTES 비고 CHAR 255 - TEX.. 2022. 3. 1.
Spring Boot에서 WebSocket 만들기 안녕하세요 IT여행자입니다. 이번 수첩은 spring boot에서 websocket을 사용한 채팅을 구현해 보려고 합니다. spring boot에서 mvc를 구현하기 위한 초기 설정 단계가 좀 복잡해 보여 전체적으로 복잡하고 어려워 보이지만, 핵심적인 내용은 WebSocket을 사용하기 위한 @ServerEndpoint 어노테이션이 붙은 컨트롤 클래스와 WebSocket에 관한 환경 설정 파일이 주된 내용이라 볼 수 있습니다. spring boot의 mvc 패턴의 설정 과정이 그리 어렵지 않게 느껴지는 독자라면 너무도 쉽게 알 수 있는 내용이며, mvc를 구현해 보지 않은 독자라도 차근차근 따라가면서 작업하면 그리 어렵지 않게 완성할 수 있으며 이를 응용할 수 있을 것입니다. 개발 환경 본 문서를 작성할.. 2022. 1. 2.
이클립스를 사용한spring boot mybatis 설정 - mvc 패턴까지 내용은 https://jobtc.tistory.com/57(Spring Boot에서 MVC 초간단 설정) 참고하시고 그 이후의 작업부터 진행합니다. - mysql은 설치되어 있어거나 계정이 있어야 합니다. - jstl도 사용하도록 설정합니다. (샘플 코드내에서는 사용하지 않음) 1. dependency 추가 pom.xml에 아래의 dependency들을 추가합니다. 두 번째에 있는 mybatis-spring-boot-starter로 추가하지 않으면 mybatis가 정상적으로 인식되지 않을 수 있습니다. … javax.servlet jstl 1.2 org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 mysql mysql-connecto.. 2021. 12. 24.
Spring Boot에서 MVC 초간단 설정 안녕하세요 IT여행자입니다. 이번 수첩에서는 Spring Boot을 사용하는 환경에서 MVC 패턴의 개발환경을 아주 재빠르게 설정해 보는 과정을 적을까 합니다. 물론 기본적으로 웹 개발의 경험이 있어야 하겠지요~ 1. spring suite 4 플러그인 설치 이클립스 marketplace에 가서 spring suite 4 버전의 플러그인을 설치합니다. 설치가 종료되면 이클립스가 다시 시작됩니다. 2. Spring starter Project 생성 spring suite 4 플러그인이 설치되어 있으면 file>new>other>spring>spring starter project 메뉴가 추가되어 있습니다. 이를 사용하여 프로젝트를 생성합니다. 기본 패키지는 kr.jobtc로 하겠습니다. 프로젝트를 생성할 .. 2021. 12. 24.
이클립스에서 Data Management로 MySQL 연결하기 다양한 Database 클라이언트 유무료 툴들이 존재하지만, 간단한 쿼리 작업등을 하기 위해 굳이 별도의 클라이언트 툴을 설치하기 싫다면 이클립스 기능 중 하나인 Data Management를 사용하여 데이터베이스 연결하고 쿼리를 실행할 수 있습니다. 현재 사용하고 있는 대부분의 DBMS를 연결할 수 있지만, 본 지면에서는 MySQL을 예로 들어 보겠습니다. 물론 사용하려는 MySQL은 로컬이든 원격지든 설치되어 있고, 사용권한이 있는 계정은 있어야 합니다. 또한 사용하려는 버전의 JDBC 드라이버도 이클립스를 사용하고 있는 로컬 컴퓨터에 다운로드되어 있어야 합니다. 따라서 본 지면에서는 JDBC 다운로드부터 진행하도록 하겠습니다. JDBC Driver 다운로드 mysql.com 사이트를 방문한 뒤, 메.. 2021. 10. 30.
mysql을 USB에 담아 가지고 다니자(portable 타입으로 설치하기) Database와 같은 서버용 프로그램들은 설치와 제거가 일반 애플리케이션과 비교하여 많은 제약들이 걸려있는 경우가 많습니다. 간혹 필요가 없어 제거하려 해도 단순히 프로그램 제거와 같은 하나의 메뉴를 사용하여 제거해도 완전히 제거되지 않는 경우도 발생합니다. 또한, Database는 위와 같은 경우를 비롯하여 저장된 데이터를 다른 저장 장치로 복사하는 것도 쉽지 않습니다. 이는 데이터의 보안과 관계가 매우 깊습니다. 일반 파일들과 같이 쉽게 복사하여 사용할 수 있게 된다면 아무리 보안에 신경 써서 데이터를 저장하다고 하더라도 그 의미가 쉽게 퇴색되기 때.. 2021. 10. 6.
Firefox cache 비활성화 안녕하세요 IT여행자입니다. 이번 여행자 수첩은 Firefox 브라우저의 cache 기능을 활성화하거나 비활성화하는 방법에 대한 내용입니다. 일반적으로는 빠를 처리 속도와 중복되는 패킷 정보를 수신하지 않기 위해 cache 기능은 반드시 필요한 기능입니다. 그러나 개발자의 입장에서는 여간 불편한 내용이 아닐 수 없습니다. 특히나 css부분의 수정을 계속해나가야 하는 과정에 있다면 cache 때문에 탈모 증상을 겪을 수도 있을 것입니다. Firefox가 갖고 있는 cache 기능을 비활성화해 봅시다. 1. 먼저 브라우저를 열고, 주소 입력란에 'about:config'라고 입력합니다. 그러면 위험한 작업인데도 계속할 거냐 라는 경고 메시지와 함께 버튼이 나오게 되는데 버튼을 클릭합니다. 2. 검색창에 'b.. 2021. 5. 27.
USB나 이동 디스크에 MySQL Server 설치하기 안녕하세요. IT 여행자입니다. 이번 여행자 수첩은 USB나 이동 디스크에 MySQL Server를 설치하는 방법입니다. 실제 프로젝트에 사용하기에는 적절하지 않으나 테스트용 프로젝트에서 사용하거나, 컴퓨터를 바꾸어 가면서 MySQL을 사용해야 하는 상황에서는 매우 적절한 방법이 아닐까 합니다. 물론 SQLite와 같이 임베디드용 데이터베이스를 사용할 수 도 있지만, 임베디드용 데이터베이스들은 대부분 멀티 스레드나 다중 접속 시 많은 제한들이 있는 게 사실일 것입니다. 또한 설치된 데이터베이스에 저장된 데이터들을 다른 기기에 복사해서 사용하기엔 복잡한 과정을 거쳐야 사용 가능합니다. 이런 측면에서 손쉽게 데이터와 서버 전체를 복사해 컴퓨터들을 바꾸어 가면서 사용할 수 있다는 것은 매우 매력적인 요소일 것.. 2021. 5. 26.
JSON.simple 라이브러리를 사용한 JSON 처리하기 안녕하세요 IT여행자입니다. 데이터를 구조화 시키기 위해 xml 형식을 사용했었지만, 이제는 JSON 형식으로 처리하는것이 일반화 된것 같습니다. 이번 포스팅은 JSON.simple 라이브러리를 사용하여 JSON형태의 자료를 Java Object로, Java Object를 JSON 형태로 변환하여 사용하는 방법입니다. 테스트 환경은 eclipse와 Java를 사용하여 테스트해 보겠습니다. [목차] 라이브러리 설치 및 JSON문자열을 JSONObject로 변환 JSON문자열을 Java Object로 변환 JSONObject를 JSON 문자열로 변환 라이브러리 설치 다양한 방법으로 라이브러리를 설치할 수 있지만 본 포스팅에서는 mvnrepository.com 사이트를 통해 라이브러리를 설치해 보도록 하겠습니.. 2021. 5. 16.
eclipse에서 war로 배포할 때 모듈 버전 오류 안녕하세요. IT여행자입니다. 진행하던 프로젝트를 서로 다른 컴에서 사용하려고 가끔 war 파일로 배포 파일을 생성하여 다른 컴에서 import 작업할 때 Dynamic Web Module 때문에 오류가 발생하여 실행되지 않는 경우가 종종 발생합니다. 아래의 그림은 프로젝트의 Properties 화면입니다. 오른쪽의 빨간색 사각형을 보면 현재 프로젝트가 사용하고 있는 Dynamic Web Module번호가 표시되어 있는데 Version 이 3.1로 되어 있습니다. 이번호에 해당 하는 모듈이 프로젝트에 존재하지 않기 때문입니다. 기존에 사용하던 모듈 버전으로 바꾸려면 프로젝트 폴더 > .settings > org.eclipse.wst.common.project.facet.core.xml 파일을 열어 모듈 .. 2021. 5. 16.
18cXE 버전 설치와 샘플 데이터 테이블 생성하기 안녕하세요~ IT여행자입니다. 이번 수첩은 오라클을 무료로 경험할 수 있는 버전 중 하나인 18 cXE버전의 설치와 샘플 데이터 테이블을 생성해 보는 여행자 수첩입니다. 먼저 오라클 사이트(http://www.oracle.com) 방문하여 로그인 한후, 18 cXE버전을 다운로드하여 설치해야 합니다. 파일은 압축파일 형태로 제공하고 있기 때문에 압축을 해제한 후, 해제된 폴더 안에 있는 setup.exe를 실행하면 됩니다. 오라클 사이트는 다른 사이트들에 비해 홈페이지가 굉장히 자주 리뉴얼되고 있기 때문에 다운로드 받을다운로드할 파일들이 어느 메뉴에 포함되어 있을지는 예측하기 매우 어렵습니다. 다운로드할 수 있는 메뉴를 캡처받아 포함시킬 수도 있지만 큰 의미가 없어 보입니다. 차라리 오라클 사이트를 방문.. 2021. 3. 13.
반응형