본문 바로가기 메뉴 바로가기

노력중인 게으름뱅이

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

노력중인 게으름뱅이

검색하기 폼
  • 분류 전체보기 (84)
    • 프로그래밍 (76)
      • Web (32)
      • Java (5)
      • Javascript (6)
      • NodeJS (2)
      • DevOps (0)
      • Linux (2)
      • C++ (4)
      • Unity3D (1)
      • OS (12)
      • Network (7)
      • MongoDB (2)
      • Mysql (3)
    • 투자 (0)
    • 기타 (8)
  • 방명록

분류 전체보기 (84)
프로토타입 체이닝

자바스크립트는 프로토타입 기반의 객체지향 프로그래밍을 지원한다. 자바스크립트의 모든 객체는 [[Prototype]]이라는 숨겨진 프로퍼티가 존재하는데, 이 프로퍼티가 객체의 부모 프로토타입 객체를 가리킨다. 앞선 글에서 생성자 함수를 호출하면, 생성자 함수의 prototype 프로퍼티가 새로 생성된 객체의 [[Prototype]] 프로퍼티에 설정된다고 설명했다. 그림 1과 같이 프로토타입 객체가 설정된 객체는 프로토타입 객체의 메서드를 이용할 수 있다. 아래 코드를 보자. // 생성자 함수 function Person(name, age, gender) { this.name = name; this.age = age; this.gender = gender; } // Person 프로토타입에 showInfo ..

프로그래밍/Javascript 2019. 11. 7. 17:47
자바스크립트 this

자바스크립트의 this는 조금 특별하다. 이번 글에서는 자바스크립트의 this에 대해 알아보자. this 바인딩 C나 자바의 this는 인스턴스의 컨텍스트를 가리키는 반면에, 자바스크립트의 this는 호출된 방식과 위치에 따라 달라진다. 객체의 메서드를 호출할 때 this 객체의 프로퍼티가 함수일 경우 이를 메서드라고 부른다. 메서드를 호출하면 메서드의 this는 해당 메서드를 호출한 객체로 바인딩된다. let obj = { name : "kook", getName : function() { return this.name; } } let otherObj = { name : "other", } otherObj.getName = obj.getName; console.log(obj.getName()); // ..

프로그래밍/Javascript 2019. 11. 7. 14:30
자바스크립트 함수

자바스크립트에서 함수는 특별한 객체 타입이다. 이번 글에서는 자바스크립트의 함수에 대해 알아본다. 함수 정의 자바스크립트의 함수를 정의 하는 방법은 3가지가 있다. 함수 선언문 (Function Statement) 함수 표현식 (Function Expression) Function() 생성자 함수 이용 함수 선언문 (Function Statement) 함수 선언문은 function 키워드를 이용하여 함수를 정의하는 방식이다. function add(x, y) { return x + y; } console.log(add(3, 4)); // 7 C나 자바의 함수 선언과 달리 매개변수에 타입을 지정해주지 않는다. 함수 표현식 (Function Expression) 자바스크립트의 함수는 일급 객체라서 변수에 할..

프로그래밍/Javascript 2019. 11. 6. 15:33
자바스크립트 데이터 타입

자바스크립트의 데이터 타입은 기본 타입과 참조 타입으로 나뉜다. 기본 타입 컴파일 언어의 기본 타입처럼 그 자체가 하나의 타입을 나타내는 데이터 타입이다. Number 64비트 부동 소수이다. C언어는 정수, 부동소수 타입으로 나뉘지만, 자바스크립트에서는 모두 Number로 처리된다. 따라서 정수끼리의 연산을 해도 소수점이 잘리지 않는다. console.log(5 / 2); // 2.5 String 문자열 타입이다. ' 또는 "로 감싸서 생성한다. 특이한 점은 한번 생성한 문자열은 바꿀 수 없다는 것이다. 따라서 한번 생성한 문자열은 읽기만 가능하다. let str = 'test'; console.log(str); // test str[0] = 'T'; console.log(str); // test (안..

프로그래밍/Javascript 2019. 11. 6. 12:19
정점이 매쉬 안에 존재하는지 판단하는 방법

포인트 클라우드를 다루거나 각종 3D 시뮬레이션을 만들다 보면 정점이 매쉬 안에 존재하는지 판단해야 할 때가 있다. 이번 글에서 이 문제를 해결하는 방법을 알아보자 다각형 안의 정점 판별 어떤 정점이 다각형 안에 존재하는지 판단하는 방법은 여러 가지가 있다. 가장 유명한 방법 중 하나는 barycentric coordinates를 이용하는 것이다. 간단히 설명하자면, 아래 그림 1처럼 삼각형 ABC의 정점 3개를 이용해 새로운 좌표계(원점 A, 기저1 A->B, 기저2 A->C)를 만들어서 정점이 삼각형 안에 존재하는지 판별하는 것이다. 만약 정점 P가 삼각형 바깥에 있다면 그림 1의 초록색 벡터가 기저벡터에 대해서 0보다 작거나 1보다 크게될 것이다. 아래 그림 2는 정점 P가 삼각형 바깥에 있을 때의..

프로그래밍/Unity3D 2019. 10. 7. 00:21
Spring 다국어 처리

Spring은 Locale에 따라 다국어 메시지 처리를 위해 MessageSource라는 이름의 전략 인터페이스를 제공해준다. 이번 글에서는 MessageSource를 이용해 다국어 처리를 하는 방법을 알아보자 MessageSource Spring이 메시지를 가져올 때 사용하는 MessageSource의 구현체는 아래 두 가지가 있다. ResourceBundleMessageSource: 리소스 번들(properties 파일)로 부터 메시지를 읽는다. ReloadableResourceBundleMessageSource: 리소스 번들이 수정되면 애플리케이션을 재시작하지 않고 다시 로딩하여 메시지를 읽는다. Spring에서 MessageSource 객체를 사용하기 위해선 아래와 같이 "messageSource..

프로그래밍/Web 2019. 9. 24. 20:22
Spring Validation

스프링은 애플리케이션 전 계층에서 도메인 객체를 검증할 수 있는 인터페이스를 제공한다. 이번 글에서는 spring의 bean validation을 통해 어떻게 controller의 파라미터를 controller에 비즈니스 로직을 추가하지 않고 검증할 수 있는지 알아보자. Validator interface Spring은 도메인 객체를 검증할 수 있도록 Validator 인터페이스를 도입했다. Validator 인터페이스는 객체를 검증하는데 실패하면 Errors 객체에 에러를 등록함으로써 동작한다. Validator 인터페이스는 아래의 두가지 메서드를 가지고 있다. supports(Class): 매개변수로 전달된 클래스를 검증할 수 있는지 여부를 반환 validate(Object, org.springfra..

프로그래밍/Web 2019. 6. 13. 18:27
Process Synchronization (mutex, semaphore)

이전 글에서 Critical Section에서 동기화를 하기 위한 소프트웨어적인 해결 방법을 알아봤었다. Mutual Exclusion, Progress, Bounded Waiting 세가지 요구사항을 만족시켜야 Critical Section에 대한 문제를 해결할 수 있다. 이는 일종의 lock으로 볼 수 있는데, 이번 글에서는 하드웨어적으로 lock을 구현하는 방법에 대해 알아보자. Synchronization Hardware 하드웨어적으로 Critical Section 문제를 해결하기 위한 제일 간단한 방법은 비선점형 커널을 사용하는 것이다. 비선점형 커널을 사용하여 프로세스가 Critical Section안에 있을 때 interrupt되지 않게 하면 된다. 하지만 응답성이 나빠서 real-time ..

프로그래밍/OS 2019. 5. 29. 15:21
이전 1 2 3 4 5 ··· 11 다음
이전 다음
공지사항
최근에 올라온 글
  • MongoDB 시작하기
  • MongoDB 기초
  • Linux계열 OS bin 폴더 종류
  • Ubuntu 16.04 시작 서비스⋯
최근에 달린 댓글
  • 좋은 글 감사합니다. 평소에⋯
  • 안녕하세요. 연구실 인연이⋯
  • 혹시 라이즈그룹 아시나용
  • 누구십니까... ㅋㅋ
Total
221,436
Today
137
Yesterday
53
링크
TAG
  • thymeleaf cannot resolve
  • nodejs
  • Barycentric coordinates
  • 클로저
  • @Component
  • @Autowired
  • mybatis
  • @Qualifier
  • spring batch
  • Closure
  • Check point within polygon
  • Bin
  • npm
  • thymeleaf 변수 인식
  • unity
  • @Bean
  • MySQL
  • Tasklet
  • chunk
  • JavaScript
  • Linux
  • Express
  • spring
  • Bean
more
«   2022/05   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
글 보관함
  • 2021/08 (1)
  • 2021/07 (1)
  • 2020/04 (2)
  • 2020/01 (2)

Blog is powered by Tistory / Designed by Tistory