분류 전체보기

    [Web] Session과 Cookie

    [Web] Session과 Cookie

    인터넷을 사용해봤다면 Session과 Cookie는 많이 들어봤을 것이다. 쿠키는 뭐 쿠키 삭제하는 경우에 많이 봤을 것이고, 세션은 보통 웹 사이트에서 로그인 해놓고 다른 사이트에서 작업하다가 다시 돌아오면 세션이 만료되어 또는 세션이 끊겼다는 메시지가 뜨면서 다시 로그인하게 만드는 경우에서 봤을 것이다. HTTP Protocol의 특징 쿠키와 세션에 대해서 알아보기 전 HTTP의 특징을 먼저 알고 가면 이해하기 쉽다. HTTP의 순서는 1. client가 server에 요청 2. server는 요청에 대해 처리 후 client에게 처리 결과 응답 3. 응답 후 연결 해제 순서로 작동한다. 응답 후에 연결을 해제하기 때문에 stateless 라는 특징을 가지고 있다. 지속적인 연결로 인한 자원 낭비를 ..

    [SSAFY]웰컴키트 수령 후기!

    [SSAFY]웰컴키트 수령 후기!

    전에 올린 게시글 재업로드입니다. 싸피 7기 입과 후 2주간의 스타트 캠프를 진행했다. 약간 코딩 맛보기와 협업 맛보기라고 생각하면 좋을 것 같다. ​ 나는 데탑을 이번에 새로 맞춰서 데탑으로 수업을 들었기 때문에 웹캠이 없었다. 그래서 빨리 웰컴 키트가 왔으면 했다! 나는 입과 후 바로 주는 줄 알았는데 스타트캠프 이후에 준다ㅠㅠ ​ 1/17일부터 순차적으로 배송이된다고 해서 나는 지방이다보니 수요일정도에 도착하겠거니 생각했다. 그런데 1/18 (화)에 서울에서 싸피 입학식 참여한 후 집에 도착해보니 키트가 와있었다! ​ 카톡방에선 다들 우체국 카톡이 왔다며 우체국으로 배송된다고 그래서 나도 우체국 카톡만을 기다리고 있었는데 나는 우체국이 아닌 다른 택배사에서 왔다 이름은 흔하지 않아서 기억이 안남....

    [BJ] 백준 8958 OX퀴즈 (JAVA)

    [BJ] 백준 8958 OX퀴즈 (JAVA)

    문제 https://www.acmicpc.net/problem/8958 풀이 방법 단순한 1차원 배열 문제다. O가 나올때는 O이 연속한 개수만큼 점수를 더해주면 되고, 만약 X를 만난다면 다시 0으로 초기화해주면 된다. 제출 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_8958_OX퀴즈 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..

    [BJ] 백준 3052 나머지 (JAVA)

    [BJ] 백준 3052 나머지 (JAVA)

    문제 https://www.acmicpc.net/problem/3052 풀이 방법 단순한 1차열 배열 문제다. 10개의 수를 입력받고, 각 수를 42로 나눈 나머지의 값을 계산해준다. 그리고 나서 미리 만들어둔 boolean 배열에서 나머지의 값과 동일한 인덱스를 가진 곳을 true로 변경해준다. 30이라는 수가 있다면 42로 나눈 나머지의 값이 30이므로 check[30]의 값이 true로 바뀔 것이다. 그리고나서 마지막에 true의 개수를 세서 출력해준다. 조금더 시간을 줄일려면 check 배열의 값이 true면 countiue를 해줄 순 있겠지만 큰 차이가 없을 것 같아서 그냥 작성하지 않았다. 제출 코드 import java.io.BufferedReader; import java.io.IOExce..

    [JAVA] JDBC사용하기 (Factory 패턴과 PreparedStatement)

    [JAVA] JDBC사용하기 (Factory 패턴과 PreparedStatement)

    공부하는 입장이기 때문에 혹시 글에 잘못된 점이 있다면 댓글로 알려주시면 감사하겠습니다! 저번에 작성했던 글에 이어서 오늘은 JDBC를 작성하는데 사용되는 Factory 패턴과 PreparedStatment에 대한 글을 적으려고 한다. PreparedStatement 저번에 작성했던 글을 보면 SQL문을 보낼 Statement 객체는 3가지 종류가 있다. Statement : SQl을 보내기 위한 통로. 인자가 없음. PreparedStatement : Statement와 동일한데 차이점은 인자값으로 SQL을 받기 때문에 특정한 SQL에 대한 통로라고 생각하면 된다. CallableStatement : PL/SQL을 호출할 때 사용 이 중에서 마지막 statement는 아직 PL/SQL을 배우지 않았기 ..

    [노마드코더] NextJS 시작하기 #1

    [노마드코더] NextJS 시작하기 #1

    [노마드코더] NextJS 시작하기 #1 [노마드코더] NextJS 시작하기 #2 [노마드코더] NextJS 시작하기 #3 [노마드코더] NextJS 시작하기 #4 [노마드코더] NextJS 시작하기 #5 NextJS의 가장 기초를 배우기 위해서 강의를 들으려고 한다. NextJS 시작하기 – 노마드 코더 Nomad Coders The React Framework for Production nomadcoders.co 우선 명령어를 사용해서 원하는 위치에 next프로젝트를 생성해준다. cmd나 vscode의 터미널에 입력해주면 된다. npx create-next-app@latest 그런 다음 이제 pages안에 있는 파일을 모두 지워준다. 우선 라이브러리와 프레임워크의 차이점을 알아보자. react는 언제..

    [BJ] 백준 2193 이친 수 (JAVA)

    [BJ] 백준 2193 이친 수 (JAVA)

    문제 https://www.acmicpc.net/problem/2193 풀이 방법 이 문제도 dp문제다. 0과 1로만 이루어진 수를 이진수라고 하며, 다음과 같은 성질을 만족하는 수를 이친수라고 한다. 1. 0으로 시작하지 않는다. 2. 1이 연속해서 두번 나타나지 않는다. N자리 이친수의 개수를 구하면 된다. 2차원 dp배열을 사용해서 풀이했다. dp[N][0]에는 N자리 수이며 마지막 수가 0인 이친수의 개수, dp[N][1]에는 N자리 수이며 마지막 수가 1인 수의 개수를 저장해줬다. 그리고 이제 반복문을 돌면서 끝자리가 0인 경우에는 1과 0 모두 다 올 수 있으므로 dp[i+1][0], dp[i+1][1] 에 모두 dp[i][0]의 값을 더해줬다. 그리고 끝자리가 1인 경우에는 연속으로 1이 두..

    [Next] NextJS의 getInitialProps, getStaticProps, getStaticPaths, getServerSideProps 함수

    [Next] NextJS의 getInitialProps, getStaticProps, getStaticPaths, getServerSideProps 함수

    Next 프로젝트를 처음 생성하고, 초기 세팅되어있던 페이지들을 하나씩 뜯어보면서 구조를 파악하는 중이다. 그러다가 pages/users/[id].tsx에서 다음과 같은 함수를 발견했고, 아마 데이터를 가져오는데 있어서 build time에 가져오도록 하는 그런 함수인듯 싶어서 찾아봤다. 들어가기 전 CSR : 첫 렌더시에는 페이지 로드만 수행, 다시 렌더링할 때 데이터를 불러온다. 그래서 데이터가 검색엔진에 걸리지 않는다. 대신에 데이터를 한번에 가져오기 때문에 페이지 이동시에는 속도가 빠르다. SSR : 첫 렌더시에 데이터도 같이 가져온다. 렌더를 한번만 수행하기 때문에 초기 로딩 속도가 빠르고, 검색 엔진에 데이터가 걸린다. 그러나 페이지를 이동할때마다 매번 데이터를 불러오기 때문에 페이지 이동 시..

    [JAVA] JDBC란? 자바에서 JDBC 사용하기 (JAVA + MYSQL)

    [JAVA] JDBC란? 자바에서 JDBC 사용하기 (JAVA + MYSQL)

    공부하는 입장이기 때문에 혹시 글에 잘못된 점이 있다면 댓글로 알려주시면 감사하겠습니다! 이번주에는 계속해서 DB와 관련해서 공부하고 있다. 처음에는 MySql을 사용하면서 쿼리문을 작성하는 연습을 했고, 오늘은 이제 자바와 MySQL을 연결해서 데이터를 가져와보려고 한다. JDBC란? JDBC란 Java DataBase Connectivity 의 약어로 Java와 DB연결을 위한 표준 API이다. 조금더 자세하게 설명하면 자바에서 DB를 연결하고, 그 안에 있는 데이터를 가져오기 위해서 사용하는 API이다. 이 글에서는 자바는 Eclipse, DB는 MySQL을 사용할 예정이다. 우선 전체적인 구조를 보면 크게 4가지로 나뉜다. 자바와 DB를 연결하기 위해서는 두 단계를 거쳐야한다. JDBC API는 ..