분류 전체보기
-
[JavaScript] Strict equality (===) 와 equality (==)프로그래밍 언어/JavaScript & TypeScript 2022. 9. 17. 17:39
console.log(1 === 1); // expected output: true console.log('hello' === 'hello'); // expected output: true console.log('1' === 1); // expected output: false console.log(0 === false); // expected output: false console.log(1 == '1'); // expected output: true Reference Strict equality (===) - JavaScript | MDN The strict equality operator (===) checks whether its two operands are equal, returning a B..
-
[TypeScript] 매번 다르게 전달되는 JSON 에 대해 타입 정의하기프로그래밍 언어/JavaScript & TypeScript 2022. 9. 17. 17:18
interface Person { [key: string]: string | number; name: string; age: number; userIdentity: { [key: string]: string }; } const p1: Person = { name: 'Tom', country: 'Chile', age: 30, userIdentity: {userName: 'Ping9', region: 'us-east-1'}}; Reference What does {[key: string]: string} mean in TypeScript | bobbyhadz The `{[key: string]: string}` syntax is an index signature in TypeScript and is used..
-
[AWS] Java 프로젝트에서 .ebextensions 사용하기Back End/AWS 2022. 9. 17. 17:09
Overview 필자가 삽질하며 .ebextensions 를 활용하여 AWS Beanstalk 을 설정하는 법을 정리한 글입니다. 언제 써야 할까? 한 번 세팅하고 계속 유지되어야 하는 설정들은 AMI 로 만들어 Beanstalk 에서 사용하면 되지만 변경이 자주 발생하거나 어플리케이션이 deploy 되기전에 적용되어야 하는 환경 설정들은 ebextension 을 사용하여 적용하면 좋다. 어플리케이션에 ebextension 으로 작성하고 그 이후에 실행하지 않게 끔 해놓은 어플리케이션도 있는데, 기록을 남겨둠으로써 해당 작업을 어떻게 처리하였는지 IDE 수준에서 빠르게 확인할 수 있고 문서화하지 않아도 되어 경제적이다. 다만, 그런 파일들은 .ebextension-deprecated 와 같이 네이밍을 다..
-
[트러블슈팅] Error: httpd24-tools conflicts with httpd-tools-2.2.34-1.16.amzn1.x86_64 Error: httpd24 conflicts with httpd-2.2.34-1.16.amzn1.x86_64Back End/트러블슈팅 2022. 9. 17. 16:56
Error: httpd24-tools conflicts with httpd-tools-2.2.34-1.16.amzn1.x86_64 Error: httpd24 conflicts with httpd-2.2.34-1.16.amzn1.x86_64 yum install -y mod_security 를 입력하고 마주한 에러메세지이다. Apache 2.4.x 를 사용하고 있는 경우인데 2.2버전 mod_security 를 설치하려고 해서 충돌이 일어난다고 하는 말이다. 아래와 같이 버전을 명시하여 같은 버전을 설치하면 된다. yum install -y mod24_security
-
[보안] 웹서버 정보 감추기 - AWS Beanstalk 에서 Server Version Disclosure (Feat. .ebextension & .platform)Back End/보안 2022. 9. 17. 16:28
이 포스팅은 Apache 를 Proxy 로 사용하는 Beanstalk 환경에 대해서만 예시가 있습니다. 하지만 읽어보신다면 개념은 같기 때문에 Nginx 를 사용하는 경우도 동일한 접근법으로 접근하시면 됩니다 :D! * Tomcat 자체에서 발생하는 에러로 인한 서버스택 노출을 가리는 것은 추후에 포스팅하겠습니다. Response 의 Server Header Pen Test 결과, 아래와 같이 Response Header 에 서버 정보가 노출됨을 막아야 한다는 보고가 있었다. 서버정보가 포함되어있으면 해커들이 작업하기가 쉽다고 한다. 보통 Tomcat 의 server.xml 을 변경하는 방법이 널리 알려져있는데, 직접 생성한 EC2 에는 먹힐 수 있으나 AWS Elastic Beanstalk 은 Tomc..
-
[PHP] DateTime 클래스 사용법과 주의할 점 (feat. Timestamp)프로그래밍 언어/PHP 2022. 9. 17. 15:18
해당 포스팅은 PHP 에서 DateTime 클래스의 Timestamp 메서드를 사용하여 UnixTimestamp 로 변경 시 마주할 수 있는 문제에 대한 포스팅입니다. 내가 유지보수하고 있는 PHP로 된 프로젝트에서 구매기록이 실제 DB 레코드와 다르게 나타나는 현상이 있었다. 해당 로직의 위치를 찾은 결과, DateTime 클래스를 생성해서 Timestamp 로 변환하고 있었고 변환된 Timestamp 를 기준으로 데이터를 조회하고 있었는데 눈으로는 아무 문제가 없어보였다. 혹시 Timestamp 로 변환하면서 날짜값이 잘못 들어간 것은 아닐까 싶어 아래와 같이 PHP Online Editor 에서 해당로직을 구현해도 아무 문제가 없어보였다. 분명 UnixTimestamp 로 변환된 값을 기준으로 조..
-
[AWS] Permission denied (publickey,gssapi-keyex,gssapi-with-mic)Back End/AWS 2022. 8. 28. 22:44
Permission denied 라는 오류문구 때문에 네트워크 인바운드에 내 IP 를 추가도 해보고, pem 키 확인도 해보고, known-hosts 도 초기화 해봤지만.... 해결이 되지 않았다. 원인은 유저명이 틀렸던 것이었다.... 분명 ec2 에 추정 운영체제는 Ubuntu 였는데 접속 유저명은 Linux 의 ec2-user 였던 것이다...😥 예시 AWS CLI ssh -i ~/.ssh/my.pem ec2-user@1.2.3.4 [AWS] Mac 에서 EC2 인스턴스로 SSH 접속 EC2 인스턴스로 SSH 접속 ssh -i [Mac북에 있는 pem키 경로] [접속하고자 하는 유저계정]@[접속하고자 하는 인스턴스의 IP] ex) ssh -i ~/.ssh/mykey.pem ubuntu@xx.xxx...
-
[Spring JPA] 중간테이블 (조인테이블) 이 있을 때 연관관계 매핑Back End/Spring Data JPA 2022. 8. 28. 22:39
MyBatis 로만 구성된 환경에 JPA 를 적용시키면서 중간테이블이 있는 구조를 만나게 되었다. A B C 의 참조관계인데 실제로 사용할 테이블은 A,C 이며 B는 참조용 테이블일 뿐 이었다. A,B,C 모두 엔티티로 만들고 연관관계를 매핑하는 방법은 너무 기계적이고 쓸모없어 보였다. 그래서 서칭을 하다가 좋은 포스팅을 찾게되었고, 이를 활용한 방법을 기록하고자 한다. @JoinTable (kotlin) @Entity class TableA { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(columnDefinition = "INT") var id: Long? = null @ManyToOne(fetch = FetchType.LAZY) ..