반응형

 

리눅스 개발자들의 삶의 질을 향상시켜준 프로그램 ❓❓

2007년 11월 20일, 니콜라스 매리엇(Nicholas Marriott)라는 사람은 tmux라는 프로그램을 세상에 발표하였다.

그 시절 리눅스 개발자들의 실력에 한 단계 동력을 불어넣어준 프로그램, tmux다

>> tmux github page

 

 

Wiki에서는 tmux📱 를 어떻게 정의하고 있을까?

  • tmux란? tmux는 사용자가 단일 단말기 창 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 액세스할 수 있도록 여러 가상 콘솔을 다중화하는데 사용할 수 있는 응용 소프트웨어이다. 이 응용 프로그램은 명령어 인터페이스로부터 다수의 프로그램을 처리하고 유닉스 셸로부터 프로그램을 분리하는 데에 유용하다

 

1. 여러 별도의 터미널 세션에 액세스

  • 분할된 타 터미널에서의 동작은 실시간으로 모든 터미널에 영향을 끼친다.
  • 또한 터미널 세션이 관리되어, 원격 액세스가 가능하다는 장점도 있다.(co-working 관점)

 

2. 여러 가장 콘솔을 다중화

  • 하나의 터미널을 화면 분할 기능을 제공하여, 여러개의 다중 터미널로 각각 프로그래밍이 가능하게끔 도와준다.
  • ex) 주로 서버를 띄어놓고, 모니터링 프로그램을 동시에 확인하고자 할 때 사용한다.
  • 현업 개발자들 사이에서 tmux는 매우 심플하고도 강력한 툴이다.
  • >> 서버를 띄어놓은 상태에서 다른 작업을 가능케 한다.(멀티태스킹 지원)

 

 

설치방법 💁🏻‍♂️

OS별로 설치하는 명령어가 다르다.

아래 명령어를 통해 설치가 가능하며, 자세한 내용은 공식 설치 가이드를 참조하길 바란다.

>> 공식 설치 가이드

 

tmux를 사용하면 좋은 현실적인 이유 ****💁🏻

🥇 리눅스 서버 관리가 편하다.(모니터링 지표를 만들기 좋다.)

🥈 원격으로 누구나 서버의 tmux name을 통해 액세스가 가능하기에 코워킹이 가능하다.

🥉 무엇보다 여러개의 다중 터미널을 띄어놓으면 있어 보인다 (?)

  • 리눅스 개발자라면 한번쯤 사용하길 권장한다.🎁

 

+ tmux 를 사용하려면 단축키를 알아야 한다. ****🌟

아래 스크린샷을 참고하자.

 

맺는말

tmux의 등장으로 개발자들의 개발의 질은 한층 더 성장하였다.
리눅스를 사용하는 사람이라면 남녀노소 누구나 쉽게 사용할 수 있는 수준이기 때문에
다들 한번쯤 사용해보는 것을 추천드린다. 😆

 

 

반응형
반응형

21세기 Django를 뛰어넘는 Python 진영의 새로운 웹 서버 ❓❓

2018년 5월 어느 여름, 이 시대 최고의 웹 서버 프레임워크로 각광받는 FastAPI가 발표되었다.

그 시절 발표했던 개발자들은 2024년 이렇게 될 줄 알았을까

>> 67.3k의 starred를 자랑하는 FastAPI Github

 

 

초기 FastAPI는?

처음에 Python 진영에서 발표와 동시에 많은 사랑을 받으며 성장해왔다.

최근 트렌드에 맞게 Restful API를 설계할 수 있는 파이썬의 웹 프레임워크라는 정체성을 가졌다.

사람들이 FastAPI를 점점 더 알아가고 찾게되는 이유 중 하나는

매우 잘 정리되어 있는 document page도 인기를 높이는 데 한 몫했다.

>> FastAPI document

 

 

Wiki에서는 FastAPI📱 를 어떻게 정의하고 있을까?

FastAPI란? FastAPI는 Pydantic을 기반으로 하며 type hints를 사용하여 데이터를 검증, 직렬화 및 역직렬화합니다. 또한 이를 사용하여 구축된 API에 대한 OpenAPI 문서를 자동으로 생성합니다. FastAPI는 비동기 프로그래밍을 완벽하게 지원하며 Gunicorn 및 Uvicorn 및 Hypercorn과 같은 ASGI 서버에서 실행될 수 있으므로 프로덕션 환경에 적합한 선택입니다. 개발자 친화성을 높이기 위해 프로젝트 초기부터 편집자 지원이 고려되었습니다.

 

 

1. Pydantic

 

  • 웹 서버의 parameter로 주고받는 data를 검증할 수 있게 해주는 파이썬 라이브러리이다.
  • 객체 및 annotation을 활용하여 data validation check를 손쉽게 할 수 있도록 도와준다.

2. type hints

 

  • Python의 언어 특성상 변수를 초기화할 때 데이터 타입을 명시하지 않는다. 타입이 명확하지 않은 이런 상황은 많은 오류 가능성을 내포하게 된다. 이를 예방하기 위해 개발자들은 Python에 Data type를 명시하기 시작했고, 여기서 사용되는 것은 type hint이다.
  • 실제로 타입이 다르다고 해서 오류를 발생시키지는 않지만, type hint를 통하여 오류 가능성을 사전에 예방할 수 있다.
현업 개발자들 사이에서 type hint는 찬/반 의견이 있다?
찬성: type 을 명시함으로써 잘못된 data type에서 유발되는 오류 가능성을 사전 예방할 수 있는 장점이 있다.
반대: 일부 여론에서는 python의 탄생 목적과 다르게 그 확장성을 한정하는 것이라는 의견도 있다.

 

3. Open API(= Swagger)

 

  • 흔히 우리가 말하는 swagger가 대표적인 Open API 문서이다.
  • 웹 서버에서 제공되는 API의 종류를 하나의 페이지에서 대시보드 형태로 파악할 수 있다.
  • Input / Output / Validation / Example / Test 등 다양한 기능을 웹 UI 상에서 확인 가능하다.

+ 아래와 같은 화면, Swagger!

 

4. 비동기 프로그래밍

 

  • 서버에 들어온 request를 처리할 때, request 처리에 대한 응답을 일일히 기다리지 않는다.
  • 코루틴(co-routine) 이라는 개념을 사용하여 비동기적 처리를 수행한다.

 



FastAPI를 사용하는 굴지의 기업들 💁🏻

🥇 Netflix

🥈 Uber

🥉 Cisco

  • FastAPI는 Stack Overflow 2021 개발자 설문조사에서 세 번째로 사랑받는 웹 프레임워크에 등재된 바 있다. 🎁

 

+ FastAPI에서 hello world! 찍는 방법 🌟

우선 Python이 설치되어 있어야 하고, Python을 실행하여 아래 코드를 작성 후 실행해주자. 👬👬

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return "Hello World!"

 


맺는말

한땀 한땀 코드를 짜야 했던 과거에 비해서 요즘에는 점점 강력한 프레임워크들이 등장하고 있다.
그 말은 즉, 원한다면 누구든지 빠르게 서비스를 만들 수 있다는 것이다.
앞으로 코드는 점점 더 간결해지지 않을까 싶다. 😆

 

 

반응형
반응형

2023년 11월부터 비공개 테스터 20명 모집을 의무화하였다 ❓❓

 

 

우선, 안드로이드 앱을 구글 플레이스토어에 출시하는 방법을 알아보자!!

안드로이드 어플리케이션을 구글 플레이스토어에 출시하려면 아래 사이트를 방문하여야 한다.

구글 플레이 콘솔

 

Google Play Console | Google Play Console

앱과 게임이 성장할 수 있도록 사용자에게 도달하고 사용자 참여를 유도하는 데 도움이 될 도구, 프로그램, 통계를 이용하세요.

play.google.com

 


우선은 플레이스토어 개발자 등록을 해야한다.

개발자를 등록하는데 일부 비용(한화로 2~3만원 사이)이 최초 1회 지출된다.

개발자 등록비라고 보면 된다.

자체적으로 앱📱 을 개발했다면, 빌드과정을 통해 AAB 파일을 생성한다.

 

  • AAB란? 기존에는 APK(Android Package) 파일을 통해 앱을 설치하였다, 하지만 APK 파일은 불필요한 파일들이 많이 포함되어 있는 완성된 파일이다. 그래서 AAB(Android App Bundle) 파일을 플레이 콘솔에 등록한다. AAB는 Android App을 완성시켜주는 패키지다. AAB을 사용하면 설치되는 기기에 맞게끔 필요한 패키지들만 사용하게 되어 불필요한 파일들의 포함을 줄이고 용량을 줄일 수 있다.

 

 

플레이 스토어에 앱을 출시하기까지의 4단계 과정이 필요하다.

 

1. 내부 테스트

  • 내가 원하는 테스터에게 자체적으로 테스트를 진행하는 방식이다.
  • 소규모로 진행이 가능하고, 원한다면 스스로 진행하면서 생략도 가능하다.
  • 자체 통합테스트라고 보면 무방하다.

 

2. 비공개 테스트

  • 최근 2023년 11월부터 플레이 콘솔에 등록된 개인 개발자에 한하여 20명 비공개 테스트가 의무화되었다.
  • 구글 입장에서는 가족, 친구, 지인 등에게 링크를 보내서 설치 및 테스트를 해야한다고 한다.
  • 비공개 테스트는 테스터에 등록된 20명의 사람들(안드로이드 유저)이 해당 앱을 설치하기만 하면 된다.
  • 그리고 2주가 지나면 통과이다.
  • 20명 넘기가 쉬운가.
    -> 생각보다 쉽지 않다. 그래서 카카오톡 오픈 채팅방을 잘 찾아보면 비공개 테스터 품앗이 톡방이 있으니, 여기에서 품앗이를 받아보는 것도 추천한다. 20명이 최초 1회 설치만 하면 되기에 이 방법을 추천한다.

 

3. 공개 테스트

  • 앱이 플레이스토어에 공개된 상태이다.
  • 비공개로 개발자에게 의견 전달이 가능하다.
  • 생략하고 바로 프로덕션으로 넘어갈 수도 있다.

 

4. 프로덕션

  • 앱이 플레이스토어에 정상적으로 출시된 상태를 의미한다. 🎁
  • 앱에 광고가 붙어있다면, 실제 광고 수익도 발생 가능하다.

 

비공개 테스터 20명 의무화는 왜 생겨났을까? 💁🏻

 

🥇 구글 플레이스토어에 보면 여러가지 저품질의 앱들이 출시되어 있는 것을 볼 수 있다.

🥈 유지보수도 되지 않고, 사용자의 의견도 제대로 반영되지 않은 채 남아있는 좀비 앱들이 점점 늘어나는 것을 방지하고자 구글이 칼을 빼든 것 같다. 🔪

🥉 안드로이드 앱 출시가 IOS처럼 절차 복잡하거나, 비용이 비싸지 않아 진입장벽이 낮았던 부분을 보완한 것으로 추측된다.

 

+ 하지만 20명은 너무했다. 😢

 

 

+ 비공개 테스터 20명 품앗이를 활용하자 🌟

아래 게시판 혹은 오카방 등 여러 품앗이 채널이 있으니 확인하고 도움을 받자 👬👬

 

맺는말

구글 플레이스토어에 앱을 출시한다는 것을 정말 의미있는 작업이다.
고민하고 열심히 만든 앱을 수십억명의 사람들에게 소개하는 일이기 때문이다.
많은 사람들에게 도움이 되는 앱을 만들자 😆

 

반응형

'IT' 카테고리의 다른 글

tmux란? 💻  (2) 2024.01.27
FastAPI란 무엇일까? 💻  (0) 2024.01.26
Node.js란?(Wiki와 함께 설명) 💻  (2) 2024.01.24
react native 튜토리얼(init 명령어) 💻  (0) 2024.01.23
삼성 첫 AI 스마트폰 “갤럭시 S24” 리뷰 📲  (2) 2024.01.20
반응형

Wiki에서는 Node.js를 어떻게 설명하고 있을까 ❓❓

| Node.js는 크로스플랫폼 오픈소스 자바스크립트 런타임 환경으로 윈도우, 리눅스, macOS 등을 지원한다. Node.js는 V8 자바스크립트 엔진으로 구동되며, 웹 브라우저 바깥에서 자바스크립트 코드를 실행할 수 있다.[3]

주로 확장성 있는 네트워크 애플리케이션과 서버 사이드 개발에 사용되는 소프트웨어 플랫폼이며, 논블로킹(Non-blocking) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.

내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며, 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.

- 크로스 플랫폼(Cross-Platform)

장점:

  • PC환경에서는 Window와 Mac / 모바일 환경에서는 Android와 IOS 운영체제에 모두 동작 가능하다는 의미이다.
  • 최근 들어서는 크로스 플랫폼 프로그램을 통해 하나의 코드로 다수의 운영체제에서 동작되게 하는 개발 방식이 인기를 끌고 있다.
  • 당연히 생산성이 올라간다.

단점:

  • 기존 운영체제 네이티브의 플랫폼보다는 최적화되어있지 않기에 성능적인 이슈가 있을 수 있다.
  • 그러나 이러한 문제도 최근 여러 업데이트를 통해 보완되고 있으며, 실리콘 밸리의 굴지의 기업들도 이러한 크로스 플랫폼 서비스를 운영하고 있다.


- 서버 사이드 개발(Server-Side Development)

  • 서버의 리소스를 사용하여 운영되는 서비스를 개발하는 것을 의미한다.
  • 반대로 클라이언트 사이드 개발이 있다.


- 논블로킹(Non-blocking) I/O

  • 오류가 발생하기 전까지는 인입되는 Inpus request를 계속 받아준다.
  • 비동기 I/O 와 다른 점은 비동기 I/O는 응답을 받아주지만, 논블로킹 I/O는 응답값을 받아주지 않는다.


- 단일 스레드(Single thread)

  • 단일 스레드는 한번에 하나의 동작만 처리할 수 있다는 의미이다.
  • 그러나 하나의 한번의 동작을 비동기적으로 처리하기 때문에, 사용자 입장에서는 속도나 성능에 대한 이슈를 인지할 수 없다.
  • 단일 스레드에서 하나의 함수를 호출하면, 이벤트 루프가 여러개의 이벤트를 처리한다.


- 이벤트 루프(Event loop)

  • 단일 스레드를 지원하는 javascript 프로그램을 다중 스레드(PC)에서 동작시키기 위한 객체이다.
  • 이벤트 루프는 javascript 프로그램에서 실행된 하나의 함수를 여러개의 다중 스레드가 대기하고 있다가 실행하고, 이후 액션을 진행하는 것을 담당한다.
  • 이벤트 루프와 비동기 방식을 통해, 사용자는 javascript 서비스가 단일 스레드여서 느리다고 생각할 수 없게 된다.(실제로도 느리지 않다😲)



누가 만들었을까? 💁🏻

🥇 2009년에 ‘라이언 달’이라는 사람이 만들었다.

🥈 Joyent 라는 회사에서 일하는 사람이고, 현재도 Joyent에서 개발 및 운영 중이다.

🥉 파일 상태를 서버에 쿼리를 통해 확인하는 것을 보고 조금 더 쉬운 방법을 찾다가 고안해 내었다고 한다.

  • TMI. Joyent는 2016년 삼성전자에 인수되었다.



+ Node.js를 사용하는 기업 Top 3 🌟

아래 언급된 회사 외에도 거의 모든 회사에서 Node.js를 사용하고 있다.

  • Facebook
  • Amazon
  • Google

마이크로서비스 아키텍쳐 시대가 오면서 다양한 서비스 API들이 제공될 수 밖에 없고,

대부분의 회사는 이런 환경에서 Node.js를 사용하고 있다.



맺는말

Node.js는 개발을 하는 사람들이라면, Front, Backend 상관 없이 한번쯤은 모두 들어봤을만한 이름이다.
처음 라이언 달이라는 한 개인의 심플한 고민이 시작이 되어,
이제는 모두에게 생산성과 편의성을 가져다 준 프로그램이 되었다.
이처럼 우리의 작은 고민 하나가 어쩌면 많은 사람들에게 영향력을 줄 수 있을 것이다.

 

반응형
반응형

react native 를 사용하는 2가지 방법 ❓❓

1. Expo를 사용하는 방법

  • Expo Go client를 통해 변경 사항을 즉시 확인이 가능하다.
  • 그 외 아무런 작업이 필요하지 않다!! 😲😲😲

아래 명령어를 통해 react native expo의 프로젝트를 생성할 수 있다.

npx create-expo-app AwesomeProject

cd AwesomeProject
npx expo start

 

 

2. React native cli 사용하는 방법

  • 안드로이드/IOS 별로 별도 애뮬레이터 프로그램이 필요하다
  • 안드로이드의 경우 JDK를 추가로 설치해주어야 한다.

아래 명령어를 통해 react native cli의 프로젝트를 생성할 수 있다.

npx react-native@latest init AwesomeProject




어떤 것이 더 좋을까? 💁🏻

🥇 우선 expo 는 유료화되었다. 몇십회 빌드까지만 무료로 제공되고 이후부터는 돈을 내면서 사용해야한다.

🥈 react-native cli는 부수적인 프로그램 설치 등 환경 세팅이 필요하다 무료이다. 원하는 만큼 빌드할 수 있고, 환경 세팅만 잘 된다면 나머지는 expo 를 통한 개발과 큰 차이가 없다.

 




+ 크로스 플랫폼으로 꾸준하게 개발하다보면 빛을 보는 날이 있을 것 🌟

처음에는 네이티브 프로그램에 비하여 성능과 여러가지 기능들이 떨어지지만,
포기하지 않고 꾸준히 하다보면 반드시 유용하게 사용되는 날이 올 것이다.

  • Android와 IOS 를 동시에 혼자서 개발해야 할 때.
  • 갑자기 App 개발을 빠른 시일 내로 해야할 때. 
  • react native는 JS로 개발하기 때문에, 언어 친화력이 아무래도 높아질 수 밖에. 

더불어 App Store에 자신의 프로그램을 출시하는 자신을 발견하게 된다.





맺는말

요즘 시대에 개발의 꽃은 App 개발인 것 같다.
왜냐하면, 사람들은 대부분의 시간을 스마트폰과 함께 하고 있고
스마트폰은 App으로 구성되어 있기 때문이다.

 

반응형
반응형

 

지난 17일 미국 새너제이 SAP센터에서 삼성 첫 AI 스마트폰인 갤럭시 S24가 공개되었다.

 

이번 갤럭시 S24를 통하여 삼성이 애플을 뛰어넘고

스마트폰 시장 우위를 점할 수 있을만한 제품으로 국내.외 전문가들은 평가하고 있다.

 

AI 스마트폰(갤럭시 S24)이 기존과 다른점은❓❓

이번 삼성 폰의 단연 핵심은, AI 스마트폰이라는 이름에 걸맞게 인터넷 연결 없이(📴) 다양한 AI 기능들을 사용할 수 있게 된 것이다.

이번 AI 스마트폰에서 자랑하는 기능은 아래 5가지로 요약할 수 있다.

 

1. 실시간 통역 기능 📞

  • 통화를 시작하면 통화 어시스트🧑🏻 라는 탭이 화면에 출력되고, 이를 누르면 상대방과 나의 언어를 선택하여 통화를 실시간으로 통역해준다.
  • 해당 기능은 상대방의 스마트폰이 어떤 기종인지에 관계없이 가능하다.
  • 영어·스페인어·중국어·프랑스어·일본어 등 13가지 언어를 지원한다.
  • 마치 통역사(통화 어시스트🧑🏻)가 중간에서 통역을 해주고 있는 것처럼 느껴진다.
  • 스마트폰에 내장된 AI가 이같은 기능을 수행한다.(보안에 강하다)

2. 텍스트 변환 어시스트 기능 📔

  • 오디오 파일🎤 → 텍스트📓 로 변환시켜주는 기능이다.
  • 오디오 파일을 선택한 뒤 텍스트로 변환을 선택하고 원하는 언어를 고르면 오디오 파일의 내용을 텍스트로 변환해준다.
  • 변환된 텍스트를 사용자가 보기 쉽게 요약해주는 기능도 함께 제공한다.

3. 슬로 모션 기능 🎥

  • 이미 기기에 저장된 동영상을 길게 누르면, 해당 영상이 슬로 모션으로 바뀌어 재생된다.
  • 슬로모션은 기존 동영상 속도 대비 4배 느린 속도로 재생되며, 다시 손을 떼면 원래 속도로 영상이 재생된다.

4. 서클 투 서치 기능 ⭕ 🔍 (인터넷 필요)

  • 기기에 있는 사진 혹은 동영상, 유튜브와 같은 앱에서도 손가락으로 특정 지점에 원(서클)을 그리면, 해당 지점에 있는 물체를 검색해서 알려준다.
  • 인식된 물체에 대한 정보를 구글에 검색하여 화면 하단에서 제공한다.
  • 홈버튼⚫ 을 길게 누르고 사용할 수 있다.

5. 생성형 편집 기능 📸

  • 기기에 있는 사진에서 피사체를 꾹 누르고 다른곳으로 드래그하면, 피사체가 드래그가 끝나는 지점으로 이동한다.
  • 원래 피사체가 있던 지점에는 AI가 자동으로 배경화면을 만들어 채워준다.
  • 기존에 포토샵으로 작업했던 기능을 드래그 앤 드롭 하나로 지원하는 기능이다. ❗❗
  • 편집을 거친 사진의 좌측 하단에는 다이아몬드 모양의 ‘워터마크✨’가 생기게 된다.



도대체 언제 💁🏻‍♀️ 출시되나요? 📱

🥇 지난 17일 공개된 삼성 첫 AI 스마트폰 “갤럭시 S24 시리즈” 는 오는 1월 31일 출시 예정입니다.

🥈 가격은 아래와 같다.

제품 가격
울트라 256GB 모델 169만8400원
S24+ 135만 3000원
S24 115만 5000원

🥉 19일부터 25일까지 1주일 간 국내 사전 판매를 시작한 뒤 31일 정식 출시한다.



+ 차세대 폼팩터 ‘갤럭시 링’ 깜짝 등장 🌟

삼성전자는 이번 갤럭시 S24를 통해 모바일 AI 시장을 확장을 가져올 것으로 기대된다.

더불어 내장형 AI의 확산을 헬스케어 분야로 확장할 전망이다.



갤럭시 링✨” 은 어떤 제품일까?

👍 반지처럼 손가락에 끼고 다닌다.

✌️ 사용자의 수면, 활동량 등 건강 데이터를 수집하고 분석해주는

🤟 수집된 데이터를 모바일로 전송하고, 모바일에서는 AI가 이를 분석해 건강관리를 해준다.

🖖 스마트 워치의 휴대성을 뛰어넘어 링 형태의 기기로 헬스케어 시장이 더욱 ‘상시 모니터링📈’ 에 가까워 지게 된다.

✋️ 2024년 안에 출시 예정이다.



맺는말

인터넷의 구속 없이 사용가능한 AI 스마트폰의 시대가 열렸다.
모바일 시장에서 애플이 긴장해야 할 것 같다.

 

반응형
반응형

우선 다음과 같이 누군가 당신에게 물어볼 수 있다.

 

"당신은 집에 몇대의 컴퓨터를 가지고 있습니까"

 

흔히 말해 컴퓨터라고 하면, 본체와 모니터, 마우스, 키보드, 그 외 부수적인 장비들을 한 세트로 하여 컴퓨터라고 부른다.

그러나 그것은 좁은 의미의 컴퓨터다.

컴퓨터의 영역을 확장하면 아래와 같이 4가지 구조를 가진 모든 장비가 컴퓨터가 될 수 있다.

프로세서 메모리 디스크 입/출력장치

 

ex)

컴퓨터, 휴대폰, 스마트워치, 태블릿 등.

 

그러면 아마도 누군가의 집에는 넓은 의미로의 인당 평균 4대씩 있는 경우도 있을 것이다.

 

 

 

컴퓨터 구조는 크게 앞서 설명한 4대의 장치들로 이루어진다.

 

1. 프로세서

중앙처리장치라고도 부르며, 우리에게는 CPU(Central Processing Unit)로 잘 알려져 있다.

 

CPU는 인간의 두뇌라고 생각하면 이해하기 쉽다.

사람이 수학적 연산을 할 때 두뇌(ex, 정확히는 왼쪽 뇌)를 사용하는 것처럼.

0과 1의 연산을 수행하는 컴퓨터의 경우에도 CPU가 그 역할을 한다.

 

그래서 CPU가 많을수록 컴퓨터에서 실행시키는 프로그램이 더 빠를 수 있다.

 

요즘에는 듀얼코더(CPU 2)를 넘어서 쿼드코어(CPU 4)가 일반적인 컴퓨터 사양이 되었다.

즉 컴퓨터의 뇌가 4개인 셈이다.

 

ex) 인텔 제품으로 예를 들어 설명하면

인텔® 코어™ i5-7200U 프로세서

3MB 캐시, 최대 3.10GHz

 

아래와 같이 해석이 가능하다.

분류 제품 버전 CPU 캐시
설명 i5-7200U 3.10Ghz 3MB
ex, 예시 i3, i5, i7은 인텔에서 관리하는 프로세서 제품의 명칭이다. 1초에 31억 bit를 계산할 수 있음. 300만 byte의 빠른 저장소를 가지고 있음.

 

 

https://ko.wikipedia.org/wiki/%EC%A4%91%EC%95%99_%EC%B2%98%EB%A6%AC_%EC%9E%A5%EC%B9%98

 

중앙 처리 장치 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. CPU는 여기로 연결됩니다. 다른 뜻에 대해서는 CPU (동음이의) 문서를 참고하십시오. 핀이 없는 LGA의 인텔 i7 8700k 마이크로프로세서 핀이 있는 PGA의 AMD 라이젠 3700

ko.wikipedia.org

 

 

2. 메모리(주 기억 장치)

메모리는 얼마나 많은 프로그램을 동시에 띄울 수 있는가에 큰 영향을 끼친다.

흔히 말해서 RAM이라고 불리는 종류가 여기에 해당한다.

"야 너 노트북 RAM 몇 기가야?" 라는 질문을 다들 한번씩을 들어봤을 것이다.

 

RAM은 쉽게 설명하면, 계산식을 노트에 저장할 수 있는 공책과 같다.

CPU가 인간의 두뇌라면 RAM은 암기 능력이다.

RAM은 마치 계산식을 메모해놓을 수 있는 공책과 같다.

 

우리가 엑셀 프로그램을 띄워서 이것저것 해보고 있다고 가정하자.

그 말인 즉 CPU가 열심히 계산을 하고 있는 것이다.

CPU는 계산식을 RAM에 중간중간 저장한다.

 

그런데 갑자기 카톡 알람이 온다.

 

엑셀 작업 도중에 카톡 화면을 켜고 카톡을 확인하는 순간,

CPU는 카카오톡이라는 프로그램이 동작하기 위해 새로운 계산을 시작한다.

 

그런데 우리가 한번에 여러개의 프로그램을 동작시킬 수 있는 이유는,

이미 하다만(?) 계산을 RAM에 적어놓았기 때문이다.

 

우리는 카톡을 종료하고 다시 엑셀 업무를 할 수 있게 된다.

그래서 RAM 용량이 많을 수록 더 많은 계산을 저장할 수가 있고,

여러 프로그램을 동시에 실행할 수가 있게 된다.

 

추천 Tip!

일반적으로 8GB면 대학생(ex, 컴퓨터 공학과 포함) 작업하기 충분한 사이즈라고 생각한다.

CPU와 RAM은 서로 함께 spec up이 되어야 한다.
(CPU를 아무리 늘려도 RAM이 부족하면 우리는 CPU를 최대치로 사용할 수 없다.)

 

 

=> 그러나 RAM은 컴퓨터 전원이 꺼지면 기억이 날라가게 되므로 꼭 파일로 저장하는 행위가 필요하다.

ex) 컴퓨터 전원이 꺼지면 엑셀 프로그램, 카톡 프로그램도 함께 종료되는 현상.

 

3. 디스크(보조기억장치)

HDD(Hard Disk)와 SSD(Solid State Drive)로 분류된다.

RAM(주기억장치)는 컴퓨터가 꺼지면 기억이 날라가지만, 디스크에 저장된 데이터는 반영구적으로 보존된다.

 

그래서 우리가 꼭 문서 작업을 하다가 중간 저장을 해야하는 이유도

데이터를 잃어버리지 않도록 하기 위함이다.

 

일반적으로 HDD보다 SSD가 빠르다.

속도: HDD < SSD

 

 

왜냐하면 HDD는 엑추에이터라는 장치가 데이터가 저장된 곳을 순차적으로 찾아서 접근해야 한다.

1 2 3 4 5 6 7

 

위 상황에서 5번의 데이터를 찾기 위해서는 왼쪽부터는 1,2,3,4를 거쳐야 하고, 오른쪽 부터는 7,6을 거쳐야 하는 원리이다.

 

 

반면에 SSD는 어디에 어떤 데이터가 들어있는지 위치정보를 함께 관리하고 있어 5번의 데이터에 바로 접근이 가능하다.

별도의 모터나 액추에이터 같은 장치 없이 전자적으로 데이터를 관리하기 때문에 직접접근이 가능한 구조이다.

1 2 3 4 5 6 7

 

 

모터와 액추에이터가 없기 때문에 SSD가 소음도 적을 뿐더러, 충격이 있더라도 HDD보다는 안전하다.

 

 

4. 입/출력장치

 

입/출력 장치는 우리에게 가장 친숙한 장비들로 구성된다.

 

입력 장치: 마우스, 터치 스크린, 키보드, 마이크 등.

출력 장치: 모니터, 스피커

 

여기서 가장 중요한 장비를 꼽자면

모니터, 그리고 마우스, 키보드 정도 될 것 같다.

 

입/출력 장치는 워낙 취향이 들어가는 장비들이기 때문에

사람들을 보면 제각각 정말 다양한 장치들을 사용하고 있는 것을 볼 수 있다.

 

반응형
반응형

요즘에는 IT 교육을 해주는 곳이 매우 많아졌다.
온라인, 오프라인 상관없이 양질의 강의를 제공하고 있다.
 
오늘은 비전공자들이 취미로 혹은 취업 목적으로 프로그래밍 공부하기 좋은 사이트를 알아보자.
 

1. 인프런(Inflearn)

https://www.inflearn.com/

인프런 - 라이프타임 커리어 플랫폼

프로그래밍, 인공지능, 데이터, 마케팅, 디자인, 엑셀 실무 등 입문부터 실전까지 업계 최고 선배들에게 배울 수 있는 곳. 우리는 성장 기회의 평등을 추구합니다.

www.inflearn.com

 
 
첫번째는 인프런이다.
인프런은 개발자들이 퇴근하고 잠을 줄여가면서 틈틈히 만든 회사로 알고 있다.
처음에는 유튜브, 개인 블로그 등에 각각 올려져 있었던 좋은 품질의 강의를 한 곳에서 볼 수 있게 해주는 목적으로 만들어졌는데,
높은 퀄리티의 강의를 편리하게 볼 수 있다는 부분에서 사용자들의 반응이 매우 좋았다.
지금은 IT 분야에서 다양한 기술을 가진 실력자들이 자체적으로 인프런을 통해 강의를 만들고 있다.
 
ex)
대표적인 사람으로는 전 배달의 민족 CTO 출신의 김영한님이 계시다.
 
 

2. 프로그래머스(Programmers)

https://programmers.co.kr/

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 
 
프로그래머스는 코딩테스트 플랫폼을 서비스하고 있는 회사다.
기업들이 채용 프로세스를 진행할 때 함께 협업하는 회사로 개발자들에게는 잘 알려져 있고,
프로그래머스 school이라는 이름으로 자체적인 강의를 제공한다.
 
경험해보니 매우 높은 품질의 강의를 엄선하여 제공하고 있고, 국비교육 사업도 함께 진행중이므로 국비교육에 관심이 있다면 프로그래머스를 통하여 IT에 입문하며 기본개념을 경험하는 것도 추천한다.
 
+ 프로그래머스는 카카오, 네이버 외에 다양한 굴지의 IT 기업과 함께 제휴를 맺어
코딩테스트를 통해 점수가 높은 사람에게 인턴십 기회를 제공하는 행사도 진행하였다.
 
 
3. 패스트캠퍼스(Fastcampus)
https://fastcampus.co.kr/

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 
 
마지막 세번째는 패스트캠퍼스다. 
오프라인 교육장을 통해 오프라인 교육도 함께 제공하고 있으며, 다들 한번쯤 들어봤을 것이라 생각한다.
 
IT 교육에 있어서는 위 2개의 사이트보다는 오랫동안 온라인 강의를 제공하고 있고,
IT 외에 영상, 엑셀, 워드, 심리, 커뮤니케이션 등 매우 다양한 분야의 강의를 제공하고 있다.
 
그러나 비전공자 입장에서는 위 2개의 사이트보다 어려운 부분이 많이 있어, 입문자로써는 추천하지 않는다.
실력이 쌓이면 듣는 것을 추천한다.
 
+ 기업과 제휴를 맺어, 제휴된 기업의 직장인이 가입 시 다양한 강의를 무료로 들을 수 있기도 하다.
 
 
 
요즘에는 네이버, 우아한형제들, 삼성 등 다양한 기업들이 다양한 교육 행사를 주기적으로 진행한다.
ex) 네이버 - 부스트캠프 / 우아한형제들 - 우아한 스터디, 우아한 테크캠프 / 삼성 - SAFFY 등
 
전공자 4년의 교육과정이 무색할 정도로 매우 높은 퀄리티의 교육을 제공하는 상황에서
전공 및 출신이 실력에 있어서 큰 차이를 가져다주지 않는 시장이 되었다.
 
제일 중요한 것은 성실성 같다.
매일 조금씩이라도 성장하려고 노력하는 작은 습관이 쌓여서 내공이 되고,
더 creative한 프로그래머가 되는 것이 아닐까 생각한다.

반응형

+ Recent posts