전체 글(223)
-
[ Java / Socket ] 접속자 제어 및 브로드캐스팅(그룹채팅 구현)
환경 : Spring Tool Suite4 창마다 새로운 사용자로 인식하게끔 설정하여, 그룹채팅의 효과를 이해해보자 브로드캐스팅을 통해 모두에게 메세지가 전송되도록 구현! 소켓 생성 - GroupWebSocketServer.java /** * 접속한 사용자들을 어떻게 관리할 것인가? * - 접속한 모든 사용자에게 메세지를 보내고 싶다면 사용자 정보를 저장 * - 저장소를 Set 형태로 생성 * */ @Slf4j @Service public class GroupWebSocketServer extends TextWebSocketHandler{ //사용자의 정보를 저장할 저장소 생성 //private Set users = new HashSet();//HashSet은 동기화 안 됨(자물쇠 없음) //privat..
2024.06.29 -
[ Java / Socket ] 서버/클라이언트 통신 및 토스트 메세지 띄워보기
환경 : DBeaver, Spring Tool Suite4 챗봇처럼 서버와 클라이언트의 유기적인 통신을 구현하기 위해 테이블을 먼저 생성하고 더미 데이터를 삽입하겠습니다. - DB 생성 -- 테이블 및 시퀀스 생성 -- 챗봇에서 가장 중요한 건 질문에 대한 답변 create table chatbot ( chatbot_no number primary key, -- 번호 chatbot_question varchar2(300) not null, --질문 chatbot_answer varchar2(300) not null --답변 ); create sequence chatbot_seq; -- 더미데이터 생성 insert into chatbot(chatbot_no, chatbot_question, chatbot_..
2024.06.29 -
[ Java / Socket ] 웹 소켓 서버 생성 / 접속 / 접속종료
환경 : Spring Tool Suite4 서버 생성 및 설정 - BasicWebSocketServer.java /** * 웹소켓 접속 및 메시지 전송을 중계하는 서버 * - 상속을 받아서 자격을 획득 (WebSocketHandler / TextWebSocketHandler / BinaryWebSocketHandler) * - @Service 로 등록하여 사용 * - 필요한 메소드를 재정의하여 사용 * - afterConnectionEstablished : 사용자가 접속했을 때 실행되는 메소드 * - afterConnectionsClosed : 사용자가 접속을 종료했을 때 실행되는 메소드 * - handleTestMesage : 사용자가 메세지를 전송했을 때 시행되는 메소드 * */ @Slf4j @Ser..
2024.06.29 -
[ Java ] 내장객체로 비.암(비밀번호 암호화 하기)
환경 : Spring Tool Suite 4, DBeaver 먼저, 암호화 연습을 위한 테이블 생성하겠다 create table secret_member( member_id varchar2(20) primary key, member_pw char(60) not null, /*비밀번호 값은 고정!!!!!*/ member_nick varchar2(30) not null unique ); (+) 비밀번호는 Bcrypt 사용 시 60바이트로 고정! encoder를 생성해 두고 가져다 쓰기위한 SecretConfiguration 파일을 생성한다 - SecretConfiguration.java import org.springframework.context.annotation.Bean; import org.sprin..
2024.06.25 -
[ Java ] MimeMessage - 이메일 전송하기
환경 : Spring Tool Suite 4 https://ggingggang05.tistory.com/202 위에서 적어두긴 했는데.. 한 번 더... 먼저, Jsoup을 활용하기 위해 의존성을 추가해야 한다. - pom.xml org.jsoup jsoup 1.17.2 org.springframework.boot spring-boot-configuration-processor true org.springframework.boot spring-boot-starter-mail 다음은 이메일을 전송하는 메소드이다. - EmailService.java public void sendWelcomeMail(MemberDto memberDto) throws IOException, MessagingException {..
2024.06.25 -
[ Java / Mybatis ] Mybatis 사용해보기
환경 : Spring Tools Suite4 [ MyBatis ] MyBatis는 데이터베이스를 쉽게 다룰 수 있도록 도와주는 ORM(Object-Relational Mapping) 프레임워크로, 개발 시 도움을 주는 라이브러리다. (이전에 내가 기록해왔던..) 글들과는 달리 mapper가 필요 없어지고 dto가 짧아진다. (변수 선언만 해주면 됨.) 또한, sql문의 띄어쓰기를 신경쓰지 않아도 돼서 편핟. 그냥 홀더를 쓰던 부분에 정적/동적 배치에 따라 사용하는 기호가 달라질 뿐이다. 정적 배치(계속 같은 값이 들어가는 경우) : $ 사용 동적 배치(계속 다른 값이 들어가는 경우) : # 사용 MyBatis 사용 방법순서 : 의존성 설정 -> DB 설정 -> MyBatis 설정 -> Mapper 인터페..
2024.06.22