twilight_teatime의 등록된 링크

키자드에 등록된 총 511개의 포스트를 확인하실 수 있습니다.

Naver Blog

[ React ] jQuery 사용하기 :: 제이쿼리 import

#React #제이쿼리 #jQuery #import React에서 jQuery 사용하기 React 도 자바스크립트 기반의 언어이며, 이 때문에 jQuery 라이브러리를 사용할 수 있습니다. jQuery를 사용하기 위해서 cmd 창에서 client 폴더 경로로 이동한 뒤에 jquery를 설치해야 합니다. > npm install jquery jQuery는 원하는 버전에 맞춰 설치하면 되겠습니다. Ex_jQuery.js import React, { Component } from 'react'; import $ from 'jquery'; class Ex_jQuery extends Component { input_alert = (e) => { var input_val = $("#inputId").val(); alert(input_val); } render() { return ( <div> <h2>[ THIS IS Jquery ]</h2> <input id="inputId" name="inp

Naver Blog

[ React ] props 객체형 , 필수 값 , 기본 값으로 사용하기

#React #객체형 #props #필수값 #기본값 #리액트 props React의 중요 개념 중 ' props ' 는 부모 컴포넌트가 자식 컴포넌트에 데이터를 전달할 때 사용됩니다. props 를 전달받은 자식 컴포넌트에서는 데이터를 수정할 수 없습니다. 데이터를 변경하기 위해서는 컴포넌트 내부에서만 사용하는 변수에 값을 넣어 사용해야 합니다. props 객체형으로 사용하기 객체형 App.js import React from 'react'; import './App.css'; import PropsObjVal from './PropsObjVal' function App() { return ( <div> <h1>React 객체형으로 사용하기</h1> <PropsObjVal Object Json={{react: "리액트" , name: "이름"}} /> </div> ); } export default App; Object Json 변수와 Key 를 선언하고 value를 할당한 후 pr

Naver Blog

Webpack 과 Babel 개념

#JavaScript #Babel #Webpack #React #Next Webpack 웹팩은 여러 개 파일을 하나로 합쳐주는 모듈 번들러입니다. 모듈 지원 파일 분할 기능 CSS Loader 기능 JSX 변환 작업 여러 개로 나눠진 자바스크립트 파일들을 HTML 이 실행할 수 있는 하나의 자바스크립트 파일로 합쳐줍니다. 번들러를 사용하면 여러 개 파일을 하나로 묶어주기 때문에 네트워크 접속의 부담을 줄여줍니다. Babel 대표적인 트랜스파일러 "바벨" ECMAScript 2015 + ( ES6 ) 코드를 이전 JavaScript 엔진에서 실행할 수 있는 이전 버전과 호환되는 JavaScript 버전으로 변환하는 데 주로 사용되는 오픈소스 JavaScript 트랜스 컴파일러입니다. * 트랜스파일링 :: 특정 언어로 작성된 코드를 비슷한 다른 언어로 변환시키는 것. 크로스브라우징 이슈 크로스 브라우징에 대해. 크로스 브라우징은 브라우저나 플랫폼마다 보이는 모습이 다른 경우가 많아 이러

Naver Blog

[ Next.js :: Framework ] 외부(서드파티) JavaScript 가져오는 방법

#NextJS #프레임워크 #외부자바스크립트 #JavaScript Next.js 에서 Third-Party JavaScript 를 불러오는 방법을 설명합니다. Metadata 에 추가하기 import Head from "next/head" export default function TEESST () { return ( <> <head> <title>TEST</title> <script src="https://connect.facebook.net/en_US/sdk.js"> </head> </> ) } 메타데이터에 src 를 추가하는 방식은 효과가 있지만, 이러한 방식으로 스크립트를 포함하면 동일한 페이지에서 가져온 다른 JavaScript 코드를 불러오는 시기가 불명확합니다. 특정 스크립트가 렌더링을 차단 중이고 페이지 콘텐츠 로드를 지연시킬 수 있는 경우, 성능이 저하될 수 있습니다. 주의 "next/script" 는 "next/head" 컴포넌트나 "page/_document.js

Naver Blog

JavaScript [ JS ] 와 TypeScript [ TS , TSX ] 차이점

#자바스크립트 #JavaScript #타입스크립트 #TypeScript #JS #TS #TSX #Vue #Angular #React JavaScript 와 TypeScript JavaScript 자바스크립트 Netscape Communications가 개발한 스크립트 언어입니다. 정적인 언어인 HTML 과 CSS 의 한계를 극복하여 웹문서를 동적으로 꾸밀 때 자주 사용되는 언어입니다. 자바스크립트는 객체 지향 프로그래밍으로 브라우저 내에서 주로 사용됩니다. 다른 응용 프로그램 내장 객체에도 접근 가능한 언어입니다. Node.js 런타임 환경과 같이 서버 프로그래밍으로도 사용이 가능합니다. React 와 Angular, Vue.js는 JavaScript 의 대표 프레임워크(Angular , Vue) 와 라이브러리(React) 입니다. 특징으로는, React는 Virtual DOM 을 사용합니다. Angular 는 양방향 바인딩을 사용, Vue는 React와 Angular의 장점을 수용

Naver Blog

[ React ] state 사용하기 :: setState() , useState()

#React #state #전역변수 #setState #useState state Props를 상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달할 때 사용했다면, state는 하나의 컴포넌트 안에서 전역 변수처럼 사용합니다. state는 props 처럼 컴포넌트의 렌더링 결과물에 영향을 주는 데이터를 갖고 있는 객체입니다. props는 컴포넌트에 전달되는 반면에 state는 함수 내에 선언된 변수처럼 컴포넌트 안에서 관리된다는 차이가 있습니다. props를 사용했는데도 state를 사용하는 이유는 사용하는 쪽과 구현하는 쪽을 분리시켜 양쪽의 편의성을 가지는 것에 있습니다. state 특징 일반적으로 컴포넌트의 내부에서 변경 가능한 데이터를 관리해야 할 때 사용합니다. props 의 특징은 컴포넌트 내부에서 값을 바꿀 수 없다는 것이 있습니다. state를 이용하면 내부에서도 값을 변경할 수 있습니다. 값을 지정하거나 변경할 수 있는 객체로 보통 이벤트와 함께 사용합니다. 컴포넌트에서

Naver Blog

[ React ] 함수형 컴포넌트 사용하기

#React #함수형컴포넌트 #컴포넌트 #function 함수형 컴포넌트 함수형 컴포넌트는 클래스 형 컴포넌트와 달리, state 가 없고 생명주기 함수를 사용할 수 없습니다. 상위 컴포넌트에서 props 와 context 를 파라미터로 전달받아 사용하고, render() 함수가 없으므로 return 만 사용해 화면을 그려줍니다. App.js import React from 'react'; import './App.css'; import FunctionComponent from './FunctionComponent' function App() { return ( <div> <h1>test</h1> <FunctionComponent contents="THIS IS FunctionComponent" /> </div> ) } export default App; FunctionComponent.js import React from 'react'; function FunctionCompone

Naver Blog

[ React ] fetch GET & POST 호출하기

#React #fetch #GET #POST #React통신 #http fetch 통신 웹에서는 클라이언트와 서버가 http 프로토콜을 통해, 요청 및 응답을 주고받습니다. http 에서 사용하는 방식 중에 GET 과 POST 방식을 많이 사용합니다. fetch GET get 방식은 URL 에서 주소 ' ? ' 뒤에 붙는 파라미터=값 형태로 데이터를 전달합니다. EX_FetchGet.js import React, { Component } from 'react'; class EX_FetchGet extends Component { componentDidMount() = async () => { const response = await fetch("http://date.jsontest.com"); const body = await response.json(); alert(body.date); } render() { return ( <h2>fetch get<h2/> ) } } export

Naver Blog

[ React ] axios GET & POST 사용하기

#React #axios #비동기통신 #리액트 React axios JavaScript 내장 함수인 fetch 처럼 비동기 통신을 지원하는 axios는 별도로 설치한 후에 import 해야 사용할 수 있습니다. [ axios 설치하기 ] cmd , 해당 client 폴더로 이동한 뒤에 커맨드 입력. npm install -save axios axios GET Ex_AxiosGet.js import React, { Component } from 'react'; import axios from "axios"; class Ex_AxiosGet extends Component { componentDidMount() { axios.get("http://date.jsontest.com/").then( response => {alert(response.data.date)} ) } render() { return ( <h2>axios get</h2> ) } } export default Ex_Ax

Naver Blog

[ 문경약돌돼지 ] 집에서 받는 문경장터약돌며느리 목살 돼지고기

#목살 #문경약돌돼지 #약돌돼지 #목살부위 #문경장터약돌며느리 #택배배송 #부드러운고기 #문경약돌돼지 문경장터약돌며느리 목살 문경약돌돼지 문경약돌돼지 이름만 많이 들어보고 먹어본 적은 없었는데요. 이번에 기회가 되어 요리해 먹어봤습니다. 처음으로 육류를 택배 배송을 통해 먹어봤는데요. 사실, 지금까지는 가공품만 배송받아서 먹어보거나 새벽 배송이 되어야 안심하고 온라인으로 주문했지요. 식자재를 택배 배송받아먹어본다는 생각.. 은 뭔가 꺼림직했었답니다. 하지만 이번 기회에 고기를 택배로 받아먹어보는 것도 굉장히 신선하게 먹을 수 있다는 것을 알았답니다. 그리고 가격도 너무 착하고요. 1kg에 3만 원 초반대 가격이라니요! 문경장터약돌며느리의 택배 배송은 우체국 택배를 통해 배송이 된답니다. 출고되어 하루 만에 받아봐서 깜짝 놀랐어요. 그리고 짧은 배송기간과 이렇게나 두꺼운 얼음을 넣어서 배송해 주시기 때문에, 혹여 여름에 배송했더라도 걱정이 없을 거 같더라고요. 사진에 보이는 것처럼 목

Naver Blog

[ git ] Repository 옮기기

#git #Repository #레파지토리이동 #로그옮기기 기존에 작업하던 레파지토리에서의 모든 내용을 새로운 레파지토리로 옮기는 경우가 간혹 있습니다. 소스만 옮기는 것은 push 를 통해 간단하게 이동이 되지만, 그동안 커밋 했던 내역과 해당 커밋의 코멘트까지. 그리고 로그까지 전부 옮기려면 별도의 방법이 필요합니다. 옮기고자 하는 레파지토리 준비 $ git clone --mirror [git Repository 주소] 명령어를 실행하고 나면 복사하려는 레파지토리의 이름으로 .git 디렉토리가 생기게 됩니다. git 이름 변경 $ mv [생성된 레파지토리명 : Repository.git] .git 생성된 디렉토리를 .git 으로 변경합니다. 새 레파지토리에 연결 $ git remote set-url origin [새롭게 옮길 레파지토리 주소] 새 레파지토리로 이동 $ git push --mirror 레파지토리 권한이 상실된 경우 레파지토리를 새로운 환경에 옮긴다는 것은 권한에 대

Naver Blog

[ React ] 커링 함수 구현하기

#React #리액트 #커링 #재사용성 커링 함수 React에서 커링 ( Currying ) 은 함수의 재사용성을 높이기 위해 함수 자체를 return 하는 함수입니다. 함수를 하나만 사용할 때는 필요한 모든 파라미터를 한 번에 넣어야 하지만, 커링을 사용하면 함수를 분리할 수 있기 때문에 파라미터도 나눠 전달할 수 있습니다. Ex_ReactCurrying.js import React, { Component } from 'react'; class Ex_ReactCurrying extends Component { plusNumOrString( c , d ){ return c + d; } PlusFunc1( a ){ return function( b ){ return this.plusNumOrString( a , b ) }.bind(this) } PlusFunc2 = a => b => this.plusNumOrString( a , b ) PlusFunc( a ){ return this.

Naver Blog

[ React ] lodash 의 debounce 와 throttle

#React #디바운스 #스로틀 #lodash #debounce #throttle 디바운스 와 스로틀 debounce 와 throttle 은 lodash 패키지가 설치되어야 사용할 수 있습니다. cmd 에서 client 폴더로 이동한 뒤에 패키지 설치 명령어를 입력합니다. > npm install --save lodash debounce 디바운스 debounce는 연속된 이벤트 호출이 일어나는 상황에서 사용합니다. 마지막 이벤트가 실행되고 일정 시간 동안, 추가 이벤트가 발생하지 않을 때 실행되는 함수입니다. debounce는 꼭 필요한 시점에만 함수를 실행하여, 서버 자원을 효율적으로 사용할 수 있게 해줍니다. debounce 활용하기. [ 검색어 입력 : 자동 완성 검색어 ] 연이은 이벤트 중 마지막 이벤트만 인식 Ex_Debounce.js import React, { Component } from 'react'; import { debounce } from "lodash"; c

Naver Blog

[ 더보일러스 ] 용산역 맛집 :: 우대 갈비, 미국식 바비큐 | 콜키지 정보

#용산역맛집 #노보텔용산맛집 #드래곤시티맛집 #바비큐 #용산역고기 #우대갈비 #포크립 #회식하기좋은 더보일러스 미국식바비큐 용산역에서 바비큐 하면 유명한 더보일러스를 다녀왔답니다. 처음 방문해 본 곳이라 지하공간에 자리 잡은 압도적인 크기에 놀라고, 바 규모에 놀라고, 술병에 놀랐네요. 이날은 영하 14도로 추웠던 날씨라 따듯한 더보일러스에 와서 행복했어요. 미국식 바비큐로 유명한 더보일러스 솔직한 후기를 끄적끄적 적어보아요. 더보일러스 서울특별시 용산구 청파로 112 나진상가 15동 지하1층 용산역 3번 출구에서 조금 걸어가면 더보일러스가 보인답니다. 가게입구는 2개로 옛스러운 입구를 통해 들어갔지요. 용산역 3번 출구가 플랫폼에서 꽤 거리가 있기 때문에 용산역에 내리고 15 분 정도는 넉넉하게 생각하고 가셔야 할거 같아요. 영업시간 월/화/수/목 17 : 00 ~24 : 00 금 / 토 12 : 00 ~ 24 : 00 일 / 공휴일 12 : 00 ~ 22 : 00 회식장소로도 좋

Naver Blog

서울역 :: [ 상향선 ] 힙한 감성이 가득한 곳, 낮에는 서계동 카페 밤에는 서계동 와인바

#서계동카페 #서계동와인바 #서울역카페 #서울역와인바 #상향선 #서계동커피 #분위기맛집 상향선 힙한 분위기에 연말 모임 하기 좋은 장소, 상향선 입니다. 외관에서부터 느껴지듯 감성 가득한 공간인데요. 영업시간 내내 커피와 와인을 주문할 수 있어 모임 장소로 좋은 곳입니다. 상향선 서울특별시 용산구 청파로85길 33 1층 상향선의 위치는 요즘 핫한 서계동에 있답니다. 청파동에도 여러 맛집과 분위기 좋은 바가 생겨나고 있어요! 서계동 카페 상향선은 서울역 15번 출구에서 걸어서 5분 거리에 있답니다. 서울역 15번 출구에서 나와 횡단보도를 건너면, 기름값이 엄~~~청 비싼.. 주유소가 보이는데요. 바로 옆 골목으로 꺾어 직진만 하시면 !! 상향선으로 닿게 됩니다. 영업시간 월 / 화 / 수 / 목 / 일 11 : 00 ~ 24 : 00 금 / 토 11 : 00 ~ 02 :00 불타는 주말에는 새벽 2시까지 운영하신다는 점 !! 동네 아지트 삼기 좋은 카페지요? 상향선에서 조금 놀랐던 점

Naver Blog

자양동참치 [ 강남참치 정육점 ] : 포장배달로 참치를 집에서 ! 혼술 안주로 참치는 최고 @

#자양동참치 #구의역참치 #구의역횟집 #혼술안주 #혼술 #참치안주 #술안주 강남참치 정육점 서울 광진구 자양번영로6길 52 1층(자양동) 전화 ) 0507-1479-0907 집에서 참치 회를 먹을 수 있는 포장 배달 전문, 강남참치 정육점에서 참치를 포장해 왔지요. 사르르를 입안에서 녹아내리는 참치를 먹으며, 연말 밤을 즐겁게 보냈답니다. 강남참치 정육점은 전국에 여러 지점이 있답니다. 오늘 포장하기 위해 방문한 곳은 서울 자양동입니다! 자양동참치집들이 은근히 많이 있더라고요? 강남참치 정육점 서울특별시 광진구 자양번영로6길 52 1층(자양동) 일반적으로? 회사에서 회식으로 가는 참치집은 막상 가기가.. 꺼려지잖아요? 뭔가 부담되기도 하고, 간편하게 배달로 참치를 시켜서 집에서 편하게 먹을 수 있다니 넘넘 편해진 참치 생활이지 않나요. 강남참치 정육점은 포장 배달 전문이라서, 동네 주민분들 참치가 먹고 싶을 때 편하게 픽업하기 좋겠습니다. 자양동참치 포장 배달 전문 강남참치 정육점에

Naver Blog

[ 포티파이드 : 소주 보다 쎈 와인 ] 주정강화 와인바, 다양한 셰리와 포트 그리고 마데이라가 있는 해방촌 술집

#주정강화 #와인 #와인바 #셰리 #마데이라 #포트 #분위기좋은술집 #해방촌 #하몽 #이베리코 #유럽감성바 포티파이드 서울 용산구 신흥로 9 1층 전화 ) 0507-1305-4665 적셔!~ 퇴근하고 자주 먹고, 마시는 삼겹살에 소주.. 오늘도 쓰라린 소주로 하루를 지워낸다.. 소주 한 잔을 한 번에 털어내는 시원한 그 맛. 씁쓸한 목 넘김에도 소주 병과 잔.. 그리고 잔끼리 서로 부딪힐 때 나는 그 아름다운 청명함은 소주를 떠나보내지 못하게 한다. 오늘은 소주보다 센 녀석을 마셔야겠다. 달콤함으로 아픈 기억을 지워내야겠다.. 주정강화 와인 너, 오늘은 아름다운 색에 안기고 싶다. 포티파이드 서울특별시 용산구 신흥로 9 1층 눈이 내리고 음습해진 길거리. 썩지 않은 낙엽과 녹지 않은 눈들이 길가 구석진 곳에 덩그러니 쌓여있다. 녹사평역 2번 출구에서 나와 매서운 추위에 떨어, 주머니에 손을 넣고 빠르게 걷다 보니. 오늘 만날 포티파이드가 나타났다. 해방촌 술집이라 그런지 밖에서도 분

Naver Blog

[ 2023 ] 소원을 들어줘 ! 스포트라이트를 받은 첫 태양

#2023 #새해 #새해복많이받으세요 #양양 #속초 #낙산해수욕장 낙산해수욕장 강원도 양양군 강현면 해맞이길 59 낙산해수욕장 해돋이 새벽에 출발한 해돋이 구경. 생각보다 많은 사람들이 새벽부터 도로를 꽉꽉 채웠다. 새벽 4시에 이렇게 막힌다고 ?! 1년에 딱 한 번 몇 분만 진행되는 대한민국 소원 빌기 이벤트가 진행되었다. 일출 시간에 맞춰 가야 하니, 차가 막히면 놓칠 수도 있다는 생각에 애가 탔다. 처음 와본 해돋이 명소, 낙산해수욕장에는 어마어마한 인파가.. 주차하기가 꽤나 힘들었다. 운전하고 졸리고 멍한 상태이지만, 뭔가 뿌듯했다. 새해 첫 약속은 지켰다란 느낌. 이렇게나 일찍부터 많은 사람들이 부지런하게 움직인다니.. 나태한 나는 반성해야 한다. 야.야. 2023년이 올라온다!! 2023년의 첫 번째 해가 떠오르자 사람들은 수군수군 모두가 핸드폰을 들었다. 즐거운 표정으로 사진을 찍는 사람들.. 그리고 눈을 감아 소원을 비는 사람들. 하루. 그것도 몇 시간 만에 도심에서

Naver Blog

푸드트럭 :: 깔끔하고 맛있었던 순대

#순대 #동네맛집 #푸드트럭 #길거리음식 #야채순대 #순대내장 #포장음식 길을 걷다가 우연히 발견한 푸드트럭, 그 안엔 김이 모락모락 나는 순대가 들어있었다. 트럭에서 뽀얀 연기가 자욱하게 올라오더라, 그 앞에 사람들이 줄 서 있으니. 그냥 지날 칠 수가 없다, 기웃기웃 어깨너머로 보는 따끈한 음식의 정체 순대. 차가운 공기로 입김을 호호 불며 걷다 보니 더욱 출출해지는 퇴근길. 맛있는 음식을 먹고 싶다. 매주 목요일에 오신다고 친절하게 쓰여있었다. 센스 있는 순대 지불 방식은 카카오페이 트럭에서 판매하는 음식이지만, 겉보기에도 청결해 보이고, 도마와 칼을 보니 요리고수의 느낌.. 토종순대, 모습은 피순대 같아 주문했지만 야채가 듬뿍 섞여있는 담백한 순대였다. 다음에는 모둠으로 시켜 탱글 한 찹쌀 순대를 먹어봐야겠다. 6천 원의 양이라고 하기엔 너무나 푸짐했다. 순대 아래에는 내장들이 있는데, 일반 분식집에서 판매하는 것보다 훨~~신 쫄깃하고 부드러웠다. 삶는 기술이 남다르신듯! 우

Naver Blog

[ 더와인 ] 와인 입문자가 부담 없이 가기 좋은 와인바

#강남와인바 #와인강 #강남대로와인샵 #와린이추천 #와인수입사 더와인 서울 강남구 강남대로 272 1층 전화 ) 02-577-9822 강남대로에서 17년, 오랜 시간 동안 자리를 지키고 있는 와인바, 더와인입니다. 더와인은 와인을 마실 수 있는 공간도 제공하고요. 또 수입사로 특별한 와인도 만날 수 있답니다. 와인만 구매해도 되지만, 가게의 분위기가 좋기 때문에 마시고 가도 좋답니다. 영업시간 월 - 토 12 : 00 ~ 22 : 00 독일에서 와인 경영학을 전공하신 와인아재 사장님은 '와인강' 유튜브 채널을 운영 중이시기도 합니다. 해외에서 와인을 즐긴 이야기들을 재밌게 들어볼 수 있답니다. 더와인 서울특별시 강남구 강남대로 272 1층 더와인은 양재역 3번 출구에서 걸어서 5분 정도면 도착한답니다. 강남대로 큰길에 있다 보니 찾아가는 길은 어렵지 않고요. 커피도 판매를 하시지만 오늘의 목적은 와인이니까요! 와인 마시기 좋은? 저녁시간에 방문했답니다. 매장에 들어서게 되면 높은 천

Naver Blog

리눅스( Linux )에 도커( Docker ) 설치하고, 젠킨스( Jenkins ) 설치하기

#Docker #Jenkins #도커 #리눅스 #Linux #젠킨스 Docker에 Jenkins 설치하기. Jenkins :: 젠킨스를 올릴 docker를 먼저 설치해야 합니다. Docker :: 도커를 설치하는 방법은 이전에 포스팅한 docker 설치방법을 참고합니다. [ Linux ] CentOS 8 : Docker 설치하기 #Docker #가상화 #컨테이너 #Docker설치 #CentOS8 #리눅스 Docker 란? 컨테이너 기반의 오픈소스 가... blog.naver.com Docker 설치가 끝났다면 Jenkins를 설치합니다. Jenkins 설치 lts :: 안정된 릴리스 버전으로 젠킨스를 설치합니다. # docker pull jenkins/jenkins:lts Jenkins 실행 # docker run --restart always -itd -p 8099:8080 -v /jenkins:/var/jenkins_home --name jenkins -u root jenkins

Naver Blog

error ] + CategoryInfo : 보안 오류: (:) [], PSSecurityException

#vsCode #스크립트보안오류 #스크립트권한제한 #PowerShell CMD 에서 스크립트를 실행하려 했지만, 예상대로 실행되지 않고 이러한 오류가 발생하는 경우가 있습니다. 필요한 패키지가 모두 정상적으로 설치되었는데도 나타납니다. + CategoryInfo : 보안 오류: (:) [], PSSecurityException 스크립트 권한이 제한되어 발생하는 오류를 해결해 봅시다. 관리자 권한으로 PowerShell 실행하기. 스크립트 권한 확인하기. # ExecutionPolicy 커맨드를 입력하고 나오는 결과 값이 " Restricted " 라고 나온다면 스크립트 코드를 제한한다는 의미입니다. 이러한 권한 때문에 오류가 발생했던것이지요. 스크립트 권한 변경하기. // 1번 # Set-ExecutionPolicy Unrestricted // 2번 # Set-ExecutionPolicy RemoteSigned 1번과 2번 두 명령어 중 하나를 실행하면 됩니다. 이후 # Execut

Naver Blog

[ 신용산 와인바 ] 데이트 장소로 좋은 조용한 와인바 :: 스투엘

#삼각지데이트 #삼각지와인바 #용리단길와인 #용리단길데이트 #데이트장소 #분위기좋은 #와인바 #단체예약 #신용산와인바 스투엘 서울 용산구 한강대로52길 25 지하1층 전화 ) 0507-1438-2882 이른 저녁시간 방문한 와인바 스투엘. 오늘은 저녁 약속 장소로 와인바를 골랐는데 삼각지 역에서 가까운 분위기 좋은 삼각지 와인바, 스투엘에 가기로 했다. 스투엘을 와인을 마시기 좋은 여러 이유가 있는데 자세한 설명을 아래에 하기로 하고. 오늘 즐긴 와인과 안주들 그리고 저녁을 기록해 볼까 해요. 스투엘 서울특별시 용산구 한강대로52길 25 지하1층 요 근래 맛있는 집들이 마구마구 생겨나고 있는 용리단길. 스투엘이란 와인바는 삼각지역 3번 출구에서 걸어서 2분 정도에 거리에 있었어요. 여기 용리단길에 가본다면 저녁이라도 가로수도 밝고 길폭도 널찍해서 맛집 곳곳을 탐방하는 재미가 있어요. 그리고 용리단길에서 최근에 느끼는 점은 와인을 마실 수 있는 음식점이 정말 많이 생겨있고 용리단길 와

Naver Blog

wework :: 위워크 역삼 2호점, 공유 오피스 구경하기! + 일하다가 맥주 마시기. 위워크는 생맥주 맛집?!

#위워크 #역삼점 #역삼2호점 #wework #공유오피스 #맥주제공 #위워크시설 wework 역삼 2호점 생기가 넘치는 공유오피스, 위워크 역삼역 2호점에 방문! 했답니다 ! 위워크가 한국에 들어오고, 한 번쯤은 가보고 싶었지만 기회가 되지 않았네요. 하지만! 드디어 위워크에 가보게 되었답니다. 위워크 역삼역 2호점 서울특별시 강남구 테헤란로26길 14 대세빌딩 1층 역삼역 3번 출구에서 위워크 역삼역 2호점까지는 걸어서 1분 정도 걸리는 짧은 거리랍니다. 입구부터가 생기 넘치지 않나요? 분위기도 활기차고 자유로운 분위기 덕분인지? 입주하신 회사들의 근무 환경이나 분위기도 자유롭고 개성 넘쳐 보이더라고요. 오픈된 천장에는 형형색색의 배관과 조명이 다채롭게 정렬된 느낌이에요. 첫인상이 중요한 요소이듯. 알록달록한 색상 덕에 이곳이 업무를 보는 사무실이라곤... 홍대에 있는 옷집 같지 않나요.? 위워크 서울역점처럼 규모가 큰 지점은 아니지만 1층 로비에 편하게 쉴 수 있는 공간이 있답니

Naver Blog

[ 교대역한정식 ] :: 깔끔한 한식, 술상으로 좋은 메뉴가 있는곳 :: 시래본가 교대역점

#교대역술집 #교대회식장소 #한정식 #한식안주 #술상 #막걸리 #불고기 #시래본가 #저녁식사예약 #공간이넓은식당 #대화하기좋은식당 시래본가 교대역 서울 서초구 서초중앙로24길 27 지하1층 비104호 전화 ) 02-535-9998 친구들과 퇴근하고 조용하게 술 한잔하자고 했다. 술과 맛있는 안주가 준비된, 오늘의 저녁 모임 장소는 교대역에 생긴지 얼마 안 된 시래본가 교대역점이다. 저녁에 만나면 자주 먹는 메뉴 치킨이나, 구워 먹는 삼겹살, 족발. 세상 맛난 것들이 많은데 항상 가는 곳은... 정해져있는 것인지.. 이렇게 기름기 가득한 음식을 약속 자리마다 냠냐므, 먹다가는 살이 드륵드륵 찌겠다. 이번에는 건강한 한정식에 술을 가볍게 먹어보려 한다. 시래본가 교대역점 서울특별시 서초구 서초중앙로24길 27 지하1층 비104호 시래본가 교대역점은 직장인들이 자주 출몰하는 큰 건물, 지하에 있다. 점심시간에만 사람들이 많이 몰릴 거 같은 푸드코트 느낌이랄까. 이런 조용한 곳에서 한잔하는

Naver Blog

[ 파스타맛집 ] 한식으로 재해석한 파스타, 조선파스타 :: 우리 '전통주'와 페어링 하기 좋은 파스타

#강남맛집 #조선파스타 #파스타 #K-파스타 #한식파스타 #전통주 #와인 #이색파스타 #거부감없는 #보석김밥 #한정메뉴 #시래기파스타 조선파스타 역삼직영점 서울 강남구 논현로71길 25 비드52빌딩 1층 전화 ) 0507-1343-2897 보석 김밥 출근을 꼭 해야만 하는 평일, 가장 즐거운 순간은 언제일까.. 점심시간과 퇴근시간이다. 밥을 먹기 위해 출근을 하고 퇴근하기 위해 일을 한다. 하루에 몇 끼니를 먹는 의무적인 식사시간. 한정된 하루의 식사 시간을 더욱 값지게 만들기 위해 나는 맛있는 음식을 늘 추구한다. 조선파스타는 이름부터 알 수 있듯이, 이탈리아와 한국의 만남이다. 파스타가 붙어 있으니, 메인 요리는 파스타. 조선식으로 재해석한 음식이 준비되어 있다. 파스타? 조선파스타는 전통주와 페어링이 좋은 음식으로 구성되어 있지만, 파스타를 먹으러 왔으니, 파스타는 와인과 함께 즐겁게 먹었다. 플레이팅이 깔끔하게 나와 보는 눈이 즐겁고 맛도 꿀맛이니. 저녁 한 끼 조선파스타에서

Naver Blog

[ 가로수 그곳2 ] 신사역 고기집, 양념게장 구이를 맛볼 수 있는 곳

#가로수그곳2 #신사역고기집 #양념게장구이 #갈비찜 #소고기 #소갈비구이 #신사역고깃집 가로수그곳2 서울 강남구 강남대로152길 15 1층 전화 ) 0507-1359-4943 퇴근 땅 하자마자 방문한 그곳, 오늘은 고기파티!! 그것도 무려 소고기를 먹는 날이다. 소고기하면 비싸다는 생각이 바로 들긴 하지만, 가성비가 좋아 부담 없이 먹기 좋은 곳. 가로수그곳2를 다녀온 먹방일기를 작성한다. 가로수그곳은 2군데가 있으며, 멀지 않은 곳에 가로수그곳1이 있다. 하지만 가로수그곳1은 포차 느낌이 물씬 나고. 2차로 가기 좋은 느낌이랄까.. 가로수그곳2 서울특별시 강남구 강남대로152길 15 1층 신사역 고깃집인 가로수그곳2는 식사와 반주를 하기 좋은 곳으로 신사역 8번 출구에서 살짝만 걸어가면 도착하는 초역세권 고깃집이다. 고기 메뉴의 구성이 가성비 있고 양도 많이 주시는 곳이다. 메뉴 돼지고기가 삼겹살과 목살이 있지만 오늘은 소고기를 먹으러 왔으니 감칠맛 돌게 양념된 소갈비를 주로 주문

Naver Blog

[ Vue.js ] disabled 처리하기

#vue #vueJs #비활성화 #버튼활성화 #disabled Disabled 처리 Vue 에서 disabled를 처리하는 방법입니다. HTML <template> <div> <button :disabled="disabled" >전송하기</button> </div> </template> Script <script> const disabled = ref(true) if( 특정 조건 만족 ) { disabled.value = false } </script> vue의 데이터는 바인딩 되어 상호작용을 하기 때문에 script에서 값이 변경되면, 화면단에서 바로 반응을 하게 된다.

Naver Blog

[ Vue.js ] Axios를 이용한 데이터 수신 및 콜백 함수 구현 방법

#Vue.js #Axios #HTTP #데이터수신 #콜백함수 #callback vue.js 동기/비동기 데이터 수신 방법 axios Axios는 Vue.js에서 가장 많이 사용되는 HTTP 클라이언트 라이브러리 중 하나입니다. Axios를 이용하면 간단하게 HTTP 요청을 보내고 응답을 받아올 수 있습니다. 이번에는 Vue.js에서 Axios를 이용해 데이터를 수신하고, 콜백 함수를 구현하는 방법에 대해 알아보겠습니다. Axios 설치 먼저 Axios를 사용하기 위해서는 라이브러리를 설치해야 합니다. npm을 이용해 아래의 명령어를 실행하여 설치합니다. npm install axios Axios를 이용한 데이터 수신 Axios를 이용해 데이터를 수신하려면 axios.get() 메소드를 사용합니다. 아래는 간단한 예제 코드입니다. import axios from 'axios'; export default { data() { return { users: [] } }, mounted()

Naver Blog

[ Vue.js ] Nuxt 프레임워크에서 경로 '@' 와 '/_nuxt' 의 차이점

#vueJs #nuxt #src #경로 '@' 와 '/_nuxt' 의 차이점 @ @ 기호는 Webpack 설정에서 src 디렉토리를 가리키는 별칭(alias)입니다. 이 별칭은 import 문에서 사용됩니다. 예를 들어, @/components는 src/components와 같은 의미입니다. 이 별칭은 Nuxt에서 기본적으로 설정되어 있으며, 루트 경로(src)를 가리키기 때문에 애플리케이션의 코드에서 상대 경로를 사용하는 것보다 코드를 더 간결하게 만들 수 있습니다. /_nuxt _nuxt는 Nuxt의 빌드 시스템에서 생성된 정적 자산(static asset)의 기본 경로입니다. Nuxt는 애플리케이션을 빌드 할 때 정적 자산을 생성하여 _nuxt 디렉토리에 저장합니다. 이 디렉토리는 애플리케이션의 빌드 버전을 호스팅 할 때 사용됩니다. 예를 들어, /_nuxt/app.js는 Nuxt 애플리케이션에서 생성된 JavaScript 번들 파일입니다. 이 파일은 클라이언트 측에서 실행되어

Naver Blog

[ Vue.js ] vue.js v-model 한글 사용 문제 해결방법 :: 영문으로 전환 | 한글 입력 가능하게 하기

#VueJs #뷰한글 #한글입력 #v-model #한글영문전환 #@input v-model 한글 사용 문제 Vue.js v-model 한글 사용 문제 해결방법 Vue.js는 양방향 데이터 바인딩을 구현하기 위해 v-model 디렉티브를 제공합니다. 그러나 한글을 입력할 경우 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해서는 다음과 같은 방법을 사용할 수 있습니다. IME IME는 현대적인 디지털 환경에서 필수적인 도구 중 하나입니다. 한글은 IME 입력 방법입니다. 이러한 원인으로 발생하는 문제입니다. 입력기(Input Method Editor)는 컴퓨터나 모바일 디바이스에서 키보드를 사용하여 문자열을 입력하는 방법을 말합니다. 각 나라마다 언어 및 문자의 표현 방법이 다르기 때문에 IME는 이러한 특정 언어의 문자 입력을 지원하는 도구입니다. 일반적인 IME는 키보드를 사용하여 문자를 입력할 때 해당 문자에 해당하는 코드를 생성합니다. 이 코드는 컴퓨터에서 문자로 변환됩니다

Naver Blog

[ HTML ] 변수로 텍스트를 렌더링 할 때 HTML 태그가 그대로 노출되는 문제 해결하기

#HTML #렌더링 #변수 #태그노출 #태그적용 HTML에서 변수로 텍스트를 렌더링 할 때 HTML 태그가 그대로 노출되는 문제를 해결하기 위해서는 HTML 태그를 HTML 엔티티(Entity)로 대체해야 합니다. HTML 엔티티는 특수 문자나 기호를 표현하기 위한 특수 문자 코드로, HTML 문서에서 사용되는 특수 문자나 기호를 대체하여 HTML 코드에서도 올바르게 표현할 수 있도록 합니다. 예를 들어, < 문자는 &lt; 로 대체됩니다. &lt; => ' < ' &gt; => ' > ' 따라서, HTML 코드에서 변수를 렌더링 할 때는 변수 값을 HTML 엔티티로 변환해야 합니다. 이를 위해서는 JavaScript에서 제공하는 **innerText**나 textContent 속성을 사용하여 변수 값을 HTML 엔티티로 변환한 후 렌더링 할 수 있습니다. 예를 들어, 다음과 같은 HTML 코드가 있다고 가정해 보겠습니다. htmlCopy code <div id="example"><

Naver Blog

[ HTTP 메서드 ] PUT과 POST의 차이

#HTTP #POST #PUT #RESTfulAPI #API PUT 과 POST 차이점 PUT과 POST는 HTTP 메서드 중에서 서로 다른 역할을 수행하는 메서드입니다. PUT은 이미 존재하는 자원의 내용을 업데이트하기 위해 사용되며, POST는 새로운 자원을 생성하기 위해 사용됩니다. 예를 들어, RESTful API에서 PUT은 기존 자원을 수정하고자 할 때 사용됩니다. PUT 요청의 본문에 수정하고자 하는 자원의 새로운 내용이 포함되어 있습니다. 이 요청이 서버로 전송되면, 서버는 해당 자원을 찾아서 요청에 포함된 내용으로 업데이트합니다. 예를 들어, 다음은 Node.js와 Express를 사용하여 구현된 간단한 RESTful API에서 PUT 요청의 예시입니다. const express = require('express'); const app = express(); const port = 3000; let products = [ { id: 1, name: 'Product 1

Naver Blog

[ Vue.js ] computed 란? watch 와의 차이점

#vueJS #computed #watch #데이터변화감지 computed 와 watch computed Vue.js의 computed 속성은 반응형 데이터를 효과적으로 처리하기 위해 사용되는 속성입니다. Computed 속성은 Vue 인스턴스의 데이터 속성에 의존하는 데이터를 계산하고, 캐싱 하여, 계산된 값이 변경될 때만 다시 계산됩니다. Computed 속성은 다른 데이터 속성에서 파생된 값으로, 일반 데이터 속성처럼 Vue 인스턴스의 데이터에 접근하여 계산할 수 있습니다. 예를 들어, 다음은 fullName이라는 computed 속성을 가진 Vue 인스턴스의 예입니다. var vm = new Vue({ data: { firstName: 'John', lastName: 'Doe' }, computed: { fullName: function() { return this.firstName + ' ' + this.lastName; } } }) 위의 코드에서는, computed 속성인

Naver Blog

[ navigator 객체 ] 브라우저에서 위도/경도 값 가져오는 방법

#navigator #위도 #경도 #geolocation #콜백함수 #getCurrentPosition() #position객체 #브라우저 #javaScript Navigator 위도 / 경도 값 가져오기 브라우저에서 현재 위치의 위도와 경도 값을 가져오는 방법은 navigator.geolocation 객체를 사용하는 것입니다. 이 객체는 위치 정보를 가져오는 데 사용되며, getCurrentPosition() 메서드를 호출하여 현재 위치의 위도와 경도 값을 가져올 수 있습니다. 예시 소스코드 if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { const latitude = position.coords.latitude; const longitude = position.coords.longitude; console.log("현재 위치는 위도 " + latitude + ", 경

Naver Blog

[ javaScript ] 사운드 재생하기 + vue.js , 재생시간 표시

#javaScript #vueJs #사운드 #HTML #웹페이지 #웹사운드 javaScript , vue.js 에서 사운드 재생하기 웹 페이지에서 사운드를 재생하는 것은 사용자가 사이트에서 더욱 즐거운 시간을 보낼 수 있도록 해줍니다. 이를 위해서 HTML5와 JavaScript를 이용하여 사운드를 웹 페이지에 삽입하는 방법을 알아보겠습니다. HTML + javaScript HTML과 JavaScript를 사용하여 소리를 추가하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 HTML5 Audio 요소를 사용하는 것입니다. 이 요소는 다양한 오디오 형식을 지원하며 간단하게 사용할 수 있습니다. HTML5 Audio 태그 HTML5의 Audio 태그를 사용하면 브라우저에서 오디오를 쉽게 재생할 수 있습니다. 이를 위해서는 `audio` 태그를 이용하고, `src` 속성에 재생하고자 하는 오디오 파일의 경로를 지정해 주면 됩니다. <audio src="audiofile.mp3">

Naver Blog

[ git error ] Please commit your changes or stash them before you merge. 오류 해결하기

#git #error #commit #merger #오류 #stash Error : Please commit your changes or stash 다른 브랜치와 merge를 진행하려 했으나, 문제가 발생해서 아래와 같은 에러 메시지가 배출되었습니다. 에러 메시지 "C:\Program Files\Git\bin\git.exe" merge origin/develop error: Your local changes to the following files would be overwritten by merge: package-lock.json Please commit your changes or stash them before you merge. Aborting Merge with strategy ort failed. Done 이 오류 메시지는 병합을 진행하기 전에 package-lock.json 파일에서 로컬 변경 사항이 있어서 해당 파일을 병합할 수 없다는 것을 알려줍니다. 문제 해결을

Naver Blog

[ vue.js ] @click 함수, 클릭 이벤트 발생 시 API 호출 1번만 하기

#event #click #vue #@click #api #function #중복호출 @click 중복 함수 호출 방지 Vue.js에서 @click 이벤트로 API 함수를 호출하는 경우, 기본적으로 클릭 할 때마다 API가 호출됩니다. 이를 방지하기 위해 일시적으로 비활성화하는 방법이 있습니다. .once @click 이벤트에 수식어 사용 v-on:click.once @click.once .once 수식어를 사용하여 이벤트를 일회성으로 처리할 수 있습니다. 이 방법을 사용하면 버튼을 클릭하면 이벤트가 발생하지만, 더 이상 API 함수가 호출되지 않습니다. <template> <button v-on:click.once="callAPI">Call API</button> </template> <script> export default { methods: { callAPI() { // API function 호출 } } } </script> 함수 실행 후, 비활성 하기 클릭 이벤트를 처리하

Naver Blog

[ vue.js ] v-for 디렉티브를 사용하여 생성된 요소에서 이벤트('@click')가 중복 호출되는 문제 해결하기

#vue #v-for #click #event중복 v-for 요소, 이벤트 중복 호출 Vue.js에서 v-for 디렉티브를 사용하여 생성된 요소에 이벤트 핸들러를 추가할 때 발생할 수 있는 문제 중 하나는 이벤트 핸들러가 중복으로 호출될 수 있다는 것입니다. 이 문제는 다음과 같은 상황에서 발생할 수 있습니다. 같은 요소에 중복된 이벤트 핸들러가 등록되어 있는 경우 이벤트 핸들러가 자식 요소에도 등록되어 있는 경우 v-for로 생성된 요소에 이벤트 핸들러를 추가하는 경우, 이벤트 핸들러를 각 요소의 고유한 ID 또는 인덱스 값을 이용하여 구분해야 합니다. 예를 들어, 다음 코드는 인덱스 값을 이용하여 클릭 이벤트를 처리합니다. <div v-for="(item, index) in items" :key="index"> <label @click="handleClick(index)"> <input type="radio" :value="item.value" v-model="selectedVa

Naver Blog

[ vue.js ] navigator.mediaDevices.getUserMedia :: 웹 브라우저에서 카메라 사용하기 + 캡처

#vueJs #카메라 #웹캠 #getUserMedia #javaScript #navigator #mediaDevices #getUserMedia옵션 vue.js 웹캠 구현하기 WebRTC(Real-Time Communication) 기술을 사용하여 브라우저에서 웹캠에 접근하고 활용하는 방법 중 하나는 navigator.mediaDevices.getUserMedia API를 활용하는 것입니다. getUserMedia API 란? navigator.mediaDevices.getUserMedia() 는 사용자의 미디어 장치(웹캠, 마이크 등)를 사용할 수 있도록 허용하는 브라우저의 API입니다. vue.js 컴포넌트 만들기 <template> <div class="wrap-camera"> <video ref="video" autoplay :style="[mode ? 'display: inline' : 'display: none']"></video> <canvas ref="canvas" s

Naver Blog

[ vue.js ] [ 모바일 ] 이미지를 손가락으로 드래그해서 원하는 위치로 옮기는 방법

#이미지드래그 #vueJs #이미지옮기기 #모바일 #이미지이동 이미지 드래그 이미지를 손가락으로 드래그하여 이동시키는 기능을 구현할 수 있습니다. 드래그 이벤트 등록하기 드래그 이벤트를 등록하기 위해 @touchstart, @touchmove, @touchend 이벤트를 사용합니다. HTML <img src="/pet/a.webp" draggable="false" @touchstart="touchStart" @touchmove="touchMove" @touchend="touchEnd" :style="{ position: absolute; top: imgXY.y + 'px', left: imgXY.x + 'px', }" /> Script const imgXY = ref({ x: 150, y: 400, startX: 0, startY: 0, }) // 터치 시작 const touchStart = (e) => { // 터치 시작 위치 저장하기 imgXY.value.startX = e.to

Naver Blog

[ HTML ] audio 태그의 속성

#html #audio #속성 audio 속성 preload 오디오 파일의 미리 로딩을 지정합니다. "none" : 브라우저에 의해 자동 로딩되지 않으며, JavaScript 코드로 로딩해야 합니다. "metadata" : 오디오 파일의 메타데이터만 로드합니다. "auto" : 페이지가 로드될 때 자동으로 오디오 파일을 로드합니다. controls 오디오 컨트롤러를 활성화합니다. 이 속성을 추가하면 사용자가 오디오를 재생, 일시 정지, 다시 시작, 볼륨 조절 등의 작업을 할 수 있는 기본적인 컨트롤러가 표시됩니다. autoplay 페이지가 로드될 때 오디오를 자동으로 재생합니다. loop 오디오가 끝나면 자동으로 처음부터 다시 재생합니다. muted 오디오를 음소거 상태로 재생합니다. src 재생할 오디오 파일의 URL을 지정합니다. crossorigin 원본과 대상이 다른 경우, CORS (Cross-Origin Resource Sharing) 요청이 가능하도록 설정합니다. "an

Naver Blog

Oracle 에서 EDB / EPAS (postgresql)로 마이그레이션하기

#Oracle #EDB #DB #postgre #디비전환 #마이그레이션 Database Migration 프로젝트는 다음의 11가지 단계를 거칩니다. 마이그레이션 요구 사항 분석 및 마이그레이션 범위 결정 기존 환경 진단 및 분석에 따른 마이그레이션 평가 및 평가 리포트 생성 마이그레이션 위험 요소 및 기술 분석 마이그레이션 방안 상세 설계에 따른 전략 수립 데이터 모델링 스키마 개체 마이그레이션 데이터 마이그레이션 SQL 구문 등 비즈니스 로직 마이그레이션 응용 프로그램 마이그레이션 마이그레이션 점검 및 테스트 최적화 작업 EDB 로 SQL 문 전환하기 오라클(Oracle)에서 EnterpriseDB(EDB)로의 데이터베이스 마이그레이션을 위한 SQL 문 전환 과정을 안내합니다. 대상 DB, EDB의 버전은 12 버전을 기준으로 합니다. 15버전을 이용하면,, Oracle에서 EDB로 전환하는 데에 큰 어려움이 없으실 겁니다.. 이 글을 보시는 개발자 여러분.. 모두 힘내십시오.

Naver Blog

[ TypeScript ] 타입스크립트. | .ts 와 .tsx 의 차이

#ts #tsx #타입스크립트 #React #jsx TypeScript 타입스크립트? TypeScript는 JavaScript로 작성된 코드를 정적 타입을 추가하여 더욱 강력한 코드를 만들 수 있도록 Microsoft에서 개발한 오픈소스 프로그래밍 언어입니다. JavaScript는 동적 타입 언어로, 변수나 함수의 타입을 런타임에 결정합니다. 이는 개발자가 코드를 작성하는 동안에는 편리하지만, 실행 중에 문제가 발생할 가능성이 높아집니다. TypeScript는 이러한 문제를 해결하기 위해 정적 타입을 도입하였습니다. 개발자는 코드를 작성할 때 변수나 함수의 타입을 명시할 수 있으며, 컴파일 과정에서 타입 검사를 수행하여 런타임에 발생할 수 있는 에러를 사전에 방지할 수 있습니다. 또한 TypeScript는 JavaScript의 상위 집합으로, 모든 JavaScript 코드를 TypeScript로 쉽게 변환할 수 있습니다. TypeScript는 자바스크립트의 모든 기능을 포함하며, 더

Naver Blog

[ Tailwind CSS ] Next.js에 Tailwind CSS 설치하기

#Tailwindcss #React #NextJS tailwindcss Next.js에 Tailwindcss CSS 설치하기 Next.js 프로젝트 생성하기 npx create-next-app@latest my-project --typescript --eslint cd my-project npm 으로 Tailwind CSS 설치하기 npm install tailwindcss@latest postcss@latest autoprefixer@latest Tailwind CSS v2 부터는 IE를 지원하지 않기 때문에 PostCSS의 autoprefixer 등을 함께 사용해야 합니다. PostCSS 플러그인에 Tailwind CSS 추가하기 // postcss.config.js 등의 postcss 설정 파일 module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, }; Tailwind CSS 구성 파일 생성하기 npx tail

Naver Blog

log4j | 로그에 찍힌 SQL 쿼리문, '?' 파라미터에 쉽게 변수 값 넣어주기

#log4j #sql #파라미터 #변수 #자동완성 #소스코드 #JavaScript 프로젝트를 진행하면서 SQL 디버깅을 위해 Tool에 쿼리문을 긁어와서 실행할 때가 있습니다. log에 찍히는 SQL 쿼리문에 검색 조건 등, Mybatis에 전달된 파라미터도 찍힌다면, 복붙만 하면 되지만 로그에는 원하는 방식으로 찍히지 않을 때가 있습니다. log [서비스.getList] ==> Preparing: SELECT NAME, TITLE FROM DUAL WHERE NAME_ID = ? AND TITLE = ? [서비스.getList] ==> Parameters: 1(Integer), blog(String) 쿼리문이 길지 않거나, 수작업으로 삽입할 파라미터의 개수가 많지 않다면 번거롭지 않지만, 파라미터의 개수가 10개 이상이면 곤란하곤 합니다. 간단하게 위 log를 긁어와서 파라미터를 쿼리문에 넣어주는 로직을 JavaScript로 작성해 보았습니다. const query = "SELEC

Naver Blog

[ next.js ] next 프로젝트 생성하기 옵션

#react #nextJS #프로젝트 #생성 #create-app create-next-app Usage: create-next-app <project-directory> [options] Options: -V, --version output the version number --ts, --typescript Initialize as a TypeScript project. (default) --js, --javascript Initialize as a JavaScript project. --tailwind Initialize with Tailwind CSS config. (default) --eslint Initialize with ESLint config. --app Initialize as an App Router project. --src-dir Initialize inside a `src/` directory. --import-alias <alias-to-configure>

Naver Blog

아웃백 스테이크하우스 :: 토마호크.

#외식 #아웃백 #토마호크 #스테이크 #주말데이트 #실패없는 #맛집 아웃백 서울 중구 장충단로13길 20 현대시티아울렛 9층 체인점 아웃백스테이크하우스 동대문점 서울특별시 중구 장충단로13길 20 현대시티아울렛 9층 영업시간 10 : 30 ~ 21 : 30 라스트오더 20 : 30 어릴 적 큰맘 먹어야 갈 수 있었던 패밀리 레스토랑, 아웃백이다. 이제는 나도 돈을 벌어 소비자 입장으로 방문해 보았다. 하지만.. 얻어먹을 때가 기뻤던 것이다. 투움바 파스타를 먹으러 갔다가 고기를 먹을 줄이야. 오늘은 마음을 굳건히 다잡아야겠다. 한 달은 컵라면 먹으면 되겠지. 배를 쉽게 채울 수 있는 음료는 토마호크 세트를 시키면 제공되는 음료이다. 덕분에 고기를 더 시키지 않아도 배를 채울 수 있으니 음료는 필수라 볼 수 있겠다. 버섯 스프 또한 맛은 훌륭하다. 회사 점심 메뉴로 늘 선택하는 제육볶음 집, 밑 반찬으로 나오는 미역국과는 차원이 다른 애피타이저이다. 속이 깊다고 느낄 정도의 구수함은

Naver Blog

[ React ] 리액트에 CSS 적용하기

#React #CSS #리액트 #style #create-react-app #css-loader #style-loader React CSS css-loader : @import , url() 등의 구문을 해석 및 적용 style-loader : <style> 태그를 통해서 CSS를 DOM에 적용 React 에서 CSS 를 적용할 수 있는 방법들. inline style 인라인 스타일 html 태그 안에 직접 입력하는 방법 style={} 형식, 안에 css는 json 형식으로 속성명:'속성값' 으로 입력 속성명은 kebab-case 가 아닌 camelCased ex ) background-color는 backgroundColor 인라인 스타일 import React from 'react'; const Main = () => { retrun ( <div style={{ backgroundColor: 'red' }} > </div> ) } 인라인 javascript Object 스타일

Naver Blog

[ React ] 프로퍼티 ( props ) 란?

#React #props #프로퍼티 #단방향 #데이터흐름 React props 프로퍼티 (props) 란 ? 프로퍼티, properties( props ) 상위 컴포넌트가 하위 컴포넌트에 값을 전달할 때 사용 단방향 데이터 흐름 프로퍼티는 수정할 수 없다는 특징 프로퍼티에 문자열을 전달할 때는 큰따옴표 " 를 , 문자열 외의 값을 전달할 때는 중괄호 {} 를 사용 App.jsx function App() { return ( <div> <Main name="text"/> </div> ); } Main.jsx function Main(props) { return ( <div> {props.name} </div> ) } 문자열 대신 숫자를 넘길 경우 function App() { return ( <div> <Main name={9}/> </div> ); } props 의 자료형, 타입 정의 프로퍼티의 자료형을 미리 선언할 수 있음 리액트에서 제공하는 prop-types 를 이용하여 각각의

Naver Blog

[ next.js ] npx create-next-app@ 특정 버전을 지정해도 최신으로 설치되는 이유

#npx #next #nextjs #CNA npx create-next-app 명령어를 사용하여 특정 버전으로 설치를 하더라도 최신 버전이 설치되는 이유 npm 캐시 npm은 로컬에 캐시를 생성하여 이전에 설치한 패키지를 재사용할 수 있습니다. 따라서 이전에 최신 버전으로 설치한 경우, 캐시된 패키지가 사용될 수 있습니다. 이를 해결하기 위해서는 npm cache clean 명령어를 실행하여 npm 캐시를 비우고 다시 설치해야 합니다. 패키지 매니저 npm의 경우, 패키지를 설치할 때 @버전을 지정해도 항상 최신 버전을 설치합니다. 이는 npm의 동작 방식으로 인해 발생하는 문제입니다. 대신, 패키지 매니저인 yarn을 사용하면 명확한 버전을 설치할 수 있습니다. 예를 들어, yarn create next-app@버전과 같이 yarn을 사용하여 설치하면 지정한 버전으로 패키지가 설치됩니다. 오타 버전을 올바르게 입력하지 않은 경우, npm은 최신 버전을 설치하려고 시도할 수 있습니다

Naver Blog

[ NextJS ] 페이지 링크 이동, Link 와 next/router

#nextJS #Link #Router #useRouter Link , next/router next 프로젝트에서 페이지를 전환하기 위한 방법에는 대표적인 방법으로 두 가지가 있습니다. Link와 router 객체를 이용하는 방법이 있습니다. Link 태그를 이용한 방 Link 컴포넌트를 사용하는 방법입니다. import Link from 'next/link' Link 컴포넌트의 props href (필수) 이동할 경로 또는 URL as 브라우저 URL 표시 줄에 표시될 경로에 대한 선택적 데코레이터 passHref href property를 Link 자식에게 강제로 전달 prefetch 백그라운드에서 페이지를 미리 가져옴, 기본값은 true로 뷰 포트에 있는 모든 항목이 미리 로드됩니다. replace history 스택에 새 URL을 추가하는 대신 현재 상태를 변경합니다. scroll 페이지 전환 후 페이지 상단으로 스크롤 할지 여부, 기본값 true shallow getStat

Naver Blog

[ 구글 스프레드시트 ] I18n, 다국어 작업, sheet 데이터 json으로 추출하기.

#i18n #구글스프레드시트 #구글시트 #google #sheet 구글 스프레드시트 JSON 형식으로 데이터 추출 다국어 프로젝트 진행을 위해 i18n 라이브러리를 사용하였습니다. 다국어 데이터를 정리하기 위해 구글 스프레드시트를 사용하였고, 아래와 같은 json 형식의 데이터를 추출할 필요가 생겼습니다. ja.json { "AxvR": "変数の使用方法<br /> {_n}:{_0}", "GMgt": "ラインブレークは<br />です。", "jzoR": "キー値と翻訳は自動的に生成されます。", "Nxox": "韓国の翻訳エリアを変更するだけです。", "SXKe": "{}、あなたが何をしているかを翻訳しないでください<> </>", } en.json { "AxvR": "How to use variables. <br /> {_n}: {_0}", "GMgt": "The line break is <br />.", "jzoR": "Key values and translations are automatica

Naver Blog

[ React ] 자식 컴포넌트에 Ref 전달하기

#react #component #ref #forwardRef #ref전달 forwardRef `forwardRef`는 `React` 라이브러리에서 제공하는 기능 중 하나로, `ref`를 자식 컴포넌트에 전달할 수 있도록 해줍니다. 이 기능을 사용하면 함수형 컴포넌트에서도 `ref`를 사용할 수 있습니다. 예를 들어, 부모 컴포넌트에서 `ref`를 사용하여 자식 컴포넌트에 접근하려고 할 때, 이 기능을 사용하면 함수형 컴포넌트에서도 `ref`를 사용할 수 있습니다. 컴포넌트 import React, { forwardRef } from "react"; import * as Styled from "./btn.styled"; import Link from "next/link"; const BtnSquare = forwardRef(({ title, onClick, className, href }, ref) => { return ( <Styled.Slayout onClick={onClick}

Naver Blog

[ React ] Redux Toolkit - A non-serializable value was detected in an action, in the path: `type` 에러

#React #redux #toolkit #RTK에러 #오류해결 #nonSerializable RTK - non-serializable 에러해결 이 에러는 Redux Toolkit에서 제공하는 serializableCheck 미들웨어가 액션 객체에 non-serializable 한 값이 포함되어 있을 때 발생합니다. serializableCheck 미들웨어의 목적은 개발자들이 Redux 상태를 직렬화 가능한 형태로 유지할 수 있도록 도와주는 것입니다. 그러나, non-serializable 한 값이 포함된 액션 객체는 이 미들웨어에서 걸러지게 되어 이 에러가 발생합니다. 이 에러는 일반적으로 Date 객체나 함수 같은 non-serializable 한 값을 액션 객체에 포함시키려고 할 때 발생합니다. 또는, createAsyncThunk를 사용하여 비동기 작업을 처리할 때, extraReducers에서 fulfilled 액션을 처리할 때 non-serializable 한 값을 반환하

Naver Blog

[ NextJS ] 환경 변수 사용하기 .env

#NextJS #React #환경변수 #env NextJS 환경변수 Next.js에서 환경 변수(Environment Variables) 사용 방법 Next.js는 3가지 방식으로 환경 변수 기능을 지원합니다. process.env.NODE_ENV : 구동 환경 체크용 환경 변수 .env 파일 : 구동 환경별 환경 변수 적용 파일 NEXT_PUBLIC_ : 브라우저에서 참조하기 위한 Prefix .env 파일에 환경 변수를 정의하고, next.config.js 파일을 만들어서 .env 파일에 있는 환경 변수를 참조할 수 있도록 설정합니다. process.env.NODE_ENV : 구동 환경 체크 변 Next.js는 자동으로 process.env.NODE_ENV 변수를 생성하고, 구동 환경에 따라 아래의 3가지 값을 주입해 줍니다. development : 개발 환경(npm run dev로 구동한 경우) production : 배포 환경(npm run build로 빌드 한 경우) te

Naver Blog

[ MySQL ] 8.x public key retrieval is not allowed 에러 해결하기

#mySQL #에러 public key retrieval is not allowed 에러 해결하기 DB tool로 mysql 을 접속하려 하는데 public key retrieval is not allowed 에러가 발생했다. 간단하게, DB tool에서 사용하는 DB driver 의 속성값을 변경하면 되는데, allowPublicKeyRetrieval 값을 true로 변경해 주면 된다. mySQL 8.x 버전부터는 위 값을 설정해 줘야 한다. jdbc 주소는 jdbc:mysql://localhost:3306/db_name?allowPublicKeyRetrieval=true 으로 연결해야 한다.

Naver Blog

[ scp ] root 권한 파일 sudo scp 로 가져오기.

#root #scp #sudo sudo scp scp는 Secure Copy의 약자로, SSH 프로토콜을 사용하여 파일을 복사하는 명령어입니다. sudo 권한이 필요한 파일을 복사하려면, 다음과 같은 명령어를 사용할 수 있습니다. sudo scp [옵션] [소스] [대상] [ 옵션 ] scp 명령어에 사용할 수 있는 다양한 옵션 r 디렉터리 내 모든 파일/디렉터리 복사 scp -r p (소문자) 원본 권한 속성 유지 복사 scp -p P (대문자) 포트 번호 지정 복사 scp -P [포트 번호] c (소문자) 압축 복사 scp -c v 과정 출력 복사 scp -v a 아카이브 모드 복사 scp -a [ 소스 ] 복사할 파일의 경로입니다. 로컬 머신의 파일을 복사할 때는 [ 소스 ] 대신 유저명@호스트:경로 를 입력합니다. [ 대상 ] 복사한 파일을 저장할 경로입니다. 로컬 머신에 저장할 때는 [ 대상 ] 대신 경로를 입력합니다. 예시 ) sudo scp /home/user/sourc

Naver Blog

[ NextJS ] Store 사용하기. redux , persist | next-redux-wrapper, reduxjs/toolkit, redux-persist

#React #redux #persist #next #toolkit #next12 #wrapper NextJS에서 Store 사용하기 필요 모듈 npm i next-redux-wrapper npm i react-redux npm i redux-persist npm i redux-logger npm i @reduxjs/toolkit 폴더 구조 redux-toolkit 리덕스 툴킷은 리덕스의 불편함을 보완하기 위해 나온 개발 도구입니다. 리덕스는 복잡한 저장소 구성, 수많은 라이브러리에 대한 의존성, 작업 시 많아지는 코드량 등의 문제점이 있었습니다. toolkit을 통해 모든 기능을 내장합니다. createSlice() : 리듀서 함수의 객체, 슬라이스 이름, 초기 상태 값을 받아 해당 액션 생성자와 액션 타입으로 슬라이스 리듀서를 자동으로 생성 configureStore() : createStore 의 기능, 슬라이스 리듀서를 자동으로 결합하고, 제공하는 모든 Redux 미들웨어를

Naver Blog

서울 아차산 야간산행 | 첫 야등 후기

#야등 #아차산 #등산 #사진 #야경 #한강 하루 종일 흐린 날씨 덕에, 습도도 무척이나 높았지요. 조금만 걸어도 땀이 잘 나는 한 여름의 산행이었지만, 시원하게 펼쳐질 야경을 생각하며 아차산을 올랐습니다. 서울 한강의 물줄기가 시원하게 흐르는 절경을 선물해 주는 산은 아차산이 최고인듯합니다. 구름이 많이 낀 흐린 날씨임에도 멋진 야경을 담아올 수 있었지요. 아차산은 야간산행을 하기에는 조금 위험한 것이 밤이 되면, 가로등이 없어 매우 깜깜하답니다. 꼭 손전등을 챙겨가시길 권장해요! 길도 계단보다 돌멩이가 많은 편이기 때문에 하산할 때는 허벅지에 힘을 주며 내려갑시다!!

Naver Blog

[ React ] + Typescript 에서 D3.js 사용하기

#React #Typescript #D3 #graph #차트 #그래프 #통계 React : Typescript , D3.js React 와 D3를 같이 사용하는 방법에 대해 설명합니다. D3는 DOM을 직접 제어하고, React는 Virtual DOM으로 제어합니다. 이 둘을 통합으로 사용하려면 일반적으로 DOM은 React가 담당하고, 화면의 복잡한 계산은 D3가 담당하는 것입니다. SVG path 계산, scale, layouts, transformations 등의 선 / 도형 등의 모양을 계산을 D3가 하고, 나머지 DOM은 React가 처리하는 것이지요. 이러한 방법이 React와 D3의 장점을 극대화하면서, DOM 조작에서 이 둘의 충돌을 방지하는 방법입니다. D3 설치 npm i d3 npm i @types/d3 D3 사용하기 D3를 사용하는 방법은 useRef로 graph, circle 과 같은 svg Element를 넣을 DOM을 선언하고, selection 객체를 만

Naver Blog

[ axios ] post, 요청 매개변수를 서버에서 못 받을 경우

#axios #매개변수 #파라미터 #API axios.post() javascript, axios 통해 통신을 하려 했지만, API 서버로 파라미터 값을 제대로 전달하지 못해서 return이 제대로 되지 않는 상황입니다. let param = { p: 'checkId', username: _id, }; let PATH_API = '/apiLink'; await axios .post(PATH_API, param) .then(res => { console.log('res', res); }); 넘겨받은 response의 data가 "" 빈값으로 받아집니다.. let param = { p: 'checkId', username: _id, }; 매개변수가 서버로 전달되었다면 data는 다른 값을 return 해 주었을 것입니다. 하지만, postman으로 실험했을 경우에는 API 통신이 원활하게 되어 문제 해결에 난항을 겪었는데요.. 원인 axios는 'data'를 쿼리로 변환해 주지 않는다고

Naver Blog

[ 아파스타먼 ] 서울숲 산책 후 가기 좋은 애견 동반, 서울숲파스타맛집

#콜키지프리 #서울숲맛집 #서울숲파스타맛집 #성수맛집 #파스타 #예약가능 #애견동반 아파스타먼 서울 성동구 왕십리로10길 10 2.5층 전화 ) 0507-1464-5453 아파스타먼 성수 서울특별시 성동구 왕십리로10길 10 2.5층 이 블로그의 체크인 이 장소의 다른 글 반려견과 함께 방문하여, 파스타를 먹을 수 있는 서울숲파스타맛집 아파스타먼입니다. 서울숲에서 반려견과 산책하고 식사할 장소가 마땅하지 않을 때 애견 동반 가능한 아파스타먼을 방문해 보시는 것도 좋겠습니다. 따로 반려동물에게 제공되는 음식은 없지만, 눈치 안 보고 같이 함께 식사를 할 수 있다는 점이 좋은 거 같아요! 아파스타먼의 골목으로 들어오면 타코 성수맛집이 있는데요. 2.5층으로 올라가면 파스타집이 나온답니다. 성수에서 흔치않은 예약이 가능하다는 점이 좋았답니다. 저희는 5명이라 경쟁이 치열한 성수맛집을 예약한다는 것이 쉽지 않았는데요. 단체 손님을 위한 룸을 예약하고 방문했답니다. 예약한 자리는 8명이 충분

Naver Blog

[ 성수일미락 ] 단체 모임 하기 좋은 깔끔한 숙성 돼지 고깃집.

#일미락 #회식 #룸 #고기집 #고기 #돼지고기 #모임장소 #모임 #룸고기집 성수일미락 서울 성동구 상원6나길 22-20 1층 성수일미락 전화 ) 02-499-9293 성수일미락 서울특별시 성동구 상원6나길 22-20 1층 성수일미락 이 블로그의 체크인 이 장소의 다른 글 단체 모임 하기 좋은 깔끔한 고깃집 성수일미락은 뚝섬역 4번 출구에서 골목으로 조금만 올라가면, 쉽게 찾아 방문할 수 있습니다. 위 주소에 도착하면 나타나는 건물이 일미락 이랍니다. 무더운 여름 약속 장소 잡기 쉽지 않은데, 역이랑 가까우니 너무 좋은 위처더라구요. 성수일미락의 건물인데 확 눈에 띄지 않나요? 외관의 모습이 독특하고 힙한 느낌이 나지만, 내부는 정말 깔끔한 인테리어랍니다. 성수일미락은 숙성 돼지를 전문으로 하는 고깃집인 만큼 가격대가 조금 높기는 합니다. 그래도 깔끔한 실내 인테리어와 친절한 서비스 그리고 직접 꼼꼼하고 세심하게 구워주는 서비스를 느껴본다면 돈값 한다고 느끼실 거예요. 엄청 감동받았

Naver Blog

[ React ] 부모의 useState를 자식 컴포넌트에서 사용하기. 자식에서 set 하기.

#React #자식컴포넌트 #useState #부모컴포넌트 #파라미터전달 useState 자식 컴포넌트에 전달하기. 부모 컴포넌트에서 useState로 관리되는 상태를 자식 컴포넌트에서 사용하려면 prop으로 전달해야 합니다. 자식 컴포넌트에서 해당 상태를 변경하려면 부모 컴포넌트에서 전달해 준 setState 함수를 prop으로 받아 사용해야 합니다. 예제 소스코드 < 부모 컴포넌트 > import React, { useState } from 'react'; import ChildComponent from './ChildComponent'; function ParentComponent() { const [count, setCount] = useState(0); return ( <div> <p>Count: {count}</p> <ChildComponent count={count} setCount={setCount} /> </div> ); } export default ParentCo

Naver Blog

[ typeScript ] 에러 해결하기. Parameter 'prev' implicitly has an 'any' type.ts

#typeScript #에러처리 #any에러 [error] Parameter 'prev' implicitly has an 'any' type.ts 이 오류는 TypeScript 코드에서 prev 파라미터의 타입을 명시하지 않았을 때 발생하는 오류입니다. 매개변수 타입 미지정. 함수의 매개변수에 타입을 명시적으로 지정하지 않은 경우입니다. function exampleFunction(prev) { // ... } 이 오류를 해결하려면 prev 파라미터의 타입을 명시해 주어야 합니다. prev 파라미터가 객체인 경우, 다음과 같이 타입을 명시해 줄 수 있습니다. function example(prev: { data: string }) { // 함수 내용 } prev 파라미터가 배열인 경우, 다음과 같이 타입을 명시해 줄 수 있습니다. function example(prev: string[]) { // 함수 내용 }

Naver Blog

[ React ] input type='text' , onKeyUp 이벤트 발생 시에 입력한 값이 숫자인지 문자열인지 판별하는 방법.

#React #input #onKeyUp #숫자 #문자열 #구분 onKeyUp 이벤트의 입력한 값 숫자, 문자열 판별하기 입력된 값이 숫자인지 문자열인지 판별하려면 onKeyUp 이벤트 핸들러를 사용하여 입력된 값을 확인하고 해당 값의 타입을 검사해야 합니다. 소스코드 import React, { useState } from 'react'; function App() { const [inputValue, setInputValue] = useState(''); const [inputType, setInputType] = useState(''); const handleKeyUp = (event) => { const inputText = event.target.value; // 입력된 값이 숫자인지 문자열인지 판별 if (!isNaN(inputText)) { setInputType('숫자'); } else { setInputType('문자열'); } }; return ( <div> <in

Naver Blog

[ React ] Ace Editor에서 입력한 데이터 전달받기.

#React #aceEditor #value Ace Editor 데이터 전달받기 Ace Editor에서 현재 입력한 값을 가져오려면 Ace Editor의 editor 객체를 사용하여 에디터의 내용을 얻을 수 있습니다. import React, { useEffect, useRef } from 'react'; import AceEditor from 'react-ace'; import 'ace-builds/src-noconflict/mode-javascript'; import 'ace-builds/src-noconflict/theme-monokai'; function MyAceEditor() { const editorRef = useRef(null); useEffect(() => { // Ace Editor 컴포넌트가 마운트된 후에 editorRef를 설정합니다. editorRef.current.editor.getSession().setValue('Initial text'); // 초기값

Naver Blog

CUDA와 SYCL의 차이점

#CUDA #SYCL #프로그래밍모델 CUDA Compute Unified Device Architecture Nvidia가 개발한 병렬 컴퓨팅 플랫폼 및 프로그래밍 모델 GPU 가속 프로그래밍: CUDA를 사용하면 Nvidia GPU의 강력한 병렬 처리 능력을 활용하여 프로그램의 성능을 크게 향상시킬 수 있습니다. C/C++ 기반: CUDA는 C/C++를 기반으로 하는 프로그래밍 언어와 API를 제공하므로, 기존 C/C++ 개발자들이 쉽게 시작할 수 있습니다. Nvidia GPU 최적화: CUDA는 Nvidia GPU의 하드웨어와 밀접하게 연계되어 있어, Nvidia GPU에서 최적의 성능을 발휘합니다. 이식성 제한: CUDA는 Nvidia GPU에만 국한되어 있어, 다른 벤더의 GPU(AMD, Intel 등)에서는 사용할 수 없습니다. 생태계 및 지원: Nvidia는 CUDA를 적극적으로 개발하고 있으며, 관련 도구, 라이브러리, 개발자 커뮤니티 등이 잘 구축되어 있습니다. CU

Naver Blog

[ 수면엔 테라슬립 메가솔루션 ] 감태추출물 수면영양제

#감태추출물 #트립토판 #멜라토닌미함유 #수면건강식품 #수면영양제 #영양제 수면엔 테라슬립 메가솔루션 수면영양제 수면은 우리 몸과 마음의 건강을 유지하는 데 필수적입니다. 충분한 숙면은 면역력 증진, 스트레스 해소, 인지 기능 향상 등 다방면에서 도움이 됩니다. 반면 수면 부족은 각종 건강 문제를 야기할 수 있죠. 또한 수면은 우리 몸의 생리적 리듬을 조절하여 전반적인 생활 패턴을 안정화시키는 데 중요한 역할을 합니다. 따라서 개인에게 적합한 수면 관리 방법을 찾아 실천하는 것이 건강한 삶을 위해 매우 중요합니다. 최근 수면 부족으로 힘들어하던 중 주변 추천으로 수면 영양제를 써보게 되었습니다. 불규칙한 생활 패턴과 스트레스가 누적되면서 깊이 있는 숙면을 취하기가 어려웠는데, 이 제품을 사용하고 나서 확연한 변화를 느꼈네요. L-트립토판은 필수 아미노산의 하나로, 주로 단백질 섭취를 통해 체내에 공급됩니다. L-트립토판은 다음과 같은 중요한 기능을 합니다: 세로토닌 합성 촉진 L-트

Naver Blog

[ 별난만두 미추홀구점 ] 인천만두맛집 종류가 많은 주안만두집

#인천맛집 #인천만두맛집 #주안만두 #인천주안맛집 #별난만두 별난만두 미추홀구점 별난만두 미추홀구점 인천광역시 미추홀구 미추홀대로 610 1층 102호 이 블로그의 체크인 이 장소의 다른 글 만두집 입구에 다가서자, 따뜻한 증기가 연기처럼 자욱하게 피어올라 눈길을 사로잡았습니다. 이 풍경은 마치 맛있는 만두를 찌는 소리와 함께 어우러져 식욕을 자극했죠. 연기가 자욱한 가운데서 온기가 감싸는 듯한 분위기가 느껴졌습니다. 영업시간 10 : 00 ~ 22 : 30 매달 1,3 번째 월요일 휴무 만두집 홀에는 테이블이 많지 않아 보였지만, 손님들이 가게에서 직접 만두를 맛볼 수 있는 장점이 있었습니다. 포장을 해서 가져가기도 좋지만, 가게에서 따끈한 만두를 맛볼 수 있다는 점이 큰 매력으로 다가왔죠. 친구들이나 가족들과 함께 둘러앉아 신선한 만두를 맛보며 대화를 나누는 것도 좋은 경험이 되었을 것 같습니다. 포장도 가능하지만 직접 방문해서 먹는 재미도 느낄 수 있었던 것 같아요. 테이블이나

Naver Blog

[ 양양집 구의점 ] 24시간 영업하는 혼밥하기좋아요! 구의동맛집

#구의맛집 #구의역맛집 #강변맛집 #해장국 #육회비빔밥 #강변역맛집 #구의밥집 #강변밥집 #구의역밥집 #강변역맛집 #구의동맛집 #구의동밥집 #혼밥 #혼술 양양집 구의점 서울 광진구 아차산로 457 1층 전화) 0507-1359-4729 양양집 구의점 서울특별시 광진구 아차산로 457 1층 이 블로그의 체크인 이 장소의 다른 글 오늘 날씨가 정말 좋아서 구의역 근처 양양집에 들러 혼밥을 하게 되었어요. 들어서자마자 한 번에 눈에 띄는 깔끔한 인테리어와 친절한 서빙이 너무 좋았죠. 양양집 구의점, 사람 많은 모임에도 최적화된 맛집이에요 구의역 근처에 있는 양양집은 매장 규모가 꽤 큰 편이라 많은 인원이 함께 식사하기에 아주 좋답니다. 다양한 크기의 테이블들이 준비되어 있어 소규모 모임부터 20명 이상의 단체 모임까지 편하게 이용할 수 있어요. 저 같은 경우에도 혼자 찾아가 여유롭게 식사를 했지만, 다음에는 회식이나 모임 장소로도 이용해 보고 싶네요. 저렴한 가격에 든든한 한식 메뉴들이

Naver Blog

[ 치플레 더현대서울 ] 고급 디저트 입점! 수플레치즈케이크

#더현대디저트 #더현대간식 #간식맛집 #수플레 #치플레 #수플레치즈케이크 #치즈케이크 음료 자판기처럼 쉽게는 먹을 수 없기에.. 특별한 치플레의 맛. 치플레 더현대서울 치플레 더현대서울 서울특별시 영등포구 여의대로 108 더현대서울 지하 1층 이 블로그의 체크인 이 장소의 다른 글 더현대서울에 치플레가 입점했다는 소식! 치플레는 연남동에서 오픈런을 해야 맛볼 수 있는 아주 인기 있는 디저트 전문점이랍니다. 기념일을 축하하기 위해, 달려간 치플레! 더현대서울에 있다고 하길래 방문해 보았어요. 치플레는 더 현대 서울의 지하 1층에 있답니다. 에스컬레이터 옆에 있으니, 지하 1층만 내려간다면 바로 찾을 수 있답니다. 맛있는 수플레를 위해 기다린 보람이 있었던 치플레 더 현대 치플레에는 평일 5시에 도착했지만, 12시에 나온 디저트는 모두 소진되었고.. 1시간을 기다려야 구매를 할 수 있었답니다. 물론 수플레가 나오는 시간에 맞춰가도 되지만. 한정적인 갯수와.. 어마어마한 사람들이 기다리고

Naver Blog

[ 오늘나의주얼리 효성주얼리시티점 ] 종로 랩다이아몬드 반지, 종로 귀금속상가

#랩다이아반지 #주얼리명가 #종로직영공장 #14K18K24KPt950 #프로포즈선물 #합리적인가격 #고가매입 #웨딩밴드 #우정반지 #패션주얼리 #맞춤주문제작 #랩다이아몬드 #트렌디디자인 #학생주얼리 #종로금은방 오늘나의주얼리 서울 종로구 종로 183 효성주얼리시티 J동 1층 99,100호 전화) 0507-1495-2444 오늘나의주얼리 효성주얼리시티점 서울특별시 종로구 종로 183 효성주얼리시티 J동 1층 99,100호 이 블로그의 체크인 이 장소의 다른 글 오늘나의주얼리는 종로구에 위치한 14k, 18k, 24k, Pt950 전문 주얼리 샵입니다. 10년 이상의 귀금속 도매 경력을 바탕으로 2대째 종로 도매 공장을 직영하고 있습니다. 위치는 종로5가역 1번 출구에서 조그만 걸어가면 귀금속 전문점이 모여있는 큰 건물이 보이는데요. 건물 안으로 들어가 내부에서 조금만 둘러보면 초록색 간판으로 꾸며진 종로금은방 오늘나의주얼리가 보이실 거랍니다. 영업시간 매일 10 : 30 ~ 20 :

Naver Blog

[ 종로예물커플링 KJDC 반지마을 ] 친절한 상담, 종로 커플링 추천하는 곳

#종로커플링14K #종로커플링추천 #종로커플링후기 #종로커플링매장 #종로예물 반지 KJDC 종로점(@kjdc_jongro) • Instagram 사진 및 동영상 팔로워 1,511명, 팔로잉 1,903명, 게시물 691개 - KJDC 종로점(@kjdc_jongro)님의 Instagram 사진 및 동영상 보기 www.instagram.com 종로예물커플링 KJDC 반지마을 서울 종로구 종로 173 종묘귀금속백화점 2층 전화 ) 0507-1413-4889 종로예물커플링 KJDC 반지마을 서울특별시 종로구 종로 173 종묘귀금속백화점 2층 이 블로그의 체크인 이 장소의 다른 글 안녕하세요. 오늘은 종로에 위치한 예물 전문점 'KJDC'를 다녀왔는데요. 종로 한복판에 자리한 이곳은 14K 커플링과 예물 반지로 유명한 곳이라 방문해 봤습니다. 매장에 들어서자 고급스러운 인테리어와 세련된 분위기가 눈에 들어왔어요. 전문 상담사분이 친절히 안내해 주셨는데요. 각종 커플링과 예물반지들을 모두 살펴볼

Naver Blog

[ 반조애 청담본점 ] 청담 웨딩밴드, 너무 마음에 들었던 프로포즈링.. 결혼반지 당일 계약 후기

#반조애 #웨딩링 #웨딩밴드 #커플링 #명품커플링 #청담예물 #프로포즈링 #청담주얼리 #청담웨딩밴드 청담 웨딩밴드로 유명한 반조애는 1979년 부터 시작되어, 2대에 걸친 역사와 고유의 기술력에 감성이 더해진 브랜드입니다. 다이아몬드 유통회사에서부터, 귀금속 제조공장을 보유며 업계를 선도하며. 웨딩 주얼리 브랜드 반조애를 런칭하게 되었답니다. 반조애 청담본점 서울 강남구 도산대로98길 20 전화) 02-542-1254 소중한 추억을 만들게 된 청담. 우리 커플은 품격있게 택시를 타고 반조애로 이동하였다. 조금은 가파를 수 있는 언덕에 위치한 이곳은 청담 웨딩밴드로 입소문 난 결혼예물 맛집이다. 낮에도 전기를 아끼지 않는 화려한 조명과 주차를 도와주시는 발렛요원에 압도되어, 입구에서 서성거려보았지만. 우리는 손님이다. 그것도 예약하고 방문한 당당한 손님! 정문이 깜깜해서 안이 보이지 않았지만 용기 내어 힘차게 그 문을 밀어보았다. 열리지 않았다. 반조애 청담본점 서울특별시 강남구 도산

Naver Blog

[ package.json ] resolutions 필드의 yarn install과 npm install 차이

#npm #yarn #resolutions #package #json package.json resolutions yarn install와 npm install 모두 package.json 파일에서 resolutions 필드를 사용하여 종속성의 버전 충돌을 해결할 수 있습니다. 그러나 이 두 명령어 간에는 몇 가지 차이가 있습니다. yarn install의 resolutions yarn install은 Yarn 패키지 매니저를 사용할 때 사용되는 명령어입니다. yarn은 npm과 유사하지만 조금 다른 방식으로 작동합니다. yarn에서 resolutions 필드는 package.json 파일의 최상위 수준에 위치하며, 다음과 같이 사용됩니다. { "name": "my-package", "version": "1.0.0", "dependencies": { "some-package": "^1.2.3" }, "resolutions": { "some-package": "^2.0.0" } } 위

Naver Blog

[ VTK ] React에서 vtkJS 사용하기. @kitware/vtk.js 예제 소스코드

#vtk #kitware #vtkJS #react #vtp @kitware/vtk.js React 프로젝트에서 vtkJS를 활용한 .vtp 확장자 파일의 뷰어 예제 소스입니다. package.json { "name": "react-vtk", "version": "1.0.0", "description": "", "keywords": [], "main": "src/index.js", "dependencies": { "@kitware/vtk.js": "18.7.3", "react": "17.0.2", "react-dom": "17.0.2", "react-scripts": "4.0.0" }, "devDependencies": { "@babel/runtime": "7.13.8", "typescript": "4.1.3" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scr

Naver Blog

주안고깃집 [ 제줏간 주안석바위점 ]

#인천주안동맛집 #주안고깃집 #주안삼겹살 #주안맛집 #주안고기 #석바위고기 #석바위목살 제줏간 주안석바위점 인천 미추홀구 경인로 422-1 1층 제줏간 인천주안석바위점 전화 ) 0507-1359-8761 제줏간 주안석바위점 인천광역시 미추홀구 경인로 422-1 1층 제줏간 인천주안석바위점 이 블로그의 체크인 이 장소의 다른 글 제줏간 고기집 위치가 진짜 좋더라고요. 시민공원역하고 석바위시장역 한가운데쯤 있어서 어디서 가더라도 큰길 가까이에 있어 찾기 매~너무 쉬웠어요. 제가 갔을 때는 버스를 타고 갔는데 정류장에서 내려서 5분만 걸으면 바로 제줏간 앞이더라고요. 제주 느낌 물씬 나는 간판이 정말 훤히 보이니까 한눈에 딱 알아볼 수 있었죠. 입구에서부터 제주도 돌하르방 조형물이 나오고, 실내는 기둥에 늘어진 이끼 덩굴과 밝은 조명으로 울창한 숲 같은 분위기를 자아냅니다. 한편에는 잔디밭 조경이 있어 고깃집이지만 신선한 느낌을 준답니다. 제주도의 돌하르방, 녹지 숲을 충실히 재현한 독특

Naver Blog

[ React ] 프로젝트 package.json 사용하지 않는 라이브러리 정리하기 :: depcheck

#React #packageJson #depcheck depcheck depcheck는 프로젝트에서 사용되는 의존성(dependency)을 분석하고 관리하는 도구입니다. 이 도구를 사용하면 프로젝트의 package.json 파일에 명시된 의존성 정보를 기반으로 현재 프로젝트에서 사용하지 않는 의존성이나 버전 충돌, 미사용 코드 등을 식별할 수 있습니다. 설치 npm install -g depcheck 의존성 분석: 프로젝트의 package.json 파일에서 명시된 의존성 패키지를 분석하여 현재 사용되고 있는 패키지 목록을 확인합니다. 미사용 패키지 식별: 프로젝트에서 사용되지 않는 패키지들을 식별하여 제거할 수 있도록 도와줍니다. 이는 프로젝트의 불필요한 용량을 줄이고, 코드를 더 깔끔하게 유지하는 데 도움이 됩니다. 버전 충돌 확인: 프로젝트의 의존성 버전 간에 충돌이 있는지 확인하여 의존성 관리를 보다 효율적으로 할 수 있도록 도와줍니다. 모듈에서 사용되지 않는 것을 제거할 필요

Naver Blog

[ React ] React app rewired 를 통한 create-react-app : CRA 웹팩 : webpack 설정하기

#cra #react #createreactapp #rewired #webpack #config #절대경로 CRA 웹팩 설정 react-app-rewired를 사용하여 CRA(Create React App) 프로젝트의 Webpack 설정을 커스터마이징하는 방법을 설명하겠습니다. react-app-rewired를 사용하면 react-scripts의 기본 설정을 그대로 유지하면서 필요에 따라 Webpack 설정을 재정의하거나 확장할 수 있습니다. 설치 npm install react-app-rewired --save-dev 프로젝트의 설정 수정 package.json 파일을 열어 scripts 섹션을 수정합니다. react-scripts 명령어를 react-app-rewired로 대체합니다. "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewire

Naver Blog

MS와 오픈AI, ‘AI데이터센터’ 동맹, 2026년 까지의 인공지능 미래

#ms #openAI #chatGPT #GPT #AI #인공지능 스타데이트 Stargate 마이크로소프트(MS)와 오픈AI는 약 1000억 달러를 투자해 세계 최대 규모의 데이터센터를 구축하고 있습니다. 이 프로젝트는 '스타게이트'로 불리며, AI 서비스 확장을 위해 특수 AI 반도체가 탑재된 슈퍼컴퓨터를 포함합니다. 현재 3단계가 진행 중이며, 2026년까지 오픈AI용 슈퍼컴퓨터 구축을 목표로 하고 있습니다. 이 데이터센터는 AI 컴퓨팅 용량을 확보하기 위한 대규모 투자로, 업계는 이를 통해 AI 기술의 글로벌 주도권을 확보하려는 전략으로 보고 있습니다. 스타게이트 프로젝트'는 5단계에 걸쳐 데이터센터를 구축하는 작업입니다. 1단계: 초기 계획 및 설계 단계. 2단계: 인프라 구축 및 기본 설비 설치. 3단계: 현재 진행 중이며, 고성능 AI 반도체를 탑재한 서버 설치. 4단계: 2026년을 목표로 오픈AI용 슈퍼컴퓨터 구축. 5단계: 최종 테스트 및 운영 최적화. 이 데이터센터는

Naver Blog

CPU, GPU, NPU, TPU 프로세서의 비교

#CPU #GPU #NPU #TPU #프로세서 CPU, GPU, NPU, TPU CPU, GPU, NPU, TPU는 모두 컴퓨팅 하드웨어의 종류로, 각각 다른 용도와 특징을 가지고 있습니다. CPU Central Processing Unit, 중앙 처리 장치 CPU는 코어 수가 적고 일반 컴퓨팅에 최적화되어 있으며, NAS 시스템의 두뇌로 간주됩니다. 운영 체제와 애플리케이션의 명령과 프로그램을 실행하는 책임을 지며, NAS 시스템과 애플리케이션의 속도는 CPU 성능과 밀접한 관련이 있습니다. 역할: 컴퓨터의 기본적인 처리 장치로, 대부분의 일반적인 컴퓨팅 작업을 수행합니다. 구조: 몇 개의 강력한 코어로 구성되어 있으며, 각 코어는 복잡한 연산을 빠르게 처리할 수 있습니다. 용도: 운영 체제 실행, 애플리케이션 실행, 논리 연산, 데이터 처리 등. 특징: 범용성, 낮은 지연 시간, 다양한 작업 처리에 적합. GPU Graphics Processing Unit, 그래픽 처리 장치 G

Naver Blog

CSS Anchor Positioning API :: 라이브러리 없이, 내장 CSS로 요소 스타일링하기

#CSS #anchor CSS Anchor Positioning API CSS 앵커 포지셔닝 API는 웹 개발계에 새로운 지평을 열어줄 획기적인 기능입니다. 이 API를 활용하면 요소를 다른 요소에 상대적으로 배치할 수 있어, 복잡한 레이아웃 구현이 한결 수월해집니다. 메뉴, 툴팁, 대화상자 등의 UI 요소를 자유자재로 배치할 수 있게 된 것입니다. 그동안 타사 라이브러리에 의존해야 했던 작업을 브라우저 내장 기능으로 해결할 수 있게 되었습니다. 개발자들은 이 API를 활용하여 보다 창의적이고 혁신적인 사용자 인터페이스를 구현할 수 있게 되었습니다. Chrome 125 버전부터 CSS 앵커 포지셔닝 API를 지원하므로, 웹 개발 분야에서 새로운 발전이 기대됩니다. 앵커와 포지셔닝된 요소 앵커와 포지셔닝된 요소는 CSS 앵커 포지셔닝 API의 핵심 개념입니다. 앵커는 anchor-name 속성으로 지정되며, 레이아웃에서 기준점 역할을 합니다. 반면 포지셔닝된 요소는 position-a

Naver Blog

[ 구글 OTP ] java + javascript / React 버전으로 구현하기 + QR 코드, authenticator

#OTP #구글 #auth #googleOTP 구글 OTP, QR 코드 authenticator 구현 + React 위와 같은 화면을 만들기 위해 react 프로젝트인 프런트 영역의 개발과 Key 값과 OTP Code의 검증을 위한 백 영역의 개발이 필요합니다. QR 코드를 통한 구글 authenticator으로 OTP 인증하기 위한 중요 값 key (QR코드) OTP Code react key 값을 QR 코드로 보여주기 위해 패키지를 설치합니다. npm install qrcode.react 소스코드 import QRCode from 'qrcode.react'; // state const [state, setState] = useState(); // function const fuc = () => { const label = encodeURIComponent(`${state.라벨값}:-OTP`); const secret = encodeURIComponent(key값); const i

Naver Blog

SKT의 슈퍼컴퓨터 타이탄, 에이닷의 전력소비는?

#SKT #타이탄 #에이닷 사진 출처 https://news.sktelecom.com/185100 SKT의 타이탄 SK 텔레콤의 에이닷은 슈퍼컴퓨터 타이탄이 연산을 담당합니다. 17.1 페타플롭(PF) 성능을 지원하며, 1초당 1경 7100조 번 연산을 처리할 수 있습니다. GPU는 Nvidia A100 1040개가 들어가 있습니다. A100의 소비전력은 하나에 300~400W입니다. 시간당 300 ~ 400Wh가 되겠네요. 1년은 8760 시간이니 3,188,640,000 Wh이고, GWh로 변환하면, 10^9인 기가로 .. 대략 3.2 GWh입니다. 에이닷의 전력 소비가 어마어마하군요. 4인 가구의 연간 전력 사용량을 약 4,000 kWh로 생각하면.. a100 1040개의 연 사용량은.. 4인 가구 약 800가구가 일 년 동안 사용하는 전력소비가 되겠습니다. 편리한 연산처리를 위해 전기가 많이 사용되는군요. 에이닷 고마워요.

Naver Blog

[ viewport ] 웹뷰 개발, user-scalable과 viewport-fit

#웹뷰 #webview #viewport #userScalable #viewportFit Viewport user-scalable , viewport-fit viewport는 웹 페이지가 사용자 장치의 화면에 어떻게 표시될지를 제어하는 데 사용되는 메타 태그입니다. 이 태그는 HTML 문서의 <head> 섹션에 위치하며, 웹 페이지의 크기와 크기 조정을 제어하는 다양한 속성을 설정할 수 있습니다. content 속성은 여러 가지 값을 가질 수 있으며, 이들 값은 쉼표로 구분됩니다. user-scalable과 viewport-fit은 이러한 값 중 일부입니다. user-scalable user-scalable 속성은 사용자가 페이지를 확대하거나 축소할 수 있는지를 제어합니다. 이 속성은 두 가지 값을 가질 수 있습니다 yes (기본값): 사용자가 페이지를 확대하거나 축소할 수 있습니다. no: 사용자가 페이지를 확대하거나 축소할 수 없습니다. <meta name="viewport" c

Naver Blog

[ HTML ] DB에 저장되어있는 비밀번호를 가져와 비밀번호 유효성 검사하기. ( 게시글 비밀번호, 로그인 비밀번호 검사 ) _소스코드

웹 프로그래밍에서 사용자의 비밀번호를 확인하거나 게시글의 삭제 및 수정의 권한으로 어딘가에 저장되어있는 사용자의 비밀번호가 필요합니다. 그리고 사용자의 비밀번호와 새롭게 사용자가 요구하는 권한에서의 비밀번호를 검사하여, 서비스를 제공해야 합니다. 아래는 예제 소스 코드입니다. << BODY 소스 코드 >> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <body> <h2>게시물 수정</h2> <hr> <form id="form01" action="updateBoard.do" method="post"> <input type="hidden" name="no" value="${b.no }"> <input type="hidden" id="DB_pwd" value="${b.pwd}"> 제목 : <input type="text" name="title" value="${b.title }"><br> 작성자 : <input type="text" name="writer"

Naver Blog

[ Spring ] 스프링 MVC 패턴으로 데이터베이스 ( MVC ) 연동. ( 예제소스 )

Spring 프레임워크의 기본 개념은 아래 포스트를 참고하시기 바랍니다. http://blog.naver.com/twilight_teatime/221165942467 [코딩공부] Spring MVC 패턴 사용해보기. 간단하게 Spring MVC 패턴을 적용해 보려고 합니다. << 스프링 MVC 의 주요 구성요소 >&gt... blog.naver.com 이번 포스트에서는 간단한 디비 연동 웹 프로그래밍의 MVC 패턴의 예제를 보겠습니다. 데이터베이스의 값을 전달받기 위해 첫 웹 페이지에선 컨트롤러로 연결해 줍니다. 1 2 3 4 5 6 7 8 </head> <body> Hello? <% response.sendRedirect("listDept.do"); %> </body> </html> Colored by Color Scripter cs listDept 이름의 서비스를 요청하겠습니다. << controller 소스 >> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Naver Blog

[ Oracle ] 오라클 자료형 타입과 외래 키와 주키 설정하기.

Oracle [ Oracle ] 오라클 자료형 타입과 외래 키와 주키 설정하기. 사진찍는 개발자 2018. 1. 1. 23:50 이웃추가 본문 기타 기능 테이블 생성 시 주키 설정 CREATE TABLE USERS( USERNO NUMBER, EMAIL VARCHAR2(255) NOT NULL, PWD VARCHAR2(100) NOT NULL, NAME VARCHAR2(100) NOT NULL, PNO VARCHAR2(100) NOT NULL, ADDRESS VARCHAR2(255) CONSTRAINT PK_USERS PRIMARY KEY(USERNO) ); 테이블 생성 후 주키 설정 ALTER TABLE USERS ADD CONSTRAINT PK_USERS PRIMARY KEY(USERNO); 테이블 생성 시 외래 키 설정 CREATE TABLE USERS( USERNO NUMBER, EMAIL VARCHAR2(255) NOT NULL, PWD VARCHAR2(100) NOT NU

Naver Blog

[ Oracle ] 유용한 오라클 함수정리. ( 날짜 함수, 숫자, 문자 )

<< 문자열 >> - upper() : 대문자 select upper('redplus') as red from dual; - initcap() : 첫 문자만 대문자 select initcap('red plus') as a from dual; - concat() : 문자열 연결 select concat('red', 'plus') from dual; - length(), lengthb() : 문자열 길이 - 1byte반환, 3byte반환 select length('redplus'), lengthb('레드플러스') from dual; - substr(), substrb() : 문자열 추출 select substr('RedPlus', 1, 3) from dual; - instr() : 문자열 시작 위치 select instr('RedPlus', 'Plus') from dual; - lpad() : 왼쪽 자리 채우기 select lpad('RedPlus', 10, '@') from dual;

Naver Blog

[ Oracle ] 유용한 오라클 시스템 명령어 정리.( 계정생성 , 포트변경 , 날짜포맷 ..)

화면 지우기 (클리어) clear scr << User >> 사용자 계정 만들기 create user [아이디] identified by [비밀번호]; 권한 부여 grant connect, resource to [아이디]; [옵션] : dba .. 사용자 변경 conn [username] 현재 접속 중인 사용자 show user; 시스템의 모든 유저 검색하기 select username from dba_users; << Port >> 현재 사용하는 포트 번호 보기 select dbms_xdb.gethttpport() from dual; 포트 번호 바꾸기 exec dbms_xdb.sethttpport(9091); << Table >> 테이블 정보 보기 desc [table] 접속한 유저의 모든 테이블 가져오기 select * from tab; << 날짜 포맷 >> 오라클 날짜 포맷 변경하기 ALTER SESSION SET NLS_DATE_FORMAT='RR/MM/DD'; **세션이 종

Naver Blog

[ Python ] PyCharm 한글 에러 메시지. 한 줄로 해결하기.

Python [ Python ] PyCharm 한글 에러 메시지. 한 줄로 해결하기. 사진찍는 개발자 2017. 12. 26. 23:00 이웃추가 본문 기타 기능 파이썬의 인터프리터 2.7을 파이참에서 사용하던 도중에, 한글을 출력하고자 하니 에러 메시지를 만나게 되었습니다. SyntaxError: Non-ASCII character '\xed' in file /Users/jinsoo_mac/Desktop/Study/PythonGround_2.7/ex01.py on line 17, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details PEP 263 -- Defining Python Source Code Encodings The official home of the Python Programming Language python.org 공식 사이트에서도 문제의 해결책을 알려줍니다. # -*- codi

Naver Blog

[ Mybatis ] STS에서 DB를 연결할 MyBatis 환경 구축하기. ( 예시 소스 코드 )

Spring MVC 패턴의 환경에서 데이터베이스( Oracle )를 연동하고자 합니다. 0) pom.xml에서 Maven으로 mybatis를 다운로드해야 합니다. 1 2 3 4 5 6 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> Colored by Color Scripter cs 1) DB 정보와 주소를 연결해줄 sqlMapConfig.xml 를 구축합니다. 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 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/d

Naver Blog

( 웹 프로그래밍 ) jquery 사용자가 입력한 텍스트의 글자 수 계산하기. ( 텍스트 남은 글자 수 계산 ) [ 소스코드 ]

사용자가 <textarea>에 입력한 텍스트 수를 계산하는 웹 프로그램입니다. 예 ) 자기소개서, SMS 글자 수 세기 < 실행 화면 > ** 또한, 글자 수를 제한하여 더 이상 입력되지 않게 합니다. < script 소스 코드 > 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 32 33 34 35 36 37 38 <script type="text/javascript" src="https://code.jquery.com/jquery-1.7.min.js"></script> <script type="text/javascript"> $(function () { var remain; var textareaTEXT; $("textarea").keyup(function () { //남은 글자 수를 구합니다. var inputLength = $(this).val().length; remain

Naver Blog

[ 정규 표현식 ] POSIX 표준 문법과 예시 문자열 패턴.(개념 정리)

etc. [ 정규 표현식 ] POSIX 표준 문법과 예시 문자열 패턴.(개념 정리) 사진찍는 개발자 2017. 12. 25. 23:30 이웃추가 본문 기타 기능 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다. 컴퓨터 과학의 정규 언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 수많은 프로그래밍 언어가 정규 표현식 기능을 제공하고 있으며, 일부는 펄, 자바스크립트, 루비, Tcl처럼 기본 내장되어 있

Naver Blog

[ Github ] Pull..에서 permitted 에러 해결하기.

etc. [ Github ] Pull..에서 permitted 에러 해결하기. 사진찍는 개발자 2017. 12. 25. 23:24 이웃추가 본문 기타 기능 초기 이클립스 WorkSapce에다가 깃을 이용하여, repository에서 소스 코드를 가져오는 것은 문제없이 받아와지지만, 다른 Branch 혹은 Master에서 pull.. 을 시도할 때 아래와 같은 문제가 발생했다. Can't connect to any repository: https://github.com/Team/Project.git (https://github.com/Team/Project.git: git-receive-pack not permitted) 문제 원인 1. Github 의 repository URL에 오타가 있다. 문제 원인 2. push 및 pull 을 할 때 Github의 아이디 혹은 비밀번호가 틀렸다. ** 문제 원인 3. Github를 가입하고 막, 프로젝트에 임했다면, 회원가입 시 메일로 전송되

Naver Blog

[코딩공부] Spring MVC 패턴 사용해보기.

Java(자바) [코딩공부] Spring MVC 패턴 사용해보기. 사진찍는 개발자 2017. 12. 18. 18:12 이웃추가 본문 기타 기능 간단하게 Spring MVC 패턴을 적용해 보려고 합니다. << 스프링 MVC 의 주요 구성요소 >> 1. DispatcherServlet 설정하기 < servlet > 의 < servlet-class > 를 지정해주기 위해 비어있는 .jsp 에서 DispatcherServlet 의 import 정보를 복사합니다. 2. [ .do ] 를 만나면 bit 이름을 가진 DispatcherServlet이 일을 처리합니다. 3. bit 이름을 가진 servlet 을 생성합니다. [내가 지정한 servlet-name]-servlet.xml 4. 컨트롤러 생성하기 ModelAndView 객체는 꼭 서블릿에 있는 것을 사용해야합니다. 서블릿의 model and view 로 생성합니다. 5. 전달할 메세지와 뷰페이지 이름 지정하기. ModelAndView 의

Naver Blog

[ JavaScript ] jquery 동적노드테이블 사용하기. (추가,수정,삭제)

jquery를 이용하여 동적 노드를 연습해보는 간단한 예제입니다. < 실행 화면 > < script 소스 코드 > 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 <style type="text/css"> .high_light{ background: yellow; } .selected{ background: red; } </style> <script type="text/javascript" src="https://code.jquery.com/jquer

Naver Blog

[ Filter ] 이클립스에서 filter를 사용하여, 특정 페이지를 권한에 따라 접근 가능하게하기. ( 소스코드 )

인터넷을 돌아다니다 보면 로그인이 필요한 서비스들이 있을 겁니다. 이때 이클립스에서 java로 웹페이지를 구현할때 위와 같은 기능을 하는 것이 filter가 있습니다. filter는 웹 다이나믹 프로젝트에서 생성할 수 있습니다. 소스코드로 본다면, 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 package com.shop.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax

1 2 3 4 5 6