본문 바로가기

분류 전체보기

[웹 프로젝트] 낚시 관련 사이트 제작 - 개발환경 세팅(1) 개발자로 근무하면서 게임보단 점점 코딩에 몰두하게 되어 활동성 있는 취미를 찾던 중에, 낚시를 접하게 됐는데, 몇명이서 하든 혼자만의 시간이 많아져 많은 것들을 집중적으로 생각하는데 도움이 되었다. (사실 다 필요없고 그냥 혼자 다 만들어보고 싶어서 만드는) 그래서 내가 가진 능력으로 낚시 관련 사이트를 만들어보는 게 어떨까 해서 시작하게 된 것이 '월척이오'이다. 월척이오의 사이트 목적은 젊은이들의 낚시법을 위한 커뮤니티 사이트이다. 기초적인 낚시 종류 강좌부터, 낚시 포인트, 관련 장비 등등 낚시에 관한 건 모조리 다 때려 넣을 생각이다. 사실 내가 가진 능력으로 뭘 할 수 있다라는 그런 자부심과 마음 깊은 고양감이 이렇게 생각할 수 있는 원동력이 된 듯하다. 이러한 방향을 제시해 주고, 충고를 해서.. 더보기
[웹 프로젝트] 웹 프로젝트 간단하지만서도 어려운 웹 프로젝트를 개발하려고 한다. 필자가 다뤄본 언어들부터 개발부분, 프레임워크 등 프로젝트에 착수하면서 하는 개발환경부터 배포까지 아주 자세하게 다룰 예정이다. 실무에서 하는 것들을 프로젝트를 진행하면서 다른 새로운 영역까지 개척할 예정이니 아마 나중의 프로젝트를 진행하면서도 아주 좋은 공부가 될 것이다. 더불어 무료가 아닌 유료인 부분도 있을 예정이니 참고했으면 하는 바램이다. 더보기
[C++] C++ - using namespace std using namespace std란? using은 사용하는 것 namespace는 이름 공간 std는 클래스이다. 직역하면, 이름공간에 있는 클래스에 정의되어 있는 함수들을 사용하겠단 말이다. std에는 cout, cin, endl 등 자주 쓰이는 함수들이 정의 되어 있다. using namespace std;를 선언해줘야 여러가지 함수를 올바르게 사용할 수 있는데, c와 달리 c++은 클래스로 이루어져 있어 그 중에 std라는 클래스를 사용하는 것을 명시하기 위해 설정해 주는 것이다. 문자열 출력은 c에서 printf지만 c+에서는 cout이다. std::cout이라고 매번 쓰기엔 번거로움이 있기에, using namespace std;라고 명시하는 것이다. using namespace std를 쓰지.. 더보기
[C++] C++ - 개발환경 구축 윈도우 운영체제는 C/C++로 개발 시 Visual Studio를 쓰면 된다. 그러나, MacOS의 Visual Studio는 C++을 지원하지 않기에 Xcode나 Visual Studio Code 를 이용하여 컴파일하고 빌드해야만 한다. 1. VSCode 설치 MS사의 소스코드 에디터로 모든 플랫폼에서 지원하는 소프트웨어다. 또한 VCS 기능도 제공되서 Github간 연동도 가능하다. 다운로드 링크 2. g++, lldb 설치 g++ C/C++ 파일 빌드 툴 **lldb** 디버깅 툴 Xcode가 설치된 MacOS라면 모두 자동으로 설치된다. 터미널에서 아래와 같은 명령어를 입력하면 확인할 수 있다. $ g++ -v Configured with: --prefix=/Library/Developer/Com.. 더보기
[Rust] Rust - Hello world! // 이는 주석이고, 컴파일러가 무시할 것이다. // 이는 main 함수이다. fn main() { // 컴파일된 바이너리가 실행되면 이곳에 있는 코드들이 수행되게 될 것이다. // 문자열을 출력한다. // println!은 macro로 문자열을 콘솔에 출력한다. println!("Hello World!"); println!("I'm a Rustacean!"); // rustc hello.rs를 터미널에 입력하면, hello 바이너리를 생성한다. // Activity // ./hello를 터미널에 입력하면 실행된다. } 전통적인 Hello World 프로그램의 소스 코드이다. println! 은 macro 로 문자열을 콘솔에 출력한다. 바이너리는 Rust 컴파일러를 통해 생성된다: rustc $ .. 더보기
[Rust] Rust - instruction 개요 Rust는 타입 안전성, 메모리 안전성, 동시성 그리고 성능에 초점을 맞춘 프로그래밍 언어이다. 몇 가지로 분류되는 일반적인 에러들로부터 자유로운 대규모, 고성능 소프트웨어를 작성하도록 계획되었다. Rust는 능률적인 데이터 구조를 장려하는 고수준의 메모리 모델과 세그멘테이션 오류를 일으키는 무효한 메모리 접근을 예방하는 안전한 동시성 패턴을 가지고 있다. 컴파일 시간에 타입이 정해진다. 다중 패러다임 언어로서, Rust는 절차형, 함수형 그리고 객체지향 스타일로 작성된 코드를 모두 지원한다. Rust는 다음의 고수준의 기능들을 포함한다. 타입 추론 타입을 알려주는 지역 변수 선언은 선택적이다. 안전한 태스크 기반의 동시성 Rust의 가벼운 태스크들은 메모리를 공유하지 않는 대신 메시지를 통해 통신.. 더보기
[SQL] MariaDB - Installation MariaDB - Setting up MariaDB Repositories - MariaDB 여기로 들어가 맞는 OS를 선택 이후 아래 커맨드와 레포가 나오는데, 그냥 따라하면 된다. 설명은 자신에게 맞는 MariaDB를 해당 OS플랫폼에 맞게 찾아 복사한 후, sudo vi /etc/yum.repos.d/MariaDB.repo에 붙여넣기한다. 이후 sudo yum install MariaDB-server MariaDB-client를 입력하면 된다. MariaDB는 MySql이랑 완전 똑같다고 보면 되는데, 관련 폴더의 명칭도 mysql로 되어있다. 그도 그럴게 MySql에서 나온사람이 만든거기 때문 따라서 초기 셋팅을 해주는 것도 잊지 말아야한다. 더보기
[Javascript] React 디자인 패턴 design pattern presentational & container 로직을 수행하는 컴포넌트, UI를 보여주는 컴포넌트를 분리 앱의 기능과 UI구분이 쉬워짐 같은 state를 다른 container에게 props를 내림으로써 공유 로직수행, markup이 다른 컴포넌트에서 하기 때문에 유지보수가 쉽고, 재사용성이 뛰어남. markup 변경에 매우 유연함 동일한 마크업, 컨테이너 레이아웃(header, footer 등)은 반복해서 작성하지 않고 구현 가능 presentational 사용자가 직접 보고 조작하는 컴포넌트 state를 직접 조작하지 않고, container component가 내려준 props함수에 의해 state를 변경 그에 따라 useState, useCallback 등 state관련 훅이 없어야함 상태를 거의 가지지 않으며, 상태를 가진다면 데이터에 관한.. 더보기
[Javascript] React 디자인 패턴 design pattern - atomic 분자단위로 UI 컴포넌트를 쪼개어 페이지를 구성하는 패턴 atoms - molecules - oraganisms - templates - pages 단계로 컴포넌트들을 결합 UI의 시맨틱적으로 가장 작은 단위의 요소들부터 쪼개서 조합하고, 기능적인 부분까지 결합하는 패턴 단계를 역으로 하여 분리시켜도 무방 간단명료하고 UI 복잡도를 억제, 중복컴포넌트를 방지하고 개발소요시간을 단축한다. 컴포넌트 개념에 대한 높은 이해도를 필요로 하기 때문에 러닝커브가 매우 높음 사소한 UI를 변경해야하는 컴포넌트 체계에 유연하지 않음 리액트 컴포넌트를 전반적으로 잘 이해해야하기 때문에 협업 시 쉽지않음 // Button.js import React from 'react'; const Button = (pr.. 더보기
[Javascript] React - Recoil 상태관리 라이브러리 Atom 상태의 단위를 나타냄 Atom이 업데이트 되면 해당 Atom을 구독하고 있던 모든 컴포넌트들이 새로운 값으로 Re-render됨 또한 여러 컴포넌트에서 같은 Atom을 구독하고 있으면 그 컴포넌트들이 상태를 동일하게 공유 고유한 key와 기본값(default)을 정의해야 함 const productState = atom({ key: 'productState', // 이 값은 어떤 Atom이든지 Unique해야함 default: '', }); 동적 key를 가진 다른 상태를 생성하는 것도 가능 여러개의 비슷한 데이터를 다룰 때 리스트에 보관하는 대신 각자의 상태가 독립되어 변경한 아이템 하나만이 업데이트 하게 됨 (0.0.8버전 이후로 atomFamily라는 이름으로 .. 더보기

728x90