분류 전체보기(619)
-
자바(2), 객체 지향 프로그래밍
이번 포스팅 역시 자바와 C++과의 객체 지향 프로그래밍 중 차이점을 위주로 내용을 작성해보고자 한다. 자바는 C++과 유사한 면이 많기에 차이점을 위주로 학습하면 더욱 기억에 잘 남을 것이라 생각한다. 1. 객체 사용 1) 객체 지향 프로그래밍 객체 지향 프로그래밍의 핵심 원칙 중 하나는 캡슐화이다. 이는 모든 객체지향 프로그래밍이 동일하게 적용되는 원칙으로, 다른 사람이 구현한 객체의 메서드를 호출할 때는 내부에서 무슨 일이 일어나는지 몰라도 된다는 원칙이다. 자바에서는 클래스를 사용해 객체를 생성하고 사용할 수 있다. 2) 접근자 메서드와 변경자 메서드 메서드에서 데이터를 수정하는 방법은 두 가지 방법이 있다. 첫번째 방법은 멤버 함수로 전달받은 객체의 상태를 변경하고 아무 것도 반환하지 않는 방식..
2022.08.29 -
자바 디자인패턴(0), 인터페이스와 델리게이트
인터페이스 인터페이스는 기능에 대한 선언과 구현을 분리하는 것에 의의가 있다. // Ainterface.java public interface Ainterface { // 기능에 대한 선언 public void funcA(); } // AinterfaceImpl.java public class AinterfaceImpl implements Ainterface { @Override public void funcA() { System.out.println("AAA"); } } - 인터페이스를 사용하면 구현과 선언을 분리해 사용할 수 있다. 또한 어떤 기능을 호출하는 통로가 된다. 인터페이스에 대한 자세한 설명은 자바 인터페이스와 관련된 포스팅을 참고하면 좋을 것 같다. 델리게이트 다른 클래스에서 구현 클래스..
2022.08.28 -
우아한 테코톡(10), Forward Proxy, Reverse Proxy, Load Balancer
본 포스팅은 우아한Tech의 테코톡 제이미님의 Forward Proxy, Reverse Proxy, Load Balancer 영상을 정리한 내용입니다. Forward Proxy, Reverse Proxy, Load Balancer의 특징을 위주로 정리했습니다. Forward Proxy, Reverse Proxy, Load Balancer 1. Proxy 1) Proxy란? 작업을 대신하여 수행하는 것을 의미한다. 2) Proxy server 클라이언트와 서버 간의 중계 서버로 통신을 대리 수행하는 서버를 의미한다. 이를 사용하면 캐시/보안/트래픽 분산 등의 여러 장점을 가질 수 있다. 3) Proxy server의 종류 (1) Forward Proxy (2) Reverse Proxy 2. Forward ..
2022.08.25 -
우아한 테코톡(9), 쿠키 vs 세션 vs 토큰 vs 캐시
본 포스팅은 우아한Tech의 테코톡 연로그님의 쿠키 vs 세션 vs 토큰 vs 캐시 영상을 정리한 내용입니다. 각각의 차이점을 위주로 정리했습니다. 쿠키 vs 세션 vs 토큰 vs 캐시 1. 쿠키 1) 쿠키란? 쿠키란 서버가 사용자의 웹 브라우저에 데이터를 보내 사용자의 웹 브라우저 상에서 임시로 데이터를 저장하는 것을 의미한다. 쿠키는 사용자가 사이트에 방문할 때 데이터를 직접 저장하고 수정할 수 있다. 하지만 모든 데이터에 대해 수정할 수 있는 권한을 사용자에게 주는 경우에는 문제가 발생할 수 있다. 예를 들어 사용자가 VIP 권한을 수정하거나, 구매하지도 않은 상품을 구매했다고 수정하는 등의 동작은 불가능하도록 해야한다. 따라서 수정이 불가능한 정보는 쿠키에 저장하기에 부적절하다. 중요한 정보의 경..
2022.08.24 -
소프트웨어 개발 방법 및 도구(4), Selecting Right Operating System
Selecting Right Operating System 문제를 정의하고 그 문제에 적합한 언어를 선택하는 것이 중요하다. Background for selecting OS (in SW development) 1. Business 1) Market share 시장 점유율에 맞춰 개발을 하는 것이 중요하다. ex) 안드로이드 / IOS -> 스마트폰의 시장 점유율을 파악하고 이에 맞춰 개발을 한다. cf) 최근에는 OS가 아닌 브라우저에서 돌아가는 web based 프로그램을 짜는 경우가 많다. - 스마트폰의 경우 대부분 Android를 쓰는 것을 확인할 수 있다. - 전세계적으로 봤을 때 안드로이드 기반 스마트폰의 가격이 아이폰보다 싼 경우가 많다. 또한 국내에서는 안드로이드가 많다. - 즉, 출시하고..
2022.08.22 -
우아한테코톡(8), Process vs Thread
본 포스팅은 우아한Tech의 테코톡 쿼리치님의 Process vs Thread 영상을 정리한 내용입니다. 프로세스와 쓰레드의 간단한 정의 및 특징을 위주로 정리했습니다. 쓰레드와 관련된 보다 딥한 내용은 컴퓨터 구조 수업 시간에 수강한 멀티쓰레드 파트를 복습하면 좋을 것 같다. 2022.06.13 - [강의 내용 정리/컴퓨터구조] - 컴퓨터 구조(11), Multithreading 컴퓨터 구조(11), Multithreading Multithreading 1. Multithreading Basic - thread: state한 명령어 스트림. state은 레지스터나 메모리에 있다. 쉽게 생각해서 프로그램으로 볼 수 있다. - 쓰레드 컨텍스트는 레지스터에 있는 state를 의미한다.. konghana01...
2022.08.22