분류 전체보기 31

테스트 관련 사이트

1. http://xunitpatterns.com/ index at XUnitPatterns.com XUnit Test Patterns Refactoring Test Code xUnit Test Patterns - the book The book has won a Jolt Productivity Award in the Best Technical Book category! Here's what the reviewer Rick Wayne said about why the book won the award: Unit testing is hardly news, xunitpatterns.com 2010년도에 출판된 "xUnit 테스트 패턴" 이란 책 내용이 있는 사이트로 테스트 용어 찾아보기 좋다. 2. http..

Test 2023.02.14

Notion의 Space 개념과 공개 수준

이번에 Notion에서 Team Space 관련해서 뚝딱거리다가 알게 된 개념들을 정리하고자 한다. Space Notion에서 사용하는 Space는 3가지가 있다. 요금제는 Work space별로 부과되며, 개인이 사용하는 Work space가 유료 요금제여도 새로운 Work space를 생성하면 요금을 별도로 결제해야 한다. Work space : 공동 작업 그룹. Team space : 그룹 내부의 팀. 4개의 공개 수준으로 여러 개의 Team space를 만들 수 있다. Private : 그룹 내부의 개인. 본인만 볼 수 있다. 원래 Public space도 있었는데 2022년 12월에 요금제 개편을 하면서 Public Space라는 개념을 삭제한 것으로 보인다. 이제 새로운 노션 계정(or Wor..

Tools 2023.02.10

Docker Ubuntu-mySQL 서버 생성 기록

docker pull mysql:8.0.22 위의 명령어로 mysql 서버를 다운로드 사용하면 간편하긴 한데, 이미지에서 지원하는 명령어가 많이 없다. (ps, apt, vim 등...) 그래서 공부할 겸해서 ubuntu로 어느정도 기능을 추가한 이미지를 만들어 봐야겠다. Ubuntu 환경 설정 우분투는 LTS 중 20.04를 사용하겠다. #ubuntu 기본 이미지 pull docker pull ubuntu:20.04 docker run -it --name temp ubuntu:20.04 /bin/bash exit docker start temp docker exec -it temp /bin/bash 1. 버전은 그냥 한번 확인 더보기 root@a90403541175:/# uname -a Linux a9..

개발 기록 2023.01.26

Windows에서 WSL2를 활용한 Docker 사용 관련 기록

Docker 이미지 저장소 경로 (ext4.vhdx) WSL2를 사용하여 Docker 사용 시 Docker는 아래 경로의 파일을 저장소로 사용한다. - 저장소 : C:\Users\(USER명)\AppData\Local\Docker\wsl\data\ext4.vhdx 이 "ext4.vhdx" 파일은 Docker에 image나 Container 크기가 증가하면 따라서 크기가 증가하는데, 문제는 image와 Container의 크기가 줄어들 때는 알아서 줄어들지 않는다. 그래서 이 파일 때문에 용량이 부족할 때는 아래의 명령어 세트를 관리자 권한의 Powershell이나 cmd에서 수행해주어 줄어든 크기를 반영할 수 있다. wsl --shutdown diskpart select vdisk file="C:\Use..

개발 기록 2023.01.20

자바 람다 표현식 (lambda expression)

자바의 람다 표현식은 메서드를 하나의 식(expression)으로 표현한 것입니다. 람다 표현식은 익명의 클래스를 구현하고 동시에 객체를 생성합니다. 익명의 메서드로 보일 수도 있지만, 람다 표현식은 익명의 메서드가 아닌 익명의 클래스를 생성합니다. 이에 대한 내용은 다음 예제들과 함께 설명하겠습니다. @FunctionalInterface public interface MyInterface { String doSomething(String s); } 람다식을 사용하기 위해서는 먼저 구현하고자 하는 함수형 인터페이스가 있어야 합니다. 함수형 인터페이스란 1개의 추상 메서드만 갖고 있는 인터페이스를 뜻합니다. 그리고 이를 강제하기 위해 @FunctionalInterface 같은 어노테이션도 사용할 수 있습니..

Java 2023.01.01

지속 성장 가능한 코드를 만들어가는 방법 (정리)

영상 링크 : https://www.youtube.com/watch?v=RVO02Z1dLF8&ab_channel=%ED%86%A0%EC%8A%A4 상 토스 페이먼츠 코드 품질에 관심을 갖고 확장 가능한 방식으로 코드를 관리하고 있다. 처음부터 최고의 설계나 품질을 유지하기 보다는, 최소 규칙을 지켜 동작하는 소프트웨어를 빠르게 만들고 코드에 관심을 두고 성장시켜 나간다. Import 문을 통해 알아보는 세 가지 개선 방향 Package, Layer, Module 1. Package 패키지 전략은 고정되지 않고 유연해야 한다. 패키지는 현재 상황을 계속 점검하며, 전략에 따라 응집에 대해 유연하게 지켜야 한다. 햄버거도 한 세트 주문할 때와 100 세트 주문할 때 포장 패키지가 달라질 것이다. 너무 분산 ..

ETC 2022.12.30

Hugo 블로그 생성 과정 기록 (with Docsy theme)

Hugo 설치 참고 : https://010000.github.io/post/20191214_install_hugo_windows/ golang 설치 https://go.dev/dl/ Microsoft Windows 설치 (1.19.4) 시스템 환경 변수 Path에 “C:\Program Files\Go\bin” 경로가 자동 등록되었다. go version 명령어로 설치 확인 Git 은 이미 설치되어 있음. Hugo 설치 공식 설치 가이드 https://gohugo.io/installation/windows/ Hugo Editions가 Standard, Extended가 있는데 Extended Edition 설치를 추천 Chocolatey 아니면 Scoop 를 설치하라고 그러네? 뭐지? → Windows용..

개발 기록 2022.12.22

Notion 요금제 정책 변경 (변경 내용 비교)

Notion 요금제 정책이 변경되었습니다. 변경된 내용입니다. Personal Pro 플랜 삭제 (개인 무료로 기능 통합) Team 플랜을 Plus 플랜으로 이름 변경 새로운 Business Plan 저는 파일 업로드 크기와 버전 기록 때문에 프로 요금제를 사용했었는데, 이 기능을 사용하려면 두배 비싼 Plus 플랜(구 팀 플랜)을 사용해야 하네요. 기존 Personal Pro 사용자에 대해서는 제한된 Plus 요금제가 적용됩니다. 요금제 변경에 대한 노션의 안내 링크 https://www.notion.so/blog/notion-introduces-business-plan-and-expanded-free-plan Notion introduces expanded Free Plan & new Business..

Tools 2022.12.21

ARM 기반 C코드 최적화

크로스 컴파일러 고급 언어로 작성된 소스 코드를 해당 Target의 어셈블리 코드로 번역하는 것 크로스 툴체인 크로스 컴파일러를 포함한 실행 파일을 생성하기 위한 여러가지 요소들을 포함하는 소프트웨어 크로스 컴파일러, 어셈블러, 링커, 라이브러리 등으로 구성 라이브러리의 종류 정적 라이브러리 - 용량이 큼 공유 라이브러리 - .o 동적 라이브러리 - .so C Entry point C Entry point : 프로그램이 시작하는 진입 위치ex) Main(), main() 등 일반적으로 crt0.S (C-runtime 0), init.S, startup.S 파일 이름이 사용된다. Assembly어를 통해 작성 가능함. Startup Code (부트코드)운영체제가 존재할 경우 운영체제 초기화 이전에 수행 C..

ETC 2022.12.20