전체 글 33

[JAVA] 반복문 ~ while ~ for

반복문 Iteration Statements 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문 while 문 조건이 참인 동안 주어진 명령어를 반복 실행한다. while (조건식){ 수행문; } do ~ while 문 조건에 관계없이 한 번은 수행문을 실행하고 나서 조건이 참인 동안 주어진 명령어를 반복 실행한다. do{ 수행문; } while(조건식); 조건이 거짓인 경우, 더이상 수행하지 않는다. for 문 조건이 참인 동안 주어진 명령어를 반복 실행한다. 특정 수의 범위, 횟수와 관련된 경우에 많이 사용된다. for(초기식; 조건식; 증감식){ 수행문; } 초기식 생략 이전에 값이 초기화되어 값을 지정할 필요가 없는 경우 for(; 조건식; 증감식){ 수행문; } 조건식 생략 반복 수..

Java 2022.02.07

[JAVA] 조건문 ~ if

조건문이란? Conditional Statements 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문 if문 문법 조건식이 참이 경우 수행문이 수행된다. if (조건식){ 수행문; } if ~ else 문 문법 조건식이 참이 경우 수행문1이, 거짓인 경우 수행문2가 수행된다. if (조건식){ 수행문1; } else{ 수행문2; } if ~ else if ~ else 문 문법 조건식1이 참인 경우, 수행문1이 조건식2가 참인 경우, 수행문2가 조건식3이 참인 경우, 수행문3이 모두 거짓인 경우 수행문4가 수행된다. if (조건식1){ 수행문1; } else if (조건식2){ 수행문2; } else if (조건식3){ 수행문3; } else { 수행문4; } 하나의 조건이 만족하면 ..

Java 2022.02.07

[JAVA] 자바의 연산자

항과 연산자 항(operand) 연산에 사용하는 값 연산자(operator) 항을 이용하여 연산하는 기호 연산자 대입 연산자(=) assignment operator 변수에 다른 변수나 값을 대입하는 연산자 이항 연산자 중 우선순위가 가장 낮은 연산자 왼쪽 변수 = 오른쪽 변수 a = 10; 부호 연산자(+, -) 단항 연산자 실제 변수의 부호가 변하려면 대입 연산자를 사용해야 한다. -10, +10 산술 연산자(+, -, *, /, %) 사칙 연산자 연산자 기능 예제 + 더하기 a + b - 빼기 a - b * 곱하기 a * b / 몫 a / b % 나머지 a % b 복합 대입 연산자(+=, -=, *=, /=, %=, =, >>>=, &=, !=, ^=) 대입 연산자와 다른 연산자가 함께 쓰인다. 연..

Java 2022.02.07

[JAVA] 자바의 자료형

변수 변수는 변하는 값을 의미한다. 표현하려는 값에 맞는 데이터 타입을 이용하여 변수를 선언, 정의할 수 있다. 변수 선언은 자료형과 변수 명으로 선언하고, 선언과 동시에 초기화 할 수 있다. 변수 선언 예제 public static void main(String[] args){ int age; age = 10; int level = 10000; System.out.println(age); System.out.println(level); } //print 10 10000 변수의 이름 영문자, 숫자를 사용할 수 있고, 특수문자는 $, _ 만 사용할 수 있다. 숫자로 시작할 수 없다. 예약어는 사용할 수 없다. (while, break, ...) 용도에 맞고, 가독성 있게 만들어야 한다. 진수 자바에서는 숫..

Java 2022.02.05

[JAVA] 자바란?

JAVA 자바의 역사 1991년 제임스 고슬링과 썬 마이크로 시스템즈 연구원들이 처음 개발하여 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발되었다. 자바 실행 코드 생성 소스 코드를 기계어로 직접 컴파일하여 링크하는 C/C++ 의 컴파일러와 달리 자바 컴파일러는 바이트코드인 클래스 파일(.class)을 생성하고, 자바 가상 머신이 파일의 바이트 코드를 읽은 뒤 기계어로 바꾸어 실행한다. 자바는 플랫폼이 아닌 가상머신에 종속적이고, 프로그램 실행의 주체가 JVM(자바 가상 머신)이므로 플랫폼 종속성이 낮은 언어이다. 장점 플랫폼에 영향을 받지 않아서 다양한 환경에서 사용할 수 있다. 안정성 객체 지향 언어라 유지보수가 쉽고 확장성이 좋다 픙부한 기능이 제공되는 오픈소스 단점 처리 속도가 느리다. 하..

Java 2022.02.01

[JS] 변수의 유효 범위

프로그램에서 어떤 변수가 정의되어 있는 영역을 말한다. 변수의 수명을 의미한다. 전역변수 전역 변수의 유효범위는 전역적(global)이다. 전역변수는 var를 생략할 수 있다. var vscope = 'global';//전역변수 function fscope(){ alert(vscope); } fscope(); //'global' 지역변수 어떤 함수 안에서 선언된 변수는 오직 해당 함수 몸체 안에서만 정의된다.(local) 지역변수는 var를 생략할 수 없다. 함수 내에서만 지역변수를 선언할 수 있다. var vscope = 'global'; //전역변수 function fscope(){ var vscope = 'local';//지역변수 alert(vscope); } fscope(); //'local' 같..

Javascript 2022.01.30

[백준] 18111 마인크래프트

백준 18111 마인크래프트 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net [문제] 집을 짓는데 집터를 다지는 문제이다. 집터의 땅의 높이를 일정하게 만들어 평평하게 만들어야 한다! 두 종류의 작업을 할 수 있다. 좌표 (i, j)의 가장 위에 있는 블록을 제거하여 인벤토리에 넣는다. 인벤토리에서 블록 하나를 꺼내어 좌표 (i, j)의 가장 위에 있는 블록 위에 놓는다. 1번 작업은 2초가 걸리며, 2번 작업은 1초가 걸린다. 최대한 빨리 ..

Algorithm 2022.01.30

[42 OAuth] The redirect uri included is not valid.

The redirect uri included is not valid. 개발환경 backend를 nodeJS와 타입스크립트를 이용하여 작성했다. 42-passport 모듈과 passport 모듈을 사용하여 OAuth 를 실행했다. 배포용 서버에 코드를 작성하여 실행한 경우, 로컬 환경에서는 발생하지 않은 오류가 확인되었다! 오류를 기록하기 위해 작성하는 글이다. 새로 로그인을 하는 경우, 이미 로그인된 상태에서 접속을 시도하는 경우, 두 화면의 오류를 확인했다. 개발환경인 로컬에서는 발생하지 않았던 오류이기에 가장 큰 차이를 갖는 APIs를 다시 확인했다. 가장 큰 차이는 redirect uri 주소. 개발환경에서는 localhost를 사용하므로 http로 redirect 하게 된다. 반면, 배포용 서버..

Node.js 2022.01.13

[JS] 자바스크립트란?

자바스크립트 란? 자바스크립트는 복잡한 것을 웹페이지에 적용할 수 있게하는 스크립트 또는 프로그래밍 언어다. HTML은 제공할 웹 컨텐츠의 구조와 의미를 문단, 제목, 표, 삽입, 이미지, 동영상 등으로 정의하고 부여하는 마크업 언어이다. CSS는 배경색, 폰트 등의 레이아웃을 지정하여 HTML 컨텐츠를 꾸미는 스타일 규칙 언어이다. JavaScript는 동적으로 컨텐츠를 바꾸고, 멀티미디어를 다루고, 움직이는 이미지 등을 할 수 있는 스크립트 언어이다. 역사 초기의 웹은 변화하지 않는 정적인 글자로 꾸며진 HTML 페이지였다. 1995년, 넷스케이프 사는 HTML 페이지에 움직임을 주기위해 프로그램 언어를 추가했다. Brendan Erich는 10일 만에 언어를 완성했고, ‘Mocha’라는 이름을 붙였..

Javascript 2022.01.04

NodeJS + Typescript 환경 세팅하기

package.json 파일 생성 npm init --y​ tsconfig.json 파일 생성 tsc --init​ 필요한 모듈 설치하기 npm i express dotenv​ dev dependencies npm i --save-dev @types/node @types/express typescript ts-node nodemon​ dotenv, gitignore 파일 생성 touch .env touch .gitignore //gitignore //node_modules //.env​ tsconfig.json 설정 Typescript 컴파일시 세부설정 (tsconfig.json) Typescript 컴파일시 세부설정 (tsconfig.json) - 코딩애플 온라인 강좌 tsconfig 파일 생성하기 여..

Node.js 2021.12.19