목록Development Experience (82)
KorSA
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bRswPP/btsHo2oePeL/hVrtsBuyfxh8nk0JEDhOT1/img.png)
오늘 회사에서 프로그램을 테스트하던 중 갑자기Windows Defender에서 회사 프로그램을 바이러스로 잡는 현상이 발생했다.Trojan:Script/Wacatac.H!ml 이라고 하는데..동료분이 windows machine learning이 바이러스로 탐지하는 것 같다고 했다.그런데 같은 프로그램을 실행하는데 언제는 통과되고 언제는 잡힌다니.. 아직 ml로 탐지하는 건 갈길이 멀어보인다. 무튼..시간이 좀 지나서 다시 프로그램을 실행해보니 virus로 안 잡고 다시 실행이 잘 되었다.덕분에 인터넷 서치를 1~2시간 해보았고Trojan 이슈랑 상관은 없지만 전자 서명 관련하여 괜찮은 글이 있어 기록해두고자 한다. ‘처음’ Windows 설치 파일을 ‘배포’하는 개발자들을 위하여네이버 애플리케이션의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yZneh/btsGBX2lvgH/7cTe0QTGh6jJ4SDLeDRnH0/img.png)
작년에 구매했던 Mac Parallels License 가 만료되었다는 메시지를 받고 다시 갱신하기 위해 Parallel 사이트에 들어갔다. 엥.. 근데 License가 2개가 있었다. 하나는 Subscription License 였고 다른 하나는 One Time Purchase License 였다. (참고로 Parallels License는 Pro 버전과 Standard 버전으로도 나뉘는데 나는 개인적으로 Windows 호스팅용으로만 사용할 것이기 때문에 더 가벼운 Standard 버전을 구매하였다. 여기서 언급하는 Subscription 과 One Time Purchase License는 모두 Standard 버전을 기준으로 한다.) 두 라이센스의 차이점을 살펴보니 Subscription Licens..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZZy6K/btsGp3Ju66Y/agaewCophK9bapEYvHGwEK/img.png)
내 PC에서 특정 ip(8.8.8.8 - Google)로 네트워크 연결이 잘 되어 있는지는 아래 방법으로 알아볼 수 있다. 1. ping - 네트워크 연결이 되어 있는지 확인 ping 8.8.8.8 2. tracert - 어떤 경로로 네트워크가 연결되는지 확인 tracert 8.8.8.8 PS> 회사에서 타사 사내망으로 네트워크 연결이 잘 되는지 확인해볼 일이 있었다. 그런데 타사의 PC IP가 우리 회사의 IP와 겹치기 때문에 route 정보를 변경해주어야 했다. 아래는 관련된 명령어이다. 1) route print - route 정보 확인 route print 2) route add - 특정 IP의 route 정보 변경 route add [타겟 IP 주소] mask [서브넷 마스크] [VPN 게이트웨..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/2vZt7/btsnFLsOKYf/i3RN76JajfTIY55T3t9bK1/img.png)
머신러닝 공부를 하다가 0~1의 연속적인 값을 가지는 데이터를 10개의 그룹으로 나누고 싶어졌다. 아래 데이터는 기존의 데이터이다. normalized_train.head() 각 column의 데이터들이 0~1 사이의 연속적인 값들을 가지고 있다. 내가 하고 싶은 것은 0.0 = 0.3) & (normalized_train[column_name] = 0.4) & (normalized_train[column_name] = 0.5) & ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJfDBQ/btsmO9WdkAm/iGIvi6tlb4k870KWirWJd0/img.png)
Machine Learning을 공부하다 보면 배열의 차원을 낮추는 경우가 종종 발생한다. 예를 들어 아래와 같이 2차원 배열인 array_2d가 있다고 할 때, 차원을 하나 낮춘다는 의미는 2차원 배열이 1차원 배열이 되는 것이다. 그런데..!! 차원을 낮출 땐 주의사항이 있다. 바로 array_2d의 데이터 변화가 array_1d에 영향을 미치느냐 하는 것이다. 결론부터 말하면, 아래처럼 array_2d의 첫번째 원소값을 바꿀 경우 ravel(), reshape() 으로 차원을 낮춘 array_1d_ravel 과 array_1d_reshape 의 데이터는 바뀌고, flatten()으로 차원을 낮춘 array_1d_flatten은 데이터가 바뀌지 않는다. 잘 모르고 사용하다가 예상치 못하게 변하면 안될..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sJXCx/btsmzKBvZjH/kb8qwCa2Kws4lQHEA8TIb0/img.png)
c++ 에서 map의 iterator를 사용하다가 'Cannot dereference end list iterator' 오류를 맞닥뜨렸다. 코드만 보았을 때에는 괜찮아 보였는데,, 원인은 map의 find() 함수 리턴값이 iterator 였다는 점에서 시작한다. find() 함수는 map 내에서 찾고자 하는 값이 없을 경우 map::end() 를 리턴하는데, 이 end()에 접근해서 데이터를 읽으려고 하면 에러가 발생하기 때문이다. 아래 코드의 1번 시나리오처럼 map에 있는 값에 접근하면 iter->second 에도 정상적으로 접근하여 값을 얻어온다. iter가 map의 end()를 가리키지 않기 때문이다. 반면, 2번 시나리오처럼 map에 없는 값에 접근하면 iter는 map내에 찾는 데이터가 없다..
부모 컴포넌트에서 자식 컴포넌트로 함수를 전달하고 싶어서 Function Props에 대해 찾아보았다. https://maxkim-j.github.io/posts/function-props-vuejs/ 김맥스 블로그 | function props는 Vue의 안티패턴일까? React에서 상위 컴포넌트의 state를 하위 컴포넌트에서 업데이트하기 위해서는 해당 state를 갱신하는 함수를 상위 컴포넌트에서 함께 props로 넘겨야 합니다. 이 방식이 Vue에서도 가능할지 궁금했습 maxkim-j.github.io 이 글을 보면 Vue.js에서 Function Props를 사용하는 게 안티 패턴인지에 대해 의견이 분분한 듯 하다. 간략히 요약해보면, React의 경우 데이터 전달이 단방향(부모->자식)이라 역..
Vue나 React, 혹은 그냥 Javascript로 개발할 때 콘솔로 객체를 찍어야할 상황이 종종 찾아온다. var obj = {"id": 1, "name": "korsa"} console.log(obj); 하지만 객체를 바로 찍으면 내부 데이터 대신 [object Object] 로 표시된다. 출력> [object Object] 이 때 객체를 JSON.stringify() 로 감싸주면 내부 데이터를 볼 수 있다. console.log(JSON.stringify(obj)); 출력> {"id": 1, "name": "korsa"}
Vue 3 에서 Vuex를 Store 역할로 사용할 때 헷갈리는 부분이 Mutation과 Action의 차이였다. 우선, 가장 큰 차이점은 비동기 연산을 하느냐 마느냐 하는 것이다. Vuex Store는 크게 4가지 속성이 있다. state, getters, mutations, 그리고 actions. state는 말 그대로 현재 상태를 담고 있는 변수이다. getters도 말 그대로 state의 값을 얻어오는 역할이다. mutations은 state를 변경할 수 있게 해주는 유일한 녀석이다. '변이' 라는 뜻 그대로 state의 상태를 변화시키는 것이다. 이쯤이면 필요한 건 다 있는 것 같은데 actions라는 속성이 하나 더 있다. actions는 state와 관련한 비동기 연산을 담당한다. 그리고 비..
Vue Composition API를 사용하면서 store 데이터를 watch 하는 방법이 손에 익지 않아 기록으로 남겨본다.. 우선.. 내가 구현하고 싶던 기능은 사용자가 웹사이트의 메뉴를 변경할 때 메뉴목록의 하이라이트 지점도 바뀌게 하는 것이었다. 이를 위해선 사용자와 인터랙션하는 Component와 메뉴목록을 관리하는 Component 간의 데이터 전달이 필요했다. Vue에서 상태 관리 등 전역으로 다루어야 할 데이터는 vuex의 store 기능을 사용하기에 store의 데이터를 조작하여 Component들 간의 데이터 전달을 하고자 하였다. 작업은 다음의 3 단계로 진행하였다. 1. Store에 변수 생성 // @/module/common.js import { createNamespacedHel..