티스토리 뷰

Tech News

[TechNews] 유용한 개발 관련 아티클 및 영상 #31

망나니개발자 2024. 8. 2. 10:00
반응형



 

1. 유용한 개발 관련 아티클 및 영상 #31


바이럴은 과학이다 (Effects of Viral Coefficient, Retention Rate, and Cycle Time on Viral Expansion)

  • 한 명의 감염자가 한 명을 초과하여 감염시켜야 한다
  • 바이러스에 감염된 고객이 감염상태로 머물러야 한다
  • 몇 명을 감염시키느냐 보다 얼마나 빠른 시간내에 감염시키는가가 더 중요하다
  • ‘해피 바이러스’의 확산은 일반 바이러스 감염과 다르다
    • 해피 바이러스는 자발적 전파에 의해 확산된다
    • 해피 바이러스의 전염성은 누가 전파했느냐에 따라 달라진다
    • 해피 바이러스의 전염성은 얼마나 많은 (주변) 사람들이 감염되었냐에 따라 달라진다

 

출처: https://organicmedialab.com/2015/09/30/effects-of-viral-coefficient-retention-rate-and-cycle-time-on-viral-expansion/

 

 

 

자바 쓰레드와 JVM의 쓰레드 동작 '기본부터 살펴보기'

  • 비데몬 쓰레드와 데몬 쓰레드
    • 비데몬(non-daemon) 쓰레드는 끝까지 실행된다. main 쓰레드는 비데몬 쓰레드의 좋은 예다. main()의 코드는 System.exit()가 프로그램을 강제로 종료하지 않는 한 항상 끝까지 실행된다.
    • 데몬(daemon) 쓰레드는 그 반대로, 기본적으로 끝까지 실행할 필요가 없는 프로세스다.
  • 쓰레드 우선순위와 JVM
    • 우선순위는 JVM 구현에 따라 그리고 운영체제의 구현에 따라 제각기 다르며 각각 기본값에 따라 쓰레드 우선순위를 처리함
    • MAX_PRIORITY로 설정했음에도 이 쓰레드가 가장 먼저 실행된다고 단정할 수는 없고, 실행 순서는 무작위임

 

출처: https://www.itworld.co.kr/news/342913#csidx969315ae8f26bad97b9b8ab0bb72477

 

 

 

리더십으로의 정원사

  • Team of Teams에서는 자율 기반의 조직에서 리더십 모델 가운데 하나로 정원사를 언급함
    • 짜여진 대로 움직이는 것이 아닌 정원이라는 공간에서 큰 틀을 잡아주는 존재로써의 정원사임
    • 자연이라는 환경은 내가 원하는 대로 만사가 이뤄지는 것이 아님. 잘 되는 것도 있고, 망하는 것도 있지만 정원이라는 큰 틀에서 각자가 의미를 보탬
    • 정원사는 정원을 통해 바라던 것들이 바라던 대로 흘러가도록 방향을 잡아주는 역할을 함
  • 변화의 시대에 큰 조직은 정원에 비견됨
    • 단위 팀들이 제 몫을 해줘야 하지만, 땅을 일구고 거름을 주는 것처럼 팀이 최고의 기량을 발휘할 수 있는 환경을 조성하는 것이 리더의 역할임
    • 물론 상황 변화에 맞춰 조정이 필요한 경우에 조직 변화를 실행할 수도 있어야 함
    • 리더는 의미이자 의미가 흘러가는 변화의 방향성을 제시해야 함

 

출처: http://www.chidoo.me/index.php/2024/05/06/gardener-as-a-leadership/

 

 

 

왜 KB국민은행만 유독 IT비용·인력이 많은가?

  • 국민은행은 현재 국내 은행권에서는 거의 유일하게 1990년대에 금융권에 풍미했던 ‘IBM 메인프레임’ 기반의 주전산시스템 환경을 여전히 가동중임
  • 주전산시스템이 낙후됐다는 의미가 아니라 2000년대 이전 '안정성'을 중시했던 올드 타입이란 의미에서의 문제임
  • 반면 농협, 신한, 하나, 우리, 부산은행 등 대부분의 은행들은 지난 2010년을 전후해, IBM 또는 유니시스 메인프레임 환경에서 벗어나 유닉스(UNIX)기반 오픈환경 체제로 주전산시스템을 전환해 현재에 이르고 있음
  • IBM 메인프레임 OS가 이제는 국내 금융권에서 희귀한 사례가 되다보니 관련 기술 전문가들이 없어지고, 이 때문에 국민은행이 외부에서 관련 개발 전문가를 쉽게 구하기도 힘든 상황일 것임
  • 결국 IBM 메인프레임 기반의 주전산시스템 환경에서 벗어나지 못한 과거의 선택이 현재의 국민은행 IT집행예산과 IT인력 구조의 비효율이 초래되고 있다는 추론이 가능함
  • 현재 국민은행은 지난해 7월부터 ‘코어뱅킹 현대화(Core Banking Modernization) 2단계’에 착수한 상태임

 

출처: https://www.ddaily.co.kr/page/view/2024071818090454749

 

 

 

리팩토링을 위한 통합 테스트 from 무신사 테크 블로그

  • 통합 테스트가 필요한 이유
    • 구현 세부 사항에 밀접하게 작성될 수밖에 없던 단위 테스트 코드는 쉽게 망가지고 유지보수가 어려움
    • 느린 실행 속도와 복잡한 환경 설정이 필요하지만, 넓은 범위의 코드를 실행하는 만큼 회귀 방지가 뛰어나며 무엇보다 리팩토링 내성이 강해 쉽게 망가지지 않음
  • 적용했던 테스트 기법
    • 통합 테스트의 대상으로 UseCase 구현 클래스를 지정함
    • 테스트 환경을 실제 환경과 유사하게 구성함(Testcontainers)
    • 빠른 테스트 작성을 위하여 Golden Master Testing을 채택함(Snapshot Test, Approval TestCharacterization Test와 동일)
  • 기타 인사이트를 얻었던 부분
    • Database Rider라는 도구를 사용하여 DB의 상태를 캡처하고 비교할 수 있음
    • 준비된 데이터셋을 활용하여 DB 를 특정 상태로 설정해주는 기능 이외에도, DB 의 상태를 추출하여 데이터 검증에 활용 할 수 있음
@DBRider
@SpringBottTest
class OutboundFacadeTest {

    @Autowired
    OutboundFacade sut;

    @DataSet(value = "db/prepare.json") 
    @ExpectedDataSet(value = "db/expected.json", ignoreCols = {"last_modified_at"}) // last_modified_at 컬럼은 비교하지 않습니다.
    @Test
    void someTest() {
        sut.some();
    }
}

 

출처: https://medium.com/musinsa-tech/리팩토링을-위한-통합-테스트-cd23498918a7

 

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함