라벨이 javascript인 게시물 표시

2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

[react-native] uuid 생성이 에러가 날 때 대처법 

ToDo 앱을 연습하는데 ID생성이 안되더라.. uuid 라는 패키지를 사용하면 된다던데 한참을 헤메었다. 우선, 맥에서는 Xcode가 설치되어 있지 않으면 안되니 필히 설치할 것. 다음, npm 으로 다음 명령어를 입력해서 uuid를 설치한다 > npm install --save uuid 그리고나서 필요한 페이지에 다음과 같이 임포트 하면 된다던데... import { v1 as uuidv1 } from 'uuid' ;     const ID = uuidv1 (); 안된다..에러난다..ㅠㅠ Error :  crypto.getRandomValues() not supported. 신나게 찾아보니  react-native-get-random-values 를 설치하라길래 했다. > npm install --save  react-native-get-random-values 설치 후 페이지에 임포트 import 'react-native-get-random-values' ; 그래도 에러가 난다...열심히 찾아봤는데 버전문제?? v1은 비추라고 다른 거 써봤는데 똑같다. Error: TypeError: null is not an object (evaluating 'RNGetRandomValues.getRandomBase64') 콘솔에도 안찍히고..그냥 랜덤값이 생성이 안되더라..상수로 값 집어넣으면 멀쩡하게 움직임. 리엑트 네이티브에서 사용가능한 react-native-uuid 도 있다길래 해봤는데 안된다..ㅠㅠ Error :  undefined Unable to resolve module `buffer` from `node_modules/safe-buffer/index.js`: buffer could not be found within the project. 버퍼 지워보고 실행해도 똑같고...재설치를 해봐도 안되고...그러다가 참고 ...

[TIP] iframe에 넣는 문서의 높이가 일정하지 않을때 자동으로 조절하는 법 feat..CrossDomain

아잌후...이걸로 또 반나절 보냄 ㅋㅋㅋ 하고싶은 것은, 예를들어 index.html 페이지에 iframe을 박아놓고, 다른 도메인에 있는 todaylist.html 을 불러서 그 안에 표시하고 싶은데..todaylist 는 서버스크립트로 돌아가는 페이지라 리스트가 늘어나거나 줄어드는 등, 사이즈가 고정되어 있지 않다. iframe을 크기고정 하면 리스트가 길어지는 경우 잘리고, 크기고정을 하지 않으면 스크롤이 생겨서 지저분하니까..불러올 때 리스트의 길이를 구해서 iframe 사이즈를 변경하고 싶은거다. 같은 도메인이면 그냥 되는데, 도메인이 다른 경우 크로스도메인 뭐시기 해서 보안상 브라우저가 막아버린다..ㅠㅠ 브라우저 세팅을 바꿀 수는 없는 상황이고, ajax 등 비동기도 아니고..하다가 찾아보니, postMessage() 를 사용하면 된다길래 삽질하다가 성공했다. 방식은, todaylist 파일이 로드가 되면, setHeight() 를 호출해서 테이블의 높이를 가져온 후, px 문자열을 붙여서 (편의에 따라서 값만 넘겨도 ㅇㅋ) postMessage를 발신한다. 이 때, 파라메터의 "*" 에 도메인을 넣어주는게 좋음. [todaylist.shtml] // 역시나 부분생략 < BODY >    < table   class = "todaylist" >     // 테이블은 서버스크립트에 의해서 생성됨    </ table >    < script >   ( function (){      function   setHeight (){          const   todayList  =...

[메모] 시간표 출력 프로그램 복습하며 느낀 점

작년에 중간까지 만들다가 중단(다른 일 하게 된 것도 있지만 반쯤은 실력부족으로 인한 포기에 가깝지 않았나) 했던 시간표 출력 프로그램을 다른 개발자가 완성한 소스코드를 보고 느낀점 및 팁을 메모함. 필요한 상수를 const 정의함, 그때그때 변수로 쓰는게 아니라 공통적으로 쓰는 값은 상수로 미리 정의한 후, 클래스 전체에서 사용하게 함. -> 나는 보통 클래스 내부에서 변수로 만들고 그것만 사용하고 말거나 혹은 그 값을 파라메터로 넘기거나 하는데 확실히 이런 부분에서 경험부족이 나오는 듯.. MVC패턴에서 View에 값을 보내는 부분과 처리하는 부분을 확실하게 나눌 것. CakePHP에서 Controller와 View(Template) 사이에서 데이터를 전송하는 경우, 기본적인 Class에서는 View에 표시할 데이터만 처리하고 실제적으로 처리를 하는 부분은 별도의 Class를 만들어서 호출하는 형식으로 개발함. 특히 Ajax를 사용해서 값을 전달하고 받아서 처리하는 경우, request의 is메소드로 ajax임을 확인한 후, 처리하는 별도의 함수를 만들어서 호출함. 나 같은 경우에는 기본 Class에 모든 처리를 다 때려넣으려는 경향이 있었고, 그게 Phpspreadsheet 플러그인과 CakePhp 사이에서 충돌이 났던 원인 중 하나이지 않았을까, 라는 생각이 듦. public function sheet_output() {      if ($this->request->is('ajax')){           $this->_roomsheetAjax(); // ファイル出力してAJAXで返す処理      return;      } } public function _roomsheetAjax() {      $this->autoRender = false;     ...

ES5 規定の JSON と同じインターフェースを持つCSVパーサ

csv.js 概要 ES5 規定の  JSON  と同じインターフェースを持つCSVパーサです。 使い方は  JSON  と同じなので  JSON  を扱った事のある人は違和感なく使えると思います。 CSV API CSV CSV  は単純な  Object  型であり、関数でもコンストラクタでもありません。 console . log ( typeof CSV ); // "object" CSV (); // TypeError: CSV is not a function new CSV (); // TypeError: CSV is not a constructor( CSV  の  @@toStringTag  は  "CSV"  です。 ( @@toStringTag  は ES6 規定の  Symbol  値です。) console . log ( Object . prototype . toString . call ( CSV )); // "[object CSV]" CSV.parse(csvString [, separator, reviver]) 第一引数に与えられたCSV文字列をパースし、二次元配列を返します。 var array = CSV . parse ( ' "A1","B1" \r\n "A2","B2" ' ); console . log (array); // [["A1","B1"],["A2","B2"]] 第二引数 separator (オプション) 第二引数でCSVの区切り文字を指定できます。 第二引数が省略された場合、区切り文字はカンマ( ' )として扱われます。 var array = CSV . parse ( ' "A1"|"B1" \r\n ...