본문 바로가기

분류 전체보기115

프로그래밍이 어려운 이유 - 프로그래밍이란 도대체 무엇인가? ※ 주의: 의역 있음 Why programming is hard In the office chill-zone otherwise known as the weeks around Christmas and New Year I was determined to crank out a bunch of high-quality… medium.com A computer is an idiot box. It can execute only the simplest of instructions natively, like: Add 42 to this number. (컴퓨터는 멍청한 상자다. 이 기계는 오직 "이 변수에 42를 더하라."와 같은 단순한 명령만을 이해한다.) Because of this limitation, every r.. 2024. 3. 13.
[티모시 골웨이의 이너 게임] - 어떻게 연습해야 하는가! 이너게임이너게임이란? 인간의 삶에서 학습은 무엇보다 중요한 과정이다. 우리는 학교나 학원에서, 교사나 코치로부터 바른 태도, 바른 자세, 바른 행동을 배운다. 과연 그런 것들을 배우고 익혀야 할까? 이 책의 저자는 그렇지 않다고 단언한다. 인간은 그를 잘 할 수 있는 지혜와 능력을 타고난다고 주장한다. 저자는 테니스를 지도할 때 자신이 보여주는 특정한 자세와 행동을 따르도록 강요하지 않았다. 그는 각 개인에게 잠재되어 있는 그 자신만의 리듬과 기술을 끌어낼 수 있는 코칭 방법을 찾아냈고 이를 ‘이너게임 원리’라고 이름 지었다. 이너게임 원리가 다양한 분야에 적용되다. 저자는 자신이 발견한 이너게임 원리를 ‘Inner Game of Tennis’ 라는 책으로 세상에 알렸다. 그 책은 뜻밖에도 베스트 셀러 .. 2024. 3. 8.
폰 노이만 구조의 혁신 폰 노이만 이전에도 컴퓨터는 있었다. 컴퓨터란 정보를 저장하고 처리하는 장치다. 물론 이 정의를 일반화하여 고대 중국의 주판을 컴퓨터라 할 수도 있다. 하지만 이 글의 논의에서 말하는 컴퓨터는 전자 컴퓨터를 말한다. 이런 관점에서 봤을 때, 최초의 컴퓨터는 존 모클리와 존 애커트가 1940년대에 개발한 애니악(ENIAC)이다. 문제는 에니악이 우리가 일반적으로 생각하는 범용 컴퓨터가 아니라는 점에 있었다. 이 때문에 에니악을 최초의 컴퓨터로 볼 수 없다는 시각이 현재는 주류의 의견이다. 우리가 컴퓨터에게 시키는 일은 알고리즘(계산 절차)을 통해 다양한 데이터 입력값에 대한 출력값을 얻는 것이다. 애니악은 철저하게 수소폭탄 궤적을 위한 알고리즘만을 수행할 수 있었다. 다양한 입력값에 해당하는 수소폭탄의 궤.. 2024. 3. 5.
[JPA] - 지연 로딩이어도 연관관계의 엔티티가 Null은 아니다. 1. 문제 의식 지연 로딩(링크)이 설정된 엔티티를 가져오는 경우,Transaction 범위 내에서 연관관계에 있는 엔티티를 구체적으로 요청하지 않는 이상 내부 엔티티 로딩은 지연된다. 예를 들어, 아래의 엔티티가 있다. @Entity public class Reply { @Id @GeneratedValue(GenerationType.INDENTITY) private Long rno; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "board_bno") priate Board board; } 이 엔티티를 가져오는 아래의 코드에서는 Reply 엔티티 내부의 Board 객체는 지연 로딩으로 설정되었으므로 DB처리가 되지 않을 것이다. public class .. 2024. 1. 29.