블로그 주인장
최신글
도서 2024.09.06 20:57객체지향의 사실과 오해

협력하는 객체들의 공동체 자바의 정석에서도 그렇고 객체지향이란 실제 세상에 있는 것들을 코드상으로 가져오는 즉 직접적이고  직관적으로 모델링 할 수 있는 패러다임이라고 하기도 한다. 다만 실제 세상은 그런 객체는 많이 없고 유사성 찾기 어려운 경우가 일반적이다 . 객체지향의 목표는 실세계를 모방하는 것이 아닌 새로운 세계를 창조하는 것!  그럼에도 불구하고 객체와 실세계를 비교하면서 개념을 동일시하게 되는 이유는 객체의 특징인 캡슐화와 자율성을 설명하기에 실세계의 생명체와 비유하는것이 이해하기 쉽기 때문이다.  연결 완전성 정의 : 시스템의 구성 요소들이 서로 잘 연결되고 상호작용할 수 있도록 설계하는 것을 의미합니다. 이는 객체 간의 관계와 상호작용을 명확하게 정의하여 시스템의 유연성과 확장성을 높이는..

클린코드 : 점진적인 개선
도서 2024.07.27 23:00클린코드 : 점진적인 개선

점진적인 개선 어떻게 짰느냐고?- 프로그래밍은 과학보다 공예 - 깨끗한 코드는 바로 나오지 않는다. 초안부터 작성후 점진적으로 고쳐야 한다 점진적으로 개선하다- 점진적인 개선을 위해 필요한 것은 TDD- 점진적으로 수정해도 해당 코드가 유효한지 빠르게 파악 가능  결론- 그저 돌아가는 코드로 만족하지 마라- 서두르지 말고 시간을 들여 설계 그리고 개선해 코드를 작성하자   코드  해당 장에서는 대부분 코드의 수정 사항을 보여주면서 어떻게 개선했는지 보여준다. 처음에는 boolean 변수만 수정해서 진행했으나 그 외 String, Integer등 인수의 숫자를 늘리면 늘릴수록 코드는 길어지고 복잡해지며 답도 없어진다. 그래서 인수 유형을 HashMap으로 선언한 다음 스키마 요소를 분석해서 진짜 유형으로 ..

클린코드 : 시스템, 창발성, 동시성
도서 2024.07.21 02:42클린코드 : 시스템, 창발성, 동시성

시스템 도시를 세운다면- 도시는 큰 그림을 그리는 사람과 작은 사항에 집중하는 사람들이 모여서 제대로 된 기능을 한다- 추상화와 모듈화로 시스템을 깨끗하게 유지가능 시스템 제작과 시스템 사용을 분리하라 - 시스템웨어 시스템은 준비과정과 런타임 로직으로 분리를 해야한다 - 관심사 분리를 하자  의존성 주입- 사용과 제작을 분리하는 메커니즘 중 하나 - 제어 역전 : 한 객체가 맡은 보조 책임을 새로운 객체에게 넘기는 것 , 새로운 객체는 넘겨받은 책임으로 단일 책임 우너칙을 지킨다- 보통 필요한 객체는 실행시점에서 이미 만들어져있고 생성자 인수나 설정자 메서드를 사용해서 의존성을 설정한다 확장- 처음부터 어떻게 규모를 다 알고 설계하냐? 처음엔 작게 그리고 점차 키우는게 정석이다- 오늘 주어진 사용자 스토..

프로그래밍
프로그래머스 폰켓몬
프로그래머스 폰켓몬
알고리즘
2024.07.13 16:23
문제당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.첫 번째(3번), 두 번째(1번) 폰켓몬을 선택첫 번째(3번), 세 번째(2번) 폰켓몬을 선택첫 번째(3번),..
테스트는 []다
테스트는 []다
스프링
2024.06.29 16:31
테스트는 문서다  테스트는 문서다 - 프로덕션 기능을 설명하는 테스트 코드 문서 - 다양한 테스트 케이스를 통해 프로덕션 코드 이해하도록 도와줌 - 한 사람의 경험을 팀 차원으로 모두 공유 가능  우리는 항상 팀으로 일하기 때문에 좋은 테스트 코드를 문서로 작성해야한다  DisplayName을 섬세하게  @DisplayName("음료 1개 추가하면 주문 목록에 담긴다") // 테스트명을 적어준다 @Test void add(){ CafeKiosk cafeKiosk = new CafeKiosk(); cafeKiosk.add(new Americano()); assertThat(cafeKiosk.getBeverages().get(0).getName()).is..
Test  Driven Development
Test Driven Development
스프링
2024.06.25 00:49
서론 Test Driven Development 란?- 구현먼저 하는 것이 아니라 테스트를 먼저하고 기능을 구현하는 개발 방법론  1) 실패하는 테스트 작성 2) 테스트 통과 최소한의 코딩 : 통과하기 위해 막 짜도 괜찮 일단 통과만 하도록 짜라3) 구현 코드 개선 , 테스트 통과 유지 : 구현 코드를 개선하면서 품질 향상   본문  1단계 - 빨간불 보기 // 컴파일 에러 방지용 기능 구현 public int calculateTotalPrice(){ return 0;}// 빨간색 불 들어오는 테스트코드@Testvoid calculateTotalPrice(){ CafeKiosk cafeKiosk = new CafeKiosk(); Americano americano = new America..
단위 테스트
단위 테스트
스프링
2024.06.25 00:28
서론 테스트는 간편하게 해야하고 기계가 알아서 통과 여부를 확인할 수 있게 짜야한다.수동 테스트처럼 일일이 화면 클릭해서 확인하고 감에 의존해서 합격 불합격하는 테스트는 신뢰성이 낮다   이게 괜찮은 테스트 코드인가? @Test void add() { CafeKiosk cafeKiosk = new CafeKiosk(); cafeKiosk.add(new Americano()); System.out.println(" == 담긴 음료수 수 : " + cafeKiosk.getBeverages().size()); System.out.println(" == 담긴 음료수 : " + cafeKiosk.getBeverages().get(0).getName()..
테스트는 왜 필요한가?
테스트는 왜 필요한가?
스프링
2024.06.24 13:08
서론  테스트는 왜 필요하니? - 조미료 같은 놈 - 사실 서비스에 직접적인 영향을 주진 않지만 있다면 품질의 안정성을 보장해주고, 좋은 테스트 코드는 유지보수 시간을 단축 시킨다 - 다만 스케줄이 빠듯한 경우 테스트 코드 작성이 매우 귀찮은 작업이 되어버림    본문   이미 수동으로 테스트가 끝난 코드가 있는데 여길 다른 사람이 조금만 수정한 경우가 있다.  근데 이게 이미 테스트 했던 기존 영역을 한 번 침범하니까.. 기존 꺼가 정상적으로 동작하는지 또 또 테스트 해야하는 아주 비생산적인 활동을 하게 된다....  특히 테스트코드 없이 수동으로 하다보면 사람의 실수가 생기고 유지보수가 어려워지는 악순환이 발생한다.  테스트 코드를 작성한다면 ? 1. 빠른 피드백 : 코드만 실행하고 결과만 보면 되니..
인프라
EKS Observability
EKS Observability
AWS
2024.03.31 04:28
EKS Logging EKS에서도 로깅을 확인 할 수가 있는데 보통 해당 로그에 대해서는 비활성화가 되어 있기 때문에 활성화를 eks 명령어를 통해서 활성화를 해줘야한다. 아니면 웹에서도 활성화가 가능하다 . 나의 로그 그룹을 확인하고 해당 그룹에 대한 로그들을 Cloud Watch를 통해서 확인을 할 수가 있다. 컨테이너 파드 로깅 사용 리전의 인증서 ARN확인을 하는데 아무것도 뜨지 않느다... 일단 해당 nginx에서는 필요가 없는 거 같으니 넘어가고 추후 수정을 해보자.... 설정을 잘못했나 싶어서 CloudFormation을 재배포 했지만 똑같이 인증 정보가 나타나지 않음 아래의 서비스를 배포 service: type: NodePort networkPolicy: enabled: false ing..
EKS Storage & NodeGroup
EKS Storage & NodeGroup
AWS
2024.03.23 01:00
본문 파드의 내부 데이터는 기본적으로 파드가 종료되면 그걸로 끝 ! 전부 삭제되어 버림 똑같은 파드를 재시작해도 데이터는 연동되지 않음 파드는 Stateless 애플리케이션이다 그래서 파드가 죽어도 작업했던 데이터를 보존하기 위해서 나온 것이 PV( Persistent Volume ) 해당 PV는 Stateful 애플리케이션으로 상태를 보존한다. PV는 어느 노드에서도 연결해서 사용 가능 Ex) NFS , Aws EBS 그리고 PV를 파드가 생성될 때 자동으로 마운트해주는 기능을 동적 프로비저닝 이라고 한다. 기본 컨테이너에서 아무런 설정을 하지 않으면 임시 파일 시스템을 사용하기 때문에 파드가 종료되면 기존 데이터가 다 삭제가 되어진다. busybox 파드를 만들고 해당 파드에 다음과 같은 글을 입력한..
EKS Networking
EKS Networking
AWS
2024.03.16 19:54
해당 포스팅은 가시다님의 AWES 2기 스터디 내용을 토대로 작성했습니다. 네트워크 구성도 변수 세팅 # 노드 IP 확인 및 PrivateIP 변수 지정 N1=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-2a -o jsonpath={.items[0].status.addresses[0].address}) N2=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-2b -o jsonpath={.ite..
Amazon EKS 설치 및 기본 사용
Amazon EKS 설치 및 기본 사용
AWS
2024.03.10 01:42
해당 포스팅은 가시다님의 AWES 2기 스터디 내용을 토대로 작성했습니다. EKS 아키텍쳐 컨트롤 플레인 영역은 AWS의 VPC에서 관리하고 있고 해당 영역이 마스터 쪽이니까 마스터가 나의 워커노드에 명령을 내리거나 모니터링을 하려면 내 VPC랑도 연결이 필요하다. 그렇기 때문에 EKS에서는 가용 영역 마다 EKS owned ENI( 내 소유가 아니라 AWS 소유 )라는 네트워크 인터페이스를 통해서 가용영역 내에 있는 워커노드와 AWS VPC에 있는 api-server와 통신을 한다. 위 그림도 확인해보면 가용영역 마다 EKS owned ENI가 있고 이를 통해 API서버랑 통신을 할 수 있다. 관리형 노드 그룹 내에 있는 경우 EKS 최적화의 AMI( OS ) 를 사용할 수 있어서 사용에 최적화가 되어..
쿠버네티스 개념 및 구성요소
쿠버네티스 개념 및 구성요소
쿠버네티스
2024.03.09 15:59
서론 AEWS 스터디 참가하면서 쿠버네티스에 대한 개념도 잘 기억이 안 나기도 하고 일요일에 참가 내용 복습 겸 쿠버네티스의 특징과 개념 및 구성요소에 대해 정리를 해보고자 한다. 쿠버네티스란?? 컨테이너 인프라 환경에서 컨테이너를 모니터링하고 제어하는 시스템 컨테이너를 하나만 관리한다면 모르겠지만 사용자들에게 서비스를 제공할 때 여러 서버들을 동시에 운영할텐데 엔지니어가 그 모든 컨테이너들을 다 명령어 치면서 관리하고 서버 다운되면 명령어로 다시 켜고 하는 것은 매우 매우 비효율적이기 때문에 쿠버네티스라는 시스템을 사용하여 서비스를 제공하게 된다. 기능 내용 Auto Scaling 컨테이너 리소스를 모니터링 하여 바라는 상태를 유지 Self-Healing Infra 부하, 장애, 에러 등 대비 자가 복..
영어
Chat GPT 영어회화 세팅 문구
Chat GPT 영어회화 세팅 문구
영어
2024.01.27 16:36
비즈니스 영어 회화 세팅용 더보기 I am software engineer working at it company in United States my English skill is not good but I want to practice English speaking so I can speak better at my workplace you are my English teacher to guide the conversation to improve my English skill speak in English and translate your English sentence into Korean if my English sentence is wrong or not enough correct it or reco..
해야하지만 귀찮은 영어 루틴..
해야하지만 귀찮은 영어 루틴..
영어
2024.01.27 15:46
영어 회화 조건 1. 내가 진짜 쓸 말을 공부 2. 원어민과 실전 경험 3. 실전 리뷰 후 답답한 부분 연습 4단계 패턴 1. 주제 정하기 - 일상 대화 주제가 많음 이런 거 주제 하나 정하기 - 구글에 대화주제 치면 나옴 - 해당 주제에 대한 작문을 영어로 해보기 .. 한글 먼저 -> 영어로 // 시간남으면 추후 어떤 흐름으로 갈지까지 생각 https://www.google.com/search?q=good+conversation+starters&sourceid=chrome&ie=UTF-8 🔎 good conversation starters: Google 검색 www.google.com 2. Chat GPT - 내가 영어로 작문한 거를 넣어두고 수정해달라고 하기 예시 1) i'm talking to my..
라이브 아카데미
라이브 아카데미
영어
2024.01.27 15:17
라이브 아카데미 - 유튜브 채널 - 코햄 추천 채널이고 기초부터 영어 관련 영상들이 상당히 많음 https://www.youtube.com/@LA-TDLR/playlists 라이브 아카데미 토들러 '라이브 아카카데미 토들러' 채널은 영어회화 완전 초보자를 위한 기초부터 배우는 채널입니다. 이 채널은 영어회화를 배우기 위한 곳이지 문법을 배우는 곳이 아니라는 점을 강조하고 싶습니 www.youtube.com https://www.youtube.com/@LVACDMY 라이브 아카데미 영어를 배우는 사람들을(일반 중급 ~ 상급)을 위해 알찬 내용과 보기 편한 편집으로 일주일에 2-3개의 강의영상을 올리고 있습니다. 긴 연휴가 있거나 너무 바쁘거나 아플 때는 막 1주일 동안 못 www.youtube.com 추천..
영어 쉐도잉 : Easy English
영어 쉐도잉 : Easy English
영어
2024.01.27 15:02
사이트 추천 Easy English - 일상 상황을 대화문으로 만듦 - 자연스러운 원어민 억양 - 왕초보용 영상도 있음 - 영상이 짧음 https://www.youtube.com/@easyenglish551 Easy English Our videos contain lots of conversations on various topics that will help you improve your English vocabulary and spoken English. You can also learn grammar in a fun way, easy to understand by almost anyone! The English level used in our videos ranges from www.youtube...
EBS 오디오 어학당
EBS 오디오 어학당
영어
2024.01.27 14:36
EBS 오디오 어학당이란? - 월 4,900원으로 들을 수 있음 - 영어를 라디오처럼 들으면서 공부가능 -> 인풋용! - 시간지난 경우 pdf파일 무료로 풀림! - 영어 및 그 외 영어 자료들을 보고 공부할 수 잇음 https://5dang.ebs.co.kr/auschool/index?hmpId=auschool EBS 오디오 어학당 EBS의 모든 오디오 어학 콘텐츠가 모였다! 영어, 제2외국어, 한국어를 기초에서 고급, 회화에서 문학까지 다양하게 즐기자! 5dang.ebs.co.kr 추천 컨텐츠 1. Power English - 레벨별로 나누어져 있음 - 월간으로 교제가 있어서 사도 되지만, 일정 기간 지난 파일은 무료임 2. 진짜 미국영어 - 댓글보니까 있음 3. 이브닝 스페셜 - 매일 저녁 6-7시 ..
일본 생활
일본에서 확정신고 하는 방법 총정리 & 꿀팁들
일본에서 확정신고 하는 방법 총정리 & 꿀팁들
외노자 생활
2024.02.26 16:46
서론 일본에서는 확정신고라는 걸 한다. 뭐 그냥 한국이랑 같은 연말 정산 같은건데 이 때 후루사토 및 가족 부양 등을 같이 제출하면 나중에 주민세 및 소득세가 줄어드는 효과가 있다. 요즘엔 집에서 스마트폰으로도 할 수가 있지만 역시 아날로그의 중심지 일본은 직접 가서 하는게 편한거 같다. 아래에서는 확정신고를 어떻게 할 지 또 어떤 준비가 필요한지에 대해서 정리해보고자 한다. 준비물 1. 원천징수표 2. 후루사토 납세 영수증 3. 가족 관계 증명서 (일본어 번역본도 필요) 4. 송금 내역 증명서 원천징수표는 보통 1월 쯤 나오니까 그거 보고 프린트하면 되고, 후루사토는 보통 물건은 바로 오지 않아도 영수증은 꼬박꼬박 보내주니까 챙기도록 하자. 가족 관계 증명서 및 송금 내역 증명서는 가족 부양을 하는 사..
라인 야후 13만건 개인정보 유출
라인 야후 13만건 개인정보 유출
일본 뉴스
2024.02.15 23:54
기사 본문 LINEヤフーは14日、新たに従業員などの個人情報13万件以上が流出した可能性があると発表した。 LINEヤフーは2023年11月に大株主である韓国ネット大手・NAVERがサイバー攻撃を受けたことでLINE利用者の個人情報44万件が不正アクセスを受けた可能性があると発表していた。 追加調査の結果、NAVERのサーバー経由で従業員などの氏名や顔写真など、個人情報が追加で約8万件、また、他の委託先経由で従業員などの個人データが6万件近く、あわせて13万件以上が流出した可能性が確認された。 LINEヤフーは今後、「サーバーのアクセス管理強化や、システムのセキュリティ強化を通じ再発防止に努める」としている。 기사 해석 라인 야후는 14일 또 다시 종업원 등의 개인정보 13만건 이상이 유출된 가능성이 있다고 발표했다. 라인 야후는 2023년 11월 대주주인 한국 인..
돼지 장기 사람에게 이식 가능?
돼지 장기 사람에게 이식 가능?
일본 뉴스
2024.02.13 23:02
기사 본문 明治大発のベンチャー企業「ポル・メド・テック」は12日、細胞や臓器を人に移植できるように遺伝子を改変したブタ3頭が11日に生まれたと発表した。人への移植を目的に開発されたブタの日本での誕生は初めてという。当面は動物実験で安全性を確認する。 同社は昨年9月、移植用ブタの開発で先行する米バイオ企業から、人の体内で拒絶反応が起きないように10種類の遺伝子を改変した細胞を輸入。翌月に遺伝的に同じ個体を作り出す体細胞クローニング技術で受精卵を作製し、代理母となるブタの子宮に移植した。 クローンブタ3頭は帝王切開手術で生まれた。成長の推移を確認後、国内の研究機関に提供し、サルなど他の種類の動物に臓器を移植する研究に使う予定。 同社創業者の長嶋比呂志明大専任教授(発生工学)は「人への移植に向けた課題を考える契機にしたい」。動物の細胞や臓器の人への移植は「異種移植」と呼ばれ、臓器提供者不足..
명품 손목시계 쉐어링 서비스 돌연 해산으로 인한 피해
명품 손목시계 쉐어링 서비스 돌연 해산으로 인한 피해
일본 뉴스
2024.02.13 00:11
기사 본문 所有者(オーナー)から借り受けた高級腕時計を希望者に貸し出すシェアリングサービス「トケマッチ」を運営していた大阪の会社が1月末、突然解散を発表し、全国のオーナーに不安が広がっている。 会社側は預かった腕時計を半年以内に返還すると説明しているが、解散以降は連絡がつかない状態だ。 少なくとも数億円分の腕時計が返されておらず、警察に相談する動きも出ている。 トケマッチのサービスは、大阪市中央区の合同会社「ネオリバース」が令和3年1月に開始。 ネオ社はオーナーから腕時計を借り受け毎月一定額の使用料(賃料)を支払う一方、腕時計を貸し出した利用者からは月額のレンタル料を受け取る仕組みだった。 腕時計は会社側の査定で5段階にランク分けされ、オーナーにはレンタル利用の有無にかかわらず、ランクに応じた使用料が毎月支払われていた。 例えば査定額120万円の高級腕時計の場合、使用料は毎月1万99..
728x90
728x90
image