이번에 최종 면접을 준비하면서, 좋은 개발자는 어떤 특징이 있는지 궁금해졌다.긍정적인 태도는 어떤 곳에서도 빛을 발한다. 일반적인 상황에선 긍정적인 태독가 큰 빛을 발하지 않을 수 있다. 뭔가 위급한 순간, 긍정적인 태도는 스스로에 대한 믿음을 갖게 하고 좋은 결과를
좋은 코드란 어떤 특징이 있을까?코드를 작성할 때, 어떻게 작성해야 좋은 코드로 남을 수 있을까? 면접 준비를 하다가 질문에 대비하기 위해 작성했다.스파게티 코드는 지양한다.스파게티의 면처럼 서로 얽혀있는 것을 의미한다. 면이 서로 얽혀, 의존성이 강해지고 유지보수가
경청하는 자세 >### 감정 조절 >### 사실에 근거한 동의 >### 갈등 해결을 위한 보충 자료 >### 좋은 관계를 유지
SQL이란 관계형 데이터베이스를 의미 관계에 의해서 테이블화 시킨 데이터를 의미 정규화로 인해 중복 데이터가 없으며, 엄격한 형식으로 데이터들이 관리ACID의 특징비관계형 데이터베이스를 의미, 데이터 입력의 제약 사항이 없음중복 데이터 발생 가능, 원하는 값을 특정
Code 영역 : 프로그램의 코드Data 영역 : 전역적으로 초기화된 데이터BSS 영역 : 전역적으로 초기화되지 않은 데이터Heap 영역 : 런타임에 크기가 결정, 동적으로 할당되는 데이터Stack 영역 : 컴파일 타임에 크기가 결정, 지역 변수, 매개 변수, 반환 주
IP 헤더와 TCP를 제외하고 TCP가 실을 수 있는 최대 페이로드의 크기를 의미클라이언트는 SYN 패킷에 MSS를 표시, 서버는 SYN ACK 패킷에 MSS를 표시클라이언트와 서버가 쓰는 MSS가 다를 수 있음, 서로 받은 데이터를 상대방의 MSS에 맞게 독립적으로
어떤 자원을 하나의 스레드만 접근할 수 있다면 동기화되었다고 한다다중 스레드의 액세스를 제어해서, 원하는 결과를 얻도록 하는 것을 동기화라고 한다.상호 배제를 이용한 방식인 세마포어, 뮤텍스 등이 있음Java의 Synchronized 문법 사용경쟁 상태 : 스레드가 공
버퍼드 리더가 버퍼의 크기가 더 크다스캐너는 파싱이 목적(nextInt)버퍼드 리더는 스트림을 읽는 것이 목적(readLine)스캐너도 nextLine 메소드가 있지만, 버퍼드 리더가 버퍼가 더 크므로 더 빠르다.버퍼가 크므로, 담을 수 있는 문자가 더 많아 오버헤드가
교착 상태? 각 프로세스는 일부 리소스를 보유한 상태로 다른 프로세스가 보유한 리소스를 기다리기 때문에 교착 상태가 발생 발생 조건 4가지? > ### 상호 배제 리소스를 동시에 사용할 수 없는 조건 > ### 점유와 대기 리소스를 점유한 채로, 다른 리소스
컴파일러와 인터프리터는 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 만들어준다는 역할은 동일특정 언어로 만든 소스 코드를 실행시키기 위해서 필요한 과정전체 소스 코드를 머신코드로 한번에 변경(머신 코드)소스 코드를 분석하는데 오랜 시간이 걸림머신 코드를 CP
콜백 함수를 많이 들어봤다, 흔히들 일상 생활에서도 콜백이 없다는 말을 들은적이 있다. 밤마다 전연인에게 전화를 하고, 아침에 전연인이 부재중 전화를 확인해도 전화를 하지 않는 상황이 콜백이 없다라고 하면 너무 컴덕같긴 하다...함수를 부르는 것을 'Call'이라고 하