본문 바로가기

분류 전체보기154

Protocol Layering each layer provides its service by (1) performing certain actions within that layer and by (2) using the services of the layer directly below it. The application layer is where network applications and their protocols reside, such as HTTP for web document transfer, SMTP for email transfer, and FTP for file transfer. It also includes the domain name system (DNS) for translating human-friendly nam.. 2023. 7. 13.
springBoot 커멘트 모음집 1(intelliJ)-macBook command + option + m : 드레그한 구역 따로 함수로 만들어주는 커멘드 command + shift + t : 내가 Test하고 싶은 클레스 안에서 간편하게 Test를 만들어서 해준다. control + shift + / : 내가 드레그한 범위만큼 주석 터리 2023. 7. 6.
미국 금리가 오르면 우리나라 주가는 왜 떨어질까? 사전지식) 인플레이션에 따른 경기 반전 --> 내림세 비율이 커서 경제에 큰 영향준다 --> 단기로 살릴 수도 없다. 따라서 금융정책 당국이 을 펼친다 --> 정책 금리가 올라간다 --> 시장금리 인상과 통화량 축소를 유도한다. 1. 미국에서 금리가 오르면 외국인 투자가 미국에 집중되고 나머지 각국 증시에서는 외국인 투자가 유출되므로 주가가 떨어진다. 2. 미국 금리가 오르면 다른 나라에도 금리 인상 압력이 생겨 주가가 떨어진다. 미국 금리가 올라 투자가 미국시장으로 몰린다 --> 나머지 나라에서는 금융이나 자본의 수요가 줄어 상대적으로 금융 경제가 침체 --> 이러한 사태를 예방하고자 미국과 자국의 금리 차이가 너무 벌어지지 않도록 한다. 3. 미국 금리가 오르면 미국 내 소비와 투자 수요가 줄면서 수.. 2023. 7. 6.
쓰레드 관련 error(philosopher) 1. 개선전 사진 2. 개선후 사진 우선 philosopher라고 철학자 문제를 c로 구현해 보았다. 위의 사진에서 사진1에서 philo->check->die = 1 이 died가 프린트되고난 후에 바뀌게 된다. 내코드에서는 die = 1 이 된다면 쓰레드가 종료되는 플레그 같은 역활을 하게 된다. 이 때 많은 수의 쓰레드를 돌리면 died가 먼저 출력되고 philo->check->die = 1로 바뀌는 그 사이 시간에 다른 쓰레드에서 어떤 문구를 출력 할수 있게 된다. 따라서 사진2에서 본거와 같이 die = 1 가 먼저 바뀌고 나서 died를 출력하게 된다면 died가 다른쓰레드 문구 보다 먼저 출력되는 일이 없어진다. 이러한 시간차이도 꼼꼼히 생각해봐야할 것 같다. 멀티 쓰레드를 써야할 일이 있다면.. 2023. 7. 4.
parameter 확인커멘드 command + p 2023. 6. 30.
WAS란? WAS(Web Application Server) 웹 서버와 웹 컨테이너의 결합으로 이루어진 소프트웨어이다. 웹 서버를 포함하고 있기 때문에 웹 서버처럼 사용할 수도 있다. DB 와 연결되어 트랜잭션 처리를 하거나 다른 시스템과의 연동 기능 또한 포함하고 있다. 웹 서버와 달리 요청에 대해 동적인 페이지를 만들 어 유연하게 응답할 수 있다. WAS가 필요한 이유? 웹 서버는 정적인 컨텐츠만 제공하기 때문에 클라이언트의 요구에 유연하게 대처할 수 없다. 다양한 클라이언트의 요구에 유연하게 대처하기 위해 DB와 연결해 데이터를 주고받거나 데이터 조작을 하여 동적인 페이지를 생성해 응답하기 위해 WAS를 사용하고 있다. cf) Tomcat : 아파치 재단에서 만든 오픈 소스 WAS이다. Java Servlet.. 2023. 6. 30.
vim에서 springboot 빌드하고 실행하기 1. 자신이 빌드하고 실행하고싶은 springboot 폴더에들어가서 ./gradlew build 입력 2. cd build/libs ->build폴더에 libs폴더 들어가기 3. ls 로 실행파일명 확인 4. java -jar hello-spring-0.0.1-SNAPSHOT.jar 위와 같이 실행시키면 빌드하고 실행끝! 위의 과정이 intellj안에서 파일 실행시키는거랑 vim에서 실행시키는것이랑 동일하다. 둘이 같이 실행하고 있으면 오류뜸 한쪽에서만 실행하길! 2023. 6. 29.
컬렉션 프레임워크 필수 암기 2023. 6. 27.
long 과 int 값을 같다고 생각한 에러 mac os 32bit에서는 long과 int가 4바이트로 같지만 mac os 64bit에서는 long이 8바이트로 long long과 같아진다. 따라서 내가 공부하는 OS는 mac os 64bit라 long과 int를 같다고 생각하면 안되는데 같다고 생각했다. 위의 코드를 보면 philo->last_eat_time은 long값을 리턴하고 이 리턴값을 result 변수에 값을 넣는다. 이 때 result는 int 값이다 그래서 philo->last_eat_time이 값은 long 값이면 mac os 64bit에서는 long long과 같다 따라서 philo->last_eat_time의 값이 int범위를 넘어경우 - 값이 된다. 이렇게 될경우 내가 원하는 값인 + 값이 안나오고 - 값이 나와 에러가 나오게.. 2023. 6. 21.
얕은 복사 vs 깊은 복사 얕은 복사 깊은 복사 개념 주소체를 복사한 것 메모리 공간을 새로 할당해서 복사하는 것 수정 원본이 수정된다 새로 메모리 공간을 할당해서 원본에는 영향이 갈수 없다 속도 빠르다 느리다 특징 특정 객체를 깊은 복사하는 경우 Clonable 인터페이스를 활용하여, clone()메서드를 Overriding해주어야 깊은 복사가 가능 2023. 6. 21.
728x90