je개발 복습 4

[ JavaScript ] 소스코드와 실행컨텍스트, 호이스팅

1. 자바 스크립트의 소스코드 자바스크립트에서 소스코드는 4가지로 분류할 수 있다 소스코드 타입 설명 전역 코드 전역에 존재하는 소스 코드. 단 전역에 정의된 함수, 클래스 등의 내부 코드는 미포함 함수 코드 함수 내부에 존재하는 소스코드. 중첩된 함수, 클래스 등의 내부 코드는 미포함 eval 코드 빌트인 전역 함수 eval 에 의해 실행되는 소스코드 eval은 보안상의 문제, 성능상의 문제가 있어 사용을 금함 모듈 코드 모듈 내부에 존재하는 소스코드 모듈 내부의 함수, 클래스 등의 내부 코드는 미포함 2. 소스코드의 평가와 실행 자바스크립트 엔진은 소스코드를 두 개의 과정에 걸쳐서 처리한다 소스코드의 평가 소스코드의 실행 소스코드의 평가 이 과정에서 실행 컨텍스트가 생성된다 자바스크립트 엔진은 런타임..

[ Linux ] Shell 날짜 조회하기

1. 필요한 이유 이전 Crontab 을 설명할 때, 정기적으로 실행시켜야 하는 명령어가 API 호출이었다. 해당 API 를 호출할 때 Params 로 오늘 날짜와 7일 전 날짜를 넣어줘야 했다. Javascript 나 Java 에서라면 Date 객체를 활용해서 호출하면 되지만 Shell 에서는 어떤 방법이 있는지를 몰랐기에 해당 내용을 구글링 해야 했고, 적절하게 사용해서 명령어를 만들어 낼 수 있었다. 2. date 로 오늘 날짜 조회하기 Shell 로 date 날짜를 가져오는 것은 매우 쉬웠다. Date 객체처럼 date 만 입력해도 현재 시간을 가지고 온다(정확히는 해당 운영체제에서 인식하고 있는 현재 시간) $ date # Thu Jan 12 17:12:11 KST 2023 여기서 더 나아가 포..

[ Linux ] 크론탭(Crontab), Shell 로 정기적인 명령어

1. 필요한 이유 회사에서 서버 컴퓨터에 Jenkins 에 아이템을 하나 만들고, 빌드 될 때마다 Shell 명령어를 동작시키도록 설정했다. 요구 사항은 우리가 수동적으로 새로 빌드를 하는 것도 아니고, 파이프라인으로 사용하는 것도 아니고, 정기적인 날에 이 아이템이 빌드되도록 하는 것이었다. Jenkins 에서는 해당 아이템을 정기적으로 실행시킬 수 있는 방법이 존재했고, 그 중 하나가 Shell 을 사용하는 것이었다 이 경우, "어느 때" 정기적으로 동작할지를 코드로 작성해야 했고, Linux 에서 해당 내용은 크론탭 이라는 것을 사용하여 처리할 수 있었다. 해당 내용은 처음 배우는 것이었고, 종종 사용할 명령어인 거 같아 따로 정리할 필요성을 느껴 Notion 뿐만 아니라 Tistory 에도 작성해..

[ Java ] 상속 (Inheritance)

1. 클래스의 상속 새로운 클래스를 정의하는 방법 중에는 이미 구현된 클래스의 모든 내용을 이어 받고 거기에 속성이나 기능 등을 더 추가해서 클래스를 구현하는 방법이 있다. 이것을 상속이라고 하며 기존의 클래스에서 더 구체적인 사항을 구현하고자 할 때 사용한다. 예를 들어 개발자, 프론트엔드, 백엔드로 클래스를 만들어본다 생각해보자. 프론트엔드와 백엔드는 서로 다르지만 개발자라는 카테고리 안에 묶인다. 그렇다면 개발자라는 클래스를 먼저 먼저 만들고, 그것을 상속받아 프론트엔드와 백엔드를 각각 만들어 주면 된다. 2. super( ) super 는 하위 클래스가 상위 클래스를 참조하는 값이다. 좀더 쉽게 풀이하자면 super 를 사용해서 상위 클래스의 메소드나 멤버 변수에 접근이 가능하다. super( )..