3월, 2023의 게시물 표시

자바로 db 통신

json에서 key값 쉽게 접근하는 함수

ajax통신, js로 json데이터 가공해서 테이블 만들기

ajax통신, jquery로 json데이터 가공해서 테이블 만들기

이벤트 문제 jQuery

이벤트 문제 js

JS 가위바위보

강아지 CSS 클론코딩

Joandora CSS 클론코딩

클론: 원본:

문서전체에 display: flex 걸면 일어나는 일

이미지
  title, head, script 부분까지 찍힘 ;; flex 연습하다 우연히 발견;;

css responsive

css position

css box model

html form

Holy Grail Layout 가변

Holy Grail Layout

CSS float 메뉴

CSS 클론코딩연습 : 하이서울브랜드

단체 채팅 구현

import java.io.DataInputStream; import java.io.DataOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.LinkedList; import java.util.List; public class Server { static List<DataOutputStream> outs; public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(2400); outs = new LinkedList(); Socket socket; DataOutputStream out; while (true) { socket = serverSocket.accept(); new Broadcaster(new DataInputStream(socket.getInputStream()), out = new DataOutputStream(socket.getOutputStream())).start(); outs.add(out); } } catch (Exception e) { e.printStackTrace(); } } static class Broadcaster extends Thread { DataInputStream in; DataOutputStream out; Broadcaster(DataInputStream in, DataOutputStream out) { this.in = in; this.out = out; } @Override public void run() { while (true) { try { String message = in.readUTF(); for (DataOutputStream ou

자바스크립트 구구단 document.write

이미지
let table = '<table border="1">'; for (let r = 0; r < 10; r++) { table += '<tr>'; for (let c = 1; c < 10; c++) { table += r == 0 ? '<th>' : '<td>'; table += r == 0 ? (c == 1 ? '' : c + '단') : (c == 1 ? r : c + ' x ' + r + ' = ' + c * r); table += r == 0 ? '</th>' : '</td>'; } table += '</tr>'; } table += '</table>'; document.write(table);

세미 프로젝트 작업일지 7일차-2

이미지
2023-03-04 7일차-2 유사 ajax는 포기.  DAO 함수 구성 나쁘지 않은듯.  CommentBean 클래스 추가. PostBean 안에 List<CommentBean>으로 들어감. 댓글 기능 추가 글 삭제하면 해당 글 댓글도 같이 삭제하게 업데이트 슬슬 여기서 마무리하기. 마지막 정리: 동시에 같은 값으로 요청시 예외처리 ex: 같은 아이디로 회원가입, 같은 글 번호로 게시글 등록 프로그램 끊기지 않도록 모든 예외 처리 - try catch  디자인 업데이트

세미 프로젝트 작업일지 7일차

2023-03-04 7일차 공부를 하면서 드디어 프로세스가 머리속에 만들어짐. 기존 패턴:  뷰-컨트롤러-모델-DB - 스레드 1개 새 패턴   :  Server.java - 무한으로 연결요청 계속 받는 서버. FrongEnd.java - 서버에 연결요청을 하는 클라이언트. Controller.java - 서버에 연결되면 클라이언트에게 생성해주는 서비스 스레드   뷰-소켓-컨트롤러-모델-DB x n개 스레드 생성 배운점: "\n"을 포함해서 전송하려면 PrintWriter는 안되고 DataOutputStream.writeUTF를 쓰면된다. 스캐너의 nextInt 대신 nextLine을 쓰면 try catch를 줄일수 있다. 스캐너 외에 InputStreamReader도 System.in을 파라미터로 넣으면 키보드 입력을 받을 수 있다. 할일: 여러 클라이언트 연결중, 새로운 글이 올라오면 모든 클라이언트에게 그 메시지를 전송하는 로직을 만들 수 있을까? FrontEnd 클래스 과부하. 가능하면 다른 클래스로 분산. DAO 함수 데이터 타입 정리. AuthBean 사용할만한 곳 찾아서 활용. https://github.com/byulsdeep/cliForumSocket

세미 프로젝트 작업일지 5,6일차

2023-03-03 5,6일차 게시판 글 상세보기 완성 게시판 글 삭제하기 완성 삭제 로직: db에서 전부 읽어옴 사용자가 삭제할 글 제외 나머지 글 다시 db에 씀 마이페이지 로그인 중 ID만 보이게 간단하게 완성 소켓과 스레드를 이용한 실시간 게시판 내용 변경 기능을 추가 하기위해 소켓과 스레드 공부 진행 배운점: 파일리더와 라이터로 파일 접근 중일 때 리더, 라이터 순차로 close하면 파일 내용 증발함

세미 프로젝트 작업일지 4, 5일차

2023-03-02 어제 부터 이틀간 밤샘작업 중 회원가입 유효성 확인 추가 등 마무리 회원가입하면서 만든 패턴으로 로그인도 마무리 PageUtils와 ServiceUtils 클라스 ProjectUtils로 통합 ViewRules -> PageRules, ModelRules -> ServiceRules로 이름변경 신규 클래스 : Authentication - 회원가입, 로그인 백엔드 PostBean - 게시글 캡슐화용 클래스 ForumPage - 게시판 프론트엔드 Forum - 게시판 백엔드 신규 db : posts.txt - 게시판 db 게시판 글 쓰기, 글 목록 불러오기까지 완성 게시글 저장 양식: 행당 한 게시글 정보 열은 "|" 로 분리 사용자가 입력한 "\n"는 "<newLine>"으로 저장하고 불러올때 "\n"으로 replace 함 Json 복습하기 귀찮아서 선택한 방식 배운점 :  BufferedWriter를 Writer 보다 먼저 close 해야한다.