규턴의 개발블로그
article thumbnail
3주차 미션 - 동적인 HTML과 쿠키,세션을 이용한 로그인

3주차 미션은 다음과 같았다 1. GET으로 회원가입 -> POST로 변경 2. 동적인 HTML요구(로그인, 비로그인시 메인화면 페이지가 동적으로 변할 수 있어야함 로그인시: 사용자의 이름이 보여야하고, 로그인 회원가입 버튼이 삭제 비로그인시: 사용자의 이름이 보이지 않고, 로그인 회원가입 버튼이 보여야함 3. 쿠키 세션을 이용한 로그인/회원가입 기능 요구 1. GET으로 회원가입 -> POST로 변경 나는 이전에 중간 피드백시간에서 한 팀원이 리플렉션을 사용하여 컨트롤러를 선택하는 로직을 보았다. 해당 로직은 인상깊었고, 실제로 스프링도 Reflection을 사용하여 로직이 구현되는것으로 알 고 있다. 그렇기에 이번에 Reflection을 공부해볼겸 실제 프로젝트에도 적용해보았다! public stat..

article thumbnail
Java Reflection

이번 2주차 웹서버를 구현하는 미션을 받았다. 해당 미션은 실제 웹서버를 Socket기반으로 통신하는것을 직접 하드하게 코딩하는것이었다. 깃헙 주소:https://github.com/gyuturn/be-java-web-server GitHub - gyuturn/be-java-web-server: 현대자동차 소프티어 부트캠프 2023 자바 웹 서버 프로젝트 현대자동차 소프티어 부트캠프 2023 자바 웹 서버 프로젝트. Contribute to gyuturn/be-java-web-server development by creating an account on GitHub. github.com 다른팀원들의 코드를 본 경험중에 Reflection을 사용하여 Request를 매핑하여 해당 컨트롤러에 해당하는 Me..

JAVA에서 좋은 코드란?

우아한테크코스 프리코스를 진행하면서 클린코드(좋은 코드)에 대해 관심을 가지게 되었다. 또한 현재 진행중인 현대자동차 소프티어 부트캠프에서도 객체지향 + 클린코드에 대해 학습하였다. 호눅스님께서 따로 정답은 없다고 하셨지만, 다른 개발자들이 시행착오를 겪으면서 BestPractice는 있다고 생각한다. 그렇기에 내가 배우면서 느낀 클린코드, 객체지향적인 코드가 무엇인지 정리해보고자 한다. 좋은 코드 좋은 코드라는 말은 추상적이다. 흔히 사람들이 말하는 좋은코드중 하나는 읽기좋은 코드 유지보수하기 좋은 코드(즉, 요구사항의 변경에 유연한 코드) 여기서 읽기좋은 코드와 유지보수하기 좋은 코드는 다른 의미이다. 읽기좋은 코드는 유지보수하기 어려울 수 있으며, 유지보수하기 좋은코드는 읽기좋은코드일 수 있다. 그..

article thumbnail
관리자 페이지 with 로그

이번에 처음으로 관리자 페이지 구축계획도 세워볼까 한다. 나아가 로그관련해서는 한번도 다루어 본적이 없기에 왜 로그가 필요하며, 이번 프로젝트에서 로그를 저장하고 어떻게 관리 및 시각화 할것인가에 대해 고민해보고자 한다. 왜 로그가 필요할까? 우선적으론 '더 나은 서비스를 창출하기 위해' 라고 답할 수 있다. 한 예시로 다음과 같이 회원가입 관련 로그를 다룬다고 가정해보자 로그를 보면 한 A사용자가 10분에 회원가입 방문 페이지를 방문하였고 20분에 회원가입 완료 페이지를 방문한것을 알 수 있다. 물론 이렇게 하나의 로그만을 가지고 있다면 활용가치가 없을 수 있다. 만약 이것이 1000개가 된다면?? 1000명이 회원가입 방문 페이지를 만들었는데 회원가입 완료 페이지를 방문한 숫자는 400명밖에 되지 않..

article thumbnail
EKS를 활용하여 쿠버네티스 실습 및 클론코딩
devops/kubernetes 2022. 12. 6. 14:38

이번글은 제가 클론코딩하면서 실습한 EKS에서 대해 전체적인 flow를 정리하고자 합니다. 그렇기에 해당 실습을 해보지 않은 분들은 글을 읽기 어려울수도 있습니다. https://catalog.us-east-1.prod.workshops.aws/workshops/9c0aa9ab-90a9-44a6-abe1-8dff360ae428/ko-KR/10-intro Workshop Studio catalog.us-east-1.prod.workshops.aws 해당 링크를 통해 참고 워크샵 진행순서 AWS Cloud9을 통한 실습 환경 구축 도커를 이용하여 컨테이너 이미지 생성 컨테이너 이미지를 ECR에 업로드 Amazon EKS 클러스터 구축 및 서비스 배포 Container Insights 사용해보기 파드 및 클러..

[기숙사 룸메구하기] NOSQL vs RDB 둘중 어떤걸 써야할까?

NOSQL vs RDB 항목 NOSQL RDB(관계형) 사용 툴 MONGO-DB 사용예정 MYSQL, ORACLE, POSTGRES 중 선택 장점 스키마가 없기때문에 자유로움 -> 정형화된 스키마가 없는 경우 저장 용이(ex 빅데이터) 언제든 데이터 변형 가능 Scale-out에 용이 정해진 스키마와 이에따른 명확한 데이터 구조를 가짐 각 데이터를 중복없이 저장 ACID (Atomic, Consistency, Integrity, Duarabity)보장 - 원자가는 완벽하게 실행하거나 혹은 전혀 실행하지 않는 트랜잭션을 필요로 합니다. - 일관성은 트랜잭션이 커밋되면 데이터가 데이터베이스 스키마를 준수하도록 요구합니다. - 격리성은 동시에 일어나는 트랜잭션들이 각기 별도로 실행되어야 함을 의미합니다. - ..

[Java]sort(Comparator) 시에 Runtime 런타임 에러
알고리즘 2022. 11. 17. 00:08

알고리즘을 풀면서 자꾸 같은 로직인데 런타임 에러가 발생했다. 특히 custom으로 Compare 로직을 짤때 해당 에러가 발생했다. 이건 에러가 난 코드이다. if(Integer.parseInt(my+other)>Integer.parseInt(other+my)) return -1; else return 1; 밑에 코드는 에러가 나지 않은 코드이다. if(Integer.parseInt(my+other)>Integer.parseInt(other+my)) return -1; else if(Integer.parseInt(my+other)

article thumbnail
[NiFi] jdk 11 에서의 트러블 슈팅 및 메일을 보내다
data/nifi 2022. 10. 25. 14:17

NiFi 1.17.0에서 jdk 11버전에서의 실행시 문제가 있었다. 상황은 다음과 같다. java --version jdk-11 내가 실행하는 환경에서 java --version 명령어를 입력하면 다음과 같이 나왔었다. 하지만 1.17.0에서 nifi.sh start 실행 시 jdk-11.3.2 와 같이 '.'을 기준으로 jdk 버전을 바인딩 하고 있었다. 즉 jdk11은 에러가 나고 jdk11.x.x와 같이 되어 있어야 정삭적으로 nifi에서 바인딩 돼서 실행이 된다. 그래서 메일을 보냈다 대충 설명하자면 다른사람들도 이와같은 버그가 있었고 이를 추후에 이슈화하여 수정해준다는이야기이다. 추후에 바로 변경될지는 모르겠지만 오픈소스 개발자에게 직접 문의해서 해당 개발자가 오류를 인정하고 수정해주는 모습이..