Ubuntu 20.04에 설치된 PostgreSQL의 버전을 업그레이드하는 방법에 대해 알아봅니다.

 

 

 

1. 기존 설치된 PostgreSQL 관련 패키지 제거하기.

 

먼저 지워야 할 패키지를 확인합니다. 다음 명령어를 통해 설치된 PostgreSQL의 패키지 리스트를 확인해 줍니다.

 

> dpkg --get-selections | grep postgres

 

 

이제 확인된 구버전의 PostgreSQL을 모두 제거해 줍니다

 

> apt-get --purge remove postgresql-12 postgresql-client-12 postgresql-client-common postgresql-common postgresql-contrib

 

만약 다음과 같이 디렉터리가 비어있지 않다는 메시지가 보이면 강제로 삭제합니다.

 

 

> sudo rm -rf /etc/postgresql-common
> sudo rm -rf /var/lib/postgresql

 

다시 한번 다음 명령어를 입력해 남아있는 패키지가 있는지 확인합니다.

 

> dpkg --get-selections | grep postgres

 

 

 

2. 시스템 업그레이드

 

이제 가장 최신의 릴리즈인 PostgreSQL13을 설치하도록 하겠습니다. 설치에 앞서 제 우분투 버전은 20.04 임을 미리 안내해 드립니다. 아래의 예시는 모두 우분투 20.04를 기준으로 작성되었습니다.

 

먼저 시스템을 업그레이드해줍니다

 

> sudo apt-get update
> sudo apt -y upgrade

 

 

만약 업그레이드할 항목이 있어 리붓이 필요하다면 리붓까지 시켜줍니다

 

> sudo reboot

 

 

 

3. PostgreSQL 13 리포지토리 추가하기

 

시스템이 업데이트되었으면 이제 PostgreSQL 13을 위한 APT 리포지토리를 추가합니다.

 

> wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -  

 

다음으로 리포지토리에 대한 구성 파일을 생성합니다.

 

> sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

 

 

이제 패키지 리스트를 업데이트합니다.

 

> sudo apt-get update

 

 

 

 

4. PostgreSql 13 설치

 

이제 모든 준비가 끝났습니다 다음 명령어로 PostgreSQL 13을 설치합니다.

 

> sudo apt-get -y install postgresql

 

 

정상적으로 설치가 끝나면 Postgresql 서비스를 실행시켜줍니다.

 

> sudo service postgresql start
> sudo service postgresql status

 

 

정상적으로 동작하는 것을 확인할 수 있습니다.

 

 

 

** Ubuntu firewall에서 PostgreSql 허용하기

 

PostgreSql은 기본적으로 5432 포트를 사용합니다. 다음 명령어를 사용해 5432 포트를 허용해 줍시다.

 

> ufw allow 5432

 

 

 

 

 

 

반응형

 

 

 

 

1. 현상

 

컴파일에서 문제는 없지만 런타임에서 AWS SDK를 사용하는 도중에 aws-cpp-sdk-core.dll에서 Assertion failed가 발생합니다. 

 

 

위와 같은 화면과 함께 실행이 중단되며 IDE에 별도의 오류는 찍혀있지 않습니다. 해당 오류는 Aws::Auth::AWSCredentials, Aws::S3::S3Client를 생성할 때 발생했습니다.

 

 

 

2. 원인 및 수정

 

aws-sdk-cpp GitHub의 Issue에서 원인과 해결방법을 찾을 수 있었습니다: Assertion failed: (s_HttpClientFactory), function CreateHttpRequest

 

Assertion failed: (s_HttpClientFactory), function CreateHttpRequest · Issue #778 · aws/aws-sdk-cpp

I use Cognito libs in my app and use blocking calls from my custom threads. Application is crashing when I it is closed before active request has completed. Assertion failed: (s_HttpClientFactory),...

github.com

 

Bu11etmagnet의 멘션처럼 cpp에서 aws-sdk를 사용하기 위해서는 먼저 InitAPI를 호출해야만 합니다. InitAPI를 호출하지 않고 aws-sdk를 사용하려고 했기 때문에 위와 같은 오류가 발생했습니다. aws-sdk 사용에 앞서 다음 코드를 수행해 주시면 됩니다.

 

Aws::SDKOptions awsOptions;
// ...
Aws::InitAPI(awsOptions);
// ...
Aws::ShutdownAPI(awsOptions);

 

awsOption를 먼저 선언 후 aws-sdk를 사용하기 전에 IniAPI를 호출합니다. 모든 API 사용이 끝난 뒤 더 이상 사용하지 않을 땐 ShutdownAPI를 호출해 마무리하면 됩니다.

 

 

 

 

 

반응형

 

 

시놀로지의 파일 서비스

 

시놀로지는 파일 서비스를 제공합니다. 파일 서비스는 중요 디지털 자산을 빠르고 안전하게 공유하고 Windows, macOS, Linux 플랫폼 간에 원활하게 파일을 공유할 수 있도록 DSM에서 네트워크 프로토콜(FTP, SMB, AFP, NFS, rsync 및 WebDAV)을 종합적으로 지원합니다. Universal Search와 Mac의 Finder가 통합되어 Synology NAS에서 탑재된 폴더에 있는 인덱싱 된 문서, 사진 및 기타 콘텐츠를 빠르고 자세하게 검색할 수 있습니다.

 

시놀로지가 제공하는 파일 서비스를 위한 네트워크 프로토콜에 대해 알아보도록 합시다.

 

 

 

SMB 프로토콜

 

https://searchnetworking.techtarget.com/definition/Server-Message-Block-Protocol

 

Server Message Block(SMB)는 윈도우 운영체제 간 통신에 주로 이용되는 프로토콜입니다. 기본적으로 네트워크 드라이브라는 것을 통해 네트워크상 다른 윈도우 기기와 연결해 파일 입출력과 실행을 담당하는 프로토콜입니다. 윈도우의 탐색기에서 \\HOST\FOLDER 같은 형식으로 접속할 수 있습니다. TCP/IP 기반의 NetBIOS 프로토콜을 사용하며 NFS, NIS와 같은 유닉스의 분산 인증 구조와 유사합니다.

 

 

 

AFP 프로토콜

 

 

Apple Filing Protocol(AFP)는 SMB의 macOS 버전이라고 생각할 수 있습니다. 맥에서는 파일을 전송할 때 AFP라는 프로토콜을 이용해 전송합니다. 최근의 맥은 SMB, AFP, NFS, FTP, WebDAV 모두를 지원하고 있습니다. 맥의 FInder를 킨 뒤 cmd + K 혹은 이동 -> 서버에 연결을 클릭해 AFP://HOST 같은 형식으로 접속할 수 있습니다.

 

 

 

NFS 프로토콜

 

 

Network File System(NFS)는 리눅스에서 파일 입출력을 담당하는 프로토콜입니다. 파일 공유 프로토콜이라는 점에서는 SMB, AFP, NFS전부 비슷하지만 방식은 약간씩 다릅니다. mount -t nfs <HOST> :/ <SHARE> <DIR> 같은 형식으로 접속할 수 있습니다.

 

 

 

FTP와 TFTP 프로토콜

 

 

File Transfer Protocol(FTP)는 파일 업로드와 다운로드만을 위해 만들어진 프로토콜입니다. 업로드, 다운로드, 생성, 제거 등의 파일과 관련된 명령어만 수행합니다. 보통 외부망에서 연결해 파일을 주고받을 때 사용합니다.

 

Trivial File Transfer Protocol(TFTP)는 FTP와 마찬가지로 파일을 전송하기 위해 만들어진 프로토콜입니다. 하지만 FTP보다 더 단순한 방식으로 파일을 전송합니다. FTP와 달리 UDP 기반이며 로그인 절차와 파일 디렉터리 조회 없이 단순히 파일을 전송합니다.

 

 

 

RSync

 

 

Remote Sync(RSync)는 원격에 있는 파일과 디렉터리를 복사하고 동기화하기 위해 사용되는 툴이자 프로토콜입니다. 리눅스와 유닉스에서는 백업 용도로 널리 사용됩니다. 동기화 작업을 진행할 때 비교 작업을 수행해 동일한 부분은 그대로 둔 채 수정된 부분만 찾아서 옮겨주는 작업을 수행해 줍니다.

 

 

 

WebDAV

 

 

Web Distrbuted Authoring and Versioning(WebDAV)는 HTTP의 확장으로 HTTP를 이용해 파일 서비스가 가능하도록 해주는 프로토콜입니다. 웹 서버를 표준 네트워크 드라이브로 표시할 수 있게 되며 HTTP 포트를 이용해 파일 전송을 할 수 있습니다.

 

 

 

 

 

반응형

https://devblogs.microsoft.com/dotnet/introducing-net-5/

 

1. 현상

 

dotNet 5.0이 나왔습니다. 한번 써보려고 dotNet 5.0 SDK를 설치하고 VS2019를 업그레이드하고 16.8 이상의 버전을 확인 한 뒤 Solution을 만들고 빌드를 눌렀습니다만 저를 반기는 건 다음과 같은 에러였습니다.

 

컴퓨터에 Framework 어셈블리가 없습니다.

 

 

 

이게 대체 무슨 상황인가 하고 Solution 구성을 뒤져보니 종속성 항목이 좀 이상해 보이는 게 눈에 들어왔습니다.

 

무언가 잘못되었습니다. 좀 더 자세히 보려고 종속성 어셈블리 참조 리스트를 열어봤습니다.

 

슬슬 머리가 아파옵니다. 혹시 프로젝트의 프레임워크 설정이 잘못됐나 하고 프레임워크 설정으로 들어가 봅니다.

 

 

대상 프레임 워크가 없습니다. 여기부터 머리를 쥐어 잡고 해결책을 찾는 대장정이 시작되었습니다.

 

 

 

해결책 1 - SDK 재설치

 

가장 먼저 떠올릴 수 있는 해결책이었습니다. Microsoft 공식 홈페이지로 이동해 dotNet 5.0 SDK를 새로 다운로드하여 제거 후 다시 설치했습니다.

 

여기까지 하고 해결되신 분들은 축하합니다. 뭔가 설치가 잘못됬었나 보네요. 하지만 여기서 해결됐다면 대장정이란 말은 꺼내지도 않았을 겁니다. 제 에러는 여전했으니까요.

 

 

 

해결책 2 - 사용자 변수 확인

 

열심히 구글링을 하다가 저와 유사해 보이는 문제를 가진 분의 글을 찾았습니다: Target framework dropdown empty

 

Target framework dropdown empty

I have VS.NET 2010 Premium installed, but there seems to be an issue when trying to target existing .NET frameworks. When I open properties for a web application project, the only option I get is to

stackoverflow.com

제시된 해결 방법을 요약하면 "환경 변수의 TEMP와 TMP 경로를 같게 해 줘라"입니다. 후다닥 환경변수를 확인해보니 이미 TEMP와 TMP모두 "%USERPROFILE%\AppData\Local\Temp"로 동일했습니다.

 

또한 댓글로 남겨진 해결방법 중 하나인 "계정 이름에서 아포스트로피(Apostrophe, ')를 제거했더니 된다"라는 내용도 있었지만 제 계정명은 영문으로만 이뤄져 있었습니다. 

 

 

 

해결책 3 - global.json 설정

 

또다시 구글링을 하는 도중에 제 문제와 똑같은 문제를 겪은 분의 글을 찾았습니다:  .NET 5 cant be selected as Target Framework in VS2019, reference assemblies not found

 

.NET 5 cant be selected as Target Framework in VS2019, reference assemblies not found

I cant get Visual studio to use .NET 5. The following are my current configuration: Visual Studio Professional 2019 version: 16.7.6 .NET sdk: dotnet-sdk-5.0.100-preview.7.20366.6-win-x64 (see image...

stackoverflow.com

 

제시된 해결방법을 소개하자면 다음과 같습니다.

 

보기-> 터미널 혹은 Ctrl + `를 눌러 터미널을 열고 "dotnet new globaljson"을 입력합니다.

Solution의 루트 폴더로 이동해 global.json을 열어 버전을 추가합니다. 앞서 설치한 버전이 5.0.2 이므로 5.0.2를 추가합니다.

{
  "sdk": {
    "version": "2.2.207",
    "version": "5.0.2"
  }
}

 

그리고 VS2019를 재시작합니다. 해당 글쓴이는 이렇게 해결했지만 제 문제는 여전했습니다.

 

 

 

해결책 4 - 시스템 변수 확인

 

여기까지 해도 해결이 되지 않으신 분들은 저와 같은 현상으로 이번에는 해결하셨으면 좋겠습니다. 해결책 3을 시도하던 도중 이상한 것을 발견했습니다. 해결책 3에서 설명한 대로 터미널을 열고 dotnet 버전을 확인하기 위해 "dotnet --info"를 입력했습니다.

 

아무 생각 없이 넘어갔었는데 경로가 뭔가 이상했습니다. 해결책 1에서 dotNet 5.0을 재설치할 때 확인한 화면하고 뭔가 달랐습니다.

 

 

이제 원인이 명확해졌습니다. 왜 어째서인진 모르겠지만 dotnet 기본 경로가 "C:\Program Files (x86)\dotnet"로 잡혀있었습니다. 왜 이런가 해서 찾아보니 "사용자 변수의 Path"값은 "C:\Program Files\dotnet\"로, "시스템 변수"의 값은 "C:\Program Files (x86)\dotnet\"로 잡혀있는 상황을 확인했습니다.

 

 

시스템 변수를 수정하고 다시 터미널을 열고 dotnet 버전을 확인하기 위해 "dotnet --info"를 입력합니다.

 

그동안 해결하겠다며 삽질하면서 설치한 모든 SDK가 쭉 나오면서 경로가 제대로 잡힌 걸 확인할 수 있습니다. 이제 Solution을 새로 만들고 확인하니 모든 프레임워크가 정상적으로 동작하는 걸 확인할 수 있었습니다.

 

 

 

 

 

 

반응형

 

https://stackshare.io/posts/top-developer-tools-2020

목차

1. 2021/01/29 - [Programming] - 2020년도 개발자들의 최고의 툴(1/2)

2. [현재 글] 2020년도 개발자들의 최고의 툴(2/2)

 

 

StackShare Top Tools Awards 2020의 수상자

 

이어서 계속 알아보도록 합시다.

 

  • 2020년의 새로운 툴
  • 2020년의 분석 툴
  • 2020년의 애플리케이션 호스팅 툴
  • 2020년의 웹 서버
  • 2020년의 애플리케이션 유틸리티
  • 2020년의 자료 및 미디어 툴
  • 2020년의 업무 지원(Back Office) 툴
  • 2020년의 빌드, 테스트, 배포 툴
  • 2020년의 협업 툴
  • 2020년의 커뮤니테이션 툴
  • 2020년의 데이터 베이스
  • 2020년의 디자인 툴
  • 2020년의 프로그래밍 언어
  • 2020년의 프런트엔드 프레임워크
  • 2020년의 백엔드/풀 스택 프레임워크
  • 2020년의 모바일 언어
  • 2020년의 모니터링 툴
  • 2020년의 결제 툴
  • 2020년의 영업, 지원, 마케팅 툴

 

 

 

11. 2020년의 데이터 베이스

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. MySQL

데이터베이스

세계에서 가장 인기 있는 오픈 소스 데이터베이스.

 

 

 

#2. MongoDB

데이터베이스
거대한 아이디어를 위한 데이터베이스.

 

 

 

#3. PostgreSql

데이터베이스
강력한 오픈 소스 객체 관계형 데이터베이스 시스템.

 

 

 

#4. Redis

인메모리 데이터베이스

디스크에 유지되는 인메모리 데이터베이스.

 

 

 

#5. Amazon S3

클라우드 스토리지
웹 어디에서나 언제든지 원하는 양의 데이터 저장 및 검색.

 

 

 

 

 

 

12. 2020년의 디자인 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. InVision

인터랙티브 목업
디자인 팀을 위한 프로토타이핑 및 협업 툴

 

 

 

#2. Figma

그래픽 디자인
협업을 위한 인터페이스 디자인 도구.

 

 

 

#3. Adobe Photoshop

그래픽 디자인
디자인, 사진, 비디오 편집 등의 업계 표준.

 

 

 

#4. Adobe XD

그래픽 디자인
UX / UI 디자인 및 협업 도구입니다.

 

 

 

#5. Sketch

그래픽 디자인
Mac 용 전문 디지털 디자인 툴입니다.

 

 

 

 

 

 

13. 2020년의 프로그래밍 언어

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. JavaScript

언어
일류 기능을 갖춘 경량, 해석된(interpreted) 객체 지향 언어.

 

 

 

#2. Python

언어
Perl, Ruby, Scheme, Java에 필적하는 명확하고 강력한 객체 지향 프로그래밍 언어입니다.

 

 

 

#3. Node.js

프레임 워크 (풀 스택)
확장 가능한 네트워크 애플리케이션을 쉽고 빠르게 구축하기 위해 Chrome의 JavaScript 런타임에 구축된 플랫폼.

 

 

#4. TypeScript

템플릿 언어 &확장
깨끗한 JavaScript 출력을 위해 컴파일되는 JavaScript의 상위 집합.

 

 

 

#5. Java

언어
가능한 한 적은 구현 종속성을 갖도록 특별히 설계된 동시성을 지원하는 클래스 기반의 객체 지향 언어.

 

 

 

 

 

14. 2020년의 프런트엔드 프레임워크

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. React

자바 스크립트 UI 라이브러리
사용자 인터페이스 구축을 위한 JavaScript 라이브러리.

 

 

 

#2. Vue.js

자바 스크립트 MVC 프레임 워크
사용자 인터페이스 구축을 위한 진보적인 프레임 워크.

 

 

 

#3. jQuery

자바 스크립트 UI 라이브러리
적은 코드로 더 많은 작업이 가능한 JavaScript 라이브러리.

 

 

 

#4. Redux

상태 관리 라이브러리
JavaScript 앱을 위한 예측 가능한 상태(state) 컨테이너.

 

 

 

#5. jQuery UI

자바 스크립트 UI 라이브러리
jQuery JavaScript 라이브러리 위에 구축된 선별된 사용자 인터페이스. 상호 작용, 효과, 위젯, 테마 세트가 포함되어 있습니다.

 

 

 

 

 

15. 2020년의 백엔드/풀 스택 프레임워크

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Django

풀 스택 프레임워크

마감 기한을 지켜야 하는 완벽 주의자들을 위한 웹 프레임 워크.

 

 

 

#2. Spring Boot

풀 스택 프레임워크

최소한의 번거로움으로 Spring 기반의 프로덕션급 애플리케이션과 서비스를 만드세요.

 

 

 

#3. Laravel

풀 스택 프레임워크

웹 장인을 위한 PHP 프레임 워크.

 

 

 

#4. Rails

풀 스택 프레임워크

아프지 않은 웹 개발을 경험하세요.

 

 

 

#5. Synfony

풀 스택 프레임워크

PHP 풀 스택 웹 프레임 워크.

 

 

 

 

 

 

16. 2020년의 모바일 언어

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. React Native

크로스 플랫폼 모바일 개발
React로 네이티브 앱을 빌드하기 위한 프레임 워크.

 

 

 

#2. Android SDK

풀 스택 프레임워크

Android용 앱을 빌드, 테스트, 디버그 하는데 필요한 API 라이브러리와 개발자 도구를 제공하는 SDK입니다.

 

 

#3. Swift

언어

Cocoa 및 Cocoa Touch를 위한 혁신적인 새 프로그래밍 언어입니다.

 

 

 

#4. Flutter

크로스 플랫폼 모바일 개발
Google의 크로스 플랫폼 모바일 프레임 워크.

 

 

 

#5. Kotlin

언어
JVM 및 JavaScript를 대상으로 하는 정적으로 형식화된 프로그래밍 언어

 

 

 

 

 

 

17. 2020년의 모니터링 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Kibana

모니터링 도구
데이터 탐색 및 시각화 지원.

 

 

 

#2. Grafana

모니터링 도구
오픈 소스 Graphite & InfluxDB 대시 보드와 그래프 편집기 제공.

 

 

 

#3. Logstash

로그 관리
데이터 수집, 구문 분석, 가치 창조.

 

 

 

#4. Amazon CloudWatch

클라우드 모니터링
애플리케이션과 서비스에서 생성된 AWS 리소스와 사용자 지정 수치들을 모니터링하는 기능 제공.

 

 

#5. Sentry

예외 모니터링
성능 문제를 확인하고 오류를 더 빠르게 수정하며 코드 상태를 최적화합니다.

 

 

 

 

 

 

18. 2020년의 결제 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. PayPal

결제 서비스
송금, 온라인 결제, 판매자 계정 설정 지원.

 

 

 

#2. Stripe

결제 서비스
개발자를 위한 결제 서비스.

 

 

 

#3. Braintree

결제 서비스
여러분의 앱이나 웹사이트에서 지금 바로 결제를 도입하세요.

 

 

 

#4. Blockchain

비트 코인 서비스
웹 사이트에서 비트 코인을 주고받는 매우 쉬운 방법.

 

 

#5. Adyen

결제 서비스
하나의 통합으로 기업은 사람들이 결제하는 곳에서 250가지의 지불 방법을 수락할 수 있습니다.

 

 

 

 

 

 

 

19. 2020년의 영업, 지원, 마케팅 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. WordPress

셀프 호스팅 블로깅 / CMS
아름다움, 웹 표준  유용성에 중점을 둔 시멘틱(sementic) 개인 게시 플랫폼입니다.

 

 

 

#2. Mailchimp

이메일 마케팅
간편한 이메일 뉴스 레터.

 

 

 

#4. HubSpot

마케팅 자동화
인바운드 마케팅을 수행하는데 필요한 모든 소프트웨어를 제공합니다.

 

 

 

#5. Zendesk

안내 데스크
최고의 클라우드 기반 고객 서비스 소프트웨어.

 

 

 

 

 

맺는 글

 

우리가 매년 말했듯이 이러한 순위는 여러분들이 제공합니다. StackShare 커뮤니티는 사용 중인 스택뿐 아니라 스택을 선택한 이유를 공유함으로써 이와 같은 시상식을 가능하게 합니다. 올해 우리는 가장 흥미로운 협업 기능인 Stack Advice를 출시했습니다. 이는 특정 기술 스택 결정에 대한 조언을 쉽게 얻고 제공할 수 있는 방법입니다. Stack Advice는 성장하는 50만 명 이상의 개발자 커뮤니티와 연결하여 중요한 기술 결정을 내리는 데 도움을 받을 수 있는 새로운 방법입니다.

그래서 올해의 시상식에서 우리는 필요한 모든 종류의 중요한 기술 스택 결정에 대해 동료 개발자들에게 조언을 제공하기로 선택한 커뮤니티 회원을 인정하고 싶었습니다.  6개월 만에 여러분과 나머지 커뮤니티가 Stack Advice를 통해 3,000개가 넘는 토론에 참여했습니다.

이 모든 멋진 스택에 조언을 제공하는 데 중요한 방법으로 기여한 수천 명의 개발자가 있지만, 아래 15 명은 누군가를 돕기 위해 기꺼이 시간을 많이 들였고 특별히 인정받을 자격이 있습니다.

조언을 구 해주신 모든 분들과 추천을 해주신 모든 분들께 감사드립니다! 아래에서 각 개발자의 링크를 클릭하면 그들이 공유 한 모든 결정과 조언을 볼 수 있습니다!

 

그림을 클릭하면 페이지로 이동합니다.

 

 

 

원문 보기: The Top 100+ Developer Tools 2020

 

🏆 The Top 100 Developer Tools of 2020 | StackShare

We'd be lying if we said this one wasn't a surprise to us. The fact that everyone went into lockdown across the globe due to COVID-19, meant that remote work tools were hot in 2020 🔥 We saw a massive uptick in traffic to Stackups (comparisons) for Zoom,

stackshare.io

 

 

반응형

https://stackshare.io/posts/top-developer-tools-2020

목차

 

1. [현재 글] 2020년도 개발자들의 최고의 툴(1/2)

2. 2021/01/29 - [Programming] - 2020년도 개발자들의 최고의 툴(2/2)

 

 

 

앞선 글

 

제7회 StackShare 시상식에 오신 것을 환영합니다!

 

올해 우리는 StackShare 커뮤니티에 공유된 8백만 개 이상의 데이터 포인트를 분석하여 이러한 순위를 제공하게 되었습니다. StackShare Awards를 처음 본다면 편하게 잠시만 기다려 주세요.

그리고 이제 여러분 모두가 기다리셨던 것... StackShare Top Tools Awards 2020의 수상자를 위한 카테고리입니다.

 

StackShare Top Tools Awards 2020의 수상자

 

  • 2020년의 새로운 툴
  • 2020년의 분석 툴
  • 2020년의 애플리케이션 호스팅 툴
  • 2020년의 웹 서버
  • 2020년의 애플리케이션 유틸리티
  • 2020년의 자료 및 미디어 툴
  • 2020년의 업무 지원(Back Office) 툴
  • 2020년의 빌드, 테스트, 배포 툴
  • 2020년의 협업 툴
  • 2020년의 커뮤니테이션 툴
  • 2020년의 데이터 베이스
  • 2020년의 디자인 툴
  • 2020년의 프로그래밍 언어
  • 2020년의 프런트엔드 프레임워크
  • 2020년의 백엔드/풀 스택 프레임워크
  • 2020년의 모바일 언어
  • 2020년의 모니터링 툴
  • 2020년의 결제 툴
  • 2020년의 영업, 지원, 마케팅 툴

 

언제나 그렇듯이 이 시상식이 매년 가장 큰 일입니다. 우리는 방대한 데이터들을 살펴보고 여러분이 알고 있거나 시험해 보거나 이미 사용하고 있어야 하는 최고의 도구인 좋은 도구들을 찾습니다. 30만 개 이상의 기술 스택, 320만 개 이상의 팔로우, 수백만 개 이상의 개발자 댓글과 리뷰 그리고 투표에서 사용량을 집계했습니다. 자 이제 확인해 보도록 합시다.

 

 

 

1. 2020년의 새로운 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Simple

 

https://stackshare.io/posts/top-developer-tools-2020

 

이 결과가 놀랍지 않았다고 말한다면 그건 거짓말일 겁니다. COVID-19로 인해 전 세계의 모든 사람들이 격리되었다는 사실은 2020년에 원격 작업 툴이 인기가 많았음을 의미합니다. 사람들이 재택근무를 더 쉽게 하기 위해 연구한 툴입니다. 그러나 이 모든 것들 가운데 스웨덴의 디자이너이자 Simple 제작자인 Rasmus Myhrberg 덕분에 2020년은 실제로 프리랜서의 해가 될 수 있었습니다. 

 

다행히도 전 세계의 소프트웨어 개발자와 엔지니어들은 격리 기간 동안에도 작업을 계속할 수 있었으며 많은 사람들이 더 많은 일을 하게 되었습니다. 모든 사람들이 사무실 밖에서 일하는 상황에서 작업 시간을 추적할 수 있는 도구가 1위라는 사실은 놀랄 일이 아닙니다. Simple은 말 그대로 작업 시간을 추적하는 아주 간단한 툴이며 작업에 얼마나 오랜 시간이 걸렸는지 확인할 수 있습니다. 모바일, 데스크톱, 태블릿 등 모든 기기에서 실시간으로 동기화됩니다. 모든 흥미로운 점들이 무엇인지 알고 싶다면 한번 사용해 보세요. 자세한 내용은 Simple 웹 사이트를 참고해 주시기 바랍니다.

 

 

#2. Better Uptime

웹사이트 모니터링.

사이트가 다운되었을 때 팀에서 적합한 사람을 호출합니다.

 

 

 

#3. Playwright

브라우저 테스팅.

Microsoft에서 제공하는 단일 API로 Chromium, Firefox 및 WebKit을 자동화하는 노드 라이브러리.

 

 

#4. Jami

웹 및 화상 회의.

GNU end-to-end 암호화 지원. Zoom, Jitsi의 대안.

 

 

 

#5. Gappsy

코드 없는 플랫폼.

드래그&드롭으로 더 빨리 코드 없이 모바일 앱을 만들 수 있게 해 줌.

 

 

 

 

 

2. 2020년의 분석 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Google Analytics

일반적인 분석.

엔터프라이즈급의 웹 분석 제공.

 

 

#2. Maxpanel

퍼널 분석(Funnel Analysis)

사용자들을 참여, 유지시키는데 도움을 주는 강력한 셀프서비스 분석 제품.

 

 

#3. Segment

분석 통합.

스위치 하나로 데이터를 수집, 변경, 전송할 수 있는 단일 허브.

 

 

#4. Optimizely

A/B 테스트 분석.

기능 플래그 및 개인화가 있는 마케팅, 제품, 엔지니어링 팀을 위한 실험 플랫폼.

 

 

#5. Amplitude

모바일 분석.

폭발적인 사용자 증가을 위한 사용자 분석.

 

 

 

 

 

3. 2020년의 애플리케이션 호스팅 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1: Amazon EC2

클라우드 호스팅.
클라우드에서 확장 가능한 컴퓨팅 사용량에 따른 종량제.

 

 

# 2 : Firebase

실시간 백엔드 / API.
실시간 앱 플랫폼.

 

 

# 3 : Heroku

서비스로서의 플랫폼(Platform as a Service)
놀라운 개발자 경험을 통해 웹 앱과 API를 빌드, 제공, 모니터링, 확장할 수 있음.

 

 

# 4 : AWS Lambda

서버리스 / 작업 처리.
Amazon S3 버킷의 객체 수정, Kinesis 스트림의 메시지 또는 DynamoDB의 업데이트에 대한 응답으로 코드를 자동으로 실행시켜 줌.

 

# 5 : Microsoft Azure

클라우드 호스팅
컴퓨팅, 데이터베이스, 분석, 모바일, 웹 시나리오를 지원하는 통합 클라우드 서비스 및 인프라.

 

 

 

 

 

4. 2020년의 웹 서버

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. NGINX

웹 서버.
인터넷에서 가장 바쁜 사이트를 지원하는 고성능 무료 오픈 소스 웹 서버.

 

 

#2. Apache HTTP 서버

웹 서버
1996년 4월 이후 인터넷에서 가장 인기 있는 웹 서버.

 

 

#3. Apache Tomcat

웹 서버
Java Servlet, JavaServer Pages 기술의 오픈 소스 소프트웨어 구현.

 

 

#4. Microsoft IIS

웹 서버
Microsoft Windows용 웹 서버.

 

 

#5. Gunicorn

웹 서버
UNIX 용 Python WSGI HTTP 서버.

 

 

 

 

 

5. 2020년의 애플리케이션 유틸리티

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Postman

API 도구.

완전한 API 개발 환경만 제공.

 

 

#2. Elasticsearch

서비스로서의 검색(Search as a Service)

오픈 소스, 분산, RESTful 검색 엔진.

 

 

#3. Google Maps

맵핑 API

나만의 콘텐츠와 이미지를 사용해 고도로 커스터마이즈 가능한 지도를 만드세요.

 

 

#4. GitHub Pages

정적 웹 호스팅.

공개 웹 페이지를 자유롭게 호스팅하고 쉽게 게시할 수 있습니다.

 

 

#5. Amazon Route 53

DNS 관리
가용성과 확장 성이 뛰어난 DNS (Domain Name System) 웹 서비스입니다.

 

 

 

 

 

6. 2020년의 자료 및 미디어 툴.

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Google Drive

파일 스토리지.

여러분의 모든 파일을 안전하게 보관합니다.

 

#2. CloudFlare

콘텐츠 전달 네트워크.

웹 성능 및 보안 회사.

 

 

#3. Dropbox

파일 스토리지.

Dropbox의 강력한 기능을 여러분의 앱에 구축할 수 있습니다.

 

 

#4. Amazon CloudFront

콘텐츠 전달 네트워크.

짧은 지연 시간과 빠른 데이터 전송 속도로 콘텐츠를 제공합니다.

 

 

#5. Fastly

콘텐츠 전달 네트워크.
콘텐츠 제공을 새로 정의하는 서비스.

 

 

 

 

 

7. 2020년의 업무지원(Back Office) 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Gmail

이메일 서비스

무료 웹 기반 이메일 서비스.

 

#2. Google Sheets

온라인 스프레드 시트
온라인에서 무료로 스프레드 시트 작성 및 편집

 

 

#3. Microsoft Excel

온라인 스프레드 시트
Microsoft Office 응용 프로그램 제품군에 포함된 스프레드 시트 프로그램

 

#4. Xero

회계
아름다운 회계 소프트웨어.

 

 

#5. QuickBooks

회계
비용 추적, 청구서 사용자 정의, 보고서 실행 등을 모두 한 곳에서 가능하게 하는 프로그램.

 

 

 

 

 

8. 2020년의 빌드, 테스트, 배포 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. GitHub

코드 협업 및 버전 관리.
오픈 소스 및 개인 개발 프로젝트를 위한 강력한 협업, 검토 및 코드 관리 툴.

 

 

#2. Docker

가상 머신 플랫폼 및 컨테이너.
빠른 혁신을 위한 엔터프라이즈 컨테이너 플랫폼.

 

 

#3. Visual Studio Code

텍스트 에디터.
Microsoft에서 제공하는 최신 웹 및 클라우드 애플리케이션 빌드, 디버그가 가능한 텍스트 에디터.

 

#4. NPM

프런트엔드 패키지 관리자.
JavaScript 용 패키지 관리자.

 

 

#5. Jenkins

지속적인 통합.
확장 가능한 오픈 소스 지속적 통합 서버.

 

 

 

 

 

9. 2020년의 협업 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Slack

그룹 채팅 및 알림.
여러분의 모든 커뮤니케이션을 한 곳에서 할 수 있습니다.

 

 

#2. Jira

이슈 추적.
애자일 팀이 훌륭한 소프트웨어를 계획, 추적, 출시하는 데 사용할 수 있는 최고의 소프트웨어 개발 도구입니다.

 

#3. Trello

프로젝트 관리.
한눈에 전체 프로젝트를 관리하세요.

 

 

#4. Confluence

프로젝트 관리.
한 곳에서 정보를 공유하고 찾고 협업할 수 있습니다.

 

 

#5. G Suite

생산성 제품군
비즈니스 용 협업 및 생산성 앱을 제공합니다.

 

 

 

 

 

10. 2020년의 커뮤니테이션 툴

 

https://stackshare.io/posts/top-developer-tools-2020

 

#1. Twilio

음성 및 SMS
웹 및 모바일 애플리케이션에 음성 및 메시징을 제공합니다.

 

 

#2. Amazon SES

트랜잭션 이메일
대량 트랜잭션 이메일 전송 서비스.

 

#3. Twilio SendGrid

트랜잭션 이메일
손쉬운 이메일 전송.

 

 

#4. Mailgun

트랜잭션 이메일.

개발자를 위한 이메일 서비스.

 

 

#5. Mandrill

트랜잭션 이메일.

트랜잭션, 트리거, 개인화된 이메일을 보낸 다음 결과를 추적합니다.

 

 

 

 

 

다음 글: 2021/01/29 - [Programming] - 2020년도 개발자들의 최고의 툴(2/2)

 

2020년도 개발자들의 최고의 툴(2/2)

목차 1. 2021/01/29 - [Programming] - 2020년도 개발자들의 최고의 툴(1/2) 2. [현재 글] 2020년도 개발자들의 최고의 툴(2/2) StackShare Top Tools Awards 2020의 수상자 이어서 계속 알아보도록 합시다. 2020..

smoh.tistory.com

 

 

 

원문 보기: The Top 100+ Developer Tools 2020

 

🏆 The Top 100 Developer Tools of 2020 | StackShare

We'd be lying if we said this one wasn't a surprise to us. The fact that everyone went into lockdown across the globe due to COVID-19, meant that remote work tools were hot in 2020 🔥 We saw a massive uptick in traffic to Stackups (comparisons) for Zoom,

stackshare.io

 

 

 

 

 

반응형

 

1. 현상

 

한 솔루션에서 S3 지원 업그레이드 소스를 작성하고 다른 솔루션에 적용하기 위해 소스코드를 그대로 가져와 컴파일하는 도중에 Aws::MakeShared에서 "std::shared_ptr<Aws::FStream>"에서 "std::shared_ptr<Aws::IOStream>"으로의 사용자 정의 변환이 적절하지 않습니다. 라는 이상한 에러가 발생합니다.

 

std::shared_ptr<Aws::IOStream> input_data = Aws::MakeShared<Aws::FStream>("SampleAllocationTag", objectName.c_str(), std::ios_base::in | std::ios_base::binary);

 

 

 

 

2. 원인 및 수정.

 

소스코드를 제대로 보지 않고 필요한 헤더만 찾아서 코딩해 발생한 에러였습니다.

 

github.com/aws/aws-sdk-cpp/issues/1168

 

Compilation errors for file upload via S3Client PutObject in C++ on Mac · Issue #1168 · aws/aws-sdk-cpp

What platform/OS are you using? Darwin 17.7.0 Darwin Kernel Version 17.7.0: Wed Apr 24 21:17:24 PDT 2019; root:xnu-4570.71.45~1/RELEASE_X86_64 x86_64 Which version of the SDK? master branch of aws-...

github.com

 

위의 이슈를 제기한 분도 저랑 동일한 실수를 저질렀나 봅니다. 다시 한번 AWS의 예시 코드를 확인했습니다. 

 

Upload an Object

 

Operations on Objects - AWS SDK for C++

Operations on Objects An Amazon S3 object represents a file, which is a collection of data. Every object must reside within a bucket. These code snippets assume that you understand the material in Getting Started Using the AWS SDK for C++ and have configur

docs.aws.amazon.com

 

#include <iostream>
#include <fstream>
#include <sys/stat.h>
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/PutObjectRequest.h>
#include <awsdoc/s3/s3_examples.h>

bool AwsDoc::S3::PutObject(const Aws::String& bucketName, 
    const Aws::String& objectName,
    const Aws::String& region)
{
    // Verify that the file exists.
    struct stat buffer;

    if (stat(objectName.c_str(), &buffer) == -1)
    {
        std::cout << "Error: PutObject: File '" <<
            objectName << "' does not exist." << std::endl;

        return false;
    }

    Aws::Client::ClientConfiguration config;

    if (!region.empty())
    {
        config.region = region;
    }

    Aws::S3::S3Client s3_client(config);
    
    Aws::S3::Model::PutObjectRequest request;
    request.SetBucket(bucketName);
    request.SetKey(objectName);

    std::shared_ptr<Aws::IOStream> input_data = 
        Aws::MakeShared<Aws::FStream>("SampleAllocationTag", 
            objectName.c_str(), 
            std::ios_base::in | std::ios_base::binary);

    request.SetBody(input_data);

    Aws::S3::Model::PutObjectOutcome outcome = 
        s3_client.PutObject(request);

    if (outcome.IsSuccess()) {

        std::cout << "Added object '" << objectName << "' to bucket '"
            << bucketName << "'.";
        return true;
    }
    else 
    {
        std::cout << "Error: PutObject: " << 
            outcome.GetError().GetMessage() << std::endl;
       
        return false;
    }
}

 

코드만 보지말고 위의 include를 잘 보면 "include <fstream>"이 존재합니다. fstream을 include 해주면 문제없이 잘 컴파일됩니다.

 

 

 

 

 

반응형

 

 

오류

 

위치한 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT의 예외: 0x80131040)

 

 

 

현상

 

VC100을 VC141로 업그레이드하는 도중에 발생했습니다. 실행은 되지만 해당 함수에서 false를 반환하고 해당 기능이 동작하지 않는 현상이 있습니다. 그냥 죽었으면 바로 알았을 텐데 출력 로그에만 찍히고 프로그램의 다른 기능은 잘 돌아서 놓치고 있던 문제였습니다.

 

출력 로그를 확인해보니 다음과 같은 에러 메시지가 확인됩니다.

 

[Exception] : SendErrorMessage - 파일이나 어셈블리 'Newtonsoft.Json
, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 찾은 어셈블리의 매니페스트 정의와 어셈블리 참조가 일치하지 않습니다. (예외가 발생한 HRESULT: 0x80131040)

 

 

원인

 

MSDN의 다음 글을 확인해 봅시다: The located assembly's manifest definition doesn't match the assembly reference

 

Assembly Manifest doesn't match reference - .NET Framework

This article describes a problem that cdf-ms files may be deleted when the Framework 3.5 Service pack 1 is installed and the ClickOnce store is used for the first time, and provides a resolution.

docs.microsoft.com

 

해당 문서는 .Net에 관련된 문서지만 예외 코드가 같으니 그냥 봅니다. 중간에 원인으로 다음과 같이 설명하고 있습니다.

 

When Microsoft .NET Framework 3.5 Service pack 1 is installed and the ClickOnce store is used for the first time, cdf-ms files may be deleted. This can also be caused by deleting the registry key HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\ClickOnce35SP1Update. The missing cdf-ms files will cause ClickOnce to wrongly share strong named assembly with the same version but different file hash.

 

문제가 생기는 dll의 버전을 확인해 봅시다.

 

 

라이브러리에 사용된 dll의 버전과 응용 프로그램에서 사용하려고 하는 dll의 버전이 달라 발생하는 문제였습니다. 해당 버전 불일치 문제를 수정해주면 정상 동작하는것을 확인할 수 있습니다.

 

 

 

 

 

반응형

본 글은 다음 글을 번역한 글입니다: The 2021 Web Development (Frontend + Backend) RoadMap

 

The 2021 Web Development (Frontend + Backend) RoadMap

An illustrated guide to becoming a Web Developer with links to relevant courses

dev.to

 

 

 

https://medium.com/@digitalact/2020-front-end-web-developer-road-map-ed3fcdec1c14

 

목차

 

  1. 2021/01/15 - [Programming] - 2021년 웹 개발 로드 맵 - 모든 개발자가 배워야 할 8가지.
  2. 2021/01/15 - [Programming] - 2021년 웹 개발 로드 맵 - 프런트엔드
  3. [현재 글] 2021년 웹 개발 로드 맵 - 백엔드

 

 

 

2021 백엔드 개발자 로드맵

 

2021년에 백엔드 개발자가 되고 싶다면 다음의 백엔드 개발자 로드맵을 따를 수 있습니다. 다시 말하지만 강조된 노란 박스의 핵심 기술들로부터 시작하고 거기서 성장해 나갈 수 있습니다. 

 

로드맵 아래에는 학습에 도움이 되는 몇 가지 보충 자료와 강의, 책의 링크가 있습니다. 유료 강의를 구입한다면 할인을 받을 수도 있습니다.

 

https://github.com/kamranahmedse/developer-roadmap/blob/master/img/backend.png?year-2021-2

 

1. Node.js

 

 

자바와 스프링 또는 파이썬과 장고를 사용하는 것처럼 웹 애플리케이션의 백엔드를 개발하기 위한 많은 선택사항이 있지만 최근에는 Node.js가 선호되는 옵션으로 등장했습니다.

 

NodeJS의 가장 좋은 점은 단 하나의 프로그래밍 언어인 자바스크립트를 사용해 완전한 웹 애플리케이션을 개발할 수 있다는 것입니다.

 

만약 Node 루트로 가고 싶다면 Rob Percival과 Andrew Mead의 "The Complete Node.js Developer course"부터 시작하는 것이 좋습니다.

 

 

2. 자바

 

 

저는 주로 웹 개발 및 기다 프로그래밍 언어를 배운 자바 개발자이므로 백엔드 개발과 관련하여 선호하는 선택은 자바입니다 Core Java 또는 Jaba + Spring Boot를 사용하여 최첨단 고성능 백엔드를 만들 수 있습니다. 자바와 스프링 루트로 가고 싶다면 참여할 수 있는 몇 가지 강의가 있습니다.

  1. The Complete Java Masterclass
  2. Spring Framework 5: Beginner to Guru

 

 

3. 파이썬

 

 

파이썬은 강력한 프레임 워크와 라이브러리로 가득 찬 또 다른 멋진 언어입니다. 파이썬을 사용하여 백엔드를 개발하여는 경우 파이썬 프로그래머를 위한 풀 스택 웹 개발 프레임워크인 장고를 사용할 수 있습니다. 파이썬을 시작하기 위한 파이썬과 장고를 배울 수 있는 몇 가지 강의가 있습니다:

  1. The Complete Python Bootcamp
  2. Python and Django Full Statck Web Developer Bootcamp.

 

 

4. 루비

 

 

루비는 웹 개발에 완벽한 또 다른 강력한 언어입니다. 웹 애플리케이션을 정말 쉽고 빠르게 만들 수 있는 Rails라는 훌륭한 프레임워크가 있습니다. 루비로 시작하고 싶다면 Udemy의 "The Complete Ruby on Rails Developer Course"를 확인하세요.

 

최고의 리소스 중 하나이며 만약 더 많은 선택이 필요하고 무료 리소스를 통해 배우는 것을 꺼리지 않는다면 무료 루비 및 Rails 강좌를 살펴볼 수 있습니다.

 

 

5. PHP와 MySQL

 

 

사람들이 PHP에 대해 부정적인 말을 하는 것은 잊어버리세요. 여전히 서버 측 코드를 작성하는 가장 쉬운 방법이며 인터넷 상의 거의 50%가 PHP와 MySQL 스택에서 실행됩니다.

 

PHP 학습에 관심이 있는 경우 Udemy에서 초보자를 위한 PHP를 위한 강의를 확인할 수 있습니다. 더 많은 선택 사항과 무료 리소스가 필요한 경우 시작할 수 있는 무료 PHP와 MySQL 코스 목록을 확인할 수도 있습니다.

 

 

이것이 2021년에 웹 개발자를 시작하는 방법에 대한 모든 것입니다. 이 자료는 항상 원했던 웹 개발자가 되기 위한 몇 가지 경로를 강조하기 때문에 웹 개발자를 시작하기에 좋은 리소스입니다.

 

하지만 어딘가에 막혀있고 혼동이 있는 경우 언제든지 여기에 질문할 수 있으며 가능한 한 최선을 다해 답변해 드릴 것입니다. 

 

프로그래밍 세계가 처음이라면 이 로드맵과 많은 기술이 당신을 겁나게 만들지 마세요. 이는 지침일 뿐이며 웹 개발을 배우고 웹 개발자가 되기 위해 다른 루트를 선택할 수도 있습니다. 여러분은 원하는 경로를 선택하고 그에 충실하면 됩니다.

 

 

 

맺는말

 

지금까지 이 글을 읽어 주셔서 감사합니다. 배워야 할 것이 너무 많고 참여할 강의가 너무 많다고 생각할 수도 있지만 걱정할 필요는 없습니다. 대부분의 내용은 이미 알고 있을 가능성이 높으며 사용할 수 있는 유용한 무료 리소스도 많이 있습니다. 여기저기서 모든 것이 무료는 아니지만 그만큼 가치가 있는 최고의 리소스와 함께 연결해 두었습니다.

 

저는 Udemy 강좌의 특별한 팬입니다. 강좌를 구입하면 돈을 받는 것 때문이 아니라 매우 저렴하고 아주 적은 금액으로 많은 가치를 제공해 주는 강좌를 원하는 대로 자유롭게 선택할 수 있기 때문입니다.

 

하루하루 끝날 때마다 여기에 언급된 내용에 대하여 충분한 지식과 경험을 쌓아야 합니다. 웹 개발 여정에 행운을 빕니다. 확실히 쉽지는 않겠지만 이 로드맵과 가이드를 따르면 웹 개발자가 되는데 한걸음 더 가까워질 겁니다.

 

웹 개발 여정에 최선을 다하고 멋진 콘텐츠를 제작 한 Kamran Ahmed에게 큰 감사를 드립니다.

 

 

 

 

 

반응형

본 글은 다음 글을 번역한 글입니다: The 2021 Web Development (Frontend + Backend) RoadMap

 

The 2021 Web Development (Frontend + Backend) RoadMap

An illustrated guide to becoming a Web Developer with links to relevant courses

dev.to

 

 

 

https://medium.com/@digitalact/2020-front-end-web-developer-road-map-ed3fcdec1c14

 

목차

 

  1. 2021/01/15 - [Programming] - 2021년 웹 개발 로드 맵 - 모든 개발자가 배워야 할 8가지.
  2. [현재 글] 2021년 웹 개발 로드 맵 - 프런트엔드
  3. 2021/01/15 - [Programming] - 2021년 웹 개발 로드 맵 - 백엔드

 

 

 

2021 프런트엔드 개발자 로드맵

 

2021년에 프런트엔드 개발자가 되고 싶다면 아래 프런트 엔드 개발자 로드맵을 따르는 게 좋습니다. 여기서 배우고 따라야 할 중요사항은 노란색 상자에 강조되어 있으며 이 상자에 집중하는 것이 좋습니다. 로드맵 아래에는 학습에 도움되는 책과 코스 같은 추가 리소스가 있습니다.

 

https://github.com/kamranahmedse/developer-roadmap/blob/master/img/frontend.png?year-2021-2

 

1. 웹 개발 기초.

 

웹 개발자가 되고 싶다면 인터넷, 웹 애플리케이션, HTTP와 같은 프로토콜 및 웹 개발 전반에 대한 기본 사항을 알아야 합니다. 고맙게도 이것들 뿐 아니라 그 이상을 배울 수 있는 수많은 강의들이 있습니다.

 

웹 개발을 배우고 싶은 모든 프로그래머들에게 다음 리소스를 권장합니다.

  1. The Web Developer Bootcamp by Colt Steel
  2. The 2021 Complete Web Developer Bootcamp by Angela Yu
  3. The Advanced Web Developer Bootcamp

 

 

2. HTML과 CSS

 

 

HTML과 CSS는 모든 웹사이트의 중심입니다. HTML은 구조를 제공하고 CSS를 스타일을 제공해 시각적으로 더 멋지게 보이도록 도와줍니다. 진정한 프런트엔드 개발자가 되고 싶다면 이 두 가지를 마스터해야 합니다. 이 두 가지를 시작하려면 이 무료 HTML과 CSS 강의를 확인해 온라인으로 배울 수 있습니다.

 

 

3. 자바스크립트

 

 

객체 지향 프로그래밍에서 추상화, 캡슐화, 다형성, 상속의 네 개의 기둥이 있는 것처럼 웹 개발에는 HTML, CSS, 자바스크립트라는 세 개의 주요 기둥이 있습니다.

 

처음 두 개는 구조와 스타일을 제공하지만 상호 작용을 추가해 생생하게 만드는 것은 자바스크립트입니다. 요즘의 자바 개발자가 자바 스크립트를 배우는 것은 매우 중요하며 고맙게도 초급 자바스크립트와 고급 자바 스크립트를 모두 배울 수 있는 많은 강의가 존재합니다. 다음 몇 가지 권장사항이 있습니다.

  1. The Complete JavaScript Cource 2021
  2. A Beginer's Guide to Advanced JavaScript and ES6

 

 

4. 타입 스크립트

 

 

C와 C++가 있는 것처럼 타입 스크립트는 C++ 만큼 인기가 많지 않지만 자바 스크립트++로 여겨질 수 있습니다. 타입 스크립트의 좋은 부분은 자바스크립트 코드에 타입 안정성을 추가해 개발 단계에 불쾌한 자바스크립트 타입 관련 오류를 확인할 수 있다는 것입니다.

 

또한 자바스크립트용 객체 지향 코드를 쉽게 개발할 수 있습니다. 타입 스크립트를 배우고 싶다면 "Understanding TypeScript"는 시작하기 좋은 강의입니다. 더 많은 선택 사항이나 무료 강의가 필요한 경우 시작할 수 있는 또 다른 무료 타입 스크립트 강의가 더 있습니다.

 

 

5. 앵귤러

 

 

사람들이 일반적인 HTML, CSS, 자바스크립트를 사용해 웹사이트를 구축하던 시대는 지났습니다. 요즘 대부분의 작업은 앵귤러, 리액트, 뷰 js와 같은 프레임워크에서 수행됩니다. 코드를 저장하기 위한 구조를 제공해 줄 뿐 아니라 웹 애플리케이션을 빠른 시간 내 쉽게 개발할 수 있습니다. 

 

앵귤러는 구글에서 지원하므로 앵귤러를 배우는 것은 모든 최산 웨 개발자에게 좋은 선택입니다. 앵귤러를 배우고 싶다면 Max의 "Angular - The Complete Guide"보다 좋은 과정은 없을 겁니다.

 

 

6. 리액트 

 

앵귤러와 마찬가지로 리액트는 웹 애플리케이션 개발에 널리 사용되는 라이브러리입니다. 재사용 가능한 컴포넌트를 작성하여 현대적인 인터랙티브 웹 페이지를 만드는 데 사용됩니다.

 

앵귤러가 구글에서 지원하는 것처럼 리액트는 페이스북에서 지원하므로 유명합니다. 리액트를 배우고 싶다면 Stepgen Grider의 "Modern React with Redux" 또는 Max의 "React - The Complete Guide on Udemy"에 참여하세요. 둘 다 온라인에서 리액트를 배울 수 있는 훌륭한 과정입니다. 링크는 다음과 같습니다:

  1. Modern React with Redux
  2. React - The Complete Guide

 

 

7. 뷰 js

 

 

뷰 또는 뷰 JS는 작년에 속도에 대한 성능이 개선되었으며 점점 더 많은 사람들이 뷰 js를 추천하고 상요하고 있습니다. 저는 여전히 뷰의 초보자이며 아마도 뷰를 배우고 뷰 기반의 애플리케이션으로 마이그레이션 하는데 시간이 걸릴 것입니다. 그러나 이미 뷰 js를 배우기로 결정을 내린 경우 Udemy의 Vue.js Essentials 강의부터 시작할 수 있습니다.

 

 

 

 

 

 

 

반응형

+ Recent posts