3일차
·
개발일지/GreenMiniProject1
1.개발 진행 및 완료상황DB - 최종본 생성피그마 - 이력서, 채용공고 화면 추가2. 업무, 개발 중 발생한 이슈데이터를 테스트해보려고 USER_RESUME테이블의 이력서 1번에서 SKILL_NAME 중 하나인 'KOTLIN'을 삭제했더니 아래와 같은 오류가 발생했다.ORA-02292: integrity constraint (YOUR_SCHEMA.FK_COMPANY_RECRUIT_SKILL) violated - child record found COMPANY_RECRUIT 테이블의 레코드에 의해 참조되고 있다는 것을 의미한다. 따라서 데이터베이스는 데이터 무결성을 보호하기 위해 삭제를 허용하지 않게 된다. 이럴땐 중간 테이블을 생성해서 데이터의 무결성을 보장해야한다. 또한 다대다 관계를 직접 표현 할 ..
2일차
·
개발일지/GreenMiniProject1
1.개발 진행 및 완료상황DB테이블 생성(개인회원, 기업회원, 개인이력서, 채용공고, 지원내역, 커뮤니티, 커뮤니티_기업리뷰, 고객센터, 지역, 스킬)목업 (피그마)(로그인, 회원가입, 홈화면, 기업 검색 화면, 개인 메뉴 화면)깃 프로젝트, 브랜치 생성 개인 저장소와 원격저장소 연결2. 업무, 개발 중 발생한 이슈나는 좀더 많은 기능들을 구현하면 좋겠다. 예를 들어서 카카오나 네이버같은 사이트의 api를 이용해서 간편로그인이나 간편 회원가입을 구현하고 싶은데 아무래도 시간이 많이 걸리니 팀장과 다른 팀원들의 반대가 있었다. 그래서 내 개인적으로 한번 해보고 안되면 빼는 걸로,.,,, 그리고 추가로 전화번호 인증서비스(문자로 인증 또는 PASS)를 추가하자는 의견이 나왔는데 그것역시 너무 오래걸릴거같아서..
1일차
·
개발일지/GreenMiniProject1
🪲문제상황INSERT INTO COMPANY_RESUME (USER_RESUME_NUM, USER_TITLE, USER_ID, USER_NAME, USER_BIRTH ~~)VALUES( NVL(MAX(user_resume_num), 0) + 1, "아이디", "이름", "생일", "폰번호", "이메일, "주소", "기술스택", "자소서", "북마크")SQL 오류: ORA-00934: 그룹 함수는 허가되지 않습니다 00934. 00000 -  "group function is not allowed here"가 떠버렸다 MAX함수가 그룹함수의 집계함수인데 이것이 문제가 된 거 같다... 참고: [sql] 그룹 쿼리 (group query)와 서브쿼리(sub query) [sql] 그룹 쿼리 (group q..
[spring] 회원정보 수정하기
·
시행착오
param사용하기 JSP에서 param을 사용하지 않아도 되는 경우는, 컨트롤러에서 모델에 데이터를 추가했을 때입니다. 예를 들어, Spring MVC와 같은 프레임워크를 사용할 경우, 컨트롤러에서 addObject 메서드를 통해 데이터를 모델에 추가하면, JSP에서는 해당 데이터를 직접 참조할 수 있습니다. 즉, 컨트롤러에서 다음과 같이 데이터를 추가했다면: java model.addAttribute("attributeName", value); JSP에서는 ${attributeName} 형태로 데이터를 사용할 수 있습니다. 이 경우, param을 사용할 필요는 없습니다. 반면, JSP에서 사용자가 입력한 데이터를 받아오고 싶다면 param을 사용해야 합니다. 어떤 특정한 상황에 대한 질문인지 더 구체적..
Git/GitHub: 버전관리와 원격 저장 협업의 핵심 도구
·
Git&GitHub
1. Git이란?Git은 소스 코드의 버전 관리를 위한 분산형 버전 관리 시스템(DVCS)이다. 코드 변경 내역을 추적하고 여러 사람이 협력하여 프로젝트를 진행할 수 있도록 도와준다. Git의 주요 기능은 코드의 변경 이력을 기록하고, 특정 시점으로 되돌아가거나, 여러 작업을 병합하는 등 다양한 버전 관리 기능을 제공한다.Git은 로컬(사용자 드라이브)에서 버전을 관리하므로 네트워크가 없어도 작업할 수 있다. 또한, 분산형 시스템이기 때문에 각 클라이언트가 전체 저장소의 사본을 가지고 있어, 중앙 서버에 문제가 발생해도 작업을 계속할 수 있다. 2. GitHub란?GitHub는 Git 저장소를 호스팅하는 클라우드 기반 서비스. Git과 달리 웹 기반 인터페이스를 제공하여 사용자들이 프로젝트를 보다 쉽게 ..
[spring] 로그인하기
·
시행착오
🪲문제상황public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); System.out.println("요청 주소:" + requestURI); HttpSession session = request.getSession(); //사용자가 로그인정보를 하면 세션 메모리의 user에 저장 Object user = session.getAttribute("user"); System.out.println(user); if(user==null) { //로그인이 ..
[spring]회원정보 수정 - 비밀번호 체크하기
·
SPRING
회원정보를 수정하거나 로그인할때 비밀번호가 일치하는지 확인하는 로직이다. 민감한 정보를 확인할 때 많이 쓰인다. @RequestMapping("/CheckPassword") public ModelAndView checkPassword(String userid, String inputPassword) { // DB에서 사용자 정보 조회 UserVo user = userMapper.getUser(userid); ModelAndView mv = new ModelAndView(); // 입력된 비밀번호가 null이거나 비어있는 경우 if (inputPassword == null || inputPassword.isEmpty()) { mv.setViewNa..
[spring] 회원가입 - 아이디 중복 체크하기
·
SPRING
회원 가입을 할 때 아이디를 생성하게되는데 이때 기존의 사용자와 아이디를 겹치지 않게 해야한다. 이때, 사용하는 중복체크 로직이다. 1.fetch방식 사 // 아이디 중복 체크 @RequestMapping(value = "/CheckDuplication", method = RequestMethod.GET) @ResponseBody public String checkDuplication(String userid) { UserVo user = userMapper.getUser(userid); // DB에서 해당 아이디로 조회 if (user == null) { return "가능"; // 아이디가 존재하지 않으면 가능 } return "불가능"; // 아이디..
[java] 클래스 활용
·
JAVA
🔎클래스 사용 전 함수 사용 public static int add(int a, int b) { int r = a + b; return r; } public static void changeUpper(String name) { name = name.toUpperCase(); } public static void swap(int c, int d) { int t = c; //지역변수 t라서 swap의 기능이 제대로 안된다. c = d; d = t; System.out.println("c=" + c + ",d=" + d); }이때 스택은 각 함수마다 따로 있으며 리턴문은 변수 하나만 리턴할 수 있다.c=5d=8swap 메서드에서는 이렇게 swap이 된 상태로 나온다.  public static ..
[spring] 파라미터 다루기
·
SPRING
🌿파라미터 가져오기 ① // http://localhost/temp?a=hello&b=123 @GetMapping("/temp") // GET public String temp(String a, int b) { System.out.println("a=" + a); //a=hello System.out.println("b=" + (b + 3)); //b=126 return "none"; // none.jsp 없음 404 }넘어오는 파라미터 이름과 동일하기 때문에 @RequestParam이나 request.getParameter이 필요하지 않다.@GetMapping("/temp") : GET 방식@RequestMapping("/temp") : GET, POST 둘 다 받아 들일 수 있음.@Reques..