전체 글(118)
-
WIL (Weekly I Learned) 1월 5째주
Bean Bean이라고 불리는 객체가 애플리케이션 안에 하나만 존재하는 객체를 이야기한다. 예전 Spring Framework를 사용할 때는 xml파일에 빈을 하나씩 등록시켜주어야 했지만, 현재 버전에서는 애노테이션을 사용해서 간단하게 Bean을 등록할 수 있다. 흔히 빈을 생성하기 위해 사용하는 애노테이션에는 아래와 같다. @Controller @Service @Repository @Component @Bean IoC IoC Container 한국말로 제어의 역전이라는 의미인데, 말 그대로 개발자가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 된다는 디자인 패턴이다. 뒤에 붙은 contariner의 의미는 말 그대로 Spring 애플리케이션이 실행됨과 동시에 생성된 Bean들을 담고 있기 때..
2022.01.30 -
CS : 메모리와 디스크의 핵심 : 순차논리
순차논리 -컴퓨터는 비트를 어떻게 기억하는가 순차논리라는 말은 순서(sequence)라는 말에서 비롯된 용어다. 순서는 '시간적으로 어떤 값 뒤에 오는 다른 값'이라는 뜻이다. 사람이 직관적으로 시간을 안다고 해서 디지털 회로에서도 시간을 자연스럽게 다룰 수 있다는 뜻은 아니다. 우리는 디지털 회로에서 시간을 어떻게든 만들어내야 한다. 우리는 주기 함수를 사용해 시간을 측정할 수 있다. 예를 들어. 지구의 자전이 바로 주기적 함수다. 지구가 한 바퀴를 다 돌면 이를 하루(1일)라고 부른다. 이 하루를 더 잘게 나눠서 시간, 분, 초 등으로 구분을 한다. 컴퓨터의 경우 전자공학을 사용하기 때문에 주기적인 전기 신호가 필요하다. 전자가 스위치를 때리게 하면 이런 신호를 만들 수 있다. 발진자 좀 더 안정적인..
2022.01.28 -
EC2 서버의 Time Zone을 변경하는 법 : 배포 후 작성된 시간이 이상하다면?
Ubuntu 에서 timezone 이 다른시간으로 설정되었을 때 해결하는 방법입니다. 분명 localhost:8080에서 잘 되어서 배포를 했는데 배포 후 게시물의 시간이 9시간 전으로 나오는 것입니다... 로컬에서 SSH 명령어로 EC2 서버에 원격으로 접속해 현재 시간을 확인해 보았습니다. $ date 기본시간이 이상하게 현재 시간보다 9시간 전으로 나와있고 시간 옆에 UTC로 설정이 되어 있었습니다. UTC를 KST로 바꿔줘야 합니다. $ sudo rm /etc/localtime $ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 위 두가지를 차례대로 입력해줍니다. $ date 다시 확인해 보니 이제 정상적인 시간으로 찍힌 것을 확인 할 수 있고..
2022.01.26 -
Spring : 게시판 : 내림차순 : 최신순으로 하는 법
1. BoardRepository 에서 List findAllByOrderByModifiedDateDesc(); 를 추가한다. public interface BoardRepository extends JpaRepository { List findAllByOrderByModifiedDateDesc(); // 다찾아줘 수정된 날짜기준으로 내림차순 // ************************************************** } //public interface BoardRepository extends JpaRepository { // ***************************************************** // //} Desc는 descend의 줄임말로서 내려오다 ..
2022.01.25 -
WIL (Weekly I Learned) 1월 4째주
1. JVM(Java Virtual Machine) Java를 실행하기 위한 가상머신 Java 애플리케이션은 JVM을 한 번 더 거치면서 하드웨어에 맞게 완전히 컴파일된 상태가 아니고, 실행시에 해석(interpret)된다. 이 때문에 속도가 느리다는 단점을 가지고 있다. 그러나 바이트코드(컴파일된 Java 코드)를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 향상된 최적화 기술이 적용되어 속도의 격차를 많이 줄였다. 또, 우측의 일반적인 애플리케이션은 OS와 바로 맞붙어 있기 때문에 OS 종속적이다. 그래서 다른 OS에서 실행시키기 위해서는 애플리케이션을 그 OS에 맞게 변경해야 한다. 반면 Java 애플리케이션은 JVM하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 ..
2022.01.24 -
CS : 문자를 사용한 수 표현, 색을 표현하는 방법
1. 문자를 사용한 수 표현 사람들은 컴퓨터 간에 통신이 시작된 초기부터 더욱 많은 정보들을 송수신을 하고 싶어했다. 단순한 2진 데이터를 보내고 싶었지만 생각보다 복잡한 일이었다. 아스키코드 중 상당수가 제어 문자로 되어있었고 이런 제어 문자는 시스템에 따라 처리하는 방식이 달랐기 때문이다. 그리고 몇몇 시스템은 7비트만 송수신 할 수 있었다. (1) 출력 가능하게 변경한 인코딩 출력 가능하게 변경한 인코딩 Quoted-Printable encoding은 쿼티드 프린터블 인코딩, 또는 QP 인코딩이라고 부른다. 8비트 데이터를 7비트 데이터만 지원하는 통신 경로를 통해 송수신하기 위해 고안된 인코딩 방법이다. 특히 전자우편 첨부를 처리하기 위해 만들어졌다. QP 인코딩은 몇가지 추가 규칙 있는데, 주르..
2022.01.22