전체 글 (183) 썸네일형 리스트형 그림으로 배우는 리눅스 구조 2주차 목차- 프로세스 확인하기- 프로세스 생성- ELF- 랜덤 스택(ASLR)- 첫 프로세스- 프로세스의 상태- 좀비 프로세스, 고아 프로세스- 시그널- 세션- 프로세스 그룹- 데몬 - service vs systemctl- 정리- Rerference 프로세스 확인하기 VSZ: 가상 메모리RSS: 실제 메모리VSZ와 RSS의 관계를 어떻게 봐야 할지 모르겠지만, 어떤 뜻인지는 알아두면 좋을 것 같다. 내 기준 STAT에서 자주 참고할만한 요소이다.- D: 디스크 I/O 대기중- L: 메모리에서 페이지가 lock된 상태- R: 실행중인 상태- S: 인터럽트에 의한 대기- Z: 좀비 프로세스- : 높은 우선순위- +: 포어 그라운드 프로세스 생성 fork 현.. 그림으로 배우는 리눅스 구조 1주차 목차이 책을 읽은 이유들어가기 전에프로그램, 프로세스 차이커널커널의 부팅 과정시스템 콜시스템 콜의 매개변수는 레지스터다정적 링크 vs 동적 링크어떻게 공유 라이브러리를 찾아갈까?Reference 이 책을 읽은 이유예전에 보안을 공부하고, C로 네이티브 개발을 하다 보니 커널 코드를 분석해 보고 싶었다.하지만, 무작정 커널 분석을 시작하기엔 막연한 부분도 많고, 기억 안 나는 부분도 있어 개요를 잡을 필요가 있었다.스터디에서 선정된 책이지만, 개인적으로 괜찮다고 생각해 스터디를 신청하고 읽게 됐다. 들어가기 전에책을 읽기 전에 OS의 정의에 대해 정리할 필요가 있었다.OS ⇒ 유저와 하드웨어를 연결하는 인터페이스인터페이스의 의미가 “서로 이어 준다”는 뜻이 있어, 브리지(bridge)라고 표현한 글들도.. 1년차 회고 회사에 입사한 게 엊그제 같은데 벌써 1년이 지났다. 연봉 협상도 아주 만족스럽게 끝났다.현업 개발 경험과 대학생 시절 및 취업 준비 때의 개발은 많은 차이가 있었다.기억은 갈수록 왜곡되기 때문에, 지금 기억을 최대한 보존하기 위해 회고를 썼고 앞으로도 연차가 바뀔 때마다 회고를 쓸 계획이다.최고의 코드는 돈 벌어오는 코드"만약 민재님이 최신 기술들을 사용해 서비스를 개발했어요. 근데 아무도 이걸 안 써주면 어떻게 하실 건가요?” 이 회사에서 1차 면접 때 들었던 질문이다. 처음엔 그냥 상황 면접인 줄 알았는데, 실제로 이런 경우가 많고, 이 회사에서도 이런 경험이 있단 것을 알았다. 잘 만든 프로젝트지만 수익이 안 돼 폐기하고, 새로 만드는 게 나을 정도로 오래된 프로젝트가 큰 수익이 되는 경우가 있었.. [JPA] FindAll이 같은 값만 나와요 문제 상황API에서 entity 리스트를 반환해야 하는데, 동일한 원소만 지속적으로 반환되는 문제가 발생했다.요청에는 문제가 없었고, 데이터가 매핑된 쿼리 결과 로그를 다른 SQL 툴에서 실행 결과는 정확했다. JPA가 생성한 쿼리 역시 문제가 없었다. 혹시나 해서 JPARepository에서 반환 타입을 List 대신 List>로 변경하니 올바른 결과가 나왔다.흥미로운 점은 두 경우 모두 반환되는 개수는 동일했지만, List는 쿼리 결과의 첫 번째 원소만 채워져서 반환됐다.배포 시간이 촉박해, 일단 Map을 DTO로 변환한 후 원인을 파악하고 해결하기로 결정했다.뭐가 문제였을까?복합키 문제였다.@IdClass나@EmbededId를 통해 복합키를 설정해야 했는데, 복합키 컬럼 하나에만 @Id 어노테이션을.. [PostgreSQL] FAQ를 번역해 보았다. (스압) 회사에서 주로 PostgreSQL을 쓰다 보니, 관련 Docs를 보는 일들이 많았다.링크들을 클릭하다 우연히 FAQ를 보게 됐는데 생각보다 유용해서 필요해 보이는 것만 추려서 번역했다. (고마워요 gpt, 구글!) 번역할 때 삼은 기준이다. 원문 그대로 쓰는 경우영어로 많이 부르는 경우 ex) prepared, query plan, lock한글로 번역할 때 생소한 부분 ex) localerow, columngaps ⇒ 간격이란 뜻이 있지만, 갭이라 하는 경우도 많아 원문 그대로 씀기타 예약어, 명령어 및 볼드 처리 된 부분한국어 해석의 경우statistics ⇒ 통계optimizer ⇒ 최적화기double quote ⇒ 쌍따옴표space ⇒ 공백punctutation ⇒ 구두점(.)numbering ⇒ .. [PostgreSQL] FDW로 Cross Database 해결하기 문제 상황PostgreSQL 환경에서 다른 Database 내에 있는 DB Function을 호출해야 함JPA에서는 서로 다른 Database에 접근하려면 Cross Database 이슈 발생DBConfig를 통해 해결할 수 있지만, 코드 추가 없이 해결 하고 싶었음FDW를 통해 문제를 해결했다. 그러나 DB Function을 원격으로 호출하는 방법은 아니었다. 해당 DB Function이 접근하는 테이블에 대한 외래 테이블을 만들고, Function 소스 코드를 복사해와, 테이블명을 바꿨다.운영 환경하나의 PostgreSQL RDS에 여러 Database를 두고 있음서비스 특성B2B로, 제한된 사용자만 사용(입력이 정직함)두 DB 모두 동시성 이슈는 거의 발생하지 않음트래픽이 일정하고, 쓰는 시간대가 .. 2024년 회고 들어가기 전에일주일은 짧고, 한 달은 긴데, 1년은 짧다는 말을 들었다.주말만 보면서 달리다보니 어느덧 12월이 되고, 곧 1년차로 접어들었다.올해 있던 일을 정리해 어떤 점이 좋았고, 아쉬웠는지를 돌아보려 한다.좋았던 것취업이것보다 더 좋은 게 뭐가 있을까 싶다. 회사 비전도 좋고, 팀원들도 좋아서 첫 직장으로 좋은 출발이라 생각한다.또한, 앉아서 출근 + 역하고 회사 거리 가까움 + 주변에 일하는 친구 많음 3가지 덕분에 회사 생활이 더 낫다.아이러니했던 것은 합격에 결정적인 점이 백엔드가 아니라, 1학년 때 C로 네트워크 프로그래밍을 했던 것이었다.프로젝트 설명 후, 자유 주제로 하나 말해보라 해서 이때 공부한 것을 설명했는데 크게 만족하셔서 제일 먼저 합격 문자를 받았다.막상 회사 다녀보니 피로도.. 90만원짜리 신분증 만든 후기 문제의 발단???: 운전할 때 되면 면허 딸 거야!9년이 지난 후, 나는 이때의 발언을 매우 후회한다.특정 시기가 되면 본격적으로 운전을 하게 될 거라 생각했지만, 그렇지 않았다. 어쩌다 여행 얘기가 나올 때, 서울 안에서 노는 게 지겨워서 근교로 빠질 때 외엔 운전이 필요한 상황도 없었고 이마저도 드물게 발생했기 때문에 어물쩍 넘어갔다.이렇게 점점 나이 먹게 되니 남들 다 따는 면허 없으니 친구들한테 미안했고, 여행 갈 때도 불편하게 가다 보니 면허를 결국 따야겠단 다짐을 했다.필기 준비는 여유있게시험 접수하고 2시간 정도 달달 외운 걸로 평가하긴 그렇지만, 우습게 볼 건 아니었다.생각 조금만 해보면 풀리는 문제도 있었지만, 어떤 거는 그렇지 못해 키워드 몇 개 따서 외웠다.그렇게 어영부영 준비해서 1.. 이전 1 2 3 4 ··· 23 다음