분류 전체보기
-
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 메인 화면 메인 화면 디자인은 팀원과 반씩 나눠서 했고 내가 튜닝한 부분은 위와 같다. 로고는 팀원이 찾아낸 '길벗'이라는 사이트에서 만들었다. 일단 내가 전체적인 홈페이지 틀과 슬라이드 쇼가 포함된 HTML 템플릿을 구글링하여 가져와 위 사진처럼 튜닝했고, 팀원은 틀 중에서 다른 부분을 마저 튜닝했다. 로그인 폼은 내가 따로 구글링해서 가져와 튜닝했다. 아이콘 메뉴 같은 경우 아이콘 사이트에서 가져왔고, 하단 배너의 경우 이미지를 하나씩 구해 버튼에 반영해 만들었다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 홈..
13.화면 디자인🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 메인 화면 메인 화면 디자인은 팀원과 반씩 나눠서 했고 내가 튜닝한 부분은 위와 같다. 로고는 팀원이 찾아낸 '길벗'이라는 사이트에서 만들었다. 일단 내가 전체적인 홈페이지 틀과 슬라이드 쇼가 포함된 HTML 템플릿을 구글링하여 가져와 위 사진처럼 튜닝했고, 팀원은 틀 중에서 다른 부분을 마저 튜닝했다. 로그인 폼은 내가 따로 구글링해서 가져와 튜닝했다. 아이콘 메뉴 같은 경우 아이콘 사이트에서 가져왔고, 하단 배너의 경우 이미지를 하나씩 구해 버튼에 반영해 만들었다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 홈..
2024.03.11 -
📌디렉토리 / 파일 관련 명령어 1️⃣ ls (list) ✅ 현재 디렉토리의 내용을 보여줌 ▫ -l : 디렉토리 / 파일 리스트를 권한 정보, 크기, 날짜 포함해 상세 출력 ▫ -a : 디렉토리 / 파일 리스트의 숨겨진 정보까지 모두 출력 ▫ -t : 파일 최근 생성된 시간순으로 출력 ▫ -s : 파일 크기순 출력 2️⃣ pwd (print working directory) ✅ 현재 작업 중인 디렉토리 확인 3️⃣ cd (change directory) ✅ 디렉토리 이동, 변경 ▫ - : 바로 직전에 작업한 디렉토리로 이동 ▫ / : root 디렉토리로 이동 ▫ .. : 현재 디렉토리의 상위 디렉토리로 이동 ▫ ~ : 홈 디렉토리로 이동 ▫ 디렉토리 이름 : 지정한 디렉토리로 이동 4️⃣ mkdir (m..
[Linux] 리눅스 우분투 명령어 정리📌디렉토리 / 파일 관련 명령어 1️⃣ ls (list) ✅ 현재 디렉토리의 내용을 보여줌 ▫ -l : 디렉토리 / 파일 리스트를 권한 정보, 크기, 날짜 포함해 상세 출력 ▫ -a : 디렉토리 / 파일 리스트의 숨겨진 정보까지 모두 출력 ▫ -t : 파일 최근 생성된 시간순으로 출력 ▫ -s : 파일 크기순 출력 2️⃣ pwd (print working directory) ✅ 현재 작업 중인 디렉토리 확인 3️⃣ cd (change directory) ✅ 디렉토리 이동, 변경 ▫ - : 바로 직전에 작업한 디렉토리로 이동 ▫ / : root 디렉토리로 이동 ▫ .. : 현재 디렉토리의 상위 디렉토리로 이동 ▫ ~ : 홈 디렉토리로 이동 ▫ 디렉토리 이름 : 지정한 디렉토리로 이동 4️⃣ mkdir (m..
2024.03.10 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 회원 정보 수정 회원가입 시 회원 정보로 입력한 이름, 연락처, 비밀번호를 수정할 수 있도록 했다. 카카오 회원의 경우 비밀번호는 수정할 수 없게 했다. 수정 시 각 정보에 관해 실시간으로 안내 문구가 뜨고 최종적으로 수정 버튼을 누를 때도 유효성 검사를 진행했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 회원가입이랑 비슷하게 조건을 만족한 데이터만 통과시켜 수정해야 했기 때문에 회원가입과 비슷하게 진행했다. 카카오 회원의 경우 임시 비밀번호로 통일했기 때문에 해당 비밀번호가 바뀌면 로그인이 안 되므로 수정하지 ..
12.기능 구현(9) - 회원 정보 수정🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 회원 정보 수정 회원가입 시 회원 정보로 입력한 이름, 연락처, 비밀번호를 수정할 수 있도록 했다. 카카오 회원의 경우 비밀번호는 수정할 수 없게 했다. 수정 시 각 정보에 관해 실시간으로 안내 문구가 뜨고 최종적으로 수정 버튼을 누를 때도 유효성 검사를 진행했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 회원가입이랑 비슷하게 조건을 만족한 데이터만 통과시켜 수정해야 했기 때문에 회원가입과 비슷하게 진행했다. 카카오 회원의 경우 임시 비밀번호로 통일했기 때문에 해당 비밀번호가 바뀌면 로그인이 안 되므로 수정하지 ..
2024.03.09 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 글번호 관리 수강 후기 게시판 목록 조회 구현 시 글번호를 원래는 후기 테이블에서 시퀀스로 설정하던 '리뷰 번호' 컬럼을 이용했다. 이후 DB 컬럼을 그대로 반영하는 방식보다 jsp 파일에서 자체적으로 번호를 만들어 반영했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 시퀀스로 생성되는 컬럼의 문제는 중간 글, 예를 들어 1번과 3번 사이 2번 글이 삭제된다면 기존 3번이 2번으로 자동 정렬되지 않고 그대로 3번으로 남아있다는 것이다. 만약 중간 글들이 여러 개 삭제된다면 글 번호는 그야말로 개판이 된다. 이렇게 ..
11.기능 구현(8) - 수강 후기 게시판(글번호 관리, 아이디 마스킹, 페이징)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 글번호 관리 수강 후기 게시판 목록 조회 구현 시 글번호를 원래는 후기 테이블에서 시퀀스로 설정하던 '리뷰 번호' 컬럼을 이용했다. 이후 DB 컬럼을 그대로 반영하는 방식보다 jsp 파일에서 자체적으로 번호를 만들어 반영했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 시퀀스로 생성되는 컬럼의 문제는 중간 글, 예를 들어 1번과 3번 사이 2번 글이 삭제된다면 기존 3번이 2번으로 자동 정렬되지 않고 그대로 3번으로 남아있다는 것이다. 만약 중간 글들이 여러 개 삭제된다면 글 번호는 그야말로 개판이 된다. 이렇게 ..
2024.03.08 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 파일 업로드 수강 후기 게시판 CRUD 구현 시 파일 업로드 기술을 사용했다. C드라이브의 임시 폴더를 경로로 설정해 파일이 저장되도록 하였고 저장되는 과정에서 파일명을 랜덤으로 변경해 저장했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 파일명을 랜덤으로 생성하지 않으면 파일명이 중복되어 저장될 수 있기 때문이다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 파일 데이터를 처리하는 컨트롤러의 로직이 실행되어야 하는데 자꾸 안되는 오류가 발생했다. 어떤 부분에서 막히는지 디버깅해본 결과 VO에 아예 매핑이 안되..
10.기능 구현(7) - 수강 후기 게시판(파일 업로드/다운로드)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ 파일 업로드 수강 후기 게시판 CRUD 구현 시 파일 업로드 기술을 사용했다. C드라이브의 임시 폴더를 경로로 설정해 파일이 저장되도록 하였고 저장되는 과정에서 파일명을 랜덤으로 변경해 저장했다. 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 파일명을 랜덤으로 생성하지 않으면 파일명이 중복되어 저장될 수 있기 때문이다. 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 파일 데이터를 처리하는 컨트롤러의 로직이 실행되어야 하는데 자꾸 안되는 오류가 발생했다. 어떤 부분에서 막히는지 디버깅해본 결과 VO에 아예 매핑이 안되..
2024.03.06 -
🚢 Port ◾ 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위 🔹프로세스 : 실행 중인 프로그램 사용자는 ip 주소를 통해 서버에 접속하고, 서버는 사용자의 ip 주소로 데이터를 보낸다. 하지만 하나의 서버에서 여러 가지 서비스를 제공한다면? (ex : 웹 페이지, 파일 전송...) 하나의 ip에서 실행 중인 프로그램이 여러 개라면? (ex : 카카오톡, 라인, 네이트온...) 이런 상황에서는 ip만으로 사용자가 어느 서비스를 이용하려는 것인지, 사용자가 실행하는 프로그램 중 어느 것에 데이터를 보내야 하는지 알 수 없다. 이러한 서비스나 프로세스를 구분하는 단위가 포트 번호다. 🔹 cf ) 웹 브라우저는 포트 번호를 자동으로 잡아 주어(80port) ip만 입력해도 웹사이트에 접속된다. 📌 포트..
[네트워크] 포트(port) 번호란?🚢 Port ◾ 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위 🔹프로세스 : 실행 중인 프로그램 사용자는 ip 주소를 통해 서버에 접속하고, 서버는 사용자의 ip 주소로 데이터를 보낸다. 하지만 하나의 서버에서 여러 가지 서비스를 제공한다면? (ex : 웹 페이지, 파일 전송...) 하나의 ip에서 실행 중인 프로그램이 여러 개라면? (ex : 카카오톡, 라인, 네이트온...) 이런 상황에서는 ip만으로 사용자가 어느 서비스를 이용하려는 것인지, 사용자가 실행하는 프로그램 중 어느 것에 데이터를 보내야 하는지 알 수 없다. 이러한 서비스나 프로세스를 구분하는 단위가 포트 번호다. 🔹 cf ) 웹 브라우저는 포트 번호를 자동으로 잡아 주어(80port) ip만 입력해도 웹사이트에 접속된다. 📌 포트..
2024.03.05 -
🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ CRUD 수강 후기 게시판 CRUD 구현 시 다음과 같은 기술을 사용했다. 1.조인 2.뷰 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 수강 후기 작성 시 카테고리에 회원이 수강한 강좌의 정보를 띄우고 싶었다. 회원이 수강한 강좌 테이블인 mycourse에는 회원 아이디와 강좌 번호만 있기 때문에 강좌 정보를 띄우려면 course 테이블의 정보가 같이 필요했다. 그래서 두 테이블을 조인하여 정보를 불러왔는데, mapper에 적고 보니 쿼리가 4줄이 되어 불편하고 가독성도 좋지 않았다. 또한 다른 서비스 로직에서도 사..
9.기능 구현(6) - 수강 후기 게시판(작성, 수정, 삭제)🦮 스스로를 위한 프로젝트 일지 가이드 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가 3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가 ✅ CRUD 수강 후기 게시판 CRUD 구현 시 다음과 같은 기술을 사용했다. 1.조인 2.뷰 1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가 수강 후기 작성 시 카테고리에 회원이 수강한 강좌의 정보를 띄우고 싶었다. 회원이 수강한 강좌 테이블인 mycourse에는 회원 아이디와 강좌 번호만 있기 때문에 강좌 정보를 띄우려면 course 테이블의 정보가 같이 필요했다. 그래서 두 테이블을 조인하여 정보를 불러왔는데, mapper에 적고 보니 쿼리가 4줄이 되어 불편하고 가독성도 좋지 않았다. 또한 다른 서비스 로직에서도 사..
2024.03.04 -
🏠 IP (Internet Protocol) ◾ 인터넷에 연결된 모든 장치(컴퓨터, 스마트폰 등)를 식별할 수 있도록 각각의 장비에 부여된 고유 주소 👉 사람이 우편물을 보낼 때 00도 00시 00구 00동으로 정확한 주소를 적어 보내듯이, 내 장치에 데이터를 받을 때에도 정확한 주소 정보가 필요 📌 종류 1️⃣ IPv4 (IP version 4) ◾현재 상용화된 버전 ◽형태 : 점으로 분리된 4개의 10진수 ◽크기 : 한 개의 10진수당 8비트(=1바이트)로, 총 32비트(=4바이트) ◽옥텟(Octet) : 한 개의 10진수를 2진수로 변환한 것을 옥텟이라는 단위로 부름 ◽총 43억개의 주소를 가짐 2️⃣ IPv6 (IP version 6) ◾아직 상용화되지 않은 버전 ◽형태 : 콜론으로 분리된 8개의..
[네트워크] IP란? (사설 IP / 공인 IP / NAT / 서브넷 마스크)🏠 IP (Internet Protocol) ◾ 인터넷에 연결된 모든 장치(컴퓨터, 스마트폰 등)를 식별할 수 있도록 각각의 장비에 부여된 고유 주소 👉 사람이 우편물을 보낼 때 00도 00시 00구 00동으로 정확한 주소를 적어 보내듯이, 내 장치에 데이터를 받을 때에도 정확한 주소 정보가 필요 📌 종류 1️⃣ IPv4 (IP version 4) ◾현재 상용화된 버전 ◽형태 : 점으로 분리된 4개의 10진수 ◽크기 : 한 개의 10진수당 8비트(=1바이트)로, 총 32비트(=4바이트) ◽옥텟(Octet) : 한 개의 10진수를 2진수로 변환한 것을 옥텟이라는 단위로 부름 ◽총 43억개의 주소를 가짐 2️⃣ IPv6 (IP version 6) ◾아직 상용화되지 않은 버전 ◽형태 : 콜론으로 분리된 8개의..
2024.03.03