Java7의 날짜계산 : Date, Calendar, SimpleDateFormat(2)
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
안녕하세요 - 티친님들🙋‍♀️  저번 포스팅을 이어서 작성해 보겠습니다.  부족한 신입 개발자 이지만 한번 봐주시겠습니까 -? 👩🏻‍💻   이전 포스팅👇 Java7의 날짜계산 : Date, Calendar, SimpleDateFormat(1)안녕하세요 티친분들🙋‍♀️그동안 포스팅이 많이 뜸(?)했습니다.회사 적응기간이다 보니 티스토리에 포스팅하는 날이 많이 적어졌었어요.그만큼 제가 열심히 적응했다고 생각해 주세요 🥺yurizzy.tistory.com      개발 테스트 준비 필요한 데이터1. 현재 서버의 날짜 : today  2. 입력받은 날짜 데이터 2개(시작일 : startDate , 종료일: endDate)     3. 현재 서버의 날짜(today) - 35일 , 조회 시작 가능한 날..
Java7의 날짜계산 : Date, Calendar, SimpleDateFormat(1)
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
안녕하세요 티친분들🙋‍♀️그동안 포스팅이 많이 뜸(?)했습니다.회사 적응기간이다 보니 티스토리에 포스팅하는 날이 많이 적어졌었어요.그만큼 제가 열심히 적응했다고 생각해 주세요 🥺  오늘 작성할 내용은 날짜계산에 대한 것을 적어보려고 합니다.학원 프로젝트때도 만져봤지만 현재 저는 Java7 버전에서 개발을 하고 있어 조금 다르더라고요.다음에 또 사용할 수 있을 것 같아 잊어먹지 않게 한번 정리를 해보려고요. 시작해 보겠습니다.   날짜 계산이 필요하게 된 이유업무를 하면서 기존 서비스 중인 사이트에 보안 개선건으로 요청이 왔다.해당 기능은 날짜와 검색할 조건을 선택하고 🔍검색 버튼을 클릭하게 되면 해당 조건이 일치한 데이터를 DB에서 가져와 화면에 보여주는 기능이었다.사용자의 이력을 조회하는 기능인데..
Java의 상수, 매직넘버란 ?
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
Java에 상수는 변하지 않는 수를 의미한다. 상수를 자바에서 final 예약어로 선언한다. 상수의 장점은 가독성 측면에 값이 변하지 않는 것을 먼저 선언함으로써 읽음에 있어 가독성을 향상해 준다. 또한 바뀌지 말아야 할 값을 선언 시점에 명시함으로 변경되지 않게 방지해 준다. 추가로 일반적인 변수의 경우 메모리에 값을 매번 로드해야 하지만 상수는 값이 변하지 않아 컴파일러에 따라 미리 값을 최초 1회 로드 후 캐싱해 놓는 등 최적화 기회가 생긴다. 멀티스레드 환경에서 변수는 thread-safe를 신경 써야 하는 대상이지만, 상수는 값이 변경되지 않는다.    Magic Number?매직 넘버, 매직 리터럴 이란 소스코드에서 의미를 가진 숫자나 문자를 그대로 표현하는 것을 의미한다. 하지만 이런 코드는..
일급 컬렉션 (First Class Collection)
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Jᴀᴠᴀ
며칠 전 개발바닥 유튜브에서 개발자의 이력서를 검토해 준 영상을 보게 됐다. 참가자 분의 Git을 보면서 코드 리뷰도 해주셨는데, 리팩토링 하기 위한 쉬운 코드를 위해 일급 컬렉션이 필요하다는 것을 들었다.일급 컬렉션이 뭘까? 궁금증이 생겼다.학부 때 들었던 것 같았지만 자세히 기억나지 않아 일급 컬렉션에 대해 검색해 봤다.   일급 컬렉션이란 무엇일까?다른 객체와 동일한 권한(지위)을 가진 컬렉션 객체를 의미한다.즉 , 변수에 할당되거나, 매개변수로 전달되거나, 반환값으로 사용될 수 있으며, 다른 객체와 동일한 방식으로 비교될 수 있다.   Java에서 일급 컬렉션 특징변수나 매개변수에 할당할 수 있다다른 객체와 동등한 지위를 가진다반환값으로 사용 가능하다필요시 메서드에서 생성할 수 있다.  향로님의 ..
async & await 메모
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
1. 기본적으로 모든 대부분의 프로그래밍의 언어들은 동기적 방식이다 하지만 외부 api를 요청하는 기능들은 비동기 대부분 기본적으로 비동기로 작동한다 2. api를 요청하는 것 자체가 시간이 걸리는 작업들이기 때문에 디폴트 값으로 비동기이다 3. 비동기를 동기로 바꿔주는 명령어 await : 데이터 받아올때까지 기다리고 있어 라는 의미 async : awiat를 쓰는 함수 앞에 필수 명시해야한다 await를 쓰기위해선 async를 같이 써야한다 4. 함수의 중복을 피하기 위해 화살표 함수나 함수 표현식으로 사용하는것이 좋다 5. 화살표 함수에서 async의 사용법 const fetchSync = async () => { let rs = await axios.get("https://koreanjson.co..
Graphql & apollo 에 대해 알아보자
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
관련사이트 https://www.npmjs.com/package/@apollo/server#apolloserver @apollo/server Core engine for Apollo GraphQL server. Latest version: 4.10.0, last published: a month ago. Start using @apollo/server in your project by running `npm i @apollo/server`. There are 268 other projects in the npm registry using @apollo/server. www.npmjs.com 준비 해당 폴더에서 yarn init 다운로드 yarn add grahql yarn add @apollo/serve..
Axios 통신
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
fontend와 backend연결 지난번 만들었던 휴대폰 인증번호 생성 API를 가지고 연결하는 것을 진행해보자 HTML body 휴대폰번호 : 인증하기 인증상태 회원가입하기 처리로직 만들기 휴대폰 번호를 Input 에 입력한다 인증하기 버튼을 클릭한다 javascript에서 입력된 번호를 api 호출 시 인자로 전달한다 api는 랜덤하게 생성한 인증번호를 서버단에 출력하고, 정상 처리시 htm문서에 인증상태 글자를 지우고 결과를 바뀌게 한다 html -> javascript -> api -> javascript > html api로 휴대폰번호를 전달시 고려사항 html에 입력된 휴대폰 번호를 어떻게 가져올 것 인지 api를 어떻게 호출할 것 인지 전달을 한 뒤 결과값을 어떻게 전달 받을 것 인지 API..
Swagger가 뭔가요
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
API-Docs 사용하는 이유 프론트엔드 사람들에게 어떤 기능이고 어떻게 사용하는 것 인지를 명시해줘야 된다 api만 만드는 것이 아닌 항상 docs를 같이 만들어야 한다 보통 API 위에다 정의하기도 하지만 그렇게 할 경우 소스코드가 너무 길어지기 때문에 별도의 파일이나 폴더를 생성하여 구분해 관리하기도 한다 별도의 파일로 관리 시 Import필요 라이브러리 swagger-ui-express npm i swagger-ui-express yarn add swagger-ui-express swagger-jsdoc yarn add swagger-jsdoc 기본 템플릿 /* @openapi / : get : descriptionb : Welcome to swagger-jsdoc responses : 200 :..
RestAPI & import 간단 메모
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
RestAPI실습 express 자체에선 JSON 데이터를 읽을 능력이 없다 읽게 해줄려면 .use()메서드를 이용한다 💡 주의점 윗쪽에서 부터 읽어오기 때문에 app.use는 최상단에 배치하는 게 좋다 import Javascript 파일간에 Import하는 방법은 여러가지가 있다 연결할때엔 상단에 import구문이 필요하며 자원을 주는 쪽에 파일엔 export 키워드가 앞단에 있어야 가져올 수 있다 전체적으로 불러올 수 있고, 부분만 가져올 수 있다 그리고 default 메서드로 지정하여 따로 자원을 명시하지 않고 import할 경우 해당 메서드가 자동으로 세팅되게 할 수 있다 기본 문법 import 자원이름 from './파일경로' // 요즘 방식 이며 가장 기본방식 import { 자원1, 자원2..
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가 없이 모든 ..
express기초-nodemon
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
express 사용법 // js 파일 상단에 Import를 먼저 해야함 import express from 'express' // 해당 js파일이 있는 경로로 터미널을 실행한다 yarn init // packag.json 파일이 생성됨 "type" : "module" // 패키지 파일에 해당 내용을 추가하고 저장한다 // yarn을 통해 express 설치 // json파일의 "dependencies" 내용에 설치한 Express 목록이 추가되어야 한다 dependencies란? 설치했던 파일 목록이고 개발 환경의 히스토리이다 만일 nodemoules 파일 삭제시 재설치를 해야하며 재 설치시 yarn install 만 입력하면 처리됨 [주의점] 모든 명령어는 package.json 파일이 있는 폴더에서 ..
데이터통신-요청헤더,응답헤더
·
👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/⠀⠀⠀⠀ Nᴏᴅᴇ.Jꜱ
주요 프로토콜 FTP : 파일 프로토콜 SMP : 메일 프로토콜 HTTP : 하이퍼텍스트 프로토콜 HPPS : 하이퍼 텍스트 시큐리티 프로토콜 (보안) HTTP 요청(requrst) 과 응답(response)으로 통신한다 전달 데이터 형식 : 헤더와 바디로 구분된다 Requst 요청 헤더 : 브라우저의 정보, 전달하는 객체의 형태 요청 바디 : 내용 [ 내용은 객체에 담아서 전송한다 ] Response 응답헤더 : 보내는 곳의 정보 , 보내는 내용의 객체 형태 응답바디 : 내용 [ Key : Value ] 형태로 전달된다 요청 헤더와 응답 헤더는 다른 것 이다 [!상태코드] 응답 헤더에는 상태코드(100,200,400,…)가 포함되어 있다 상태코드가 별도로 있는 이유는 컴퓨터가 인식할 수 있도록 하는 ..
유리쯔의일상
'👩🏻‍💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞' 카테고리의 글 목록