안녕하세요 상훈입니다!

이번에 삼성에서 새로 출시한 갤럭시 탭 S8 울트라를 구매하였습니다! 🤸‍♀️

이렇게 늦게 리뷰하는 이유는 정품키보드가 오늘 도착해서 부랴부랴 사진찍고 리뷰를 시작하였습니다.

그동안 개인소유 이 하나도 없었습니다 ㅠㅠ 그리고 주변에 다들 아이패드를 사용하여 항상 부러움에 허덕이면서 살았는데, 이번에 그러한 부러움을 깨부술 수 있었습니다.

자, 각설하고 리뷰 시작하겠습니다.

 

갤럭시탭S8U 는 2월 12일 오전 8시 30분에 배송 기사님께 직접 배송 받았습니다.

배송 받은 시각에 약간 자부심이 있는 편.

박스는 아주 얇게 왔습니다! 그리고... 엄청 가벼워요!!! (500g이 안됨) 

 

언박싱을 시작하였습니다.

드디어.. 언박싱..!

구성품은 C to C 케이블... 네.. 이번에는 삼성에서 어댑터를 안넣어줬어요...
( 그래서 사전예약 이벤트로 샀습니다 )

달달하다..!

뒷면은 은은한 광택이 도는 고급스러운 블랙이었습니다. 손으로 쓸었을때 사삭 소리가 나면서 시원한 촉감에 느낌이 좋아요.

전면은 아주 얇은 베젤, 그리고 빤딱빤딱 거리는 디스플레이로 전자제품을 처음 샀을때의 그 감동 그대로입니다.

그리고 안드로이드를 시작하며, 기존에 갖고 있던 근거리 네트워크 데이터 송수신 기술을 이용하여 현재 갖고 있는 갤럭시 휴대폰의 데이터를 선택복사할 수 있습니다!

저는 256GB의 제품을 구매하였고, 이미지를 다 넣을 필요가 없다 생각하여 이미지를 제외하고 삽입하였습니다.

1분만에 데이터 다 들어갔어요

 

완성! 이제 사용해보세요!
크... 영롱한 첫 화면. 아직도 해당 화면을 유지 중입니다.

참고로, 사전구매 혜택삼성members 어플리케이션에서 신청이 가능하니 잊지 말고 사용해주세요!

 

그리고 주말이 지나 수요일 즈음, 사전구매 혜택으로 구매한 Pantone 파우치 세트가 도착하였습니다!
(다른 건 다 취향이 아니라..)

박스가 너무 이뻐요. 물론 버렸지만.

Pantone 박스는 너무 이쁩니다...!

보라색으로 만들었는지 모르겠지만, 저는 검정색 흰색이었으면더 좋았을 것 같더라구요..

귀여운 달걀 노른자 마우스

보라색의 배색에 위치한 노란색 무선 마우스도 왔어요! 

사용 방법 : 전원을 킨다 - 마우스 휠과 우측 마우스2초간 클릭한다. 

마우스가 저소음 마우스라 마음에 들었습니다.

 

마우스 패드 증정

마우스 패드도 왔는데, 음.. 썩 제 스타일도 아니고 마감이 훌륭하지 않아서 일단 지금 쓰던 때묻은 패드를 쓸겁니다.

 

키보드가 오지 않았던 시점이라 저렇게 을 떼어서 지퍼공간 내부에 넣어놓고, 탭 보관하고, 마우스 넣어서 주섬주섬 보따리 상인처럼 들고 다녔습니다.

그런지 어언 10일...... 드디어 받았습니다.

키보드를.

 

키보드 커버!

이렇게 키보드 커버를 받게 되었습니다....!! 😥

그런데 갤럭시 S7 + 키보드 커버를 봤을때 키보드 방향으로 탭을 위치하게 하여 무릎 위에서 사용할 수 있게 하는 걸 원했지만, 오리지널은 이 디자인 뿐이더라구요. 🦵 자 고정입니다.... ㅠㅠ

 

그래도 괜찮습니다. 저는 긍정적이거든요 😎

 

키보드 커버 구성품입니다.

1. 2개로 분리되는 자석으로 연결 가능한 키패드 영역
2. 탭 뒷면을 보호하는 커버.

어... 일단 장착해보았는데, 무거워요. 😦

저는 괜찮았는데, 여자친구가 들어보고는 무겁다고.. 네, 저도 무거웠습니다.

 

 

그리고 함께 온 어피치 실리콘 펜 케이스

사실 저는 라이언이나 다른걸 원하긴 했는데, 저것도 그런대로 괜찮아 보이긴했습니다.

다만. 진짜 치명적인 문제가 있어요

장난하나 ㅋㅋㅋㅋㅋㅋㅋ 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

어떡하라구 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

그래도 일단 충전⚡은 돼요..(충전이라도 돼서 다행인가....)

 

마지막으로 타건하는 영상입니다. 볼륨은 작게 해서 들으시는게 최대한 현실과 같습니다.

한 요정도..?
요거랑.. 헤드셋기준

갤럭시 탭 S8 Ultra 키보드 케이스 타건 영상

 

 

 

암튼 잘 쓰겠습니다!!!!

 

결론

일단 스펙 자체가 너무 맘에들어요.

키보드를 장착하면 자동으로 Samsung Dex 가 전환되는 기능이 있습니다. 아주 좋습니다.

화면사이즈는 14.1인치로, 제가 또 아이패드 프로 3세대와 비교해보았습니다.

 

세로 길이에서 압도적인 크기 차이를 보여줍니다.

이정도 차이나 난다구요!!! 거의 4-5cm...? 될 듯 합니다...! 

후후후후후후...

저는 이제 탭 있는 남자입니다. 아주 멋진.

 

해당 이벤트는 탭에서 로그인해야지 들어가실 수 있습니다.

요거 좀 불편해요. 휴대폰으로 사이즈는 맞춰져 있는데, 정작 들어갈 수 있는건 탭이라서요... ㅠ

 

이상입니다. 

 

갤럭시 탭 구매에 조금이라도 도움이 되셨다면, 광고 잠깐 눌러주세요.
블로그 운영에 큰 힘이 됩니다!!!

 

 

반응형

 

깃허브를 이용하여 특정 Repository의 Collaborator로 지정되었을 때, 직접 url에 작성하는게 아니라 클릭 몇번으로 들어가는 방법입니다.

* Collaborator 를 승인하였는지 확인하고 진행해주세요. *

1. GitHub에 로그인 하고 본인 프로필 아이콘 - Settings 로 들어가주세요.

 

2. Repository를 클릭해주세요

 

 

3. Collborator로 지정된 Repository들을 살펴보실 수 있습니다.

 

 

이상입니다.

 

* 도움이 되셨다면 광고 한 번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. *

감사합니다.

반응형

Vue.js 2, Vuetify, router, vuex, vue-chart.js 를 이용하여 프로젝트 외면을 꾸며주었다. 

물론 프로젝트 자체를 확인해보면 router, vuex를 사용하지 않은 것을 확인할 수 있다.

Vuetifyactive를 사용하여 버튼을 클릭하면 검정색 글씨로 변하는 버튼이 된다.

유튜브 강의 를 통해 볼 수 있었습니다.

강의 내용은 주로 Vuetify 내용을 다루고 있습니다.

반응형

Vue.js 에서 router 를 이용할 때 페이지 탭의 이름을 설정할 수 있다.

바로 routerindex.js 에서 가능하다.

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    meta: {
      title: 'IP Address Tracker'
    }
  },
]

Home.vue의 meta.title : '  ' 의 값을 설정

그리고 rotuer 아래에 작성

// page tab control
router.beforeEach((to, from, next) => {
  document.title = `${to.meta.title}`
  next()
})

 

전체 코드 예시

// src/router/index.js

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    meta: {
      title: 'IP Address Tracker'
    }
  },
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

// page tab control
router.beforeEach((to, from, next) => {
  document.title = `${to.meta.title}`
  next()
})

export default router

 

유용하게 사용하십쇼!

반응형

Tailwindcss 를 사용하던 와중 커스터마이징을 할 수 있다는 것을 알았다.

 

클릭시, 해당 링크로 새창 이동

Vue.js 3 - tailwindcss3 를 사용하였습니다.

 

하는 방법 바로 가시죠.

우선 tailwind.config.js 파일이 /src 내에 있습니다.

이곳에다가 작성하는것인데요,

 

theme.extend. 내에 작성

module.exports = {
  purge: ['./public/**/*.html', './src/**/*.{vue,js,ts,jsx,tsx}'],
  darkMode: false, // or 'media' or 'class'
  theme: {
    extend: {
      backgroundImage: (theme) => ({
        'hero-pattern': "url('pattern-bg.png')",
        'second-image-pattern': "url('sencond-bg.png')",
      })
    },
  },
  variants: {
    extend: {},
  },
  plugins: [],
}

이렇게 작성하면 해당 내용을 전역으로 사용할 수 있게된다.

 

사용 사례

이상입니다.

 

유용하게 쓰십쇼

반응형

사용환경 : window10, node-v: 16.14.0, npm-v: 8.2.0, Vue.js(React.js, Angular) 

Vue.js의 프로젝트를 vue-cli를 통해서 설치하려는데 node-sass 관련하여 자꾸 오류가 났다.

node-sass 버전과 node 가 지원하는 버전간의 오류라고 한 블로그에서 확인하였지만, 버전은 잘 맞췄었다.

인터넷으로 검색하여도 명확한 내용이 되지 않았다.
vue-cli - creaet vue project spec

 

해결방법을 찾고 또 찾아 여러 가지 방법을 시도해보았다.

1. npm cache 정리
2. npm verify
3. node uninstall & install 
...

그리고 마지막에 와서야 dart-sass로 설치하였다. (이래도 되냐...ㅠ)

 

 

그런데 npm에서 node-sass를 검색하던 와중에 대문짝만하게 아래와 같은 내용이 작성되어져 있었는데, 간략하게 줄여보자면, 
" LibSass 및 Node Sass는 유지 보수는 무한적으로 유지할 것이지만 더 이상 사용되지 않습니다. 새로운 CSS나 Sass 기능에 추가 기능이나 호환성을 추가할 계획도 없다. 여전히 그것을 사용하는 프로젝트는 dart-sass로 옮겨야 한다." 라는 것이었다.

왜지..? 오늘에서야 이 글을 보긴하지만..

클릭시 https://www.npmjs.com/package/node-sass/v/6.0.1 로 이동
Node 버전 별 지원하는 node-sass 버전 명시

 

그리고 이제 다시 프로젝트를 설치해보았다.

성공하였는데 너무 찜찜하다.

 

 

에러 문구

npm ERR! code 1
npm ERR! path D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js npm ERR! Building: C:\Program Files\nodejs\node.exe D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli 'D:\\Vueproject\\Vue\\ip-addr-tracker\\app\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli 'rebuild',
npm ERR! gyp verb cli '--verbose',
npm ERR! gyp verb cli '--libsass_ext=',
npm ERR! gyp verb cli '--libsass_cflags=',
npm ERR! gyp verb cli '--libsass_ldflags=',
npm ERR! gyp verb cli '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.14.0 | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed at getNotFoundError (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:13:12) npm ERR! gyp verb `which` failed at F (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:68:19) npm ERR! gyp verb `which` failed at E (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:80:29) npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:89:16 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\index.js:42:5 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\windows.js:36:5 npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) npm ERR! gyp verb `which` failed python2 Error: not found: python2 npm ERR! gyp verb `which` failed at getNotFoundError (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:13:12) npm ERR! gyp verb `which` failed at F (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:68:19) npm ERR! gyp verb `which` failed at E (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:80:29) npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:89:16 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\index.js:42:5 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\windows.js:36:5 npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) { npm ERR! gyp verb `which` failed code: 'ENOENT' npm ERR! gyp verb `which` failed } npm ERR! gyp verb check python checking for Python executable "python" in the PATH npm ERR! gyp verb `which` failed Error: not found: python npm ERR! gyp verb `which` failed at getNotFoundError (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:13:12) npm ERR! gyp verb `which` failed at F (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:68:19) npm ERR! gyp verb `which` failed at E (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:80:29) npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:89:16 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\index.js:42:5 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\windows.js:36:5 npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) npm ERR! gyp verb `which` failed python Error: not found: python npm ERR! gyp verb `which` failed at getNotFoundError (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:13:12) npm ERR! gyp verb `which` failed at F (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:68:19) npm ERR! gyp verb `which` failed at E (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:80:29) npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\which\which.js:89:16 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\index.js:42:5 npm ERR! gyp verb `which` failed at D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\isexe\windows.js:36:5 npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) { npm ERR! gyp verb `which` failed code: 'ENOENT' npm ERR! gyp verb `which` failed } npm ERR! gyp verb could not find "python". checking python launcher npm ERR! gyp verb could not find "python". guessing location npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. npm ERR! gyp ERR! stack at PythonFinder.failNoPython (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\node-gyp\lib\configure.js:484:19) npm ERR! gyp ERR! stack at PythonFinder. (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\node-gyp\lib\configure.js:509:16) npm ERR! gyp ERR! stack at callback (D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\graceful-fs\polyfills.js:299:20) npm ERR! gyp ERR! stack at FSReqCallback.oncomplete (node:fs:198:21) npm ERR! gyp ERR! System Windows_NT 10.0.19044 npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Vueproject\\Vue\\ip-addr-tracker\\app\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" npm ERR! gyp ERR! cwd D:\Vueproject\Vue\ip-addr-tracker\app\node_modules\node-sass npm ERR! gyp ERR! node -v v16.14.0 npm ERR! gyp ERR! node-gyp -v v3.8.0 npm ERR! gyp ERR! not ok npm ERR! Build failed with error code: 1 npm ERR! A complete log of this run can be found in:

 

반응형

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

안녕하세요 상훈입니다.

Javascript의 기초 중의 기초를 공부하게 되어 포스팅하게되었습니다.

 

1. 변수 선언
2. 황금규칙 (2/5)
3. 식별자
4. 산술연산자
5. Null & Undefind
6. Template Literal

 

1. 변수 선언

  - 자바스크립트에서 변수는 형식을 가지지 않는다.
  - 자바스크립트에서는 ' ; ' 세미콜론을 사용하지 않아도 된다.
  - const, let 을 사용하자
    → var 는 구시대의 유물
      : 변수명을 잘못입력하게 되면 새로운 변수가 선언됨, 전역변수로 등록이 되어 사방팔방에서 나의 변수를 사용하게 된다.

 

2. 황금규칙 5가지 중 2가지

1. var 대신 let, const 를 사용하자
2. 엄격모드(strictmode) 를 사용하자 - var와 키워드 없이 사용하는 변수선언은 자제하자

 

3. 식별자

  - 변수명은 반드시 식별자(identifier)의 일반 문법을 준수해야 한다.
  - 식별자는 [ 유니코드 문자, 숫자, 언더바, $ ] 등으로 구성된다.
  - 숫자는 첫번째 문자가 될 수 없다.
  - ' $ ' 로 시작하는 이름은 보통 도구, 라이브러리 에서 자주 사용한다.
  - ' _ ' (로우바) 를 변수명 앞이나 뒤에 붙여 비공개 임을 표시하기도 한다.
  - ' _ ' 를 사용하는 것보다 Camel Case 를 사용하는 것을 지향한다.

 

4. 산술연산자 

  - ' ++ ', ' -- ' ...
  - 산술연산자를 사용하는 것을 지양하자.  후위연술자 빼고
  - 산술연산자의 자동형변환 에 의존하지 말자.

 

5. Null 과 Undefind

  - ' null ' 혹은 ' undefind ' 중 하나만 선택해서 사용하자
  - ' null ' 은 예약어, ' undefind ' 는 예약어가 아니다.
  - 추가적으로 ' NaN, Infinity ' 라는 지역변수도 선언을 지양하자.

 

6. Template Literal (템플릿 리터럴)

  - ' ${  } '
  - ' <pre> ' 처럼 개행이 가능하다
  - 중첩이 가능하다.

const greeting = `${id.length > 0 ? `${age[0]}. ` : '' } ${id}`



반응형
이곳에 보시면 git access token을 생성하는 방법이 자세히 작성되어져 있으니 확인 바랍니다.
 

Creating a personal access token - GitHub Docs

Note: If you use GitHub CLI to authenticate to GitHub on the command line, you can skip generating a personal access token and authenticate via the web browser instead. For more information about authenticating with GitHub CLI, see gh auth login. Personal

docs.github.com

 

21년도 중순부터 github에서는 비밀번호 대신, 이 accesstoken을 발급받아 사용하는 방식으로 전환해오려는 노오력을 하고 있다고 합니다.

access-token 만드는 법은 간단합니다.

■ 순서

본인의 계정 아이콘에서 settings
-> <Developer settings>
-> OAuth Apps
-> Personal access tokens
-> Generate new token
-> 만료일자 설정
-> check항목 설정
-> Generate Token - 비밀번호 복사, 저장 등

❗ 비밀번호는 두 번 다시 볼 수 없으니 복사 후 저장하시길 바랍니다.

블록체인 지갑의 비밀번호와 유사하게 암호화된 비밀번호를 생성해주고, 이를 저장하는 방식입니다.

만약 비밀번호를 잊어버리시거나 잃어버리셨으면, 새로 access-token을 발급받아주세요!

 

반응형

+ Recent posts