본문 바로가기

Programming48

[Swift] class와 struct에 대하여 요즘 Swift 공부를 시작했는데, class와 struct를 구분하는 개념과 쓰임새에서 막혀서 포스팅을 하며 이해하고자 한다. 가장 이해가 안 되는 안되었던 것 : value type / reference type class ClassSample { var classProperty: Int = 100 } var test1 : ClassSample = ClassSample() test1.classProperty = 200 var test2 = test1 test2.classProperty = 300 print(test1.classProperty) // 300 struct StructSample { var structProperty: Int = 100 } var test3 : StructSample = S.. 2022. 1. 10.
[TOMCAT] 프로토콜 핸들러 시작 실패 (ajp 오류) 해결하기 회사에서 보안 이슈로, 톰캣 마이너 버전 일괄 업데이트 요청이 왔었다. 내가 맡은 시스템 중 대부분은 톰캣 엔지니어가 내방하여 일괄 업데이트 하였는데, 이번주에 시스템 스펙을 일괄 정리하다가 업데이트 안한(당시 인지하지 못한) 시스템이 있어서 7.0.46 버전 -> 7.0.109 버전으로 직접 업데이트 해봤다. 109 버전을 다운받아서 lib 폴더를 교체했는데, startup 했을때 아래같은 에러가 발생했고, 해결법은 다음과 같다. 에러 org.apache.catalina.LifecycleException: 프로토콜 핸들러 시작 실패 ... Caused by: java.lang.IllegalArgumentException: AJP 연결자는 secretRequired=”true”로 구성되었으나 보안 속성이.. 2022. 1. 9.
[Spring] cron으로 스케쥴링 구현하기 (쉽고 자세한 설명) 회사에서 스케쥴링 구현으로 4시간 동안 삽질해서 알아냈다.. 초등학생도 알기 쉽게 차근차근 설명해드림! (spring 프로젝트를 생성했다는 가정 하에 시작함) 1. 스케쥴러 로직이 들어갈 자리를 만들어주자. 아직 갓 생성한 프로젝트라 들어있는 파일이 거의 없다. service 패키지에 SchedulerService라는 파일을 생성했다. 내용은 아래와 같다. package com.tistory.in0pro.service; import org.springframework.stereotype.Service; @Service public class SchedulerService { public void scheduleRun(){ System.out.println("여기에 로직을 넣으면 된다."); } } 어디에.. 2021. 6. 8.
[Spring] 한글 깨질때, UTF-8 설정 Spring 개발환경에서 한글이 깨져 보일 때 UTF-8 설정하는 방법이다. 1. jsp 상단 설정 확인 ... 보통 jsp 기본 셋팅에 위의 첫 라인이 빠져있는 경우가 많다. 잊지 말고 꼭 추가해두자! 2. 이클립스 내 설정 확인 Window - Preferences 에서 설정할 수 있다. 아래 네 부분 모두 UTF-8로 설정해두자. 2021. 6. 7.
자바스크립트의 연산자 연산자를 알아보기 전에 먼저, 피연산자는 "값"이라고 할 수 있다. 우리는 피연산자를 연산하여 새로운 값을 만드는데, 그 역할을 하는 것을 연산자라고 한다. 자바스크립트가 제공하는 다양한 연산자를 살펴보자. 산술 연산자 산술 연산자에는 이항 산술 연산자, 단항 산술 연산자, 문자열 연결 연산자가 있다. 이항 산술 연산자는 2개의 피연산자를 산술 연산해 숫자 값을 만든다. +, -, *, / 사칙연산과 %같은 나머지 연산자가 있다. 이항 산술 연산자는 피연산자의 값을 변경하지는 않는다. 단항 산술 연산자는 1개의 피연산자를 산술 연산해 숫자 값을 만든다. ++, --, +, -가 있으며, 피연산자의 값을 변경할 수 있다. 그리고 증가/감소(++, --) 연산자는 위치에 따라 값이 달라질 수 있다. var .. 2020. 12. 14.
자바스크립트의 데이터 타입과 동적 타이핑 자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. [숫자(number), 문자열(string), 불리언(boolean), undefined, null, 심벌(symbol), 객체] 객체를 제외한 나머지 6개는 원시 타입이라 부르기도 한다. 각 타입은 확보해야 할 메모리 공간의 크기도 다르고 메모리에 저장되는 값도 다르며 해석하는 방식도 다르기 때문에 명확한 의도를 가지고 타입을 구별해 값을 생성해야 한다. 숫자(number) 파이썬을 포함해 많은 프로그래밍 언어에서는 보통 숫자 안에서도 타입을 나누는 경우(int, float..)가 많은데, 자바스크립트는 통합된 number 타입만 있다. ES(이제 ECMAScript를 ES라 줄여서 칭하겠다)에서 number는 64비트(8바이트) 부동소수점 형식을.. 2020. 12. 13.