728x90
728x90
10월달 리뷰 도서로는 '나의 첫 파이썬'이 선정되었다. (예전에 잠깐 배워볼까하고 공부하다가 접었는데 이번 기회에 한번 제대로 해보라는 한빛미디어의 음모..?) 책의 전반적인 내용을 살펴보면 기초적인 문법과 테스트 코드 작성법에 대해서 절반정도 분량을 차지하고 있고, 그 이후로는 간단하면서도 재밌는 외계인 침공 게임 프로젝트와 데이터를 시각화하는 프로젝트를 만들어본다. 이어서 파이썬의 대표적인 웹 프레임워크인 장고(Django)의 사용법과 웹을 만들어보는 튜토리얼로 이어진다. 목차가 궁금하다면 .... YES24 나의 첫 파이썬 파이썬을 선택해야 하는 이유 파이썬은 믿을 수 없이 효율적인 언어이다. 다른 언어에 비해 훨씬 적은 코드로 원하는 일을 할 수 있다. 파이썬 문법은 깔끔한 코드를..
이번 포스팅은 Tacademy의 리눅스 환경구성 기초 강의를 수강하고 요약한 내용입니다. 리눅스 소개 👋🏻 우리에게 컴퓨터는 ? 리눅스와 관련된 키워드 터미널, 쉘스크립트 등 외계언어들이 가득하다! 리눅스, 편안하게 쓸 수 없을까? 리눅스는 왜 어려운걸까? GUI vs CLI 이 두가지로 볼 수 있다. GUI (Graphical User Interface) 한 화면에 많은 정보를 담을 수 있다 눈으로 보고 대상을 선택 가능하다 But, 만약 한 화면에서 다양한 일을 하게된다면...? CLI (Command-Line Interface) 눈에 보이는 거라곤 고작 터미널 하나 뭔가 하고 싶지만 몰라서 할 수가 없다 But, 까막눈이면 몰라도, 숙련자에겐..? 리눅스를 잘 다루는 것? 리눅스 환경에서 파일, 프..
어느 취준생의 늦은 2020 상반기 회고 갑작스럽게 회고록을 쓰게된 계기 🤔 ? 블로그를 시작하게 된 계기가 다른 개발자들의 회고록을 통해 느낀점이 많아, 나 또한 스스로를 회고하고자 블로그를 개설하였다. 개발자에게 소프트 스킬 또한 중요하다는 것을 알게되었고, 글 쓰는 연습이 필요하다는 생각이 들었다. 이력서를 더 잘 쓰고 싶었다. (다른 사람들의 마음을 울릴 수 있는 글을 쓰고싶다) Refresh가 필요했다. (굵직한 회사들의 공채에 연달아 떨어지다보니 공부가 손에 안잡혔다) 지금까지 내가 해온 것들 📚 ? 먼저 본격적으로 구직활동을 했다. 작년에는 교육 코스들만 잔뜩 지원했던 반면에, 올해는 공부와 포트폴리오(이건 잘 못준비한 것 같다)를 계속 준비하면서 규모가 크고 작은 다양한 서비스 회사들에 서..
상속은 코드를 재사용하는 강력한 수단이지만, 항상 최선은 아니다. 잘못 사용하면 오류를 내기 쉬운 소프트웨어를 만들게 된다. 상위 클래스와 하위 클래스를 모두 같은 프로그래머가 통제하는 패키지 안에서라면 상속도 안전한 방법이다. 확장할 목적으로 설계되었고 문서화도 잘 된 클래스도 마찬가지로 안전하다. 하지만 일반적인 구체 클래스를 패키지 경계를 넘어, 즉 다른 패키지의 구체 클래스를 상속하는 일은 위험하다. 이전과는 달리 이번 아이템에서 논하는 문제는 (클래스가 인터페이스를 구현하거나 인터페이스가 다른 인터페이스를 확장하는) 인터페이스 상속과는 무관하다. 메서드 호출과는 달리 상속은 캡슐화를 깨뜨린다. 다르게 말하면, 상위 클래스가 어떻게 구현되느냐에 따라 하위 클래스의 동작에 이상이 생길 수 있다. 상..
변경 가능성을 최소화하라 불변 클래스란... 간단히 말해 그 인스턴스의 내부 값을 수정할 수 없는 클래스다. 불변 인스턴스에 간직된 정보는 고정되어 객체가 파괴되는 순간까지 절대 달라지지 않는다. 자바 플랫폼 라이브러리에도 다양한 불변 클래스가 있다. String, 기본 타입의 박싱된 클래스들, BigInteger, BigDecimal이 여기에 속한다. 이 클래스들을 불변으로 설계한 데는 그럴만한 이유가 있다. 불변 클래스는 가변 클래스보다 설계하고 구현하고 사용하기 쉬우며, 오류가 생길 여지도 적고 훨씬 안전하다. 클래스를 불변으로 만들려면 다음 다섯 가지 규칙을 따르면 된다. 객체의 상태를 변경하는 메서드(변경자)를 제공하지 않는다. 클래스를 확장할 수 없도록 한다. 하위 클래스에서 부주의하게 혹은 ..
전략 패턴 (Strategy Pattern) 인터페이스란.. 사전적 정의 키보드나 디스플레이 따위처럼 사람과 컴퓨터를 연결하는 장치 컴퓨터 언어에서의 정의 기능에 대한 선언과 구현 분리 기능을 사용하는 통로 A 라는 기능이 있고, 이를 인터페이스를 통해 구현한다고 했을 때, 인터페이스는 아래와 같다. public interface Ainterface { //기능의 선언 public void funcA(); } 구현은 Class에서 A Interface를 implements로 받아서 구현할 수 있다. public class AinterfaceImpl implements Ainterface { @Override public void funcA() { System.out.println("AAA"); } } 델..