# JavaScript의 비동기 내장함수 종류 자바스크립트는 단일 스레드(Single-threaded)언어임에도 불구하고, 시간이 오래 걸리는 작업들을 효율적으로 처리하기 위해서 다양한 비동기 처리를 지원하는 내장함수를 가지고 있다. 1. Callback 함수 : setTimeout(callback, delay), setInterval(callback, interval) function delay(callback) { setTimeout(function() { console.log('2초 후 실행'); callback(); }, 2000); } console.log('시작'); delay(function() { console.log('종료'); }); console.log("1초지남"); Callback..
이번에 투입된 프로젝트에서 사용중인 템플릿엔진인 FreeMarker 처음으로 접하게 되었다. JSP나 thymeleaf를 사용한 경험이 있어서 FreeMarker로 작성된 코드들도 그렇게 어렵게 느껴지진 않았다. 어차피 각 템플릿 엔진마다 약간의 문법차이만 있을뿐 사용하고자 하는 기능은 비슷비슷하기 때문에 그때 그때 필요한 문법은 구글링을 통해서 이해하고 넘어갔다. 그런데 라는 태그는 별도로 좀 기억해두는 것이 좋을 것 같아서 이렇게 정리한다. 를 사용하면 해당 태그안에 작성된 내용들은 프리마커에 의해서 처리되지 않는다. JSP처럼 FreeMarker는 또는 ${...}로 둘러싸인 코드를 템플릿 언어로 인식하고 처리한다. 이때 발생할 수 있는 문제로 프리마커에 작성한 javascript의 ${...}(표..
SQL - COALESCE COALESCE 함수는 ANSI SQL 표준의 일부로서 대부분의 SQL DBMS에서 지원하는 함수로서 NULL값을 처리하는데 사용된다. 사용 예시 SELECT COALESCE(email, phone, '연락처 정보 없음') AS contact_info FROM contacts; 위 쿼리는 contacts라는 테이블에서 email 컬럼의 값을 먼저 확인한다. email 값이 null이 아니라면 그 값을 contact_info로 반환하고 null인 경우에는 그 다음 인자인 phone의 값을 확인하고 마찬가지로 null이 아니라면 그값을 반환하고 null인 경우 마지막값인 '연락처 정보 없음'을 반환하게 된다. COALESE 함수의 장점 - 간결성 : 여러 CASE 조건을 사용하는 ..
React Hook 중에는 useEffect라는 Hook이 존재한다. useEffect란 리액트에서 기본적으로 제공해주는 함수로써, useEffect함수가 포함된 컴포넌트가 처음 마운트되거나 컴포넌트가 리렌더링 될 때, 또는 선언된 변수의 값이 변경되거나 redux store의 값이 변경될 때 실행할 구문들을 정의해놓은 함수이다. 기본적으로 React에서는 state값이 변경되면 해당 컴포넌트가 다시 랜더링된다. function Welcome(props) { const [count, setCount] = useState(0); return ( setCount(count + 1)}>증가 count : {count} ); } 이때, onClick에 함수의 참조를 넣는것이 아니라 위와 같이 함수 호출식을 그대..
1. 스프링을 사용할 경우 @SpringBootApplication public class MainApp { public static void main(String[] args) { SpringApplication.run(MainApp.class, args); } } @RestController public class SignUpController { private final UserRepositoryService userRepositoryService; @Autowired public SignUpController(UserRepositoryService userRepositoryService) { this.userRepositoryService = userRepositoryService; } } 2. ..
일전에 회사에서 다른 솔루션 회사의 제품에 대해서 교육을 들을 기회가 있었다. 해당 솔루션은 통합 메시징시스템 솔루션이였는데 Apache Server와 WAS를 연동해서 사용하고 있었다. 문득 나는 Tomcat만 설치해도 Tomcat 자체가 웹 서버 기능을 제공하는데 왜 굳이 Apache Server를 별도로 설치해서 Apache Server랑 Tomcat 두 녀석을 연동해주는 귀찮은 일을 도대체 왜하는 걸까? 라는 의문이 있었다. 이러한 의문에 해답은 아래와 같다. 1. 성능과 확장성 Apache HTTP Server 같은 웹 서버들은 정적 컨텐츠를 효율적으로 처리하는 데 최적화되어 있다. 동적 컨텐츠 처리는 WAS에게 맡기고, 정적 컨텐츠는 웹 서버에서 처리하도록 함으로 시스템 전체의 부하를 줄이고 ..