All 101

정보처리기사
1과목 소프트웨어 구축

01 소프트웨어 공학 개념 위기를 극복하고 품질 높은 소프트웨어를 효율적으로 개발하기 위한 학문 소프트웨어 공학의 3R 1. 역공학 : 이미 개발된 시스템 분석해 문서를 추출 2. 재공학 : 기존 소프트웨어를 기능 개선하고나 재활용하는 공법 분석 -> 재구성 -> 역공학 -> 이관 3. 재사용 : 이미 개발된 SW 일부 또는 전체 다시 사용 - 합성 중심 : 모듈을 만들어 조합해 SW 완성 - 생성 중심 : 추상화 형태 구체화해 프로그램 만들기 소프트웨어 개발단계 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 - 요구사항 분석 : 요구사항 분석서 - 설계 : 모델링, DFD, DD, Mini-spec, ERD, STD(상태전이도) - 구현 : IDE, 형상, 배포, 협업 - 테..

Frontend/React
React에 네이버 SmartEditor2 적용하기

네이버 스마트 에디터가 생각보다 좋아서 리액트에 적용하고 싶은데...네이버 스마트 에디터는 npm으로 설치가 불가한 것 같다. 그래서 생각해 낸 방법이 public 폴더에 에디터 html 을 만들고 그 html 파일을 컴포넌트 iframe에 넣어서 가져오는 방식이다!!해봤더니 잘돼서 공유한다. https://github.com/naver/smarteditor2/releases Releases · naver/smarteditor2Javascript WYSIWYG HTML editor. Contribute to naver/smarteditor2 development by creating an account on GitHub.github.comsmarteditor2를 받아준다.  나는 표시한 파일을 받아줬다...

Frontend/React
React에 CKEditor5 적용하기 (Online Builder)

React에 CKEditor5을 적용하는데 설명이 너무 없는 것 같다... (내가 문서를 잘 이해 못하는 것일수도...) npm으로 CKEditor를 설치하게 되면 안깔린 플러그인들은 또 별도로 설치해줘야하는데 그렇게 하면 중복? 되었다는 에러가 계속난다... 그래서 찾은 방법이 CKEditor 홈페이지에 내가 필요한 플러그인들을 넣고 파일을 다운로드해서 프로젝트에 적용하는 것이다. 에디터 타입은 클래식으로 선택했다. UI 보고 원하는 것 선택하면 될듯!!! 필요한 플러그인들을 ADD 해준다. PREMIUM 뱃지가 붙은건 넣지말자! 아래 처럼 나중에 돈든다고 나온다... 30일만 사용가능하게된다. 나는 왠만한 플러그인들을 다 넣어줄 것이다!! 내가 추가한 플러그인들이다! 툴바에 보여졌으면 하는 플러그인들..

Info & Tip
Mac 카라비너 키 맵핑하기

카라비너를 이용한 키맵핑 방법 사람들이 만들어놓은 형식을 import해서 써도 되지만 내가 원하는것은 내가 만들어쓰는게 빠른 것같다!! json 파일만 수정해서 폴더에 잘 넣어주고 enable만 해주면 되서 생각보다 간단하다!! 그러면 나한테 찰떡인 키맵핑을 할 수 있다~! 파일경로는 ~/.config/karabiner/assets/complex_modifications 일단 캡스락키 매직펑션으로 만들어주는 설정 (대문자 고정은 어떻게? shift+캡스락 같이 누르면 대문자로 된다) { "description": "Change caps_lock key to command+control+option+shift. (Use shift+caps_lock as caps_lock)", "manipulators": ..

취미생활
라툴 뽀모도로 타이머 후기

라툴 뽀모도로 타이머를 구입하게 되었습니다. 그전에 쓰던것은 소리 아니면 불 깜박임 기능 밖에 없어서 외부에서 소리로 해놓을 수 없는 단점이 있었습니다. 그리고 집중하다보면... 불 깜박임으로 설정해놓으면 못보고 지나칠 때가 많더라고요ㅠㅠ 근데 라툴 뽀모도로 제품은 진동모드가 있어서 너무 좋습니다. 소리보다는 조용하고 피해가 안돼서 진동모드를 애용하고 있어요. 무음모드도 있는데 무음모드는 화면이 깜박 깜박 합니다. 시간 타임을 직관적으로 설정할 수 있는 것도 큰 장점인 것 같습니다. 빨간색이 아주 강렬해서 시간이 잘보여요!! 화면 밝기도 설정할 수 있습니다. 타이머 셋팅은 4번과 7번을 이용해서 주로 셋팅합니다!! 사용방법이 아주 쉬워요!! 스톱워치 기능도 있습니다. 사이즈가 작아서 휴대용으로 딱이에요~..

Backend/패키지매니저
yarn berry eslint 에러

프로젝트에 eslint를 설정해 놓고, fix해주는 코드를 package.json에 작성해놨다. 그 후 터미널에서 fix해주는 명령어를 입력했는데 아래 이미지와 같은 에러가 났다 Oops! Something went wrong! :( ESLint: 8.56.0 Error: synckit tried to access ", but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. Required package: " (via ""/var/folders/1v/r80_zlpj7f507kxk80jycc0c0000gn/T/6025ddaa198df01ef650d59d6f3f5c98.cjs"") Required..

Frontend/React
리액트 context 사용하는 방법

✏️ context context는 전역적으로 데이터를 관리할 수 있게 도와 줄 수 있는 리액트 Hook 부모 -> 자식 -> 손자 이런 구조로 되어있고, 부모에서 손자까지 데이터를 공유하고 싶은면 항상 차례대로 데이터를 전달해 줘야했는데 context를 사용하면 바로 부모 -> 손자로 넘겨줄 수 있다. 🔥 주의점 다양한 레벨에 네스팅된 많은 컴포넌트들에게 데이터를 전달하는 용도 context를 사용하면 컴포넌트를 재사용하기 어려워진다. context 또는 컴포넌트 합성 둘 중에 더 상황에 맞는 것을 이용하도록! 나는 작업할 때 context 폴더를 만들어서 context를 관리하는 편! 응집도는 높이고, 결합도는 낮추기 위해 context 관련 소스는 해당 폴더, 해당 파일 안에서 관리하는 것이 좋은 ..