반응형

안녕하세요 JD입니다.
저는 현재 iT업계에 종사하고 있으며, 아이패드를 사용하여 엄청나게 업무 컨디션을 끌어올렸고 많은 곳에서 활용하고 있습니다.
오늘은 저의 아이패드 프로 5세대 12.9인치 M1 모델을 약 2년이 넘는 기간 동안 사용했던 실 사용 후기를 작성해보려고 합니다.
저는 맥북, 아이폰, 아이패드, 에어팟, 에어팟맥스 등 실 사용 모든 제품을 애플 생태계에서 사용 중에 있습니다.

사실 새로운 제품 라인업이 나올 때마다 키노트 발표를 챙겨보고 구매를 고민해 봤지만
신제품이 나온 후 일정 시간이 지나고 모두의 반응이 현재 제가 가진 제품 라인업을 찬양하고 있어서,
아직까지는 기다리며 사용 중에 있습니다.


구성품

아이패드 본체와 20W 충전기와 C to C 케이블 그리고 설명서와 스티커가 들어있습니다.
( 저는 매직키보드와 애플펜슬 2세대, 추가 포트 단자, 펜슬팁까지 추가로 구매했습니다 :) )


스펙

M1 칩

8 코어 CPU(성능코어 4개 및 효율 코어 4개) 8코어    GPU 16 코어 Neural Engine
8GB 램 (저장 용량 128GB, 256GB 또는 512GB 모델)
16GB 램 (저장 용량 1TB 또는 2TB 모델)
전 세대 대비 최대 50% 빠른 CPU 성능, 최고 40% 더 빠른 그래픽 성능을 낸다고 설명했습니다.
2010년 출시된 1세대 아이패드와 비교하면 CPU 성능은 75배, GPU 성능은 1천500배 빨라졌습니다.



크기/무게

WI-FI모델 : 682g Wi-Fi + Cellular 모델 : 684g (200ml 생수 세병 반 무게)



디스플레이

리퀴드 레티나(Liquid Retina) XDR 디스플레이
미니 LED 백라이트(IPS기술) 적용
2732 X 2048 픽셀 해상도(264 ppi) P3 와이드 컬러 디스플레이
600 니트 최대 밝기 1000 니트 최대 전체 화면 밝기, 1600 니트 피크 밝기(HDR)
1,000,000:1 명암비 트루톤 디스플레이, 애플펜슬 2세대 지원, 저반사 코팅


백라이트에 1만 개의 미니 LED를 깔아 최대 밝기 1천600 니트와 1,000,000:1의 명암비를 냈으며,
또 백라이트를 정밀하게 제어하는 로컬 디밍으로 HDR 콘텐츠 색 재현도도 높였습니다.



배터리
40.88 와트시 리튬 폴리머 배터리(10,770mAh)
  동영상 재생, Wi-Fi를 이용한 웹 서핑 시 최대 10시간 사용, 셀룰러 모델의 경우 셀룰러 모드로 웹 서핑 시 9시간 사용 가능하며,
  c타입 썬더볼트 단자 적용으로 고속충전이 가능합니다.



카메라

와이드 카메라 : 12MP, f/1.8 조리개
  울트라 와이드 카메라 : 10MP, f/2.4 조리개 및 125도 시야각
  4K 동영상 촬영 : 초당 24, 25, 30 또는 60 프레임(와이드)
  1080p HD 동영상 촬영(초당 25, 30 또는 60 프레임)
  720p HD 동영상 촬영(초당 30 프레임), 스트레오 녹음 지원
전면 카메라 기능은 센터 스테이지 기술이 적용된 1천200만 화소 초광각 전면 카메라를 적용했습니다.


센터 스테이지는 M1의 머신 러닝 기능을 통해 사용자의 움직임을 인식해,
사용자가 늘 프레임 중앙에 있도록 자동으로 구도를 맞춰주어 미팅 시 너무 편리합니다.
또 다른 사람이 사진에 들어올 경우, 자동 줌 아웃을 통해 화면 안에 모두가 담길 수 있도록 구도를 자동으로 조정합니다.
후면에는 1천200만 화소 광각 카메라와 1천만 화소 초광각 카메라, 라이다(LiDAR) 스캐너를 탑재했으며,
라이다 스캐너는 M1 칩에 내장된 영상처리 프로세서(ISP)를 보조해 어두운 환경에서도
사진과 동영상 초점을 보다 정교하게 맞추도록 도와줍니다.


성능

현시점 누가 승리자냐라고 하신다면 에어 세계관과 프로 세계관 각각 다르겠지만
입 모아 칭찬하는 건 당연 제 아이패드 모델입니다.
성능적인 부분도 마찬가지입니다.
CPU 또는 GPU에 특정 방식으로 압박을 가하는 구체적이고 반복 가능한 일련의 테스트를 실시한 후
이를 숫자로 환산하여 점수로 보여주는 공식적인 성능 테스트 긱벤치를 돌려봤습니다.

아래는 CPU 테스트입니다.

이번엔 GPU 테스트입니다.


정말 말이 안 되는 점수입니다.
아직까지 어느 탑 라인업에서도 밀리지 않고 훌륭한 점수를 내주고 있습니다.

애플의 CEO 팀쿡은 이벤트에서 미션 임파서블을 패러디하며 맥북에 탑재된 M1 칩을 아이패드에 이식하는 영상을 선보였습니다.
그만큼 M1 칩에 자부심이 있으며, 자부심만큼 성능이 다른 칩셋에 비해 압도적입니다.
고성능과 저전력, 저 발열을 한 번에 잡아 기기 냉각에 취약한 태블릿에서도 완벽한 퍼포먼스를 선보였습니다.
'노트북 체크'의 벤치마크 비교에 따르면 M1 8 코어 3200 MHz기준 인텔 11세대 I7-11700K와
라이젠 7 5800X 보다도 높은 성능이 좋은 걸 확인할 수 있습니다.

단점

제가 아이패드를 사용하면서 가장 크게 와닿았던 단점은 무게입니다.
12.9의 큰 디스플레이 아이패드 + 무겁기로 소문난 매직키보드 케이스를 붙인다면
현재 제가 가지고 있는 M1 맥북 에어보다 무겁습니다.
솔직히 이럴 거면 아이패드 에어 혹은 미니를 사서 휴대하며 활용하면 어땠을까 후회도 했었습니다.
하지만 그건 아이패드와 애플리케이션 기반을 잘 사용하지 못했기 때문이며,
현재는 차라리 맥북을 팔아버릴까 할 정도로 극강의 만족감을 선사해주고 있습니다.

정리

제가 2년간 사용한 아이패드 프로 M1 12.9인치 5세대 모델은요
저의 이력서 작성, 취미 활동으로 그림 그리기, 개인 공부를 위한 독서와 영상 시청, 연습용 코드 작성,
그리고 업무 활용에 이르기까지 많은 활용도를 가지고 있습니다.
충분히 노트북과 데스크톱을 대체할 수 있으며 그 이상의 퍼포먼스를 발휘할 수 있습니다.

리뷰를 읽으신 여러분,
아이패드 프로 M1 12.9인치 5세대 모델에 대한 제 깊은 분석을 통해 이 제품이 얼마나 뛰어난 성능을 제공하는지,
그리고 어떻게 제 일상과 업무, 회사 생활에서 혁신을 가져왔는지 이곳에 쓰기가 부족할 정도로 만족하고 있습니다.
그러나 현재 이 모델은 단종되어 구매가 어려운 실정입니다.
이러한 상황에서 여러분에게 최선의 대안을 제시하고자 합니다.

2022년 모델인 아이패드 프로 12.9인치 6세대는 강력한 M2 칩을 탑재하여 더욱 향상된 성능을 자랑합니다.
이는 여러분이 몇 년간 후회하지 않고 사용할 수 있는 가성비 높은 제품입니다.
M2 칩은 이미 M1의 뛰어난 성능을 기반으로 한 단계 더 발전하여,
더 빠른 CPU 성능과 강화된 그래픽 처리 능력을 제공합니다.
이것보다 더 좋은 오버스펙으로 구매하기보다는 해당 모델을 구매하여 합리적이고 가성비 있는 투자를 하시기를 바랍니다.
저는 넉넉한 살림은 아니지만 가치 있는 투자를 하여 미팅을 다니며 스마트한 이미지를 가져가고,
업무 툴을 사용하여 혁신적인 모습을 많이 보여줬으며,
해당 아이패드로 가져간 부가적인 요소가 많았습니다.
 
조금 더 활용도 있게 업무 가치를 올리고 싶다면 꼭 댓글로 남겨주세요 제가 주로 사용하는 어플 및 노하우를 공유드리겠습니다.
 
아래는 위 추천 제품을 구매한 다음날 받아볼 수 있는 최저가 링크입니다.
https://jdkjdk91.blogspot.com/2024/03/blog-post_11.html

아이패드 프로

jdkjdk91.blogspot.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다."
 
옵션은 아이클라우드를 사용하시더라도 256mb가 가장 적당할 것으로 보입니다.
추가로 애플케어플러스는 무조건 신청하셔서 보증 기간 이후 새 제품으로 리퍼받아 사용하시길 바랍니다.
정말 추천드려요


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

 

JSON, 이 단어를 들어본 적이 있으신가요?
오늘은 웹 개발 및 데이터 전송에 있어 매우 중요하고 유용한 JSON 파일에 대해 알아보는 시간을 갖도록 하겠습니다.
JSON은 데이터 교환을 가능하게 하는 강력한 가벼운 형식이며, 이 포맷을 이해하고 활용하는 것이 개발자에게 꼭 필요한 능력 중 하나입니다. 이 글에서는 JSON 파일이 무엇인지, 왜 중요한지, 그리고 그 활용 방법에 대해 자세히 살펴보겠습니다.

 

JSON (JavaScript Object Notation)은

웹에서 정보를 나누고,

앱들이 서로 대화하는 방법 중 읽고 작성하기 쉬운 텍스트로 구성된 가벼운 데이터 교환 형식을 의미합니다.

JSON은 웹의 언어 중 하나로, 우리가 웹사이트에서 볼 수 있는

다양한 정보들(친구 목록, 메시지 등)을 주고받는 데 사용됩니다.

 

당신이 쇼핑 리스트를 종이에 적는다고 합시다.

그리고 이 리스트를 친구에게 전달해서 필요한 물건들을 알려줍니다.

JSON도 비슷한 방식으로 작동합니다.

정보의 목록(데이터)을 만들고, 이를 인터넷을 통해 다른 사람(또는 다른 프로그램)에게 전달합니다.

 

JSON은 이 데이터를 주로 키-값 쌍과 배열로 구성되며, 
이러한 데이터를 계층적, 읽기 쉽고 접근하기 쉬운 형태로 표현합니다. 
매우 체계적으로 정리하죠, 무슨 말이냐 하면
각 정보에는 이름(키)과 값이 있으며, 이는 마치 사전에서 단어를 찾는 것과 비슷한 방식으로 작동합니다. 
예를 들어, "이름": "홍길동"에서 "이름"은 키이고, "홍길동"은 그에 해당하는 값입니다.
다음 예제를 살펴봅시다.

{
  "이름": "홍길동",
  "나이": 25,
  "성별": "남자",
  "취미": ["독서", "여행", "요리"]
}

JSON 파일은 간결하고 이해하기 쉬운 구조 덕분에 데이터를 효율적으로 저장하고 교환할 수 있습니다.
컴퓨터나 사람 모두가 쉽게 이해할 수 있습니다.
이 간단함과 체계적인 구조 덕분에, JSON은 웹에서 정보를 주고받는 표준 방식 중 하나가 되었습니다.

다른 표현 방식이 있는데 그건 바로 xml입니다.
xml에 대해 궁금하신 분들은 아래 링크를 참조해주세요
https://jdcyber.tistory.com/41

 

XML이란? (데이터 통신의 보편적 언어)

안녕하세요! 오늘은 데이터 통신 및 교환에 있어 전문적이며 보편적인 언어인 XML에 대해 알아볼까 합니다. 쉽게 말해, XML은 데이터를 공유하고 전송하는 데 도움을 주는 언어로 생각하시면 됩니

jdcyber.tistory.com

그렇다면 왜 JSON이 그렇게 인기가 많을까요?
한 가지 큰 이유는 JSON이 매우 가볍고, 빠르며, 이해하기 쉽기 때문입니다.
또한, JSON은 다양한 프로그래밍 언어에서 쉽게 사용할 수 있어,
다른 시스템이나 앱들과 정보를 공유하기에 아주 좋습니다.
실제로, JSON은 웹 사이트 설정에서부터 소셜 미디어의 친구 목록 공유에 이르기까지 다양한 곳에서 사용됩니다.
 
웹 API를 통해 데이터를 교환하는 데 주로 사용되며,
다양한 프로그래밍 언어들이 JSON 데이터를 지원하기 때문에 데이터 처리가 더욱 간편하게 가능합니다.
또한 데이터 시각화에도 활용되어, 데이터 분석가나 개발자들이 복잡한 데이터 구조를 빠르게 이해할 수 있게 돕습니다.


이번 글을 통해 JSON 파일의 개념, 구조, 중요성 그리고 활용 방법에 대해 알아보았습니다.
JSON 파일은 우리가 많은 웹 콘텐츠를 볼 때 중요한 역할을 합니다.
이를 이용하여 프로그래밍 언어들이 서로 데이터를 교환할 수 있으면서,
데이터 구조를 시각화하고 이를 해석하는데도 매우 유용합니다.
웹에서 정보를 교환하는 강력하고 유연한 방법이며,
이를 통해 우리는 웹 사이트와 앱들이 서로 '대화'하고,
사용자에게 풍부한 경험을 제공할 수 있습니다.


JSON에 대해 알고 있다면, 이 디지털 세계에서 더 많은 것을 할 수 있을 것입니다.
 이를 활용하는 것은 개발자로서 꼭 필요한 능력 중 하나입니다.
다음에 또 다른 흥미로운 주제로 만나 뵙겠습니다.
그럼, 즐거운 하루 보내세요!

 

SBOM과 Cyclone DX, SPDX에 대해 궁금하신 분들은 아래 링크를 참조해주세요

SBOM

CycloneDX

SPDX


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형
반응형

안녕하세요! 오늘은 데이터 통신 및 교환에 있어 전문적이며 보편적인 언어인 XML에 대해 알아볼까 합니다.
쉽게 말해, XML은 데이터를 공유하고 전송하는 데 도움을 주는 언어로 생각하시면 됩니다.
개발자든 아니든 이 글을 통해 쉽게 이해할 수 있는 XML의 개념, 중요성, 특징들을 알게 되실 겁니다.
그럼 시작하겠습니다.

XML이란?

XML 이란 eXtensible Markup Language의 약자로, HTML과 같은 마크업 언어입니다.
1998년 W3C(World Wide Web Consortium)에 의해 개발되었습니다.
이 언어는 SGML(Standard Generalized Markup Language)에서 파생되었으며,
웹 문서의 공유를 목적으로 한 HTML에 비해 데이터의 저장과 전송에 더 적합한 구조를 제공하기 위해 만들어졌습니다.

"생각해 보세요, 우리가 커다란 나무에서 여러 가지 과일을 따듯이,
그 큰 나무가 바로 SGML이라는 기술입니다.
XML은 그 나무에서 따온 맛있는 한 종류의 과일이며,
특히 인터넷에서 정보를 주고받기 좋게 만들어진 과일입니다.
HTML도 같은 나무의 다른 과일처럼, 웹 페이지를 만드는 데 사용됩니다."

SGML의 복잡성을 단순화하여 웹 애플리케이션에서 쉽게 사용할 수 있도록 설계된 XML은
데이터의 이식성과 호환성을 크게 향상했습니다.
하지만 HTML과는 달리 웹 페이지를 만드는 것이 아니라,
웹 페이지 외부에서 데이터 자체를 표현하고 저장하기 위해 설계되었습니다.

XML 파일 구조

XML 파일은 ". xml" 확장자를 가진 파일로, 데이터와 그 데이터의 구조를 정의하기 위해 사용됩니다.
데이터와 그 구조를 명확하게 정의할 수 있으며,
이를 효과적으로 인터넷을 통해 전송하고,
서로 다른 시스템 간에 쉽게 공유할 수 있습니다.
이는 데이터를 읽고 이해하기 쉽게 만드는 데 큰 역할을 합니다.
XML 문서는 태그(tag)와 속성(attribute)으로 이루어진 계층적 구조를 가지고 있습니다.

"XML 문서를 만드는 것은 마치 큰 상자에 여러 작은 상자들을 넣고,
각 상자에 무엇이 들어있는지 적어 놓는 것과 비슷합니다.
'태그'는 상자에 붙은 라벨이며, '속성'은 그 상자에 대한 추가 정보를 제공합니다.
이런 방식으로 모든 것이 잘 정리되어 있어, 필요한 정보를 쉽게 찾을 수 있습니다."

모든 XML 문서는 루트(root) 요소를 포함하며,
이 안에 여러 자식(child) 요소를 포함할 수 있습니다.
예를 들어, <book> 태그는 하나의 책을 나타내며,
<title>, <author>와 같은 여러 자식 요소를 포함할 수 있습니다.
XML 문서는 반드시 닫는 태그를 포함해야 하며, 대소문자를 구분합니다.
또한, XML 선언은 문서의 최상단에 위치하며, 버전과 인코딩 타입을 명시합니다.

<?xml version="1.0" encoding="UTF-8"?>
<book>
  <title>XML for Beginners</title>
  <author>John Doe</author>
</book>

 

XML 스키마와 DTD

XML 스키마와 DTD(문서 형식 정의)는 XML 문서의 구조를 정의하고,

해당 문서 내의 데이터 타입을 검증하는 데 사용됩니다.

"상상해 보세요, 당신이 건축가이고, 건물을 짓기 전에 설계도를 그립니다.

XML 스키마와 DTD는 마치 그 건물의 설계도와 같습니다.

이들은 XML 문서가 어떤 구조를 가져야 하는지, 어떤 정보를 담을 수 있는지 정확히 알려줍니다.

이런 규칙들 덕분에 모든 정보가 제자리에 있고, 오류 없이 잘 작동합니다."

DTD는 XML의 초기 버전에서 사용되었으며, 스키마는 더 강력한 데이터 타입 지원과 네임스페이스를 제공합니다.

이러한 도구를 사용함으로써, 데이터의 일관성과 정확성을 보장할 수 있습니다.

플랫폼 및 프로그래밍 언어와의 독립성

XML은 대부분의 플랫폼과 프로그래밍 언어에서 처리할 수 있는 독립적인 형식입니다.
이 독립성은 다양한 시스템 간에 데이터를 교환하는 데 있어 큰 이점을 제공합니다.

XML 활용

개발자들은 웹 서비스, 구성 파일, 데이터베이스 등에서 XML을 사용합니다.
이를 통해 데이터가 어떻게 보이고 작동해야 하는지 설명하고, 데이터 전송과 표현을 동시에 처리할 수 있습니다.
또한, XML은 많은 시스템과 애플리케이션에서 중요한 역할을 하는 핵심 기술입니다.

XML의 장점과 단점

 

장점

XML은 데이터의 자기 기술적(self-descriptive) 특성과 텍스트 기반 구조로 인해 인간과 기계 모두에게 읽기 쉽습니다.

또한, 플랫폼 독립적이며, 확장 가능하고, 사용자 정의 태그를 통해 유연한 데이터 표현이 가능합니다.

 

단점

그러나 XML은 종종 파일 크기가 크고, 파싱(parsing) 시간이 오래 걸릴 수 있는 단점이 있습니다.

이는 네트워크 대역폭과 처리 성능에 영향을 줄 수 있습니다.

 

최근에는 JSON(JavaScript Object Notation)과 같은 경량의 데이터 교환 형식이 인기를 얻고 있습니다.

JSON은 텍스트 기반의 구조로, 웹 애플리케이션에서의 데이터 교환에 최적화되어 있으며,

XML에 비해 더 작은 파일 크기와 빠른 파싱 속도를 제공합니다.

"XML과 JSON을 비교하자면, XML은 전통적인 편지와 같고, JSON은 이메일 같습니다.

JSON은 더 빠르고 간단한 메시지를 주고받는 데 적합하다면,

XML은 더 많은 정보와 세부 사항을 담을 수 있어서, 복잡한 데이터를 다룰 때 유용합니다."

그러나 XML은 메타데이터와 네임스페이스 지원이 뛰어나고, 보다 복잡한 문서 구조를 표현하는 데 유리합니다.

SBOM과 Cyclone DX, SPDX에 대해 궁금하신 분들은 아래 링크를 참조해주세요

SBOM

CycloneDX

SPDX


XML의 유연성과 확장성은 다양한 분야에서 그 가치를 발휘합니다.

예를 들어, 금융 서비스에서는 거래 데이터의 교환, 의료 분야에서는 환자 정보의 공유,

출판에서는 디지털 책의 포맷팅에 XML을 활용합니다.

이러한 사례들은 XML이 다양한 시스템과 애플리케이션에서 데이터를 표준화하고,

교환하는 데 어떻게 중요한 역할을 하는지 보여줍니다.

 

오늘은 XML이 무엇인지, 그 중요성과 장점 등에 대해 알아보았습니다. 

데이터 구조의 표현과 공유에서 XML의 유연성과 확장성이 중요한 이유임을 이해할 수 있을 것입니다. 

다음 시간에는 다른 흥미로운 주제로 돌아오겠습니다. 

그럼 즐거운 하루 보내세요!


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형
반응형

현재 사용 중인 아즈라 이어 팁 리뷰입니다.

이어 팁의 중요도는 모두 알고 계실 것 같아요

작년 외이도염으로 뉴스에도 떠들썩하게 논란이 되었었죠

매일 끼고 다니는 이어폰이 귀에 맞지 않거나

부작용 알레르기가 일어나서 심각한 문제로

이어질 수 있어서 굉장히 중요한데요,

이어 팁을 바꾸는 것만으로도 많이 개선할 수 있습니다.

이 이어 팁을 사용해봤더니

자연스럽게 신체에 맞게 변형되고 귀를 부드럽게 채워주며

팝 필터를 고급 소재로 쓰다

보니 음질이 향상되고 기능이 증폭되는 걸

 

몸소 경험했습니다.

여러분도 꼭 한번 경험해 보시길 추천드립니다.

아즈라 이어 팁은 버즈 프로를 사용하던 때

알게 되어 그때부터 사용했던 팁입니다.

다른 유명한 이어 팁들도 많았는데요

저는 한 가지를 살 때 리뷰와 정보를 많이 찾아보고 사는 편인데

그때 가장 극찬이었던 이어 팁이 아즈라 이어 팁이었습니다.

그래도 저는 궁금해서 다른 좋다는

이어 팁도 같이 사서 써봤는데

역시 이걸 추천하는 데는 이유가 있더라고요.. 

소니 이어폰에서도 아즈라 팁을 잠시 사용했었고,

이번에 에어팟 프로 2세대를 구입하면서

기본 번들 이어 팁을 사용했는데

귀가 자꾸 아프고 귀 안쪽에 트러블이 나기 시작하여

아즈라 이어 팁을 구매하고 옮겨온 후 10개월간 실 사용 해왔고

여러 가지 측면에서 월등히 기본 번들 이어 팁을

압도했기에 제품 추천 리뷰를 쓰게 되었습니다.

 

이어 팁 하나 바꾼다고 음질이 좋아진다고?

말도 안 돼

제가 처음 이어 팁에 입문할 때 반신반의하며 생각했던 질문입니다.

에어팟 프로 2세대 기본 번들 이어 팁을 사용할 때와

지금 아즈라 이어 팁을 사용할 때의 변화는 상당합니다.

기본 번들 이어폰흐물 딱딱 느낌이라면

아즈라 이어 팁은 느낌이었습니다

귓속에 넣었을 때 번들 이어 팁은 욱여넣어! 느낌이라면

아즈라 이어 팁은 오 너 귀가 이렇게 생겼구나?

내가 맞출게라는 느낌을 받았습니다.

오랜만에 착용하다 보니 너무 꽉 끼어서 아프더라고요

그래서 어라? 하고

다시 기본 이어 팁으로 돌아갔는데

역체감이 어마 무시했습니다.

바로 너무 아프더라고요

다시 실험해 보기 위해 적당히 압박을 가하여 집어넣었고

세상 편안하고 쨍쨍한 음질을 느끼며

다시 한번 감탄했습니다.


이어 팁 추천 & 사이즈

아즈라 이어 팁은 크게 3가지가 있습니다.

라이트 버전 & 크리스털 & 셀라스택

저는 크리스털 버전을 샀다가

셀라스택으로 변경하였습니다.

기본 라이트 버전은 사용해 본 적이 없지만

크리스털을 사용하다가 셀라스텍으로 넘어온 사람으로서

차이점은 약간 쫀득 끈적합니다.

취향 차이가 올 것 같은데

좀 더 압박이 있고 찌끈한 느낌이 좋으시다면

셀라스택을 쓰시고 조금은 평범한 취향이시라면

크리스털을 쓰셔도 무방합니다.

 

자칫 맞지 않는 이어 팁을 사용하게 되면

외이도염에 걸리거나 귀에 염증을 유발하고

크기가 너무 크거나 작아서 예민한 귀를 자극하게 되면

청각에 심각한 문제가 생길 수도 있습니다.

하지만 아즈라 이어 팁은

기본적으로 아즈라 이어 팁은 SS ~ L 사이즈까지

디테일하게 6 크기로 출시가 되어 있습니다.

기본형부터 프로용 각 이어폰 회사별로 맞춤 설계되어 판매 중인데요

다양한 크기이다 보니 많은 사람들을 포용하고 있습니다.

에어팟 프로 2세대 기본 번들

L 사이즈 이어 팁을 사용하는 사람이라

동일한 크기인 아즈라 이어 팁 L 사이즈를 착용 중인데

아즈라의 경우 말랑 꾸덕꾸덕한 느낌으로

귀에 들어가 빈틈을 꽉 채워주다 보니

크기가 0.2 작은데도 불구하고

굉장히 꽉 막힌다 크다는 느낌을 받았습니다.

그래서 저는 오히려 사이즈를 줄여서

ML 사이즈로 다시 주문하여 사용 중입니다.

저는 이게 좀 더 편하게 잘 맞더라고요!

아래에는 전에 쓰던 소니 이어 팁 크기와

그전에 쓰던 버즈 이어 팁 크기도 첨부해 드리겠습니다.


단점

이어 팁이 잘 빠집니다.

이어 팁이 생각보다 분리가 잘됩니다.

저번에 택시에서 술에 취해 이어폰을 끼고 자다가

내리려는데 에어팟은 훅 빠지고 이어 팁은

귀에 들어가 있더라고요.

먼지가 잘 붙습니다.

후기에도 가장 많은 불편사항이

먼지가 너무 잘 붙습니다.

아무래도 남에게 보여주기 창피하게

이물질이나 먼지가 좀 붙다 보니

신경이 쓰이기는 합니다.

하지만 물로 가볍게 세척도 가능하고 털어내면 되니까

모든 완벽한 건 없으니까...!!

가격이 비쌉니다.

이어 팁이라고 생각하기에는 가격이 꽤나 비쌉니다.

쿠팡 최저가로 찾아봐도 2세트에 26.190원입니다.

한번 구매하면 바꿀 일이 크게 없으니 괜찮지만

첫 구매에는 고민이 많이 되는 저항선이 높은 가격대임은 확실합니다.

하지만 후기가 워낙 좋고 저도 추천하니까

한번 믿고 구매해 보세요!


10개월간 매일 사용하며

실제 사용 후기를 남겨드렸습니다.

구매 예정이시거나 알아보시던 분들에게

좋은 정보였으면 좋겠네요

쫀득 끈적한 느낌이 싫으시다면 크리스털로

좀 더 쫀쫀하고 끈적했으면 좋겠다 하시는 분들은

셀라스택으로 가시면 됩니다.

그냥 입문용 한번 얼마나 달라지나 써볼까?

하시는 분들은 기본으로 가보셔도 됩니다.

아래 아즈라 이어 팁 최저가 링크 남겨드릴게요!

오늘도 리뷰 봐주셔서 감사합니다!

https://jdkjdk91.blogspot.com/2023/01/blog-post.html

 

아즈라 이어팁

 

jdkjdk91.blogspot.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로,

이에 따른 일정액의 수수료를 제공받습니다."


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

에어팟 프로 2세대
(AirPods Pro 2nd Generation)

저의 삶의 질을 중요하게 지켜주는 것 들 중 하나가 

바로 노이즈 캔슬링 이어폰입니다.

출퇴근 길 그리고 업무에 집중할 때

잠깐 외부 세상과 단절되고 싶을 때,

굳이 노래를 듣지 않아도 노이즈 캔슬링을 켜놓고

홀로 있는 시간은 저를 힐링시키기 때문인데요

저는 오래전부터 

이어폰에 광적인 집착을 하던 사람이었습니다.

비츠를 시작으로 점점 하이엔드 이어폰에 도전하다가

결국 헤드폰에 빠져 오랜 기간 헤드폰에 빠져 살다가

다시 이어폰으로 돌아와 노이즈 캔슬링

무선 이어폰이 나오면 종류별로 계속 바꿔가며 

다른 매력을 즐기는 재미에 빠지게 되었습니다.

qcy부터 버즈 마샬 뱅 엔 올룹슨 보스를 지나 

소니 WF-1000XM4에서 크게 감명을 받은 뒤 

다시 버즈 프로로 그리고 에어팟 프로에서 

다시 젠 하이저 모멘텀 트루 와이어리스 3을

잘 사용하다가 다시 에어팟 프로 2세대로 돌아왔습니다.

(가장 최근 사용한 이어폰 5개)

원래대로라면 에어팟은 구매계획에 없었지만 

이어폰 한쪽을 잃어버리는 바람에 

에어팟으로 다시 돌아가자라고 결심을 했고 

이번에 새로 나온 에어팟 프로 2세대를 구매하여 2년간 사용하였습니다.

구매하기 전 여러 리뷰 유튜버들의 의견은 

기존 모델 대비 성능도 업그레이드되고 

디자인도 더 예뻐졌지만 전작에 비해 

비약적으로 좋아졌다는 느낌을 못 받았다는 의견이 

주를 이루었지만 직접 한번 경험해 보자 하고 

쿠팡으로 구매하여 하루 만에 받아보았습니다.

(솔직히 쿠팡이 제일 가격도 좋고 배송도 가장 빠른 거 같아요)

사용해 본 결과 여태까지 저의 변태적인 이어폰 집착의 

명예를 걸고 추천할 만하다 판단이 되었기에

지금부터 에어팟 프로 2세대에 대해 알아보고 

제가 2년간 사용하면서 느낀 솔직한 후기 적어보려 합니다.


외관 및 구성품

외관은 기존 에어팟 프로와 동일합니다.

옆에 홀이 하나 생겼습니다.

기본 구성품으로는 이어 팁 XS/S/M/L로 사이즈가 전보다 다양해졌습니다.

포트는 라이트닝 포트이며 사용설명서 그리고 스티커가 들어있습니다.


착용감

착용감은 개인별로 차이가 있지만 이번에 

이어 팁 사이즈가 좀 더 세세하게 나뉘면서 

귀에 딱 맞는 느낌이며 장시간 착용해도 불편함이 없었습니다.

오픈형보다 확실히 차음성이 좋고 노이즈 캔슬링을 하지 않더라도 

기본적인 외부 소음 차단도 아주 뛰어납니다.

대신 밀폐형 구조 특성상 조금 답답함을 느낄 수도 있는데요.

저는 이어 팁을 따로 구매하여 사용하기 때문에 

불편함이나 이물감은 없었습니다.

(이어팁에 대한 내용은 아래 글을 참고해 주세요!)

https://jdcyber.tistory.com/m/40

 

음질 향상 이어팁 추천 아즈라 이어팁 10개월 솔직 사용 후기 (장점, 단점, 비교, 음질, 에어팟 프

현재 사용 중인 아즈라 이어 팁 리뷰입니다. 이어 팁의 중요도는 모두 알고 계실 것 같아요 작년 외이도염으로 뉴스에도 떠들썩하게 논란이 되었었죠 매일 끼고 다니는 이어폰이 귀에 맞지 않거

jdcyber.tistory.com


페어링 & 연결 속도

저는 현재 아이폰 12프로, 맥북 M1 에어, 

아이패드 12.9 6세대를 사용하고 있습니다.

딱히 애플만 사야지 하고 앱등이가 되었다기보다

저는 오히려 여러 가지 브랜드의 기기를 사용해 보려고 노력하며

마음에 들면 혼종처럼 사용하던 사람이었습니다.

그런데 이번에 에어팟 프로 2세대를 구매해서 

사용해 보니 애플 기기들의 호환성은 

말하기 입 아플 정도로 대단하다고 느꼈습니다.

이 엄청난 속도의 호환성과 어우러짐.. 

각 기기들과 녹아드는 점은 애플이 왜 애플인가를 

다시 한번 느끼게 해 주었습니다.

페어링 속도가 정말 빠릅니다.

뚜껑을 열면 자동으로 인식되고 화면에 팝업창이 뜹니다.

최초 연동 후에는 케이스 덮개만 열어주면 자동으로 연결됩니다.

폰에서 노래를 듣다가 패드로 영상을 보게 되면 자동으로 변경되고,

바로 맥북에서 넷플릭스를 틀어 이동하면 바로 연결이 되는 미친 호환성입니다.


사운드

아쉬움은 있었지만 전체적으로 밸런스는 괜찮았고,

나름대로 우수한 소리를 들려줬습니다.

상세한 음질 리뷰는 아래 단점에서 이야기하도록 하겠습니다.

집중력이 필요한 경우 도움이 되는 "배경 사운드 기능"
균등한 소음, 바닷소리, 비, 시냇물 소리 등을
반복적으로 들려주어 외부 시끄러운 잡 소리를
상쇄시켜 집중하는 데 도움을 줍니다.
아래 실시간 듣기 기능을 켜게 되면 저 멀리서 말하는
사람의 소리도 잘 들리는 모드가 되어
상황에 따라 사용하시면 좋을 것으로 생각됩니다.

 

공간 음향이라는 기능도 있는데요
이 기능을 켜게 되면 고개를 돌렸을 때
기기 쪽에서 소리가 출력되며
영화 안에서 총소리가 뒤에서 들리는 등
놀라운 경험을 하실 수 있습니다.
에어팟 프로 2세대에서 핵심은 이 기능이 아닐까 싶네요


노이즈 캔슬링

노이즈 캔슬링의 경우 액티브였기에 

많은 기대를 하지 않았습니다.

전에 쓰던 젠하이저 제품과 크게 다르지 않거나 

조금 더 좋더라도 소니 정도라고 생각했는데

개인적인 느낌으로는 에어팟 프로 2세대 제품이 

가장 뛰어난 노이즈 캔슬링을 보여줬습니다.


 

단점

진입 장벽
애플의 제품은 안드로이드만 써오거나 다른 제품을
써오던 분들에게는 확실히 진입장벽이 높습니다.
부모님이 선뜻 아이폰으로 오지 못하는 이유도 그중 하나죠
갤럭시는 이렇게 이렇게 배치하고 이렇게 설정해서
편하게 써볼게라는 사용자의 입장을 충분히 들어주는 반면
애플은 아니야 이렇게 쓰면 더 편할걸? 하면서
그들의 세팅 값으로 유도하는 느낌이니까요
마치 우리가 아이클라우드를 처음 썼을 때
왜 다 연동되고 혼자 사라지고.. 라면서
골머리를 썩었던 몇 년 전과 같이 말이죠
하지만 완벽하게 적응한 유저들에게
이제는 너무 편한 시스템이 되어버린 건 사실입니다.

가격
다만 다른 브랜드 대비 비싼 가격대는 늘 아쉬웠습니다.
가성비라는 단어가 가장 안 어울리는 브랜드이며
이들의 액세서리 마케팅과 컬러 놀이
그리고 이제는 혁신이 잘 어울리지 않는 디자인까지
몇 년간 납득 가지 않는 가격대라는
사실은 변함이 없습니다.

음질
음질은 솔직히 말하면 우와~ 엄청나다!!
정도까지는 아닙니다.
저음역대가 강조되긴 했지만
고음역대 표현력이 다소 부족했습니다.
공간감도 그리 넓지 않았고
해상력도 평범한 수준이었습니다.
하지만 이 가격대에 이어폰들을 나열해 봤을 때
뒤처진다는 느낌은 없습니다.
다만 좀 더 좋은 선택지는 있겠지만요

노이즈 캔슬링
노이즈 캔슬링을 평소에 사용하지 않으시는 분들에게 착용을 권유해 봤는데
귀가 너무 먹먹하여 멀미가 난다고 하시더라고요
저는 강력한 노이즈 캔슬링을 좋아하는 편이라
괜찮았지만 사람에 따라 다르구나라고 느꼈습니다.
컨디션이 안 좋을 때는 저 또한 먹먹함이
느껴지는 정도입니다.
아직은 더 개선이 필요한 부분입니다.

포트
라이트닝입니다.. 선 넘었죠.
C 타입이 아닌 건 정말 너무합니다.
요즘에는 C타입 포트로 이루어진 에어팟이 출시되었죠.
해당 제품으로 무조건 구매하시고 아래 링크는 c타입으로 남겨드리겠습니다.


총평

마음에 쏙 들 정도로 완벽하진 않다.

하지만 이 가격대 다른 타사 제품과 견주어볼 때

부족한 점이 보이기보다 이 정도에 이런 기능 이런 호환성이라면 에어팟 프로 2세대 잘 나왔다!!

에어팟 프로를 사용하다가 젠하이저로 넘어갔다가 

다시 돌아와 역체감이 크게 느껴지고

오히려 한번 다른 곳으로 건너갔다 돌아와서 

변화된 점들이 크게 다가온 것 같습니다.

기존에 에어팟 프로를 사용하고 있는데 프로 2로 

넘어가려고 고민하시는 분들에게는 

절대 추천하고 싶지 않습니다.

다만 다른 브랜드 이어폰을 사용하셨었거나 

이제 에어팟 프로 입문해 보고 싶으신 분들은

구매하셔라라고 말씀드리고 싶네요.

2년간 실제로 매일매일 사용해 보고 

솔직히 말씀드립니다.

믿고 지르세요

아래 쿠팡 최저가 링크 남겨드리겠습니다.

https://jdkjdk91.blogspot.com/2024/03/blog-post.html

 

에어팟프로2세대

 

jdkjdk91.blogspot.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형

맥북 M1 Air

[Macbook M1 Air 13인치 램 16gb]

사이버 보안, 개발 공부를 시작한 이후

저의 첫 노트북이자 후기 글입니다.

저는 전자기기 유목민으로써 맥북, LG 그램 사용자이며

집에서는 조립식 컴퓨터로 인텔과 AMD 컴퓨터 

번갈아가며 사용하고 사무실에서는

맥 미니 M1을 사용했습니다.

(폰 역시 갤럭시와 아이폰을 넘나들다가 

블랙베리로 갔다가 다시 아이폰으로 온 

좋은 거면 가리지 않는 사람입니다)

이번에 본격적인 업무용 컴퓨터로

맥북 M1을 구매하게 되었고 3년 동안 사용하며

솔직한 심정과 느낌을 후기로 작성하려 합니다.

참고로 맥북 이전

가장 근래에 사용한 노트북은

LG전자 2019 그램 17ZD990-VX50K 

(SSD 256GB)입니다.


서론

제가 맥북 M1 에어를 선택한 이유는 여러 가지가 있지만,

가장 큰 이유는 '효율성과 성능의 완벽한 균형'을 찾고 싶었기 때문입니다.

사이버 보안과 개발 공부를 본격적으로 시작하면서, 저는 무엇보다도 강력한 성능을 지닌 노트북이 필요했습니다.

하지만 동시에 매일같이 오랜 시간 동안 사용할 기기이기에 휴대성과 배터리 수명 역시 중요한 고려 사항이었습니다.

이러한 저의 요구 사항을 모두 충족시킬 수 있는 제품을 찾던 중,

맥북 M1 에어가 가장 이상적인 선택으로 떠올랐습니다.


디자인

이 제품의 디자인을 한마디로 표현하자면

"유려하다, 아름답다, 깔끔하다"

맥북 특유의 마감과 에어의 장점인 

투박하게 네모나지 않은 유려한 곡선

그리고 가장 중요한 애플 감성

제가 가지고 있는 다른 애플 제품들이

모두 스페이스 그레이 색상이기 때문에 

이번에도 스페이스 그레이로 주문했습니다.

"아름답습니다"

Macbook M1 Air 구성품

구성품은 아래와 같습니다

노트북 본체와

C to C 케이블, C 타입 충전 포트,

설명서와 스티커 2개

스펙
제품 정보 / Specification
상품명
Apple 2020 MacBook Air M1 Chipset
모델 넘버
Z124000BL
프로세서
8 Core
RAM 메모리
16 GB
그래픽
7 Core
저장 장치
256Gb SSD
색상
Silver, Space gray, Gold

이번에 구입한 맥북 에어 M1 모델은

램 메모리를 16기가로 구입했습니다

기본 8기가로 출시되지만

맥북으로 가벼운 작업만 하는 것은 아니라서

램을 16기가 추가하여 사용 중입니다.

색상은 실버 스페이스 그레이 골드가 있고요

저는 스페이스 그레이를 골랐습니다.

이번에 애플은 M1을 통해 새로 발표한 혁신적인 M1 프로세서를 탑재하여

엄청난 기능을 선보이고 있습니다

M1 칩은 애플에서 직접 설계한 

Arm 아키텍처 기반 프로세서로서

스템 온 칩(SoC, System on Chip)으로 

하나의 칩 안에 CPU, GPU, Neural Engine, 

I/O 등 많은 요소를 통합하여 생산해낸 제품입니다.

이미 M1은 동일 가격대 대비 노트북들의 성능을

훨씬 뛰어넘는 모습을 보여줬으며,

시간이 지나면 금방 새로운 노트북이 출시되면서

뒤로 밀려나는 전자기기 시장에서 

2년이 지난 지금까지도

많은 유튜버 리뷰어들이 M1을 칭찬하면서

아직 대적할 만한 노트북은 없다면서

지금 구입해도 충분히 멋진 노트북이라고 

얘기하고 있습니다.

(인텔 칩이 들어간 300만 원짜리 맥북프로와

M1 칩이 들어간 100만 원짜리 

맥북 에어의 속도를 비교했을 때

M1 칩이 들어간 맥북에어가 영상, 

프로그래밍 작업 부분에서

월등히 빠른 속도를 냈다는 건 엄청난 충격이었죠)

여러 실 사용 테스트를 보면, M1 맥은 지금까지의 

하이엔드 인텔 맥을 앞서는 정도가 아니라 

압살하고 있습니다

그래서 M1 칩이 뭔데 하시는 분들에게

설명을 해드리면

M1은 CPU가 아닙니다.

메인보드 자체이며 CPU 자체이고 

그래픽카드 자체입니다.

칩이라고 이야기하는 것이 가장 적합하겠죠

그렇다면 왜 빠른가를 조금 비약적으로 설명해 본다면

너무 맛있는 음료수를 거대한 통에 담아

빠르게 마시게 하기 위해 얇고 짧은 빨대를 넣고

마신다고 상상해 보세요

음료가 빠르게 도착하긴 하겠지만 

너무 조금씩 들어오겠죠

우리는 이 빨대 크기를 더 짧게 

크게 만들 생각만 한 겁니다.

하지만 애플은 입을 데고 마시라고 하고 있죠

이것이 M1 칩과 거대한 CPU 그래픽카드의 차이입니다.


제품 추천 이유 (장점)

맥북 M1 Air의 가벼움 속에서 느껴지는 

파워풀한 퍼포먼스

이미 이곳에서 자랑하기에는 늦어도 한참 늦었습니다.

어디를 다니던 맥북 에어는

전혀 부담스러운 무게가 아닙니다.

오히려 저의 다른 제품인

아이패드 12.9 + 매직 키보드 제품 세트보다

에어 노트북이 가벼워서

가벼운 작업을 해야 함에도 패드보다

노트북을 들고 다니는 일이 많았습니다.

 가벼움에서 나오는 무서운 성능을 느껴본다면

경외심마저 들 정도입니다.


비교분석

최근 발표된 M3 맥북과 비교했을 때, 맥북 M1 에어는 여전히 가성비 측면에서 압도적인 선택입니다.

M3 칩셋이 더 높은 성능을 제공할 수 있지만,

M1 모델은 이미 일상적인 사용과 대부분의 전문적 작업에 충분히 뛰어난 성능을 보여주고 있습니다.

특히 가격 대비 성능에서 M1 에어는 여전히 시장에서 경쟁력을 유지하고 있습니다.

M3 모델은 성능 향상이 있지만 가격 역시 상승,

이에 대한 투자 대비 효과를 고려할 때 M1 에어는 예산에 더 민감한 사용자들에게 매력적인 옵션으로 남아 있습니다.

또한, M1 칩셋의 혁신적인 아키텍처는 이미 많은 사용자와 전문가로부터 입증받은 바 있으며,

시장에 출시된 지 2년이 지났음에도 불구하고 여전히 높은 성능을 유지하고 있습니다.


이번 맥북 에어 M1은 쿨링 팬이 없는 팬 리스 구조입니다

처음에는 팬이 없어서 걱정이 많았습니다.

가끔 무거운 동영상 편집 작업을 하기도 하고

일러스트나 포토샵으로 디자인 작업을 하기도 하는데

이때 항상 옆에 OTT로 영상을 틀어놓고 

작업하기 때문에

노트북은 항상 뜨끈뜨끈했었거든요

그런데 팬리스라니...

하지만 정말 놀라웠습니다.

팬이 없으니 당연히 아무런 소음이 일어나지 않아 

조용했고,

그램으로 동영상 편집 작업을 하고 렌더링을 할 때

과부하로 너무 뜨거워지면서

중간에 자주 다운이 되기도 했지만

이 노트북은 정말 강력했습니다.

발열도 거의 일어나지 않았으며

인코딩 속도 또한 그램에 비해

훨씬 빠른 모습을 보여줬습니다.

M1 에어의 열 관리는 역대 최고라고 해도 

과언이 아닙니다.


저는 직업 특성상 화상 미팅을 정말 많이 했습니다.

많이 할 때는 오전 9시에 미팅을 시작해서

연달아 5번의 미팅으로 오후 7시까지 진행할 정도로

화상 미팅을 정말 많이 하는데요

이전 그램을 사용할 때는 카메라나 마이크의 성능, 

배터리가 부족하다고 느껴져서 따로 제품을 구매하여 

사용했었습니다.

그런데 이번에 맥북 M1 에어로 바꾸고 나서

아주 시끄러운 카페를 제외하고서는

외근에서도 다른 제품의 필요성이 느껴지지 않을 정도로

거의 완벽한 퍼포먼스를 보여주었습니다.

개인적으로는 가장 만족감 높은 노트북이었습니다.


더욱 좋아진 색 표현과 텍스트의 선명도 그리고

조도 자동 조절은 개인적으로 너무 완벽했고

이러한 장점들은 자세히 얘기하는 것보다

이미 이전 버전부터 맥의 특장점이니

더 좋아졌다 정도로 줄이고 넘어가겠습니다.

공개된 지 2년이 지난 지금 2022년 12월까지도

이 제품을 구매하면 후회하실 일은 없으실 겁니다.

단점

하지만 단점도 당연히 존재합니다.

M1은 Apple silicon 기반 새로 개발된 칩셋이다 보니

지원하는 프로그램이 많이 적어

호환의 문제가 아주 컸습니다.

유명한 가상머신인 VMWARE라든지 여러 

타 프로그램들도 거의 다 호환에 문제가 있었습니다.

최근에 들어서야 호환이 힘들었던 프로그램에서

애플 실리콘에 호환이 완벽해진 버전을 내놓고 있어서

이제는 어려움 없이 거의 모든 프로그램을

사용하고 있지만,

11월까지만 해도 단지 호환성 문제 하나 때문에

노트북을 교체해야 하나 고민이 많았습니다.

(추천 게시글이 지금에서야 올라가는 이유도 

이 중 하나입니다.)

선더볼트 지원 C 타입 2개 / 3.5mm 헤드폰 1개

네, 왜 이렇게 한 건지 이해가 안 가는 포트 구성입니다.

원래 허브와 독을 가지고 있기 때문에 개인적으로는

어려움이 없었으나 분명 단점인 것은 확실합니다.


현재는 이러한 호환성 단점도 사라졌고

후속작인 M2 역시 기대보다 실망이 커진 상황에서

가격 대비 아직까지 최고의 선택 

맥북 Air M1인 것은 기정사실이라고 생각합니다.

맥북 입문을 앞두고 지금 당장 맥북을 사야 한다면

이 제품은 정말 잘 만들어진 랩탑임은 분명합니다

비교 대체재가 아직까지는 없어 보일 정도로

애플과 어울리지 않는 가성비라는 단어와 찰떡입니다.

강력한 맥북 M1 Air로 시작해 보시는 건 어떠실까요?

아래 링크 남겨둘 테니 필요하신 분들은 구경해 보시길 추천드려요!

https://jdkjdk91.blogspot.com/2022/12/m1.html

 

맥북 m1

 

jdkjdk91.blogspot.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로,

이에 따른 일정액의 수수료를 제공받습니다."


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

오늘은 MySQL에 대한 개념 글에 이어서

아직 mysql에 대해 모르시거나

이 글 전에 읽어보시지 못하셨다면

아래 링크를 한번 보고 오시길 추천드립니다.

(작성 중)

Mysql을 배우고 나서 아래 실습을 통해

간단한 명령어를 직접 연습해 보고

sql이 어떤 식으로 운용될 수 있는지

직접 알아보도록 하겠습니다.

주의

Sql 구문은 하나의 명령이 종료가 되면 

세미콜론(;)을 붙여주어야 합니다.

만약 세미콜론이 생략되면

2차 프롬프트(->)가 시작됩니다.

무조건 끝에 세미콜론을 붙이신다고 

생각해 주세요

MySQL 접속
bee@bee-box:~$ 
bee@bee-box:~$cd /var/www/bWAPP
bee@bee-box:/var/www/bWAPP$

root@bee-box:/var/www/bWAPP# mysql -u root -p

Enter password: bug
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.0.96-0ubuntu3 (Ubuntu)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| bWAPP              | 
| drupageddon        | 
| mysql              | 
+--------------------+
4 rows in set (0.00 sec)

cd /var/www/bWAPP를 이용하여

bWAPP 디렉터리로 이동합니다.

mysql -u root -p 명령어와 패스워드 

bug를 이용하여 Mysql 로컬 접속을 실시합니다.

show databases를 이용하여 

데이터베이스를 확인합니다.

가장 위에 있는 Information_schema 

Mysql에서 운영되는 데이터베이스, 

테이블, 칼럼의 모든 정보를 관리하는 DB입니다.

아래 보이는 bWAPP과 drupageddon 

bWAPP 시나리오에 사용하는 DB이며

맨 아래 mysql은 Mysql 운영과 관련된 

정보가 저장된 DB입니다.

 

DataBase 생성 및 삭제
mysql> create database test;
Query OK, 1 row affected (0.00 sec)

mysql> show databases; 
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| bWAPP              | 
| drupageddon        | 
| test               | 
| mysql              | 
+--------------------+
5 rows in set (0.00 sec)

mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| bWAPP              | 
| drupageddon        | 
| mysql              | 
+--------------------+
4 rows in set (0.00 sec)

create database ; 명령어를 이용하여 

데이트베이스를 생성하고

drop database ; 명령어 

데이터베이스를 삭제할 수 있습니다

(test 데이터베이스 생성)

테이블 생성 및 삭제
mysql> use test;
Database changed

mysql> show tables;
Empty set (0.00 sec)

mysql> create table linux (id int, login varchar(10), password varchar(10), username varchar(20), age int);
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+------------------+
| Tables_in_test   |
+------------------+
| linux            | 
+------------------+
1 row in set (0.00 sec)

mysql> create table cisco (id int, login varchar(10), password varchar(10), username varchar(20), age int);
Query OK, 0 rows affected (0.00 sec)

mysql> create table security (id int, login varchar(10), password varchar(10), username varchar(20), age int);
Query OK, 0 rows affected (0.00 sec)

mysql> create table java (id int, login varchar(10), password varchar(10), username varchar(20), age int);
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+------------------+
| Tables_in_test   |
+------------------+
| cisco            | 
| java             | 
| linux            | 
| security         | 
+------------------+
4 rows in set (0.00 sec)

mysql> drop table java;
Query OK, 0 rows affected (0.00 sec)

mysql> show tables; 
+------------------+
| Tables_in_test   |
+------------------+
| cisco            | 
| linux            | 
| security         | 
+------------------+
3 rows in set (0.00 sec)

use ; 명령어를 이용하여 test 데이터베이스를 사용하고

show tables ; 명령어 테이블을 확인합니다.

create table ; 명령어 리눅스 테이블을 생성하고 

cisco, security, java 테이블을 리눅스와 

동일하게 추가로 생성합니다.

(java 테이블은 삭제)

칼럼 속성 확인 & 데이터 값 입력
mysql> desc cisco;
+----------+-------------+------+-----+---------+-------+
| Field    |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(10) |  YES |     |   NULL  |       |
| password | varchar(10) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|   age    |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.021 sec)

mysql> desc linux;
+----------+-------------+------+-----+---------+-------+
|   Fiel d |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(10) |  YES |     |   NULL  |       |
| password | varchar(10) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|    age   |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.001 sec)

mysql> desc security;
+----------+-------------+------+-----+---------+-------+
|  Field   |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(10) |  YES |     |   NULL  |       |
| password | varchar(10) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|    age   |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.001 sec)

desc; 명령어를 이용하여 속성을 확인해 보고,

mysql> select * from cisco;
Empty set (0.000 sec)

mysql> insert into cisco values(1, 'cisco1', 'cisco1111', 'test', 23);
Query OK, 1 row affected (0.001 sec)

mysql> insert into cisco values(2, 'cisco2', 'cisco2222', 'test', 26);
Query OK, 1 row affected (0.001 sec)

mysql> insert into cisco (login, id, password, age, username) values('cisco3', 3, 'cisco3333', 29, 'test'); 
Query OK, 1 row affected (0.001 sec)

mysql> select * from cisco;
+------+--------+-----------+----------+------+
| id   | login  | password  | username |  age |
+------+--------+-----------+----------+------+
| 1    | cisco1 | cisco1111 |   test   |  23  |
| 2    | cisco2 | cisco2222 |   test   |  26  |
| 3    | cisco3 | cisco3333 |   test   |  29  |
+------+--------+-----------+----------+------+
3 rows in set (0.000 sec)

mysql> \! clear

mysql> insert into linux values(1, 'linux1', 'linux1111', 'test', 33); Query OK, 1 row affected (0.001 sec)

mysql> insert into linux values(2, 'linux2', 'linux2222', 'test1', 36);
Query OK, 1 row affected (0.001 sec)

mysql> insert into linux values(3, 'linux3', 'linux3333', 'test2', 39);
Query OK, 1 row affected (0.001 sec)

mysql> select * from linux;
+------+--------+-----------+--------------+------+
|  id  |  login |  password |   username   |  age |
+------+--------+-----------+--------------+------+
|   1  | linux1 | linux1111 |     test     |  33  |
|   2  | linux2 | linux2222 |     test1    |  36  |
|   3  | linux3 | linux3333 |     test2    |  39  |
+------+--------+-----------+--------------+------+
3 rows in set (0.000 sec)

mysql> insert into security values(1, 'security1', 'security11', 'test', 43); Query OK, 1 row affected (0.001 sec)

mysql> insert into security values(2, 'security2', 'security22', 'test1', 46);
Query OK, 1 row affected (0.001 sec)

mysql> insert into security values(3, 'security3', 'security33', 'test2', 49);
Query OK, 1 row affected (0.001 sec)

mysql> select * from security;
+------+-----------+------------+---------------+------+
|  id  |   login   |  password  |    username   |  age |
+------+-----------+------------+---------------+------+
|   1  | security1 | security11 |      test     |  43  |
|   2  | security2 | security22 |      test1    |  46  |
|   3  | security3 | security33 |      test2    |  49  | 
+------+-----------+------------+---------------+------+
3 rows in set (0.000 sec)

각 칼럼에 데이터 값을 입력해 봅니다.

select * from ; 명령어로 칼럼을 선택하고

insert into ~ values ; 명령어 

원하는 정보를 입력하여 넣어줍니다.

데이터 값 수정 및 삭제
mysql> select * from cisco;
+------+--------+-----------+--------------+------+
|  id  |  login |  password |   username   |  age |
+------+--------+-----------+--------------+------+
|   1  | cisco1 | cisco1111 |     test     |  23  |
|   2  | cisco2 | cisco2222 |     test     |  26  |
|   3  | cisco3 | cisco3333 |     test     |  29  |
+------+--------+-----------+--------------+------+
3 rows in set (0.000 sec)

mysql> update cisco set username='test1' where login='cisco2';
Query OK, 1 row affected (0.022 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update cisco set username='test2' where id=3; 
Query OK, 1 row affected (0.003 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from cisco;
+------+--------+-----------+--------------+------+
|  id  |  login |  password |   username   |  age |
+------+--------+-----------+--------------+------+
|   1  | cisco1 | cisco1111 |     NULL     |  23  |
|   2  | cisco2 | cisco2222 |     test1    |  26  |
|   3  | cisco3 | cisco3333 |     test2    |  29  |
+------+--------+-----------+--------------+------+
3 rows in set (0.000 sec)

mysql> update cisco set username=default where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from cisco; 
+------+--------+-----------+--------------+------+
|  id  |  login |  password |   username   |  age |
+------+--------+-----------+--------------+------+
|   1  | cisco1 | cisco1111 |     test     |  23  | 
|   2  | cisco2 | cisco2222 |     test1    |  26  | 
|   3  | cisco3 | cisco3333 |     test2    |  29  | 
+------+--------+-----------+--------------+------+
3 rows in set (0.00 sec)

mysql> update cisco set username=default;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 3 Changed: 2 Warnings: 0

mysql> select * from cisco;
+------+--------+-----------+----------+------+
|  id  |  login |  password | username |  age |
+------+--------+-----------+----------+------+
|   1  | cisco1 | cisco1111 |   NULL   |  23  | 
|   2  | cisco2 | cisco2222 |   NULL   |  26  | 
|   3  | cisco3 | cisco3333 |   NULL   |  29  | 
+------+--------+-----------+----------+------+
3 rows in set (0.00 sec)

mysql> delete from cisco where id=3;
Query OK, 1 row affected (0.00 sec)

mysql> select * from cisco;
+------+--------+-----------+----------+------+
|  id  |  login |  password | username |  age |
+------+--------+-----------+----------+------+
|   1  | cisco1 | cisco1111 |   NULL   |  23  | 
|   2  | cisco2 | cisco2222 |   NULL   |  26  | 
+------+--------+-----------+----------+------+
2 rows in set (0.00 sec)

mysql> delete from cisco;
Query OK, 2 rows affected (0.00 sec)

mysql> select * from cisco;
Empty set (0.00 sec)

mysql> desc cisco;
+----------+-------------+------+-----+---------+-------+
|   Field  |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       | 
|   login  | varchar(10) |  YES |     |   NULL  |       | 
| password | varchar(10) |  YES |     |   NULL  |       | 
| username | varchar(20) |  YES |     |   NULL  |       | 
|    age   |   int(11)   |  YES |     |   NULL  |       | 
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

select * from ; 명령어로 컬럼을 선택하고

update ~ set username= ~ where login='~';

으로 username 값을 변경해 본다

update ~ set username=default where id=~; 과 update ~ set username=default 명령어로

username을 NULL로 변경해 본다

delete from ~ where id=~ 명령어

삭제를 시도해 본다

desc ~; 명령어 지금까지 작업한 내용을 확인해 본다.


다음 실습을 위해 Cisco 테이블에 데이터 값 재 입력
mysql> insert into cisco values(1, 'cisco1', 'cisco1111', 'test', 23);
Query OK, 1 row affected (0.001 sec)

mysql> insert into cisco values(2, 'cisco2', 'cisco2222', 'test1', 26);
Query OK, 1 row affected (0.001 sec)

mysql> insert into cisco values(3, 'cisco3', 'cisco3333', 'test2', 29); 
Query OK, 1 row affected (0.001 sec)

mysql> select * from cisco;
+------+--------+-----------+----------+------+
| id   | login  | password  | username |  age |
+------+--------+-----------+----------+------+
| 1    | cisco1 | cisco1111 |   test   |  23  |
| 2    | cisco2 | cisco2222 |   test1  |  26  |
| 3    | cisco3 | cisco3333 |   test2  |  29  |
+------+--------+-----------+----------+------+
3 rows in set (0.000 sec)

칼럼 속성 정보 변경
mysql> desc linux;
+----------+-------------+------+-----+---------+-------+
|   Field  |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       | 
|   login  | varchar(10) |  YES |     |   NULL  |       | 
| password | varchar(10) |  YES |     |   NULL  |       | 
| username | varchar(20) |  YES |     |   NULL  |       | 
|    age   |   int(11)   |  YES |     |   NULL  |       | 
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> alter table linux modify login varchar(20);
Query OK, 0 rows affected (0.002 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table linux modify password varchar(40);
Query OK, 0 rows affected (0.001 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc linux;
+----------+-------------+------+-----+---------+-------+
|   Field  |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(20) |  YES |     |   NULL  |       |
| password | varchar(40) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|    age   |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

alter table ~ modify login ~; 명령어를 이용하여

로그인 속성을 변경해 봅니다.

alter table ~ modify password ~ 명령어

이용하여 패스워드 속성을 변경해 봅니다.

칼럼 추가 & 수정 & 삭제
mysql> alter table linux add email varchar(20) first;
Query OK, 0 rows affected (0.006 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc linux;
+----------+-------------+------+-----+---------+-------+
|   Field  |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|   email  | varchar(20) |  YES |     |   NULL  |       |
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(20) |  YES |     |   NULL  |       |
| password | varchar(40) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|    age   |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.001 sec)

mysql> select * from linux;
+-------+------+--------+-----------+--------------+------+
| email |  id  |  login |  password |   username   |  age |
+-------+------+--------+-----------+--------------+------+
|  NULL |   1  | linux1 | linux1111 |     test     |  33  |
|  NULL |   2  | linux2 | linux2222 |     test1    |  36  |
|  NULL |   3  | linux3 | linux3333 |     test2    |  39  |
+-------+------+--------+-----------+--------------+------+
3 rows in set (0.000 sec)

mysql> alter table linux modify email varchar(20) after username; Query OK, 0 rows affected (0.009 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc linux; 
+----------+-------------+------+-----+---------+-------+
|   Field  |     Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|    id    |   int(11)   |  YES |     |   NULL  |       |
|   login  | varchar(20) |  YES |     |   NULL  |       |
| password | varchar(40) |  YES |     |   NULL  |       |
| username | varchar(20) |  YES |     |   NULL  |       |
|   email  | varchar(20) |  YES |     |   NULL  |       |
|    age   |   int(11)   |  YES |     |   NULL  |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.001 sec)

mysql> select * from linux; 
+------+--------+-----------+--------------+-------+------+
|  id  |  login |  password |   username   | email |  age |
+------+--------+-----------+--------------+-------+------+
|   1  | linux1 | linux1111 |     test     |  NULL |  33  |
|   2  | linux2 | linux2222 |     test1    |  NULL |  36  |
|   3  | linux3 | linux3333 |     test2    |  NULL |  39  |
+------+--------+-----------+--------------+-------+------+
3 rows in set (0.000 sec)

mysql> update linux set email='linux1@test.com' where login='linux1';
Query OK, 1 row affected (0.001 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update linux set email='linux2@test.com' where login='linux2';
Query OK, 1 row affected (0.001 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update linux set email='linux3@test.com' where login='linux3';
Query OK, 1 row affected (0.001 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from linux;
+------+--------+-----------+--------------+-------------------+------+
|  id  |  login |  password |   username   |       email       |  age |
+------+--------+-----------+--------------+-------------------+------+
|   1  | linux1 | linux1111 |     test     |  linux1@test.com  |  33  |
|   2  | linux2 | linux2222 |     test1    |  linux2@test.com  |  36  |
|   3  | linux3 | linux3333 |     test2    |  linux3@test.com  |  39  |
+------+--------+-----------+--------------+-------------------+------+
3 rows in set (0.000 sec)

mysql> alter table linux drop email;
Query OK, 0 rows affected (0.009 sec)
Records: 0 Duplicates: 0 Warnings: 0

alter table ~ add ~ varchar(20) first; 명령어

테이블 맨 앞부분에 칼럼 추가

잘 추가됐는지 desc ; 로 확인한 후

alter table ~ modify ~ after ~; 명령어로

리눅스 테이블에 이메일 칼럼 위치 수정

update ~ set ~='~' where login='~'; 명령어

이용하여 상세 데이터 수정


각 명령어 사용 직후

  • 데이터베이스 생성 및 삭제: CREATE DATABASE test;와 DROP DATABASE test; 명령어 직후에 각 명령어가 데이터베이스를 생성하고 삭제하는 기능을 수행한다는 설명을 추가합니다.
    • 예: "CREATE DATABASE test; 명령어는 'test'라는 이름의 새로운 데이터베이스를 생성합니다. 이때, 데이터베이스 이름은 고유해야 합니다. DROP DATABASE test; 명령어는 'test' 데이터베이스를 시스템에서 완전히 제거합니다."
  • 테이블 생성, 데이터 입력, 수정 및 삭제: 각 CREATE TABLE, INSERT INTO, UPDATE, DELETE 명령어 사용 직후에 명령어의 기능을 간략하게 설명합니다.
    • 예: "CREATE TABLE 명령어는 새로운 테이블을 생성합니다. INSERT INTO 명령어는 테이블에 새로운 행을 추가합니다. UPDATE 명령어는 테이블의 데이터를 수정하고, DELETE 명령어는 데이터를 삭제합니다."

오늘은 Mysql을 알아본 후
어떤 식으로 mysql을 사용하는 건지
간단한 실습을 통해서
Mysql에 접속해 보고,
Database를 생성하고 삭제해 보고,
테이블을 생성하고 삭제해 보고,
테이블 안에 컬럼 속성을 확인해 보고,
값을 입력하고 수정해 보고 삭제해 보고,
속성 정보를 변경해 보고,
칼럼을 추가하고 수정하고 삭제까지 해봤습니다.

아직까지 정말 많이 쓰이고 있는 mysql은 

어느 곳에 속하여 일을 하시던지

알고 계시면 분명 도움이 될만한 내용이라고 생각합니다.


  • 보안 관련 주의사항 및 안전한 사용법: mysql -u root -p 명령어를 사용하여 접속하는 방법을 설명하는 부분에 보안 주의사항을 추가합니다.
    • 예: "MySQL을 사용할 때는 보안을 항상 유념해야 합니다. 예제에서 사용한 'root' 계정과 'bug'라는 비밀번호는 테스트 목적으로만 사용해야 합니다. 실제 환경에서는 강력한 비밀번호를 설정하고, 필요한 최소한의 권한을 가진 사용자 계정을 생성하여 사용하는 것이 좋습니다."

실습 후 데이터베이스와 테이블 정리: MySQL 실습을 마친 후, 생성한 데이터베이스와 테이블을 어떻게 정리해야 하는지에 대한 방법을 설명합니다.

  • 예: "실습을 마친 후에는 사용한 데이터베이스와 테이블을 정리하는 것이 좋습니다. 이를 위해 DROP DATABASE 명령어와 DROP TABLE 명령어를 사용하여 더 이상 필요하지 않은 데이터베이스와 테이블을 삭제할 수 있습니다. 이 과정은 실습 환경을 깔끔하게 유지하고, 불필요한 데이터의 축적을 방지합니다

궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

 

반응형
반응형

오늘은 개발자라면 꼭 알고 있어야 할 깃허브 (Github)
너무 어려워서 접근하기 힘든 깃허브지만
개발자가 꿈이 이 사라면 사용할 수밖에 없을 텐데요
오늘은 깃허브에서 이력서를 만들어보겠습니다.

깃(git)과 깃허브 (Github)에 대한 설명과 차이점은
아래 글을 참고해 주세요

 

저장소

먼저 깃 허브 가입을 하신 후에 
저장소 (Repository)를 만들어 

이력서 관련 파일들을 저장하겠습니다.

먼저 깃허브에 로그인한 후 Repository

(이제 쉽게 레포라고 부르겠습니다)

에서 New를 클릭하여 새 저장소를 만들어줍니다.

"Repository name"에 원하는

레포 이름을 입력해 줍니다.

저는 resume라고 입력하도록 하겠습니다.

코딩할 때와 마찬가지로 띄어쓰기

즉 스페이스바를 하지 마시고

두 개 단어 이상으로 설정하시려면

gildong-resume처럼

하이픈으로 연결해 주시길 바랍니다.

다 작성하셨다면 Add a README flie 체크 박스를

클릭하신 후

Create repository 버튼을 클릭하여

이력에서 쓸 레포를 만들어줍니다.


소스 작성 환경 만들기
VSCODE 편집기

자동으로 만들어진 레포가 열리면 그 상태에서
키보드 마침표. 를 눌러 주세요.
github.dev라는 편집기가 나타납니다.
온라인에서 사용할 수 있는 Vscode 편집기입니다.
만약 작업에 능숙하시고 따로 사용하시는 편집기가
있으시다면 그걸로 사용하셔도 무방합니다.
이제 이곳에 원하는 html 소스를 작성하여 작업하면
자동으로 깃허브 레포로 파일이 업로드되고,
내용 수정 역시 즉시 반영됩니다.

 

소스 작성 환경 만들기2
Codeswing

Codeswing은 우리가 직접 작성한 소스가
어떻게 반영되는지 바로 확인이 가능하도록
출력해 주는 기능을 가지고 있습니다.
작업하면서 잘 노출되고 있는지 확인하기 위해
설치해 주도록 하겠습니다.

왼쪽 사이드바에서 확장 아이콘을 클릭한 후 codeswing을 검색하여 설치해 주세요.
그리고 바로 마크업 (Markup)에 들어가도록 하겠습니다.
마크업이란 웹 브라우저가 이해할 수 있도록
기호를 사용하여 구성하는 것을 말합니다.

Index.html / Codeswing

VS Code에서 명령 팔레트를 통해

Codeswing을 검색하고

CodeSwing: Initialize Workspace as Swing

선택합니다.

그리고 HTML 파일을 만들기 위해

Basic: HTML-only 선택합니다.

정상적으로 선택했다면 편집기 화면이 두 개로 나뉘면서

왼쪽에는 index.html이 나타나고,

오른쪽에는 CodeSwing 화면이 나타납니다.

index.html은 우리가 앞으로 소스를 작성할 화면이고,

오른쪽의 CodeSwing은 소스를 작성하면서

결과를 확인하기 위한 화면입니다.

<html lang = "en"> -> <html lang = "ko">

index.html 화면에서 느낌표! 를 입력한 후

Enter 키를 눌러주세요.

웹 문서의 가장 기본적인 소스 코드가

자동으로 만들어집니다.

그곳에서 "en" 부분을 "ko"로 수정해 주세요.

깃은 영문 페이지로 만들어졌지만

우리는 한글로 작성할 것입니다.

<title>Document</title> <- <title>원하는 제목</title>

보이는 소스에서 <title> 태그는 웹 브라우저 탭에

표시되는 이력서 제목입니다.

Document 부분을 원하는 제목으로 바꿔주세요

html 마크업

본격적으로 html 마크업을 시작하도록 하겠습니다.

아래 소스를 복사해서 index.html 문서의

<body> 태그와 </body> 태그 사이에 삽입해 주세요

<header id="header">
  <!-- 이력서 헤더 : 이름과 타이틀 작성 -->
  <h1>이름</h1>
  <hr>
  타이틀 (예: 학생 등)
  <hr>
</header>

<main>
  <article id="mainLeft">
    <section>
      <h2>CONTACT</h2>
      <!-- 연락처 정보 -->
    </section>
    <section>
      <h2>SKILLS</h2>
      <!-- 자신이 잘할 수 있는 기술 -->
     </section>
     <section>
      <h2>EDUCATION</h2>
      <!-- 학력 -->
    </section>            
  </article>
  <article id="mainRight">
    <section>
     <h2>ABOUT</h2>
     <!-- 자기 소개 -->
    </section>
    <section>
      <h2>WORK EXPERIENCE</h2>
      <!-- 경력 -->
    </section>
  </article>
</main>

위와 같이 Codeswing에 출력된다면

아주 잘 따라오고 계신 겁니다.

<header id="header">
<!-- 이름과 타이틀 작성 -->
  <h1>이름</h1>
  <hr>
    타이틀 (예: 학생 등)
  <hr>
</header>


<header id="header">
<!-- 이력서 헤더 : 이름과 타이틀 작성 -->
  <h1>홍길동</h1>
  <hr>
    도적
  <hr>
</header>

이제 필요한 내용들을 각 소스 코드 사이에 써넣어 주시면 됩니다.

위의 예시를 보고 본인의 이력서 내용을 채워 넣어주세요.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>!!!</title>
</head>
<link rel="stylesheet" href="style.css">
<body>
    <header id="header">
        <h1>!!!</h1>
        <hr>
       !!!
        <hr>
      </header>
      <main>
        <article id="mainLeft">
          <section>
            <h2>CONTACT</h2>
        <p>
            <i class="fa fa-envelope" aria-hidden="true"></i>
            <a href=!!!</a>
        </p>
        <p>
            <i class="fa fa-github" aria-hidden="true"></i>
            <a href=!!!</a>
          </p>      
        <p>
            <i class=!!!</i>
            <a href=!!!</a>
          </p>      
          </section>
          <section>
            <h2>SKILLS</h2>
            !!!
           </section>
           <section>
            <h2>EDUCATION</h2>
            !!!
          </section>            
        </article>
        <article id="mainRight">
          <section>
            <h2>!!!</h2>
            !!!
            <ul>
            !!!
            </ul>  
            !!!
           </section>
            <section>
                <h2>ABOUT</h2>
               </section>
        </article>
      </main>
</body>
</html>
스타일 적용하기

너무 정직한 이력서를 조금만 스타일 수정해 보겠습니다.

왼쪽 탐색기 화면에서 새 파일을 추가해 줍니다.

style.css를 검색하시면 오른쪽에 

창 하나가 추가됩니다.

이제 이곳에 소스를 적어 스타일을 만든 것을 index.html에 적용시키려면

HTML 문서에 연결해 주어야 합니다.

link 태그를 사용하여 연결시켜주도록 합시다.

<link rel="stylesheet" href="style.css">

위 코드를 index.html 문서 </head> 태그

바로 앞에 삽입해 주세요.

Google에서 제공하는 Noto Sans KR 체로

폰트를 바꿔보도록 하겠습니다.

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap');

body {
    max-width: 960px;    /* 최대 너비 */
    margin: auto;         /* 마진 auto - 내용을 화면 가운데 맞추기 위해  */
    font-family: "Noto Sans KR", "Nanum Gothic";        /* 글꼴 - 웹 폰트 */
    font-size:14px;     /* 글자 크기 */
}

(이제부터 style 창에서 작업합니다)

위 코드를 삽입해 주세요

적용됐는지 보시려면 오른쪽 위 재생 버튼을 클릭하고

Codeswing 창을 보시면 적용되어 있는 모습을

확인할 수 있습니다.

우리가 만든 문서 제목을 지정하는

<h1> 태그와 <h2> 태그에 대한 스타일도 만들겠습니다

h1 {
    font-size: 3rem;    /* 글자 크기 */
    letter-spacing: 0.6rem;  /* 자간 */
    padding-top: 1rem;   /* 위쪽 패딩 */
    padding-bottom: 1rem;   /*  아래쪽 패딩 */
}

h2 {
    font-size: 1.5rem;
    padding-bottom: 1em;
}

너무 일자로 출력되어 보기가 힘들어 

2줄로 배치를 바꾸고 싶은데

이럴 경우 CSS 그리드를 사용하시면 됩니다.

작성한 각 파트의 너비를 조절하여 

양쪽으로 출력될 수 있게 해보겠습니다.

main {
    display: grid;    /* css grid 사용 */
    grid-template-columns: 40% 60%; /* 왼쪽 40%, 오른쪽 60% */
    margin-top: 3rem;
}

CSS 그리드를 이용하여 너비를 조절하고 

2줄로 출력되게 만들었습니다.

조금 답답해서 여백을 추가하면서 

가운뎃 줄을 하나 긋도록 하겠습니다.

header {
    text-align: center;
    margin: auto 2rem;
}

section {
    margin: auto 1rem 4rem 2rem;
}

p {
    margin: 0.2rem auto;
}

hr {
    border: none;
    background-color: lightgray;
    height: 1px;
}

h1, h2 {
    font-weight: 100; 
    margin-bottom: 0;
}

i {
    margin-right: 0.5rem;    /* SNS 아이콘 오른쪽 여백 */
}
#mainLeft {
    border-right: 1px solid lightgray;
}

이제 조금 잘 보이는 것 같습니다.

자 이제 깃에 커밋 (commit)을 해보도록 하겠습니다

깃에 커밋을 한다는 말은 

변경된 사항을 저장한다는 말입니다.

사이드바에서 Source Control 아이콘을 클릭한 후,

맨 위에 커밋 메시지를 입력하고

바로 위의 체크 버튼을 클릭합니다.

소스 컨트롤 아이콘에 나와있는 3이라는 파란 숫자는

수정된 사항이 3개가 있다고 표시해 주는 겁니다.

깃허브에서도 자동으로 저장되어

잘 업로드되어 있는 걸 확인해 보실 수 있습니다.

깃허브 레포 화면에서 오른쪽에 있는

Settings을 클릭하고 Pages를 선택합니다.

오른쪽 화면에서 Source 항목을 보면

아직 None이라고 되어 있을 것입니다.

None을 클릭한 후 main을 선택합니다.

위 설정의 뜻은

레포 main 브랜치에 있는 파일들을 

사용하겠다는 뜻입니다.

마지막으로 Save를 클릭합니다.

페이지 설정을 하고 페이지 주소가 뜨는데

즉시 웹 사이트가 나타나지는 않을 수 있습니다.

404 오류 메시지가 뜨더라도 걱정하지 말고,

5~10분 후에 다시 접속해 보시길 바랍니다.

잘 따라오셨다면 아래와 같이 이력서가 나오게 됩니다.

(개인정보는 가렸습니다)

완성되었습니다.

감사합니다.


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형
반응형

소프트웨어의 신뢰성을 높이는 SBOM 생성

 

CycloneDX란 무엇일까요?

 

소프트웨어 구성 요소를 한눈에 관리하는 새로운 표준

소프트웨어 개발 프로세스에서 빠질 수 없는 요소 중 하나는 구성 요소의 관리일 것입니다.

라이브러리, 프레임워크 등 다양한 구성 요소가 복잡하게 얽힌 프로젝트가 빠르게 진행되며, 이를 체계적으로 정리하고 추적하는 것이 절실한 필요로 대두되었습니다.

이에 따라 CycloneDX라는 소프트웨어 구성 요소 정보를 기록하고 공유하는 표준이 등장하게 되었습니다.

많은 조직과 개발자들에게 인기를 얻고 있는 CycloneDX는 간결하고 효율적인 구성 요소 관리 도구로 주목받고 있으며 감히 예상컨대 이미 많이 사용하고 있지만 앞으로는 더더욱 CycloneDX를 많은 보안 기업에서 사용할 것이라고 예상하고 있습니다.

특히 구성 요소 관리라 함은 보안에 있어 굉장히 중요합니다.

CycloneDX는 SBOM (Software Bill of Materials)을 만드는 데 사용되는데, 이를 통해 소프트웨어의 구성 요소와 해당 요소의 버전, 라이선스 정보 등을 일관된 표준 포맷으로 제공합니다.

소프트웨어 프로젝의 구성 요소와 종속성을 정확하게 추적하고, 여러 구성 요소와 라이브러리 간의 관계를 명확게 파악할 수 있습니다.

Bom metadata.. Components.. Services.. Dependencies.. Extensions..

 

SBOM에서 CyclonDX의 중요성

 

소프트웨어를 구축하는 데 필요한 구성 요소들은 복잡하게 얽혀 있습니다.

이런 복잡성을 관리하려면 우리가 사용하는 각 구성 요소에 대한 자세한 정보가 필요한데요,

CycloneDX는 이러한 복잡성을 관리하는 데 아주 큰 도움이 되는 도구입니다.

앞선 글에서 설명드린 SBOM의 중요성과 앞으로 필현적으로 생성하고 제출해야 되는

제도적 대비를 준비하는 가운데 우리가 사용하는 소프트웨어의 구성 요소 관리와 이에 대한 정보는 정말 중요합니다.

 

CycloneDX의 이해

기능과 사용법

 

CycloneDX의 기술적 세부사항을 추가하기 위해,

이 도구가 어떻게 SBOM(Software Bill of Materials)을 생성하는지에 대한 설명이 필요합니다.

CycloneDX는 주로 XML, JSON, 그리고 Protobuf 형식을 사용하여 SBOM을 생성합니다.

 

Json과 XML에 대해 아직 모르신다면 아래 쉽게 설명해놨으니 참고해주세요

https://jdcyber.tistory.com/42

 

JSON 이란? (효율적인 데이터 교환의 핵심)

JSON, 이 단어를 들어본 적이 있으신가요? 오늘은 웹 개발 및 데이터 전송에 있어 매우 중요하고 유용한 JSON 파일에 대해 알아보는 시간을 갖도록 하겠습니다. JSON은 데이터 교환을 가능하게 하는

jdcyber.tistory.com

https://jdcyber.tistory.com/41

 

XML이란? (데이터 통신의 보편적 언어)

안녕하세요! 오늘은 데이터 통신 및 교환에 있어 전문적이며 보편적인 언어인 XML에 대해 알아볼까 합니다. 쉽게 말해, XML은 데이터를 공유하고 전송하는 데 도움을 주는 언어로 생각하시면 됩니

jdcyber.tistory.com

 

이 SBOM은 소프트웨어 프로젝트의 구성 요소, 그들의 버전, 라이선스 정보, 그리고 보안 취약점 데이터를 포함합니다.

또한, CycloneDX는 이러한 구성 요소들 사이의 관계와 종속성을 명확하게 나타내어,

보안 위험을 식별하고 관리하는 데 중요한 역할을 합니다.

CycloneDX는 개발자가 이해하기 쉬운 형식으로 이 정보들을 제공하므로,

소프트웨어의 보안 및 컴플라이언스 상태를 더욱 효과적으로 관리할 수 있습니다.

 

CycloneDX는 소프트웨어의 각 구성 요소, 그 구성 요소의 버전,

그리고 해당 구성 요소의 라이선스 정보 등을 SBOM에 기록합니다.

SBOM 생성을 어떻게 해야하나 고민하는 많은 보안 업계 종사자들에게는

현재까지 유일무의하게 활용해야 하는 도구로써 자리매김하였습니다.

이 도구는 XML, JSON, 또는 Protobuf 형식으로 SBOM을 생성할 수 있으며,

이를 통해 효과적인 라이선스 관리와 생겨날 보안 취약점 추적이 가능합니다.

 

Json 문서를 참고하여 CycloneDX 이해하기

 

CycloneDX의 깊이 있는 이해를 위해 공식 문서, 특히 JSON 스키마 사양을 참조하는 것이 중요합니다.

CycloneDX v1.5 JSON 문서는 bomFormat, specVersion 등의 주요 요소가

CycloneDX BOM의 구조와 내용을 어떻게 정의하는지에 대한 상세한 내용을 제공합니다.

소프트웨어 및 하드웨어 구성 요소, 그들의 유형과 관계를 정의하는 방법,

메타데이터, 버전 관리, 라이선스 정보를 포함하는 방법 등을 상세히 설명합니다.

CycloneDX를 소프트웨어 개발 및 보안 과정에 구현하려는 이들에게 이 가이드는 필수적입니다.

자세한 정보는 CycloneDX v1.5 JSON 문서를 참조하시길 바랍니다.

 

CycloneDX v1.5 JSON Reference

CycloneDX v1.5 JSON Reference

cyclonedx.org

CycloneDX 사례
보안 취약점 관리와 라이선스 추적

 

CycloneDX를 통해 SBOM을 생성하면, 이를 이용하여 보안 취약점을 효과적으로 관리할 수 있습니다.

만약 특정 라이브러리에 보안 취약점이 발견되었다면 이 라이브러리를 사용하는 모든 애플리케이션을 쉽게 찾아낼 수 있으며,

CycloneDX를 이용하여 라이선스를 추적하면, 전체 프로젝트에 어떤 영향을 미치는지 쉽게 알아낼 수 있습니다.

결국 꼬리를 물며 들어가 위협 요소를 판별하고 취약점을 색인하는 데 있어서 보안에 필수적 요소라고 할 수 있겠죠

 

CycloneDX를 사용한 보안 취약점 관리와 라이선스 추적의 구체적인 예를 들어 설명해 보겠습니다.

예를 들어, 특정 오픈 소스 라이브러리에서 새로운 보안 취약점이 발견되었다고 가정해 봅시다.

CycloneDX를 사용하면, 이 라이브러리를 포함하는 모든 소프트웨어 프로젝트를 신속하게 식별할 수 있습니다.

이를 통해 해당 취약점에 노출된 모든 애플리케이션을 즉시 파악하고, 필요한 보안 조치를 취할 수 있습니다.

또한, 라이선스 관리 측면에서, CycloneDX는 모든 구성 요소의 라이선스 정보를 제공함으로써,

소프트웨어 프로젝트가 특정 라이선스 요건을 준수하고 있는지 쉽게 확인할 수 있게 해줍니다.

 

CycloneDX의 장점과 한계

 

CycloneDX의 가장 큰 장점은 그 간결성과 효율성입니다.

이 도구는 필요한 정보만을 제공하여, 사용자가 쉽게 이해하고 사용할 수 있게 합니다.

그러나, 아직 ISO 표준화를 받지 않았고 더 광범위한 정보를 제공하는 도구들에 비해

제공하는 정보의 범위가 상대적으로 제한적인 것은 사실입니다.

 

CycloneDX를 통한 효과적인 소프트웨어 관리

 

CycloneDX는 간결하면서도 효율적인 SBOM 생성 도구로, 보안 취약점 관리와 라이선스 추적에 매우 유용합니다.

이 도구를 이용하여, 우리는 소프트웨어의 복잡성을 효과적으로 관리하고, 더 안전하고 신뢰성 있는 소프트웨어를 개발할 수 있습니다.

앞으로 나아갈 길이 기대되는 CycloneDX..

공급사에 조금은 특화되어 보이는 위 도구를 통해 소프트웨어 보안 프로세스의 도약을 기대해 봅니다.

 

위에 언급된 SBOM에 대한 내용은 아래 자세히 기술해 놨으니 확인해봐 주세요

https://jdcyber.tistory.com/4


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형

+ Recent posts