ETC19 Windows WSL2 Ubuntu에서 Valet 설치하기 Mac Os로 개발을 진행하는 와중에 회사의 VPN이 폐쇄망, 내부망, 외부망으로 나누어지며 폐쇄망에서 내부망으로 접근하게 해주는 외부 소프트웨어(windows only)를 필시 사용하게 됨에 따라 맥환경을 포기하고, 윈도우환경에서 개발을 진행하게 되었습니다. 때문에 비슷한 환경을 설정해주기 위하여 WSL2를 설치하는걸 기본 전제 조건으로하며 본 포스팅을 시작합니다. 1. apt upgrade & php install # apt 최신화 및 php, mysql 서버 설치 sudo apt update & upgrade sudo apt install php-fpm php-curl php-mbstring php-mysql php-xml php-cli unzip network-manager libnss3-tool.. ETC/개발 IDE 설정 2022. 12. 5. MacOS 개발 환경 WindowsOS에서 구축하기 맥북으로 개발을 시작한 지 어느덧 6개월. MacOS 개발 환경에 익숙해져서 그런지 Windows OS에서 개발을 진행하기 여간 적응되지 않았습니다. VPN 문제로 인해 강제적으로 Windows 환경에 익숙해져야 했기 때문에 Windows에서 최대한 MacOS 느낌을 살리고자 노력했습니다. 1. Windows 11 Update 하기 macOS의 장점중 하나인 트랙패드를 활용한 분할 데스크톱 기능이 Windows 11에서 가능하게 되었습니다. 별도의 트랙패드가 없는 데스크톱에서 작업할 때에는 윈도우 11 환경에서 [ctrl + windows + 방향키] 조합으로 사용이 가능합니다. 아래처럼 새로운 데스크톱을 생성하여 프로그램을 띄운 후 위의 조합으로 자유롭게 이동하며 사용합니다. 2. MacOS의 터미널 .. ETC/개발 IDE 설정 2022. 7. 15. [MacOs] M1칩 PHPStorm Xdebug 연동 및 사용법 M1 Pro칩 MacBook에서 Local환경으로 PHP 개발을 진행할 때, PHPStorm에 Xdebug를 연동하여 사용해봅니다. 1. php version 및 macOS 버전 확인 ## PHP 버젼 확인 $ php --version ## PHP에 맞는 MacOS 확인 $ file'which php' php --version 명령어로 확인하면 현재 설치된 PHP에 xDebug가 확장되어 있는지 확인이 가능합니다. 아래와 같이 "with Xdebug" 항목이 없으면 확장되지 않은 상태임으로 확장이 필요합니다. [file `which php`] 명령어로 현재 설치되어있는 php가 어떤 프로세스에 적합한지 확인합니다. 아래의 사진은 arm64 프로세스에 적합한 php가 깔려있다는 예제. 2. 각자에 맞는 a.. ETC/개발 IDE 설정 2022. 7. 6. [MongoDB] MacOs에 MongoDB 설치하기 개발을 진행하며 RDS의 mysql과 mariaDB만 사용했었고 NoSQL을 한 번도 사용해 본 적이 없기 때문에 Java - Spring 공부를 진행하면서 DB를 NoSQL인 MongoDB로 사용해보려 합니다. 때문에 Local 개발환경 구성에 있어 필요한 MongoDB 설치 및 세팅방법을 포스팅하며 학습합니다. 1. Brew Tap을 이용하여 homebrew로 설치 가능한 sortware를 확장시키기 brew search mongodb 명령어로 설치 가능한 mongodb 관련 software를 검색하면 몇 가지 잘 나오지 않는다. brew tap mongodb/brew 명령어를 이용하여 brew에서 설치 가능한 mongodb를 확장시켜준다. 그 이후 brew sarch mongodb 명령어를 실행하면.. ETC/DB 2022. 6. 20. [IntelliJ] 인텔리제이(IntelliJ)에서 break point 비활성화 해결방법 인텔리제이(IntelliJ) 에서 디버깅을 진행하던 와중, 브레이크 포인트를 설정하였는데 디버거바에는 표시가 안되는 현상이 발생하였다. [Run] - [show Breakpoints]를 들어가보면 설정한 브레이크포인트가 잘 표시되어있음에도 불구하고, application은 잘 실행되고 있는데 디버거상태바에 아무것도 표시가 안되고, Resume Program도 비활성화 처리가 되어있다. 이럴때 [File] - [Invalidate Caches / Restart] 를 실행하여 IntelliJ를 재시작 후 디버깅을 재실행 하면 정상적으로 작동한다. ETC/개발 IDE 설정 2022. 6. 10. Notion을 활용한 개발자 포트폴리오 만들기 포트폴리오(portFolio)는 자신의 활동과 노력의 과정을 압축하여 보여주는 것이기 때문에 현재까지 자신의 활동을 집약하는 것이 중요합니다. 특히 업을 개발로 삼고 있는 개발자들의 경우 자신이 진행했던 프로젝트 및 보유하고 있는 스킬들을 어필할 수 있어야 연봉협상을 기분 좋게 끝낼 수 있겠죠. 기존 포트폴리오 저 같은 경우 기존 포트폴리오를 cafe 24 웹 호스팅을 통해 본인의 웹사이트를 만들어 운영했었습니다. 관리자 페이지를 만들어 스스로 추가할 내용이 생기면 텍스트를 수정하여 추가했었습니다. 처음에는 스스로 잘 만들었다며 자기 위로했었던 기억이 있는데, 최근 notion이 각광받으면서 다른 개발자들이 만든 notion 포트폴리오를 확인해보니 스스로 만든 웹사이트형 포트폴리오가 너무 초라하고 볼품없.. ETC/Notion 2022. 6. 8. 데이터베이스 DDL DML DCL TCL 정리하기 데이터베이스 DDL DML DCL TCL에 대해 정리해봅니다. 학생때 데이터베이스 과목에서 다 배웠고, 실무에서도 사용중이지만 최근들어 스스로 정의하기 애매하여 다시한번 정리할 겸 공부해봅니다. DML / DDL / DCL 은 각각 무엇을 의미하며 우리가 실무에서 사용하고 있는것들이 어디에 속해있는지 아래의 SQL 관계도를 토대로 파악해 봅니다. 1. SQL이란? DBMS(DataBaseManagementSystems) 데이터를 쉽게 관리하게 해주는 관리 시스템에서 데이터(자료)를 관리 및 처리하기 위해 사용할 수 있게 설계된 언어 Structured Query Language(구조적 질의 언어) 입니다. SQL문법에는 DDL문법, DML 문법, DCL 문법, TCL 문법 크게 4가지로 나뉘어 집니다. .. ETC/DB 2022. 3. 27. 데이터베이스 트랜잭션 알아보기. 타이틀 입력부분 데이터베이스의 연산들을 모아놓은 트랜잭션 알아보기. 데이터베이스는 파일시스템과 달리 [실시간 접근성] , [계속적인 변화], [동시 공유], [내용에 따른 참조] 의 4가지 특성이 존재하고, 데이터의 일관성과 지속성이라는 장점을 가지고 있습니다. 프로그램 개발을 진행하다보면 DB CRUD작업을 진행하며 데이터베이스를 다루는 일이 많아집니다. 하지만 본인의 직책이 DBA가 아닌 이상 데이터베이스에 대해 깊게 다루지 않기 때문에, 또한 아직 주니어인 저의 짧은 개발자의 인생에서 DB에서 어떻게 데이터의 일관성과 지속성을 관리하는지 잘 모르고 개발을 진행했었습니다. 때문에 데이터베이스가 어떻게 동작하고, 어떻게 데이터를 관리하는지 깊은 이해도가 생긴다면 이후, 데이터베이스를 활용한 개발 측면에.. ETC/DB 2022. 3. 24. 데이터베이스 정규화 타이틀 입력부분 데이터베이스 정규화에 대해 알아봅니다. 데이터베이스 설계를 해야할 때, 정규화하여 설계를 해야하는데 학생때 잠깐 배웠었고 실제 서비스되는 application의 0 To Z까지 설계해본적이 없어서 그닥 사용할 일이 없었습니다. 때문에 기억에서 사라진 데이터베이스 정규화가 무엇인지 재학습겸 포스팅합니다. 1. 정규화란? 관계형 데이터베이스 설계에서 중복을 최소화하여 데이터를 구조화하는 프로세스를 정규화라고 합니다. 정규화는 이상이 있는(중복 등) 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있습니다. 쉽게 말하여 테이블간에 중복된 데이터를 허용하지 않는것에 목표가 있으며 중복된 데이터를 허용하지 않음으로써 무결성을 유지하며 DB 저장용량을 줄이는것에 기여합니다. 정규화에는 단계가.. ETC/DB 2022. 3. 22. What is REST, REST API, RESTful? REST,REST API,RESTful 의 정의, 개념, 특징, 설계규칙 등 모든것을 총 정리해보자. API를 사용하면서, 그냥 사용하는것과 그 개념을 이해하고 사용하는것에 대한 아웃풋은 다르다고 생각합니다. 때문에 스스로 REST에 대한 개념들을 학습하고 정리하는 용도로 본 포스팅을 작성합니다. 1. REST의 의미 및 개념 정리 REST(Representational State Transfer)는 Application 개발의 설계,제작을 사용하는 패턴과 기술들(이하 아키텍처) 중 하나입니다. 직역하면 대표 상태값 전송? 으로 알 수 있고, 의미는 자원(resource)의 표현(representation)에 의한 상태값의 전달을 의미합니다. 월드 와이드 웹(www)과 유사한 분산 하이퍼미디어 시스템을.. ETC/API 2022. 3. 21. 큐(Queue)란? 큐(Queue)란? 최근 프로그래머스 코딩테스트를 풀어보면서 스택/큐 태마에 문제를 풀다 문득, 큐에 대한 정의를 확실히 내릴 수 없었습니다. 코드와 씨름하며, 프레임웍과 aws sdk들과 씨름하며 기능개발에 몰두하는 것도 좋지만 기본기를 다지고 싶었습니다. 때문에 자료구조에 대해서 정리해봅니다. 자료구조 안에서 큐(Queue)란 무엇일까요? 1. 큐의 개념 정리 먼저 들어온 자료가 먼저 나가는 선입 선출 형태의 자료구조를 큐(Queue)라고 합니다. Queue(큐)라는 영단어 자체가 티켓 등의 표따위를 구매하기 위해 줄을서는 것을 의미합니다. 때문에 큐는 대기열 이라고도 합니다. 데이터가 들어오는 위치는 대기열의 가장 뒤에서 들어오고 그것을 Rear 혹은 Back이라고 합니다. 데이터가 나가는 위치는 .. ETC/자료구조 2022. 3. 18. 스택(stack)이란? 스택(Stack)이란? 최근 프로그래머스 코딩테스트를 풀어보면서 스택/큐 태마에 문제를 풀다 문득, 스택에 대한 정의를 확실히 내릴 수 없었습니다. 코드와 씨름하며, 프레임웍과 aws sdk들과 씨름하며 기능개발에 몰두하는 것도 좋지만 기본기를 다지고 싶었습니다. 때문에 자료구조에 대해서 정리해봅니다. 자료구조를 생각하면 대표적으로 떠오르는 스택(Stack)이란? 무엇일까요? 1. 스택의 개념 정리 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있습니다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 합니다. 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게.. ETC/자료구조 2022. 3. 17. 이전 1 2 다음