Java의 상수, 매직넘버란 ?
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
Java에 상수는 변하지 않는 수를 의미한다. 상수를 자바에서 final 예약어로 선언한다. 상수의 장점은 가독성 측면에 값이 변하지 않는 것을 먼저 선언함으로써 읽음에 있어 가독성을 향상해 준다. 또한 바뀌지 말아야 할 값을 선언 시점에 명시함으로 변경되지 않게 방지해 준다. 추가로 일반적인 변수의 경우 메모리에 값을 매번 로드해야 하지만 상수는 값이 변하지 않아 컴파일러에 따라 미리 값을 최초 1회 로드 후 캐싱해 놓는 등 최적화 기회가 생긴다. 멀티스레드 환경에서 변수는 thread-safe를 신경 써야 하는 대상이지만, 상수는 값이 변경되지 않는다.    Magic Number?매직 넘버, 매직 리터럴 이란 소스코드에서 의미를 가진 숫자나 문자를 그대로 표현하는 것을 의미한다. 하지만 이런 코드는..
일급 컬렉션 (First Class Collection)
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
며칠 전 개발바닥 유튜브에서 개발자의 이력서를 검토해 준 영상을 보게 됐다. 참가자 분의 Git을 보면서 코드 리뷰도 해주셨는데, 리팩토링 하기 위한 쉬운 코드를 위해 일급 컬렉션이 필요하다는 것을 들었다.일급 컬렉션이 뭘까? 궁금증이 생겼다.학부 때 들었던 것 같았지만 자세히 기억나지 않아 일급 컬렉션에 대해 검색해 봤다.   일급 컬렉션이란 무엇일까?다른 객체와 동일한 권한(지위)을 가진 컬렉션 객체를 의미한다.즉 , 변수에 할당되거나, 매개변수로 전달되거나, 반환값으로 사용될 수 있으며, 다른 객체와 동일한 방식으로 비교될 수 있다.   Java에서 일급 컬렉션 특징변수나 매개변수에 할당할 수 있다다른 객체와 동등한 지위를 가진다반환값으로 사용 가능하다필요시 메서드에서 생성할 수 있다.  향로님의 ..
스프링의 생태계/Spring과 객체지향/SOLID원칙/Spring의 핵심 및 컨셉
·
🌱 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤/⠀⠀⠀⠀ SᴛʀɪɴɢBᴏᴏᴛ
📣 본 포스팅은김영한선생님의 스프링 핵심원리-기본형 강의를 기반으로 작성되었습니다.📣 스프링 역사 - 릴리즈 • 2003년 스프링 프레임워크 1.0 출시 - XML • 2006년 스프링 프레임워크 2.0 출시 - XML 편의 기능 지원 • 2009년 스프링 프레임워크 3.0 출시 - 자바 코드로 설정 • 2013년 스프링 프레임워크 4.0 출시 - 자바8 • 2014년 스프링 부트 1.0 출시 • 2017년 스프링 프레임워크 5.0, 스프링 부트 2.0 출시 - 리엑티브 프로그래밍 지원 • 2020년 9월 현재 스프링 프레임워크 5.2.x, 스프링 부트 2.3.x 스프링 생태계 필수 • 스프링 프레임워크 • 스프링 부트 선택 • 스프링 데이터 : jpa • 스프링 세션 : 세션관리 • 스프링 시큐리티 :..
AWS를 떠나고 GCP로 이전하다/ubuntu GCP, vim, docker, oracle, tomcat, jenkins, slack설치 관련 참고한 링크 모음
·
📖 Study/☁️ ᴄʟᴏᴜᴅ
오늘은 AWS를 버리고..(유료 과금돼서 기분 나빠진 건 안 비밀) GCP로 옮기면서 ubuntu에 docker와 oracle, jdk를 설치하고 아파치톰캣과 jenkins를 설치했다 1. GCP 인스턴스 구축 구축 관련 참고 영상 본문 링크 👇 이걸 참고해서 GCP를 구성했고 Linux설치했다 2. ubuntu에 vim설치 및 설정 본문 링크 👇 [Ubuntu] vim 설치 및 설정 이번 포스팅은 우분투를 사용할 때 vi 대신 더욱 편하게 사용할 수 있는 vim 설치법 및 설정에 대해 다뤄보겠습니다. 리눅스나 유닉스를 처음 접했을 때, 가장 크게 직면하는 어려움은 아마 터미 gabii.tistory.com 3. Tomcat , docker , oracle 설치 Tomcat을 다운로드할 때 참고한 블로그..
Axios 통신
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
fontend와 backend연결 지난번 만들었던 휴대폰 인증번호 생성 API를 가지고 연결하는 것을 진행해보자 HTML body 휴대폰번호 : 인증하기 인증상태 회원가입하기 처리로직 만들기 휴대폰 번호를 Input 에 입력한다 인증하기 버튼을 클릭한다 javascript에서 입력된 번호를 api 호출 시 인자로 전달한다 api는 랜덤하게 생성한 인증번호를 서버단에 출력하고, 정상 처리시 htm문서에 인증상태 글자를 지우고 결과를 바뀌게 한다 html -> javascript -> api -> javascript > html api로 휴대폰번호를 전달시 고려사항 html에 입력된 휴대폰 번호를 어떻게 가져올 것 인지 api를 어떻게 호출할 것 인지 전달을 한 뒤 결과값을 어떻게 전달 받을 것 인지 API..
cors , 꼭 알고 가야한다
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
CORS sop(same origin policy) : 같은 출발지 정책 브라우저에선 보안적 이슈로 cross-origin http 요청을 제한한다 그래서 cross-origin 요청을 하려면 서버의 동의가 필요하다 만약 서버가 동의한다면 브라우저에서는 요청을 허락하고 동의하지 않는다면 브라우저 에서 막는다(거절) 이러한 동의하는 로직을 HTTP-header를 이용한다 이를 cors(Cross-origin Resource Sharing)이라 부른다 Cross-origin이란? 프로토콜이 다르다 : http와 https는 프로토콜이 다르다 도메인 : domain.com과 other-domain.com은 다르다 포트 번호 : 8080 포트와 3000포트는 다르다 CORS가 필요한 이유 CORS가 없이 모든 ..
데이터통신-요청헤더,응답헤더
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
주요 프로토콜 FTP : 파일 프로토콜 SMP : 메일 프로토콜 HTTP : 하이퍼텍스트 프로토콜 HPPS : 하이퍼 텍스트 시큐리티 프로토콜 (보안) HTTP 요청(requrst) 과 응답(response)으로 통신한다 전달 데이터 형식 : 헤더와 바디로 구분된다 Requst 요청 헤더 : 브라우저의 정보, 전달하는 객체의 형태 요청 바디 : 내용 [ 내용은 객체에 담아서 전송한다 ] Response 응답헤더 : 보내는 곳의 정보 , 보내는 내용의 객체 형태 응답바디 : 내용 [ Key : Value ] 형태로 전달된다 요청 헤더와 응답 헤더는 다른 것 이다 [!상태코드] 응답 헤더에는 상태코드(100,200,400,…)가 포함되어 있다 상태코드가 별도로 있는 이유는 컴퓨터가 인식할 수 있도록 하는 ..
API CRUD 간단정리
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
CRUD create / read / update / delete C : 생성 post메서드(axios rest-API) mutation(apollo-client/graphql-API) R : 조회 get메서드(axios rest-API) query(apollo-client/graphql-API) U : 수정 put메서드(axios rest-API) mutation(apollo-client/graphql-API) D : 삭제 delete(axios rest-API) mutation(apollo-client/graphql-API) Mutation과 Query차이 데이터베이스 안에서 무언가 조작하여 데이터 변형이 있는 경우 위험한 작업임을 알 수 있도록 메서드 명이 mutation 이다 몇번을 조회하더라도 ..
API와 Node
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
API를 꼭 써야하는지 ? 백앤드 API를 꼭 거쳐야 하나요 ? 브라우저에서 바로 DB로 저장하면 안돼나요 ? 안됩니다 . 데이터를 꼭 검사해야합니다. 백엔드에서 하는 역할은 '검증,보안,안전’입니다 보안이 중요하다보니 해커가 데이터를 이상하게 보내게되어 DB에 문제가 생길 수 있는 부분이 발생될 수 있다. 브라우저에서는 자바스크립트 코드가 노출되어있기 때문에 보안이 취약하다 그래서 보안에 취약한 로직들이나 함수 등등 이런 부분들을 백엔드에서 처리한다 모듈화 프로그램 모든 프로그래밍에 기법은 모듈화가 일반적이다. 개발자가 모든 기능을 다 개발할 수 없기 때문에 다른 사람들이 올린 기능들을 가져다 쓸 수 있는 장점이 있다. java -> Maven(예전에 자주쓴 라이브러리) / Grandle (요즘 쓰는 ..
응급구조사편_의료서비스 검색화면 및 로직2
·
👀 Side Project/Eᴍʙᴀᴅ (23.12~24.01)
❤ 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤ gayulz - Overview 개발자가 되고싶은 개발어린이💟. gayulz has 11 repositories available. Follow their code on GitHub. github.com GitHub - gayulz/EMBAD_project: EMBAD , MY PROJECT EMBAD , MY PROJECT. Contribute to gayulz/EMBAD_project development by creating an account on GitHub. github.com 응급구조사가 요구한 내용을 처리하여 화면에 응답했다 , 그다음 제공해야 할 서비스는 어떤 내용일까 현재 사용자의 위치 요구한 서비스가 가능한 병원의 정보 병..
응급구조사편_의료서비스 검색화면 및 로직1
·
👀 Side Project/Eᴍʙᴀᴅ (23.12~24.01)
❤ 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤ gayulz - Overview 개발자가 되고싶은 개발어린이💟. gayulz has 11 repositories available. Follow their code on GitHub. github.com GitHub - gayulz/EMBAD_project: EMBAD , MY PROJECT EMBAD , MY PROJECT. Contribute to gayulz/EMBAD_project development by creating an account on GitHub. github.com 응급구조사에게 가장 핵심 서비스는 응급실찾기 이다 사용자에게 필요한 정보는 필요한 의료 서비스 정보 직관적으로 확인할 수 있는 위치 필요 의료 서비스를 받을..
이메일 발송 동작 구현 및 테스트
·
👀 Side Project/Eᴍʙᴀᴅ (23.12~24.01)
❤ 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤ gayulz - Overview 개발자가 되고싶은 개발어린이💟. gayulz has 11 repositories available. Follow their code on GitHub. github.com GitHub - gayulz/EMBAD_project: EMBAD , MY PROJECT EMBAD , MY PROJECT. Contribute to gayulz/EMBAD_project development by creating an account on GitHub. github.com 🙏 양해의 말씀 그동안 포스팅을 잠시 미뤘다. 마지막 프로젝트에 집중하고 싶었고, 이 프로젝트는 이력서에도 포트폴리오에도 첨삭되는 거라 옵시디언에 열심히 중..
유리쯔의일상
'개발공부' 태그의 글 목록