본문 바로가기

전체 글21

ORA-01861: literal does not match format string 로컬에서 열심히 개발, 테스트 후 개발서버에 반영을 하니 로컬에서는 확인되지 않던 오류가 터지기 시작했다. 검색해보니 다른 분들도 비슷한 상황을 많이 겪으신 것 같은데 해당 에러는 꼭 로컬에서는 멀쩡히 돌다가 개발이나 혹은 운영에 반영했을 때 많이 나타나는 거로 보인다. 원인은 문자열 타입이나 Date타입 변형 시 형식을 명시적으로 지정해주지 않아서 발생한다. 근데 로컬에서는 정상적으로 돌지 않았나.. 이게 이해가 안되는 상황인데 이는 DB에서 디폴트로 잡히는 날짜형식과 내 로컬의 날짜 형식이 같기 때문 하지만 개발 혹은 운영서버에서는 LANG설정이 다르게 돼있기 때문에 이 형식이 맞지 않게되며 오류가 발생하는 것이다. 오라클에서 해당 설정을 확인하려면 SELECT * FROM nls_session_pa.. 2023. 7. 23.
javascript bind() 메소드와 rest파라미터 bind() 메소드 : 이벤트리스너 혹은 콜백함수 등과 같이 간접적으로 함수를 호출할 경우 하나의 메소드를 사용하고 싶으나 파라미터를 다르게 던지고 싶을 경우가 있다. 이럴 경우 bind() 메소드로 간접 호출하려는 함수의 파라미터에 값을 넣어줄 수 있다. btn.addEventListener('click',testFunc.bind(this, false)); const testFunc = (boolean) => { if (boolean) { console.log('true'); } else { console.log('false'); } }; rest파라미터 : for문을 돌려 합을 구하는 함수가 있고 인자로 들어갈 값의 갯수는 정해져 있지 않을 때 인자 부분에 '...numbers' 와 같이 앞에 점 세.. 2023. 7. 17.
javascript 함수[function] (직접적실행, 간접적실행, 익명함수, 화살표함수) 함수는 객체에 포함될 수 있다. ex) const a = { fName : function() fName { console.log('hello'); } 위와 같이 객체에 존재하는 함수를 메소드라고 부른다. 함수는 직접적으로 간접적으로 실행할 수 있다. 직접 : 선언된 함수의 이름 뒤 괄호를 사용하여 호출하는 방식으로 해당 함수를 바로 실행 간접 : 함수의 이름만 사용하여 호출하는 방식으로 이벤트리스너와 같이 특정 시점에 함수를 실행시킬 수 있음 익명함수: 변수에 함수를 할당하는 것 // 변수에 함수를 할당 const hello = function() { console.log('hello'); }; // 메소드의 인자로 쓰일 경우 익명함수로 직접 작성가능 btn.addEventListener('click'.. 2023. 7. 15.
javascript 변수로 객체의 값 꺼내기 const obj = {a: 1, b: 2, c:3} 위와 같은 객체가 있고 let key; if (조건) { key = a } else { key = b } 위와 같이 조건에 따라 변하는 변수 값이 있을 경우 해당 조건에 따라 변하는 키에 맞는 객체의 value를 가져오고 싶다면 obj[key] 와 같은 형식으로 변수에 맞는 value를 가져올 수 있다. 2023. 7. 14.
javascript <script>태그의 defer와 async html에 외부 script 파일을 불러올 때 head 태그 안에 스크립트 태그를 작성하고 아무 속성을 지정해주지 않으면 브라우저는 HTML파일을 먼저 다운 -> 구문을 분석하고 분석을 중간에 멈춘 후 script파일이 다운, 실행 이후 마저 HTML 구분을 분석한다 이때 스크립트 파일에서 요소를 조회하는 것과 같이 HTML에 의존하는 부분이 많다면 동작에 문제가 발생할 수 있다 이에 대한 해결책으로 script를 body 태그 마지막부분에 넣게되면 브라우저는 HTML파일을 먼저 다운 -> 구문을 분석하고 위 과정이 모두 완료된 후에 script파일을 다운, 실행하기 때문에 손해가 발생할 수 있다. 이럴 때 사용하는 옵션이 defer와 async이다. 와 같이 시작태그 마지막부분에 작성해주면 된다 def.. 2023. 6. 29.
[왕십리 고품] 상호명 : 고기를품다 위 치 : 서울 성동구 왕십리로 291-2 1층 왕십리에는 목살 맛집 투톱이 있다 바로 땅코랑 고품 두 곳 다 가본 사람으로서 자신있게 추천하는 단골집 고품 항상 시키는 목살 2인분, 공기밥 밑반찬으로는 사진과 같이 나오는데 반찬들이 전부 당일 준비된것 처럼 굉장히 깔끔하게 나오고 알차다 쌈장 위에 있는건 버섯같은데 와사비향이 많이 나고 간이 세서 쌈장 외에도 고기랑 굉장히 잘어울린다. 주문 시 기본으로 나오는 순두부찌개인데 정말 순두부집이여도 맨날 찾아갈만큼 진하고 자극적이다 개인적으로 고깃집에서는 된장찌개가 '정답이다' 라고 생각하는 사람이지만 여기 순두부찌개는 자극적인거 좋아하는 사람에게는 정말 최고다. 고기는 불판에 열이 오르고 나면 전부 구워주신다 버섯, 마늘, 멜젓, 파 .. 2023. 6. 8.
[왕십리 홍능족발 1977] 상호명 : 홍능족발 1977 왕십리 위 치 : 서울 성동구 왕십리로 309 이스타빌 1층 (왕십리 11번 출구 나와서 왼쪽 뒤로 고개 돌리면 바로 보임) 왕십리에는 참 맛집이 많은 것 같다. 30분 정도 먼저 도착하여 가게 방문 후 예약을 해놓았다. 예약앱 같은건 없고 그냥 직접 번호랑 인원 말씀드리면 자리 나는대로 전화 주셨다. 근데 다른 방문 후기들 보면 전화 예약도 가능한 것 같다. 기본적으로 제공되는 찬으로는 스탠다드쌈 (상추, 마늘 고추) 과 국밥집에서 먹는 맛이랑 비슷한 부추, 무말랭이, 된장찌개가 제공된다. 된장찌개가 좀 묽어보이는데 생각보다 진했고 두부는 단단한 편이여서 좋았다. 먹다보니 약간 게가 들어간 듯한 향도 나서 굉장히 맛있었다. 근데 게는 건더기에 없는거 보면 착각일 수도 있음 .. 2023. 1. 28.
setState 콜백 함수 처리 setState는 비동기로 동작하기 때문에 함수에 다른 것들과 같이 넣어놓으면 순서 상관없이 알아서 돈다. setState 시 첫번째 인자로 state의 값을 넣고 두번째 인자로 콜백함수를 정의할 수 있다. this.setState({test: true}, function(){함수구현}) 위와 같이 작성할 경우 state의 값이 변경된 후 뒤의 함수를 실행한다. 2023. 1. 11.
props와 ref를 통한 컴포넌트간 연동 리액트는 화면들을 각각 컴포넌트로 나눠 만들고 그것들을 import 하여 화면을 구성할 수 있다. 각각 화면별로 기능들이 존재하니 메소드나 데이터가 화면별로 존재할거고 하나의 화면에서 보여야하기 때문에 연동되는 것처럼 구현하는 것은 꼭 필요할 것으로 생각된다. 내가 이번에 개발한 방식은 할아버지 컴포넌트 -> 부모컴포넌트 import 부모컴포넌트 -> 자식컴포넌트 import 하여 화면을 구성했다. 그렇다 보니 서로서로 메소드나 데이터를 공유해야하는 상황이 반드시 필요해졌다. 이럴때 내가 확인한 방식이 바로 props와 ref다. 쉽게 설명하자면 props는 내가 할아버지에서 자식컴포넌트까지 원하는 메소드나 데이터를 넘겨주는 것이다. // 이것은 A 컴포넌트입니다. import B from './path.. 2023. 1. 11.