티스토리 뷰

반응형

기획자


와이어 프레임 : 기획자가 하는 일 중 하나로, 애플리케이션이나 웹 페이지가 어떻게 구성되는지,

어떻게 동작하는지 기획한 문서를 의미한다.

 

 

 

 

 

IT 업계의 기획은

완성본을 정해두고 만드는 것이 아니라

핵심 기능을 만들고 고객의 니즈에 맞춰 발전시키는 것

동의한다

나도 채팅기능 만들때 그랬다

 

기획자에게 중요한 것은 커뮤니케이션이다

 


 

 

 

프로그래밍 언어


컴파일러 

-사람이 친 프로그래밍언어를 컴퓨터가 인식할 수 있는 기계어로 번역해주는 과정

 

IDE(Integrated Development Environment) 통합개발환경

- 개발하기 위한 모든 것들을 제공해주는 환경

 

 

C언어 - high level language이지만 기계어에 가깝기때문에 컴퓨터를 이해하기에 좋다

자바 - JVM때문에 이식성이 좋아 다양한 운영체제에서 실행이 가능하다

파이썬 - 인간 친화적인 high level language이므로 배우기 쉽다

 

1학년때는 잘 몰랐는데

2학년이 되고 각 언어를 다뤄보니 언어의 특성이 보인다

 


 

 

운영체제


컴퓨터의 구성 요소

 

CPU(Central Processing Unit) 중앙처리장치

- 컴퓨터의 머리 역할

 

HDD(HardDisk Drive) 하드디스크, SSD(Solid-State Drive)

-보조기억장치 

 

메인보드

-부품을 끼우는 판

 

메모리

-CPU 동작 속도가 보조기억장치 접근 속도보다 월등히 빨라

CPU가 보조기억장치 접근하는 시간동안 기다리며 성능이 저하되는 것을 막기위해

CPU의 개인작업공간을 만들어두어 보조기억장치에 필요한 데이터를 그때그때 요청하지 않아도 되도록

데이터를 한 번 올려두고 계속 사용하는 공간

 

 

 

 

운영체제(Operating System, OS)란?

프로그램 설치&실행 및 하드웨어를 대신 관리해주는 프로그램

 

 

우리가 프로그램(포토샵,한글,엑셀 등...)을 실행했을때 로딩창이 뜨는동안 일어나는 일->보조기억장치에서 '실행에 필요한 데이터'가 메모리로 올라가고 있는 것이렇게 데이터가 메모리로 올라가면 CPU가 메모리 위에서 빠르게 작업할 수 있다.

 

이건 몰랐던 것이다우리가 하루에도 몇 십번이나 실행하는 과정인데

배우기 전까진 무슨 과정이 일어나는지 몰랐다시야가 넓어지는 느낌이다

 

 

운영체제는 대표적으로 Microsoft - WindowsApple - Mac OS, iOSGoogle - Android가 있고,

 

각 운영체제 별로 지정하는 언어는 다르다

Microsoft - c#

Apple - objective-c, swift

Google - java, kotlin

 

운영체제는 개발자들의 삶에 큰 영향을 미친다

운영체제에서 요구하는 언어를 개발에 사용해야 하기 때문이다

 

 

 

JVM(Java Virtual Machine)이란?

운영체제 위에 돌아가는 프로그램이다

자바로 만든 프로그램은 JVM위에서 돌아간다

 

즉, 운영체제에 JVM를 설치하기만 하면

자바로 만든 프로그램이 Windows, Mac OS, iOS , Android 전부에 돌아간다

iOS에서 swift로 만든 프로그램을 Android에 돌리기 위해 kotlin으로 재개발 할 필요가 없다는 것이다

정말 획기적인 생각이다

 

자바의 특성 중 이식성(portability)가 높다라는 의미가 이제야 이해된다

JVM이 있기 때문에 여러 운영체제에서 쓰일 수 있는 것이다

 

 

 

JVM이 모바일에서 안되는 이유?

PC에서는 JVM이 잘 작동하지만

모바일에선 안된다

그 이유는 모바일은 PC에 비해 부품 크기가 작고 용량이나 성능제한이 있어

프로그램 위에 프로그램을 돌리면 아주 느려진다

더욱이 이게 허락되면 애플, 구글이 가지고 있는 시장에 대한 영향력(swift, objective-c, kotlin)이 줄어든다

그래서 모바일은 PC에 비해 JVM이 덜 발전했다

 

이제 각 운영체제 별 개발자가 다른 언어를 사용하기 때문에

차이가 있다는 것을 알게 되었다

 

 

 

 


 

반응형

'개념' 카테고리의 다른 글

API 개념  (0) 2022.01.05
네트워크 개념2  (0) 2022.01.02
네트워크 개념  (0) 2021.12.22
머신러닝과 딥러닝의 차이  (0) 2021.11.01
오픈소스  (0) 2021.09.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함