목록study (41)
DevTzu
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kYBtr/btrOFdX9eun/seB8ycwO96vRkK4xTyOVrK/img.png)
람다식이란? 람다식, 또는 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(匿名函數, Anonymous functions)를 지칭하는 용어이다. 실무적으로는 코드를 간결하게 만들고, 지연 연산으로 성능을 높이고, 반복 관련 코드의 불필요한 부분들을 제거할 수 있으므로 중요하다. 람다식은 주로 고차 함수에 인자(argument)로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰인다. 필요한 적재적소에 람다식을 투입하는 프로그래머는 효율과 결과 모두를 가져오는 훌륭한 프로그래머라고 볼 수 있다. 장단점 - 장점 1. 코드의 간결성 - 불필요한 반복되는 코드 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있다. 2. 지연연산 수행 - 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sRb1T/btrOB1DaBvp/VzI3CoCqkEbyzPjMchfX70/img.png)
Web HTML 페이지 개발시 금액을 표시해야 되는 일은 아주 많이 발생합니다. 우리나라 금액 표시 방법은 1000단위 마다 콤마를 붙이도록 되어있는데요. ex) 1000원 -> 1,000원 화면에 표시할때 천단위마다 콤마를 붙여주면 가독성이 훨씬 좋아집니다. 아주 간단한 스크립트로 천단위마다 콤마를 붙여줄 수 있습니다. javascript function numberWithCommas(n) { return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } 본인이 개발중인 html 페이지에 영역에 위의 function을 추가해줍니다. 그리고 출력시 해당 function에 금액을 넣어주면 천단위마다 콤마를 표시하는 문자로 리턴되어 출력할 수 있습니다. 해당 방..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bScclu/btrOP3AQ6ZH/kWhCRwKKIfGkx2DHjCoGvK/img.png)
자주 사용하는 javascript 함수 10가지를 소개합니다. 1. split() split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다. var text = "Hello! world Javascript!"; var splits = text.split(" "); console.log(splits); // ["Hello!", "world", "Javascript!"] 2. indexOf() indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다. 'Blue Cloud'.indexOf('Blue'); // returns 0 'Blue Cloud'.indexOf('Blute');..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbzS82/btrOBE2qoxe/kIHvRzhIYn3ix5zHSD9z9K/img.png)
기존 Spring 프레임워크 프로젝트에 AWS Amazon Rekognition 설정을 해보았습니다. - AWS Rekognition란? Amazon Rekognition Rekognition을 사용하면 애플리케이션에 이미지 및 비디오 분석을 쉽게 추가할 수 있습니다. Amazon Rekognition API에 이미지나 비디오를 제공하면 서비스에서 객체, 사람, 텍스트, 장면 및 활동을 식별할 수 있습니다. 부적절한 콘텐츠를 감지할 수도 있습니다. Amazon Rekognition Rekognition은 매우 정확한 얼굴 분석, 얼굴 비교 및 얼굴 검색 기능도 제공합니다. 사용자 확인, 카탈로그 작성, 인원 계산 및 공공 안전을 포함하여 다양한 사용 사례에서 얼굴을 탐지, 분석, 비교할 수 있습니다. h..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cI4vgg/btrCpWARNe5/wQc05PMdxILIptLXAed90k/img.png)
(failed)net::ERR_CONNECTION_RESET [시스템 환경] 최근 새로운 운영사이트를 인수인계받았습니다. 그동안 개발해왔던 시스템 구성 환경은 nginx + Spring Boot or Tomcat 구조였고 이 환경에 익숙한 상태였습니다. 그러나 이번 인수인계받은 프로젝트는 Apache + Tomcat + Spring MVC 구조였습니다. 프로젝트를 개발하며 nginx 쪽에 설정해야 된 부분이 있는데 nginx가 없어 당황했는데요. 그러나 Apache가 그 역할을 동일하게 해주고 있다는 것을 이번 기회에 알게 되었습니다. [현상] 이번 문제는 대용량 파일 업로드 개발 건 중 발생하였습니다. 파일 업로드 시 Max Upload Size 관련 설정이 필요하다는 것을 알고있었고, 설정이 들어갈 ..
기존 Spring Boot 웹 서버에 새로운 업무 추가로 신규 테이블을 만들었다. 신규 테이블을 만들고 Service, Mapper, SQL문을 작성 후 실행하였는데.. 오류 발생... OTL 바로 로그 확인! java.sql.SQLSyntaxErrorException: Table 'TableName' doesn't exist 이런 로그를 발견 시 당황하지 말고 SQL문으로 돌아가자. 신규로 만든 테이블명과 SQL문에 작성한 테이블 명의 대소문자를 확인하자. 문제는 테이블 이름 대소문자에 있었다. 테이블명 수정 후 다시 실행해보니 작동이 잘 된다. 오늘 디버그 노트는 끝. ※참고 비슷한 유형의 로그 메시지도 있다. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx..
java.net.UnknownHostException [원인] 웹 서버의 DNS 설정이 되어있지 않아서 발생되는 문제입니다. 이 문제는 localhost 환경에서는 발생되지 않지만, 직접 설치된 서버 혹은 외부서버에서 가동 시에 문제가 될 수 있습니다. 이 문제는 SNMP 통신 혹은 PING 등의 Network 관련 작업을 수행할 경우, 해당 웹 서버에서 외부로의 이동이 요구될 때 발생될 수 있는 문제입니다. [해결방법] 각 웹 서버의 설정에 맞게 DNS 설정을 합니다. [1] 서버가 IBM AIX 일 경우 telnet 으로 해당 서버에 접속 cd /etc/resolv.conf 파일을 vi 편집기로 수정하여 해당 ISP 의 네임서버와 IP 주소를 등록합니다. (ex : 127.0.0.1 localhost..
간단한 스프링부트(Spring boot) 프로젝트 생성 후 AWS에 배포 중 404 에러 발생함 이유를 찾던 중 Main 클래스에 SpringBootServletInitializer를 상속받지 않는 문제였음 package com.myhome; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(final String[] args) { SpringApplication.run(MyApplication.class, ..
Spring boot 에서는 logback-spring.xml 파일에 설정해야함 ${driverClass} ${url} ${user} ${password} DBAppender는 로그정보를 DB에 insert하는 역할을 한다. Log4j의 JDBCAppender와는 달리 Logback의 DBAppender는 디폴트로 LOGGING_EVENT, LOGGING_EVENT_PROPERTY, LOGGING_EVENT_EXCEPTION의 3가지 테이블을 기본적으로 필요로 한다. -LOGGING_EVENT 테이블LOGGING_EVENT 테이블은 로그메시지, timestamp 등 일반적인 로그 이벤트 정보를 저장하는 역할을 하는 테이블컬럼명타입기능timestmpbig int로그 이벤트 발생시점에 대한 타임스탬프 값fo..
1. Hello World 모든 프로그램의 첫걸음이라고 할 수 있는 Hello World를 통해 C to Go 학습을 시작합니다. C언어 #include int main(void) { printf("Hello World!\n"); return 0; } Go언어 package main import "fmt" func main() { fmt.Println("Hello World!") } Output http://play.golang.org/p/J93XzRm4Po 마치며.. 모든 Go 프로그램은 패키지로 구성되어 있습니다. 프로그램은 main 패키지에서부터 실행을 시작합니다. 패키지 이름은 디렉토리의 경로의 마지막 이름을 사용하는 것이 규칙입니다. 예를 들어 "path/fmt"를 사용한다면 패키지명은 fmt입..