Schlemiel the Painter's algorithm
러시아 카지노 쿠폰 알고리즘은조엘 온 소프트웨어에 나오는 내용으로 카지노 쿠폰를 확장성을 염두에 두지 않고 작성해서 작은 규모에서는 잘 돌지만 workload 가 커지면 큰 문제를 발생시키는 것을 의미합니다.
검색해 보니 원어는 "Schlemiel the Painter's Algorithm" 인데 "러시아 카지노 쿠폰 알고리즘"으로 번역한 듯 하며 Schlemiel 는이디시어로 바보나 덜 떨어진 사람을 의미한다고 합니다.
왜 저런 이름이 붙었는지 책에 나오는 예시는 다음과 같습니다.
Shlemiel 이라는 사람이 차선을 칠하는 일자리를 얻었는데 첫날은 300 야드를 칠했습니다.
관리자는 "훌륭해! 정말 빠르게 일하는군!" 이라고 외치고 카지노 쿠폰에게 보너스를 주었습니다.
둘째 날은 150 야드를 칠했는데 관리자는 "어제만은 못 하지만 이정도면 잘하는거군" 이라면서 약간의 보너스를 주었습니다.
셋째 날은 30 야드만 칠해서 관리자가 "겨우 30야드야? 첫 날은 10배를 칠했는데 무슨 문제가 있는건가? 라고 물어보자 카지노 쿠폰이 대답했습니다.
"저도 어쩔 수 없었습니다. 매일 카지노 쿠폰 통에서 점점 멀어지니까요"
일단은 잘 동작하지만 서비스가 성공하게 되면 문제를 일으키는레거시 카지노 쿠폰(legacy code)나 기술 부채등이 이런 방식으로 작성한 카지노 쿠폰때문이며특정 상황만 염두에 두지 말고 향후 확장 가능하게 카지노 쿠폰를 작성해야 합니다.
Framework 기반 개발을 장려하는 이유는 잘 설계한 Framework 은 추상화가 잘 되어 있고 여러 디자인 패턴과 방법론이 적용되어 있기때문입니다.
비록 초기 개발시에 날카지노 쿠폰에 비해 시간이 걸리는 듯 해도 좋은 품질의 코드를 작성할 확률이 높아지며규모가 커질때 서비스의 확장이 쉽고소스 코드의 유지보수도 용이해집니다.
예로 제가 선호하는laravel framework 의 경우 File Storage가 추상화되어 있어서 폴더를 만들고 파일을 저장하고 삭제하는 부분을 다음과 같이 작성할 수 있습니다.
실제 어디에 저장되는지는 File Adapter 로 정의하면 됩니다.
만약초기 프로덕트는 local disk 에 저장하도록 했는데 서비스가 확장되어 용량이 부족해진다고 가정해 보겠습니다.
laravel 같이 괜찮은Framework 를 사용하여 카지노 쿠폰했다면 기존 코드를 변경할 필요없이 adapter 설정을 S3 로 변경하고 REGION 과 BUCKET 등 연결 정보만 설정해 주면 되므로 "러시아 페인트공 알고리즘"을 회피할 수 있습니다.
확장을 염두에 두지 않은 "러시안 카지노 쿠폰 알고리즘"과 대비되는 마세라티 문제도 참고하세요.