나눔코딩
-
06. 깃 랩 (Gitlab) - 구글 이메일 계정 로그인 시 연동 문제
06. 깃 랩 (Gitlab) - 구글 이메일 계정 로그인 시 연동 문제
2021.05.07구글 로그인 할 시 Gitlab 에는 구글의 이메일 정보만을 id 로 사용한다 password 정보까지는 알 수 없기 때문에, edit 툴에서 연동하려고 할 때 password 입력하는 부분에 구글 비밀번호를 사용하여도 gitlab 서버에서는 해당 비밀번호를 모르기 떄문에 인증실패 에러가 발생한다 때문에 구글 계정으로 gitlab 을 생성한 경우 password 를 한 번 설정해주어야 한다 (구글 계정 비밀번호 바꾸는거 아닙니다) -
01. 시큐리티 - HTTP Only 와 Secure Cookie
01. 시큐리티 - HTTP Only 와 Secure Cookie
2021.09.27개념 브라우저(크롬, 사파리)에서 request(요청) GET 또는 POST 하게 되는 경우 모든 쿠키들이 서버에 넘어가 사용자를 체크합니다 오래전 부터 쿠키를 사용하고 있어 많은 사이트 대부분이 쿠키를 통해 사용자 식별정보를 쿠키에 저장하며, 쿠키에 저장된 정보를 통해 각 사용자를 구별사용자 인증을 진행합니다 인증을 계속 체크하는 이유는 HTTP 프로토콜이 Stateless (무상태성) 이기에 요청한 사람의 상태정보를 계속 갖고 있지 않고 연결이 끊어지기 때문에 다음 요청 시, 누구인지, 이전에 요청한 같은 사람인지, 해커인지 알 수 없습니다 이렇게 쿠키를 통해 인증을 하기 때문에 민감한 정보들이 쿠키에 담겨져 있는 데, 해커들은 다양한 방법으로 이 쿠키를 탈취하고자 합니다. 이러한 쿠키에 대한 보안 .. -
10. 기술면접 - 자바 - 인터페이스와 추상 클래스 차이
10. 기술면접 - 자바 - 인터페이스와 추상 클래스 차이
2021.10.21공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 공통점과 차이점 추상 클래스 인터페이스 공통점 인스턴스(객체)를 생성 할 수 없다 (구현체가 필요하다는 말) 선언만 되어있고 구현 내용이 없다 자식 클래스가 메소드의 구체적인 동작을 구현하도록 책임을 위임한다 차이점 추상 클래스는 추상 메소드를 자식 클래스가 구체화하여 그 기능을 확장하는 데 목적이 있다 (상속을 위한 부모 클래스) 인터페이스는 서로 관련이 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만 기능을 구현할 필요가 있는 경우에 사용한다 클래스 o 클래스 x 단일 상속 (extends) 다중 상속 (implement) is a kind of (일종의 라는 속한다는 개념에 가까움) can.. -
01. 기술면접 - 자바 - JAVA 와 C/C++ 차이점
01. 기술면접 - 자바 - JAVA 와 C/C++ 차이점
2021.10.20공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 차이점 - 자바와 c/c++ 의 가장 큰 차이점은 실행 환경이다 - java 에서의 개발 혹은 컴파일 + jar 압축 - 자바는 링크 과정이 없이 컴파일러가 바로 바이트 코드를 생성 - c/c++ 에서의 개발: 컴파일 + 링크 다른 블로그 글 - c++ 과 java 는 문법적으로 상당히 유사하다 - java 를 설계 할 때 c++ 개발자들이 쉽게 배울 수 있도록 만들었기 때문이다 - 하지만 여러 차이점이 있는 데, 이는 설계 목표 차이에서 발생했다 - java 는 보안, 이식성, 빠른 개발에 비중을 두었고, C++ 은 속도와 C 언어의 하위호환성에 중점을 두었다 - 또 한 java 는 가상 머신 바이..
최근 올라온 글
-
스프링 부트 MVC - Handler Interceptor
스프링 부트 MVC - Handler Interceptor
2022.04.14OS Windows 10 PRO 64bit 버전 20H2 (OS 빌드 19042.867) Framework Spring Boot 2.6.6 EditTool Inellij IDEA 2020.1.3 BuildTool Maven 구조 HanlderInterceptor preHandle 컨트롤러 실행 전 수행한다. 반환 값이 true일 경우 컨트롤러로 진입하고 false일 경우 진입하지 않는다. Object handler는 진입하려는 컨트롤러의 클래스 객체가 담겨있다 postHandle 컨트롤러 실행 후 View가 랜더링 되기 전에 수행한다. afterCompletion 컨트롤러 실행되고 view가 랜더링 된 후에 실행된다. afterConcurrentHandlingStarted 비동기 요청 시 PostHand.. -
36. 인텔리제이 (IntelliJ IDEA) - 현재 라인 깃허브로 열기
36. 인텔리제이 (IntelliJ IDEA) - 현재 라인 깃허브로 열기
2022.01.11OS Windows 10 PRO 64bit 버전 20H2 (OS 빌드 19042.867) IntelliJ IDEA 2020.3.1 깃 허브에서 원하는 코드부분을 링크로 달고 싶을 때, 이 방법을 이용하면 빠르게 할 수 있다 (깃 허브 주소 복사하면 해당 라인으로 커서가 옮겨져있다) -
20. Vue2 - 유효성 검사 모듈 Vee Validation ^3.4.11
20. Vue2 - 유효성 검사 모듈 Vee Validation ^3.4.11
2021.11.16OS Windows 10 PRO 64bit 버전 20H2 (OS 빌드 19042.867) Vue 2.5.13 Vee Validation ^3.4.11 공식 홈 https://vee-validate.logaretm.com/v4/v4/guide/global-validators#defining-global-validators 모듈 설치 npm install vee-validate@3.4.11 Vue 전역 컴포넌트로 등록 + extend 활용 vee-validation.js import Vue from 'vue'; import { extend, ValidationObserver, ValidationProvider } from 'vee-validate'; import { required, digits, numer.. -
vue 정리 하기
vue 정리 하기
2021.11.12AuthorizePage router.beforeEach((to, from, next) => { const auth = to.meta?.auth || false const email = store.state.me?.email || '' if (auth && email !== 'admin@gmail.com') return next({ path: '/402', params: { id: 3 }, // query: { message: '402 접근이 제한된 페이지 입니다' }, }) next() }) -
01. 기술면접 - 스프링 - 스프링 프레임워크
01. 기술면접 - 스프링 - 스프링 프레임워크
2021.10.25공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 스프링 프레임워크란 - 자바 엔터프라이즈 개발을 편하게 해주는 경량급 오픈소스 애플리케이션 프레임워크 - Lightweight Java Application Framework - 목표: POJO 기반의 Enterprise Application 개발을 쉽고 편하게 할 수 있도록 한다 - Java Application 을 개발하는 데 필요한 하부구조(Infrastructure)를 포괄적으로 제공한다 - Spring 이 하부구조를 처리하기 때문에 개발자는 Application 개발에 집중 할 수 있다 - 간단히 스프링 (Spring) 이라고도 불린다 - 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 .. -
11. 기술면접 - 자바스크립트 - this
11. 기술면접 - 자바스크립트 - this
2021.10.25공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 실행 컨텍스트(Execution Context) 실행컨텍스는 scope, hosting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다 ECMAScript 스펙에 따르면 실행 컨텍스트를 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이라고 정의한다 좀 더 쉽게 말하자면 실행 컨텍스트는 실행 가능한 코드가 실행되기 이해 필요한 환경이라고 말할 수 있다 여기서 말하는 실행 가능한 코드는 아래와 같다 - 전역 코드 : 전역 영역에 존재하는 코드 - Eval 코드 : eval 함수로 실행되는 코드 - 함수 코드 : 함수 내에 존재하는 코드 일반적으로 실.. -
10. 기술면접 - 자바스크립트 - 클로저 (Closure)
10. 기술면접 - 자바스크립트 - 클로저 (Closure)
2021.10.22본 내용은 공부목적으로 MDN 문서를 보며 따라친 내용입니다 들어가기 앞 서 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는 지 렉시컬 스코프(Lexical Scoping) 을 이해 해야 한다 렉시컬 스코프 (Lexical Scoping) function init() { var name = "Mozilia"; // name은 init 에 의해 생성된 지역 변수 이다 function displayName() { // displayName() 은 내부 함수 이며, 클로저이다 alert(name); // 부모함수에서 선언된 변수를 사용한다 } displayName(); } init(); - init() 은 지역변수 name 과 함수 d.. -
09. 기술면접 - 자바스크립트 - 호이스팅 (Hoisting)
09. 기술면접 - 자바스크립트 - 호이스팅 (Hoisting)
2021.10.22공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 호이스팅 (Hosting) - Hosting(끌어 올리다) 이란 선언한 함수와 변수를 해석기가 가장 상단에 있는 것 처럼 인식한다 - JS 해석기는 코드의 라인 순서와 관계 없이 함수 선언식(함수 표현식 X)과 변수를 위한 메모리 공간을 먼저 확보 - 따라서, function a() 와 var 는 코드의 최상단으로 끌어 올려진 것 (hostied) 처럼 보인다 function a() { return 10; } a(); // 5 function a() { return 5; } 순서대로 동작했다면 a 는 10이 출력되어야 하는 데, 해석기가 함수실행보다 선언을 먼저 인식하기 때문에 a는 재정의 되어서 5.. -
07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring)
07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring)
2021.10.22공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 개념 속성을 분해하여 원하는 속성만 변수로 담을 수 있다 객체 구조분해 (Object Destructuring) const A = { a: 1, b: 2 } const {a,b} = A console.log(a) // 1 console.log(b) // 2 const A = { a: 1, b: 2 } const {b, a} = A console.log(a) // 1 console.log(b) // 2 const A = { a: 1, b: 2 } const {c,d} = A console.log(c) // undefined console.log(d) // undefined 배열 구조분해 (Object .. -
05. 기술면접 - 자바스크립트 - 향상된 객체 리터럴 (Enhanced Object Literals)
05. 기술면접 - 자바스크립트 - 향상된 객체 리터럴 (Enhanced Object Literals)
2021.10.22공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 향상된 객체 리터럴 (Enhanced Object Literals) = 축약기능 1. 객체의 속성을 메소드로 사용할 때 function 예약어를 생략하고 생성이 가능해졌다 // 객체 var dictionary = { words: 100, lookup: function() { // ES5 console.log("find words"); }, lookup() { // ES6 - ': funtion' 생략 console.log("find words"); } }; 2. 객체의 속성명과 값 명이 동일할 때 아래와 같이 축약 가능 var figures = 10; var dictionary = { // figur.. -
02. 기술면접 - 자바스크립트 - 함수 선언식과 함수 표현식
02. 기술면접 - 자바스크립트 - 함수 선언식과 함수 표현식
2021.10.22공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 함수 선언식 (Function Statement) function Animal() { // ... } 함수 표현식 (Function Expression) var animal = function() { // ... }; 끝에 세미콜론을 써주어야 하는 데, 이것도 최근에는 생략해도 작성된다 -
15. 기술면접 - 자바 - == 와 eqauls 의 차이
15. 기술면접 - 자바 - == 와 eqauls 의 차이
2021.10.22공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 "==" 항등 연산자(Operator) 이다. != - 참조 비교(Reference Comparison) ; (주소 비교, Address Comparison) - 두 객체가 같은 메모리 공간을 가리키는지 확인한다. - 반환 형태: boolean type - 같은 주소면 return true, 다른 주소면 return false - 모든 기본 유형(Primitive Types)에 대해 적용할 수 있다. - byte, short, char, int, float, double, boolean "equals()" 객체 비교 메서드(Method) 이다. !(s1.equals(s2)); - 내용 비교(Conte..