전체 글

회사 이직 후 기존에 사용 중이던 goland와 작별하고 vscode로 갈아타게 되었습니다갑자기 주석 처리 단축키인 [ ctrl + / ] 가 안되더군요 단축키 세팅에 들어갑시다 여기서 [ ctrl + / ] 를 검색해서 이상한 플러그인이 같은 단축키를 사용하는 지 확인합시다저 같은 경우 github copilot이 문제였습니다 ㅋㅋ
· 회고록
개발인생 회고록이라는 거창한 말을 붙여 될진 모르겠지만 그래도 고등학교 1학년부터 개발을 접해서 공부를 시작했고 인생의 4분에 1 정도를 개발만 했으니 붙여도 될 것 같다 특성화고를 들어가게 된 계기 좋게 보면 일찍이 길을 찾은 거고 나쁘게 보면 도망이라고 생각될 수 있다고 보는데 가장 큰 이유는 내가 인문계에서 경쟁력이 있는가에 대한 답이 없었다. 중2까지는 아무 생각 없이 학교 가고 학원 가고 집 와서 워크래프트, 롤, 스타 2, 오버워치 등을 했다. 중3 돼서 학교를 골라야 할 시기가 왔을 때 문뜩 그런 생각이 들었다 나는 지금 이 중학교에서 끽해봐야 상위 40% 밖에 안 되는 데 이 정도 퍼센트는 그냥 공부에 끈을 놓지 않은 많은 학생들 중 한 명일 텐데 이 내가 노력해서 의욕도 안 생기는 이 교..
GraphQL이 뭔지 궁금하다면 다음 주소를 참고 ㄱㄱ https://seung.tistory.com/entry/GraphQL%EC%9D%B4-%EB%AD%94%EC%A7%80-%EC%95%8C%EC%95%84%EB%B3%BC%EA%B9%8C Go에서는 GraphQL을 지원하는 라이브러리는 참 많던데 주로 쓰이는 건 아래와 같다 99designs/gqlgen: https://github.com/99designs/gqlgen graphql-go/graphql: https://github.com/graphql-go/graphql graph-gophers/graphql-go: https://github.com/graph-gophers/graphql-go 뭘 할까.. 대충 아래 목록을 기준으로 고르도록 했다 해..
들어가기 한 달 동안 진행되었던 고랭 알고리즘 스터디가 팀원 분들이 시간이 안 되는 관계로 끝났다 4월에 다시 하자는 말이 있었는데 한다면 난 하면 할 것 같은데, 과연 다시 시작할지는 모르겠다 그동안 문제 풀고 그걸 블로그에 글로 추가함으로써 뭐 쓸지 고민 안 해도 돼서 편했는데 이제 주제를 다시 정해야 될 때가 와버렸다.. 주제 선정에 고민하다가 문뜩 GPT가 기억났다, 그래서 한번 물어봤는데 역시 대단한 친구라 그런지 여러 가지 답변을 줬는데 그중에서 눈에 들어온 친구가 있었다 오? GraphQL? 어디선가 많이 본 친구가 보였고 이김에 이거로 하기로 마음을 먹었고 관련해서 좀 알아보면 아래 세 개로 정의할 수 있다 API를 쿼리로 사용하는 언어이다 페이스북(Facebook)에 의해 2012년 내부..
Docker 도커란 컨테이너화 기술을 통해 애플리케이션을 패키징하여 사용하는 데 이 컨테이너 방식은 애플리케이션과 의존성을 함께 패키징함과 동시에 기존에 가상 머신을 사용하여 사용자 환경을 나누는 것과 비교하면 훨씬 가볍고 빠르게 구현으로 사용자 환경을 나눌 수 있습니다. 아래 이미지를 보면 왼쪽은 가상머신을 사용할 때의 상황을 가식화한거고 오른쪽 이미지는 컨테이너를 사용하는 방식입니다. 가상머신은 Guest OS까지 띄우고 진행해야 한다는 점에서 도커보다 무겁고 느릴 수밖에 없습니다. Docker Desktop 다운로드 Desktop에서 Docker를 관리하기 용이하게 해주는 Docker Desktop을 다운해줍시다. https://www.docker.com/products/docker-desktop/..
· PHP/Setting
개요 JetBrains의 IDE 중 PHPStorm으로 외부에 있는 서버를 SSH로 바로 연결해서 수정해 봅시다. 1. 빈 프로젝트 생성 프로젝트 하나당 하나의 Host 정보를 담을 수 있습니다. .idea의 webServers.xml에서 호스트 정보를 가집니다. 2. Remote 연결 Remote 연결 창을 엽니다 Header -> Tools-> Deployment -> Browse Remote Host 옆에 아래와 같은 창이 나오는데 ... 버튼을 눌러줍시다. 이름을 입력해 주고 OK를 누르고 다시 ... 버튼을 눌러줍니다. 아래서 + 버튼을 눌러주고 이제 환경에 맞게 연결 정보를 넣어주면 됩니다. 정보 입력 후 OK를 누르면 완료됩니다. Test Connection으로 잘 연결되는지 확인 가능 기본..
1. Go가 뭐라고 생각해요? Go는 요즘 같은 시대에 딱 적합한 언어라고 생각합니다 빠르게 컴파일링 가능하고, 복잡함을 최소화했으며 문법도 간단하고 경량 스레드를 가진 데다가 C와 라이브러리와 네이티브 시스템 호출 등 상호운용성도 챙겼기에 매우 좋은 언어라 생각합니다. 2. Go 프로그램의 패키지를 설명해 주세요? 패키지란 비슷한 기능을 가진 함수, 타입, 변수들이 집합으로 패키지는 코드의 구조를 조직화하고 네임스페이스를 제공하는 역할을 합니다. GO는 패키지로 구성되며 main 패키지에서 실행됩니다. go mod init : 모듈을 초기화합니다. go get : 외부 모를 가져옵니다. go build : 코드를 빌드합니다 3. 사용자 지정 패키지란? 프로젝트 디렉터리 아래에 라이브러리 파일이 있는 디..
· Java
1. JVM이 뭔가요? JVM(Java Virtual Machine)은 Java Runtime Environment(JRE)의 일부로서 Java 바이트코드를 실행하기 위한 런타임 환경을 제공합니다. 하드웨어 및 운영 체제의 독립성을 책임지는 Java 기술의 구성 요소로, Java의 "한 번 작성하면 어디서나 실행"이라는 핵심 기능을 가능하게 합니다. JVM은 다음과 같은 주요 작업을 수행함으로써 작동합니다: 코드 로드: 컴파일된 바이트코드를 메모리에 로드 코드 검증: 로드된 Java 바이트코드의 정확성을 보장 코드 실행: JVM은 기반 하드웨어에 따라 바이트코드를 기계 언어로 해석하여 실행 2. JDK, JRE 및 JVM의 차이점을 설명해 보세요? JVM(Java Virtual Machine): 앞서 언..
· MySQL
쿼리를 만들다 보면 데이터가 들어 올 때 유니크 값이 중복이면 나머지 컬럼을 업데이트하고 싶은 경우가 있다 물론 일일이 업데이트해도 되지만 데이터 여러 개를 하고 싶을 때 유용한 옵션이 있다 그건 바로 아래 insert의 옵션이다 ON DUPLICATE KEY UPDATE 간단하게 예시를 들자면 다음과 같은 DDL이 있다고 치자 CREATE TABLE books ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) UNIQUE, description TEXT, author VARCHAR(255) ); 그리고 여기에 데이터를 넣자 여기도 해당 옵션을 넣었지만 바뀐 건 없고 5개의 칼럼이 추가된다 INSERT INTO books (name, description,..
· Go Lang
🔍 문제 톺아보기 https://www.acmicpc.net/problem/1019 1,000,000,000보다 작거나 같은 N이 주어질 때 1 ~ N까지의 페이지 번호에서 0~9가 몇 번 나오는지 구해보자 백준에서는 1초당 1억을 넘어가면 시간초과를 하게 됩니다 하지만 문제는 10억이기에 당연히 반복문으로 모든 경우의 수를 체크하는 방법은 시간초과가 발생합니다. 🔍규칙 찾기 시간초과가 발생함은 곧 규칙이 있고 이거를 찾으면 해결할 수 있다는 의미죠 저 10억 자리의 수를 무언가 하려면 수로 접근하는 게 아닌 문자열로 접근해야 합니다 다가가기 1 일단 1부터 99는 구할 수 있을까? 💡어디 보자 십의 자리만 두고 생각하면 1~9가 10번 반복되고 (각 십의 자릿수는 일자리가 9까지 돌기 때문에) 일의 자..
DSeung
Dev log