전체 글

모든 코드에는 이유가 있어야 한다고 생각하는 코딩하는 대학생입니다.
전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해 줍니다. 전략 패턴을 사용하는 경우 / 사용해야 하는 이유 abstract class Duck { // 일반 메서드 quack public void quack() { System.out.println("Quack! Quack!"); } // 일반 메서드 swim public void swim() { System.out.println("Swimming gracefully."); } // 추상 메서드 display public abstract void display(); } 클래스 설명을 하자면, Duck이라는 슈퍼 클래스에서 quack 및 swim 메서드가 정의되어 있고, display 메서드는 추상 메서드로 정의되어..
리스트 컴프리헨션이란? 파이썬에서 제공하는 기능으로 리스트를 간결하고 가독성 높게 생성할 수 있는 방법입니다.목차리스트 컴프리헨션의 편리성리스트 컴프리헨션의 문법* 연산자을 배열에서 사용하면 안 되는 이유1. 리스트 컴프리헨션의 편리성리스트 컴프리헨션을 처음 접하시는 분이라면 for을 이용해서 리스트를 문제없이 잘 만들고 있었는데 왜 내가 이걸 써야 하지?라는 의문을 가지실 수 있습니다. 코드 두 개를 비교해 보겠습니다.list_without_comprehension = [] for _ in range(3): inner_list = [] for _ in range(5): inner_list.append(0) list_without_comprehension.append(inner_list) print(li..
1. 자료 추상화 public class Point { public double x; public double y; } public interface Point { double getX(); double getY(); void setCartesian(double x, double y); } 위의 Point 클래스는 구현을 노출한다. x, y의 값을 변경하기 위해서는 직접 변경 해야하기 때문에 구현이 노출되었다. 그에 비해 밑의 Point 추상 클래스는 setCartesian으로 구현을 숨겼다. 이처럼 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 한다. //구체적인 Vehicle 클래스 public interface Vehicle{ double getFuelTankCapacityInGallon..
위 사진은 배선정리가 끝난 뒤, 모습이다. 여러분의 코드는 배선 정리가 필요하다. 배선 정리가 안 되어있어도 잘 작동하지만 코드의 내용을 파악하기 위해 선들을 하나하나 볼 때면 왜 배선 정리를 하지 않았는지 후회할 것이다. “코드 형식은 매우 중요하다” 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높다. 그러나 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다. 1. 적절한 행 길이를 유지하라 다음의 그림은 파일의 길이 분포, 로그 배율을 표로 나타낸 그림이다. JUnit, fitnese와 같은 파일을 보면 대부분의 파일 크기가 200줄 미만이다. 200줄 미만의 길이의 코드 파일로도 커다란 시스템을 구축 할 수 있다. 📢 파일의 길이는 200~300줄을 넘지 않도록 한..
함수는 작게 만들어라. 🧐 책에서는 함수의 길이를 3~4 줄로 권장하고 있다. 함수는 한 가지만 해라 public static String renderPageWithSetupsAndTeardowns( PageData pageData, boolean isSuite) throws Exception { if( isTestPage(pageData)) includeSetupAndTeardownPages(pageData, isSuite); return pageData.getHtml(); } 페이지가 테스트 페이지인지 판단한다. 조건문을 통해 설정 페이지와 해제 페이지를 넣는다. 페이지를 HTML로 렌더링 한다. 함수는 한 가지 해야 한다고 했는데 위의 함수는 3가지 기능을 하고 있다. 🧐 함수의 추상화 수준이 하나..
· Backend/AWS
https://solution-is-here.tistory.com/178 AWS 2. AutoScaling 적용해보기 (1편) AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지합니다. 우리가 실제로 서비스를 배포할 때 꼭 필요한 기 solution-is-here.tistory.com 위 글을 보고 오셔야 이해하실 수 있습니다. AutoScaling을 하기 위해서는 Load Balancer도 필요하지만 Image가 필요합니다. 이때 Amazon machine Image(AMI)란? EC2에서 실행할 수 있는 가상 시스템의 정의입니다. AMI에는 운영 체제, 응용 프로그램 및 기타 구성 요소가 포함됩니다. 1. A..
코딩하는_대학생
코딩하는 대학생에서 개발자까지