🎨 Programming

🎨 Programming/Spring Boot

[Spring Boot] 쿠키로 게시글 조회수 증가, 중복 방지

🚨 이슈 상황 게시글을 조회했을 때 조회수가 증가해야하는 데, 새로고침을 해도 조회수가 계속 증가하는 문제가 생겼다. 이를 보완하기 위해 찾아보다가 쿠키로 적용 시킨 방법이다. 🔎 개선 방안 💡 IP 장점 조작이 불가능하다(해킹하지않는한) 단점 IP는 장소에 따라 유동적으로 변할 수 있는 문제점이 있다. MAC 주소와 같은 유저라도 다른 기기라면 다른 유저로 식별하게 된다. IP와 MAC 주소는 값이 길기 때문에 수많은 유저와 수많은 게시글과 날짜를 함께 저장하기에 문제가 있다. 💡 세션 - 세션의 특징으로는 사용자 정보를 서버에서 관리하는 것입니다. 장점 사용자 정보를 서버에 둔다는 뜻은 쿠키보다 보안에 좋다. 저장데이터에 제한이 없다.(서버 성능에 따라 다름) 단점 서버에 데이터를 저장한다는 것은 서..

🎨 Programming/React

React 리액트 부트스트랩(react-bootstrap) 적용하기

혼자서 프로젝트를 하기 위해 프론트 부트스트랩에 대해서 스터디 중입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 👉 리액트 부트스트랩 (react-bootstrap) 이란 • 부트스트랩(bootstrap)은 오픈 소스 프론트엔드 프레임워크이다. • react에서 Bootstrap5을 사용 가능하도록 개발한 라이브러리입니다. • 웹사이트를 쉽게 만들 수 있도록 각종 레이아웃, 버튼, 입력창 등의 디자인을 CSS와 Javascript로 만들어 React에서 컴포넌트를 불러 사용가능합니다. • 프로젝트 내 따로 bootstrap.js 파일을 둘 필요가 없고 react-bootstrap 라이브러리만 설치하면 사용 가능합니다. 👉 Bootstrap 라이브러리 패키지 설치하기 •react Bootstrap 문서에..

🎨 Programming/React

React 기초 6강 - Component로 HTML 깔끔하게 줄이는 법

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 이전글 1. Modal 창으로 띄우는 상세 페이지 👉 Modal UI 디자인하기 위 예시처럼 return 내에서 연속된 태그들은 사용 불가능 ❌❌❌ 복잡하고 어려운 div 지옥😈 2. HTML을 한 단어로 줄여서 쓸 수 있는 방법 : 리액트의 Component 문법 👉 Component 만드는 법 1. 함수를 만들고 이름을 짓는다. 2. 축약을 원하는 HTML 넣는다. 3. 원하는 곳에서 사용 🚨 Component 유의사항 1. 이름은 대괄호로 시작한다. 2. return() 안에 있는 건 태그 하나로 묶어야함 - return() 내부를 묶을 때 의미없는 쓰기 싫으면 을 사용한다. 3. Component는 functi..

🎨 Programming/React

React 기초 5강 - state 맘대로 변경하는 법

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 이전글 1. 버튼을 누르면 첫째 제목이 '수원 카페 추천' 으로 변경하는 법 (하드코딩 버전) 🚨유의사항🚨 - 제목변경() 함수에 소괄호()를 넣을 경우, 버튼 클릭시가 아닌 바로 함수가 실행 된다. 2. 버튼을 누르면 첫째 제목이 '수원 카페 추천' 으로 변경하는 법 (복사본 만들기) 수정된 [데이터]를 만듭니다. 다만, 원본 state 수정은 불가❌❌ 👉 state 데이터 수정 테크닉 deep copy 해서 수정하는 방법 deep copy : 값 공유❌, 서로 독립적인 값을 가지는 복사 👉 Array, Object state 데이터 수정 방법 - 일단 변경함수를 써야한다. - 변경함수(대체할 데이터) - state..

🎨 Programming/React

React 기초 4강 - 리액트에서 버튼에 이벤트 리스너 (핸들러) 적용하는 법

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 이전글 1. 터미널에 뜨는 warning 없애는 방법 - eslint가 잡아주는 문법 체크사항 - eslint란, 잘못된 코딩 관습을 바로 잡아주는 작업 warning을 보고 싶지 않다면, /* eslint-disable */ 작성하기 2. 좋아요 버튼을 만들어보자👍 onClick={클릭될 때 실행할 함수} onClick={()=>{실행할 내용}} 3. 따봉 누를 때마다 1 증가 시키기 따봉은 자주 변하는 숫자이므로 useState로 만들어야 한다. state는 그냥 변경이 안된다. 하단 예시로는 사용이 어렵다. 👉 state 변경 방법 따봉이랑 같이 만들었던 따봉변경() 함수 따봉변경(대체할 데이터) 따봉을 누르면 ..

🎨 Programming/React

React 기초 3강 - 데이터 바인딩하는 방법, 변수말고 state (useState)

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 이전글 리액트에서 데이터는 1. 변수에 넣거나 2. state에 넣어서 사용하는 두가지 방법이 있다. 👉리액트의 데이터 저장공간 state 만드는 방법 1. { useState } 상단에 첨부 2. useState(데이터) 3. (참고) ES6 destructuring 문법 [10,100]; array 된 이 두개 데이터를 변수로 담고 싶으면? var [a,b] = [10, 100]; 이렇게 작성할 경우, 10을 a 라는 변수에 100을 b라는 변수에 담는 다는 뜻이다. ⭐⭐⭐ array, object 에 있던 자료를 변수에 쉽게 담고 싶을 때 사용 ⭐⭐⭐ 👆 [state 데이터, state 데이터 변경 함수] 👆 예..

🎨 Programming/React

React 기초 2강 - 리액트에서 HTML 대신 JSX 사용법

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 이전글 App.js 에서 필요없는 코드 기존 작성된 header 부분 삭제 왜 App.js가 메인 페이지냐? index.js가 App.js에 있는 HTML을 index.html로 넣어주기 때문에 App.js의 코드가 보여지는 것이다. 1. 블로그 navbar 만들기 React에서는 HTML처럼 생겼지만 똑같지는 않은 JSX 문법을 사용한다. 기존 으로 사용할 수 없고, 으로 사용해야 한다. 2. css 수정 3. 리액드에서 데이터 바인딩 하는 법 중괄호 { }에 변수명 또는 함수 등을 넣어서 데이터를 쉽게 넣을 수 있다. 1) 변수명 적용 2) 함수 적용 3) 이미지 적용 ⭐⭐⭐상상하는 모든 곳에 중괄호 {} 로 변수..

🎨 Programming/React

React 기초 1강 - 리액트 설치와 셋팅법, 프로젝트 생성

코딩애플 - 리액트 기초 : 블로그 프로젝트 만들기 기반으로 스터디하며 작성하였습니다. 1. Node.js 설치 https://nodejs.org/ko 사이트에서 가장 최신버전 설치 2. Visual Studio Code 설치 - 코드편집을 위한 에디터 https://visualstudio.microsoft.com/downloads/ 사이트에서 최신 무료버전 다운로드한다. 설치가 완료되면 실행한다. 3. 작업폴더 생성 프로젝트 저장을 원하는 곳에 폴더만 생성해준다. 4. Visual Studio Code 에디터에서 상단 File -> Open Folder -> 만든 작업 폴더 열어준다. 직접 작명한 작업폴더명이 뜨면 성공 5. 리액트 프로젝트 생성 Terminal -> New Terminal 누른다. O..

🎨 Programming/Spring

[Spring] Servlet과 Spring Web MVC

Servlet 이 왜 나왔는가? 🤔 1. 정적데이터만 전달하는 Web Server 초창기 웹 어플리케이션은 단순히 html 파일과 같은 정적 데이터만 제공할 수 있었습니다. 즉, 그림과 같이 모든 사용자는 같은 화면만 제공받을 수 있었습니다. 정적 컨텐츠만 제공하는 웹서버는 사용자들에게 다양한 화면을 제공하기 위해 동적 컨텐츠의 필요성을 느끼게 됩니다. 🚨문제점🚨 사용자(요청)에 따라 다른처리를 해줄 수 없다. 동적인 처리를 해주는 웹 어플리케이션이 없다. 2. 동적 데이터를 처리하는 CGI(Common Gateway Interface) 이러한 문제 해결을 위해 CGI(Common Gateway Interface)라는 동적인 데이터를 제공하기 위한 규약이 나오게 됩니다. 1) Client로 부터 요청이 ..

🎨 Programming/JAVA

[JAVA] 4가지 변수와 생명주기 및 자료형

public class VariableTypes { int 인스턴스_변수; static int 클래스_변수; public void method(int 매개변수) { int 지역_변수; } } # 변수의 종류 1. 지역 변수 (local variables) - 중괄호 내에서 선언된 변수 2. 매개 변수 (parameters) - 매소드에 넘겨주는 변수 3. 인스턴스 변수 (instance variables) - 매소드 밖에, 클래스 안에 선언된 변수, 앞에는 static 이라는 예약어가 없는 변수 4. 클래스 변수 (class variables) - 메소드 밖에, 클래스 안에 선언된 변수 중에서 타입 선언 앞에 static 이라는 예약어가 있는 변수 # 변수의 생명주기 1. 지역 변수 (local vari..

ryang x2
'🎨 Programming' 카테고리의 글 목록