티스토리 뷰
반응형
1. 유용한 개발 관련 아티클 및 영상 #30
PR 생성될때, 자동으로 이미지 용량 최적화 하기
- TinyPNG를 API형태로도 사용할 수 있고, 이를 자동화한 Github-Actions가 있음
- 해당 기능을 활용하면 다음과 같은 절차로 이미지 용량 최적화가 진행됨
- PR이 만들어지거나 새로운 commit이 푸시될때
- png/jpg로 끝나는 확장자파일에 대해서
- tiny png api를 통해 이미지를 최적화하고
- 최적화된 이미지로 commit 처리
출처: https://medium.com/prnd/pr-생성될때-자동으로-이미지-용량-최적화-하기-918a1470ab5f
An Introduction to Invoke Dynamic in the JVM
public class Main {
public static void main(String[] args) {
long lengthyColors = List.of("Red", "Green", "Blue")
.stream().filter(c -> c.length() > 3).count();
}
}
- 위와 같은 코드를 보면, filter에 Predicate 타입으로 파생된 익명의 inner class를 생성하여 전달할 것이라고 예상하지만, 실제로 그렇지는 않음
- 대신 invokedynamic instruction이 활용되며, 특별한 static 메서드를 생성하여 invokedynamic을 통해 해당 메서드를 호출함
- 내부적으로는 다음과 같은 흐름을 통해서 메서드 호출이 처리됨
출처: https://www.baeldung.com/java-invoke-dynamic
Four pitfalls of hill climbing(A/B 테스트의 4가지 함정)
- Local Maxima
- 지역적 최고점에 도달해 훨씬 더 큰 보상을 받을 수 있는 Global Maxima(전역적 최고점)에 도달할 기회를 놓칠 수 있음
- Emergent maxima
- A/B 테스트를 짧게 돌리거나 혹은 네트워크 효과를 완벽하게 포착하지 못하면, 처음에는 나빠 보였던 변화가 장기적으로는 좋을 수 있음을 놓침
- Novelty Effects
- 새 기능이 단기적으로는 고객의 관심을 끌 수 있지만, 장기적으로는 흥미롭지 않거나 심지어 부정적일 수 있음
- Loss of Differentiation
- 더 우세한 경쟁자와의 차별점을 상실하여 고객이 떠날 수 있음
출처: https://chris-said.io/2016/02/28/four-pitfalls-of-hill-climbing/
TDD & DDD from the Ground Up Live Coding by Chris Simon
- 구현 방식
- 처음에는 200 OK만 확인하는 것으로 시작
- 점차 더 의미있고, 복잡한 validation을 점진적으로 추가하면서 구현도 점진적으로 구체화함(“As the tests get more specific, the code gets more generic.”)
- return "", id 할당 등으로 테스트를 성공시켜나가다가 마지막에 JPA Mapping을 추가함
- 리팩터링
- 미리 리팩터링하는게 아니라 동작하는 코드가 나오면 그때 리팩터링을 함
- 거의 다음 기능 구현 시작 바로 전에 리팩터링
- 그럼 XXXTests에는 DDD, DSL 스러운 테스트 코드만 남아서 가독성 향상에 도움이 됨
- 기타
- forwards.sh, backwards.sh라는 스크립트를 만들어 놓고 설명을 하면서 커밋 해시를 변경해가면서 설명함
- 메소드 이름을 DDD Ubiquitous Language를 고려해서 명명함
- 이 분의 테스트는 철저하게 유닛 테스트(고객에게 가치를 제공하는 행위)임. 개발자 테스트는 없음
- 단위테스트는 solitary test가 아니라 sociable test여야 하고, 개발자/프로그래머가 아닌 고객에게 가치를 제공하는 테스트여야 함
- 추가 정리
- 유비쿼터스 언어
- 고객이 사용하는 용어를 이해하고, 그 용어를 코드에 녹여라
- TDD의 빅스텝
- 한번에 빅스템을 가면 시간을 줄여줄 것 같지만 실제로는 그렇지 않음
- 지나치게 큰 스텝으로 인해 버그가 생기고, 문제가 생긴 지점을 찾느라 헤매게 됨
- 유비쿼터스 언어
출처: https://www.facebook.com/story.php?story_fbid=10233201338919934&id=1364553364
크라우드스트라이크 업데이트로 인한 글로벌 BSOD 대란
- 사이버 보안 기업 크라우드스트라이크(CrowdStrike)의 업데이트가 전 세계적으로 IT 대란을 초래했음
- 이번 업데이트로 인해 다수의 윈도우 10 시스템이 블루스크린오브데스(BSOD)를 겪으며 작동 불능 상태에 빠졌음
- BSOD 오류는 업데이트된 팔콘 센서와 특정 윈도우 시스템 프로세스 간의 충돌에서 비롯된 것으로 보임
출처: https://www.dailysecu.com/news/articleView.html?idxno=157910
반응형
'Tech News' 카테고리의 다른 글
[TechNews] 유용한 개발 관련 아티클 및 영상 #32 (0) | 2024.08.09 |
---|---|
[TechNews] 유용한 개발 관련 아티클 및 영상 #31 (0) | 2024.08.02 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #29 (0) | 2024.07.19 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #28 (0) | 2024.07.12 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #27 (0) | 2024.07.05 |
댓글