전체 글

기록

    그림으로 공부하는 오라클 구조

    오라클 구조에 대해서 보다 깊게 알아보고자 이 책을 읽게 되었다. 오라클과 관련된 책이 많은 편은 아니지만 그래도 유명한 책들이 여럿 있는 것 같은데 모두 두꺼웠다. 두꺼운 만큼 내용도 깊고 배울 내용이 많겠지만 오히려 읽는 데 시간이 너무 오래 걸리거나 중간에 그만둘 것 같아서 상대적으로 얇고 제목에 그림이 포함되어 있는 이 책을 고르게 되었다. 저자를 보고 일본에서도 오라클을 많이 쓰는구나 싶었다. 책은 내가 막연히 알고 있는 백그라운드 프로세스, SGA와 PGA, 기동 순서, 파일과 구조, REDO와 UNDO 그 이상을 자세히 설명해 준다. 덕분에 내가 헷갈렸던 개념은 되짚어가고, 잘 몰랐던 부분은 새롭게 공부하며 읽었다. 책 소제목이 종종 질문으로 되어 있는데다 중간에 QnA까지 있어서 더 잘 이..

    SQL 첫걸음

    SQL은 대학교 때 배웠지만 문법을 다시 빠르게 정리를 하는 게 좋을 것 같아서 SQL 첫걸음(https://www.yes24.com/Product/Goods/22744867)을 간단하게 훑었다. 챕터마다 연습문제가 있고, 중간중간 POINT가 있어서 집중해서 읽기 좋았다. 책은 데이터베이스 제품 종류와 서버의 구조부터 설명하기 시작한다. 특히 DB 서버와 클라이언트에 대한 간단한 설명이 좋았다. 그리고 SELECT와 함께 사용하는 여러 문법들(LIKE, ORDER BY, LIMIT, 날짜, CASE 등)을 자세하게 설명해 준다. 특정 DBMS에서는 문법이 다를 경우 각 DBMS 별로 문법을 설명해주는 점이 좋았다. 예를 들어 LIMIT는 표준 SQL이 아니므로 MySQL, PostgreSQL에서만 가능..

    글또 백엔드/인프라 반상회 후기

    글또 백엔드/인프라 반상회 후기

    작년에 FEConf2022를 재미있게 다녀오고 나서, 매년 1개 이상의 컨퍼런스에 참가해야겠다고 다짐했었다. 그런 이유에서 글또 반상회는 꼭 참여하고 싶은 이벤트였다. 여러 분야 중 프론트엔드가 아닌 다른 분야를 담당하게 되면서 프론트엔드 반상회는 참여하지 말고 서버 쪽 반상회에 참여해야겠다고 생각했었다. 백엔드/인프라 반상회보다는 데이터 반상회가 더 나랑 맞는 것처럼 느껴졌지만 데이터 반상회를 참여 못할 수도 있어서 백엔드/인프라 반상회에 우선 참여하게 되었다. 세션은 총 3개였다. 발표자 3분 모두 정말 개발을 재밌어한다고 느꼈다. AWS SQS를 도입하면서 했던 고민을 소개합니다 - 황동욱 역을 잘못 내리는 바람에 지각하면서 세션 앞부분을 놓쳤다. 메시지 큐에 대한 건 아주 기본적인 지식 밖에 없어..

    5월 맞이 중간 점검

    5월을 맞이해서 중간 점검을 해보려 한다. 1. 글또 우선 부끄럽지만 내가 글또에 들이는 노력이 부족한 것 같다. 어떤 글을 작성할지 몇 개 정했지만 정작 마감일에 닥쳐서 작성하는 것이 가장 큰 문제인 것 같다. 평일에는 시간 내기가 어렵고, 주말에는 놀거나 다른 걸 하다보니까 이런 일이 2주마다 발생하고 있다. 당장 이 글도 오늘이 마감이다ㅠ 마지막 글또 마감일이 7월 16일이니까 약 2달 간이라도 '미루지 말기'를 가장 큰 목표로 삼고, 앞으로 조금씩이라도 꾸준히 글을 작성하는 습관을 들여야겠다. 2. 공부 데이터베이스, 오라클, 리눅스 등 공부할 것이 정말 많다. 그림으로 공부하는 오라클 구조는 차근차근 외우면서 읽고, SQL 첫걸음은 다시 빠르게 읽어야겠다. 프로그래머스 SQL 문제도 꼭 다 풀어..

    웹 보안

    웹 보안

    우아한테크 [10분 테코톡] 바니의 웹 보안을 보고 정리했습니다 OWASP Top 10 OWASP : Open Web Application Security Project라는 비영리 보안 프로젝트 재단 웹 어플리케이션에서 발생할 수 있는 취약점을 분석하고 연구해, 공격 가능성과 기술적 영향을 기준으로 10개의 취약점 OWASP Top 10을 공개한다 Injection 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로 전달될 때 발생하며, 공격자의 악의적인 데이터로 인해 예기치 않은 명령이 실행되거나 올바른 권한 없이 데이터에 접근할 수 있다 강의의 실습환경 : bWAPP - Bee Box OWASP Top 10 기반 취약점을 포함하여 모의해킹 테스트가 가능한 무료 오픈 소스인 취약한 웹 어플리..

    SQL breadcrumbs

    SQL 관련 이것저것을 정리합니다 SQL 키워드는 대문자로 작성하는 것이 좋을까? 대문자가 필수는 아니지만 보통 대문자로 작성하는 것 같아서 이유가 궁금했다. stackoverflow의 유사한 질문에 대한 답변에 의하면 한때는 에디터가 대문자만 키워드로 인식해 하이라이트하던 때가 있었다고 한다. 이제는 소문자도 인식하니 그런 걱정은 안해도 될 것이다. 다만 오라클은 주의할 점이 있는데, 쿼리 자체는 같아도 대소문자가 다르면 서로 다른 쿼리로 인식하니 한 번 정한 방식대로 이어나가는 것이 중요할 것 같다. 대문자 외에도 들여쓰기 등 컨벤션을 찾아봤는데 다들 다양하게 사용하는 것 같았다. 쉼표(,)의 위치가 뒤로 가는지 앞으로 가는지 등 정말 다양했다. WHERE 1=1의 역할은 무엇일까? WHERE 1=1..

    JSX 이해하기

    https://ko.reactjs.org/docs/integrating-with-other-libraries.html, https://ko.reactjs.org/docs/jsx-in-depth.html 를 읽고 정리한 글입니다 다른 라이브러리와 통합하기 Backbone.js는 Model-Collection-View 기반으로 구현하는 JS 웹 애플리케이션 프레임워크 JSX 이해하기 JSX는 React.createElement(component, props, ...children)로 컴파일된다 React Element의 타입 지정하기 JSX 코드는 React 라이브러리와 같은 스코프 내에 존재해야 한다 점 표기법 사용 가능 사용자 정의 컴포넌트는 대문자로 시작 JSX 안에서 prop 사용 JavaScript..

    고차 컴포넌트(HOC, Higher Order Component)

    https://ko.reactjs.org/docs/higher-order-components.html 를 읽고 정리한 글입니다 고차 컴포넌트는 컴포넌트 로직을 재사용하기 위해 & 컴포넌트를 가져와 새 컴포넌트를 반환하는 함수 props를 UI로 변환하지 않고, React에서 코드 재사용의 기본 단위인 컴포넌트를 새로운 컴포넌트로 변환 원본 컴포넌트를 컨테이너 컴포넌트로 포장(Wrapping)하여 조합(compose) ⇒ 사이드 이펙트 없는 순수 함수 내부에서 컴포넌트의 프로토타입을 수정하지 않음 컴포넌트에 기능을 추가 네이밍 : withSubscription처럼 HOC 이름으로 내부 컴포넌트명 감싸기 주의점 rende() 안에서 사용하지 말 것 → 컴포넌트 정의 밖에서 적용하여 컴포넌트가 한 번만 생성하..

    Fragments

    https://ko.reactjs.org/docs/fragments.html 를 읽고 정리한 글입니다 Fragments는 DOM에 별도의 노드를 추가하지 않고 여러 자식을 그룹화 또는 key가 없다면 key는 Fragment에 전달할 수 있는 유일한 속성

    Forwarding Refs (Ref 전달하기)

    https://ko.reactjs.org/docs/forwarding-refs.html를 읽고 정리한 글입니다 컴포넌트를 통해 자식 중 하나에 ref를 자동으로 전달하는 기법 ⇒ 재사용 가능한 컴포넌트 라이브러리 등에 효율적 forwardRef를 사용할 때 ⇒ 변경사항으로 간주 & 라이브러리의 새로운 중요 버전 릴리즈 고차원 컴포넌트(HOC, Higher Order Component)에 유리할 수 있다 React.forwardRef API를 사용하여 refs 명시적으로 전달 가능 function logProps(Component) { class LogProps extends React.Component { componentDidUpdate(prevProps) { console.log('old props:..