목록전체 글 (109)
Real Vectorism. 훨씬 더 입체적으로...
최대한 간단하게. 단, 정석이라고는 안함. 즉, 책임 안짐 1. properties 정의 spring.r2dbc.url=r2dbc:mariadb://{domain}:{port}/{databases} spring.r2dbc.username={database username} spring.r2dbc.password={database password} mariadb 사용 기준으로 저렇게 작성한다. 평소 사용하는 jdbc와는 달리 driverClassName 을 정의하지 않는데 이래도 되는지는 모르겠다. 프로토콜은 jdbc:mariadb:// 가 아닌 r2dbc:mariadb:// 로 지정해줘야 한다. 2. repository 인터페이스 정의 public interface SampleUserRepository ..
정의 Array.prototype.groupBy = function(mapper = util.mandatory("mapper")) { let keySet = new Set(this.map(mapper)); let groupObj = {}; for(const keyItem of keySet) { groupObj[keyItem] = this.filter(item => mapper(item) == keyItem); } return groupObj; }; IE에서는 사용할 수 없도록 mandatory를 사용한 소스코드. IE는 생각조차도 하지 말것. 사용 const arr = [{ "color": "red", "gender": "female" }, { "color": "red", "gender": "female..
말 그대로 각 패스에 도달할때마다 어떤 페이지를 보여줄 것인지를 결정해주는 분기결정자 역할을 한다. App.svelte svelte-spa-router 를 불러와서 Router 엘리먼트를 사용할 수 있다. prefix는 선택사항이며 없을 경우에는 ""로 디폴트가 되는 특성인 듯 하다. 구체적으로는 더 살펴봐야하는데 계속 볼때마다 헷갈린다. 중첩 라우터 위에서 사용했던 Router 엘리먼트에 prefix 라는 프로퍼티를 하나 더 전달하면 된다. prefix를 추가하면 알아서 prefix + path 형태의 결합으로 라우팅 결과를 보여준다. 그런데 여기에서 뭔가 꼬임이 발생하는것을 확인했다. 꼬임은 아래에서 후술 router.js import Root from "./Root.svelte"; import Ma..
어렵지만 쉬운 derived readable, writable 이 1차 구독변수라면 derived 는 2차 구독변수로 보면 될 것 같다. 상위 구독변수의 변화를 감지해서 값을 알아서 새로 정의해주는 기능이라고 보면 충분할 것 같다. 예를 들어 const subsc1 = writable(""); const subsc2 = derived(subsc1, $subsc1 => { return `derived ${$subsc1}`; }); 이라고 가정할 때 subsc1.set("value01"); console.log("subsc2 value: ", get(subsc2)); subsc1 의 값을 변동한다. subsc2 에는 손을 대지 않아도 콘솔에 값을 직접 찍어보면 subsc2 value: derived valu..
개뻘짓의 결과로 끝내 깨달음을 얻었다... 아무리 스프링 웹플럭스가 반응형으로 데이터를 교환하기 위해 기존의 서블릿이나 mvc과 아예 다른 밑바닥부터 설계가 다른 프레임워크가 되었다고 하더라도 최소한 보여져야 할 웹페이지가 1개가 있는 경우에는 index.html 파일을 구성할 수가 있어야 한다. 커스터마이징을 밥먹듯이 하는 병이 있는 경우에는 필자와 같은 개뻘짓에 굉장히 많이 당황스러울 수도 있다. 일단, src/main/resources 경로 내부에 index.html와 그 구성파일들을 넣을 수는 있다. 이 때 /public /static /resources /META-INF/resources 반드시 경로명을 저 중 하나로 결정을 해야한다. @EnableWebFlux 어노테이션이 붙는 순간 커스터마이..
일단 오라클 (직접 사용해본 적이 없어 될지 안될지 모름) -- 16진수에서 10진수로 TO_NUMBER({varchar2::16진수텍스트}, {varchar2::표현식, 16진수는 X로 표현}) TO_NUMBER('F', 'XX') -- 15 TO_NUMBER('FF', 'XXX') -- 255 -- 10진수에서 16진수로 TO_CHAR({number::10진수리터럴}, {varchar2::표현식, 16진수는 X로 표현}) TO_CHAR(15, 'X') -- F TO_CHAR(15, '0X') -- 0F 마리아DB CONV({int::원본숫자리터럴}, {int::원본숫자진법}, {int::변경숫자진법}) CONV(35, 10, 36) -- 'Z' CONV(15, 10, 16) -- 'F' CONV(12..
자바 class Example { private int idx; private String username; private String password; // 아래로 내려가는 오버로딩 public Example() { this(0); } public Example(int idx) { this(idx, null); } public Example(int idx, String username) { this(idx, username, null); } public Example(int idx, String username, String password) { this.idx = idx; this.username = username; this.password = password; // 생성자 공통기능 영역 } } 씨..

발단 (노마드 코더는 사랑입니다.) polyfill을 쓰면 돌아간다? polyfill 을 쓰면 돌아간다는 저런 무식하고 우매하고 쪽팔리는 댓글러를 위해 직접 한가지를 검증해보겠다. 우선 https://polyfill.io/v3/url-builder/ 으로 들어가서 번들을 생성한다. Polyfill.io polyfill.io 전체 다 체크하고 번들을 생성했을 때 Header Overflow 로 인해 status code 503이 반환되기 때문에 전체 포함을 할 수가 없다. 일단 ES로 시작하는 시리즈들만을 체크하고 확인해보기로 한다. 내 기억이 맞다면 화살표 함수의 추가는 아마도 ES6 시절에 추가되었던걸로 기억한다. (정확한 정보 제보바람) 간단하게 페이지를 만든다. polyfill.io 로부터 스크립트..
2022년 6월 15일자로 Internet Explorer 의 서비스가 종료되었다. (지원종료는 한참 전에 종료되었다.) 그런데도 불구하고 MS는 마지막까지 기업서비스 유지를 변명으로 Edge 안에 IE모드를 기어이 내장시켜 호흡기에 이제는 아예 진통성마약으로 마취를 시키는 지경까지 이르렀다. 그래서 일어날 수 있는 향후 시나리오와 말도 안되는 투정에 기업입장에서도 선을 확실하게 그을 수 있는 나름대로의 변명거리가 필요하다. 기존 서비스가 IE 기반으로 개발되어있기 때문에 IE 기반으로 개발을 해야 한다 더이상 신규 개발이 이루어져서는 안된다. IE는 더이상 일반조건이 아닌 특수조건이 되었고 당연히 단가도 일반 단가를 받아서는 안된다. 특히나 2015년도경부터 국비지원교육에서도 IE를 기반으로 한 서비스..
현재 A 회사(실제로 A로 시작하는 회사)에 시스템 신규구축건으로 투입되었다. 그냥 말이 거창하지 SI 이다. 현재 내 회사에게 퇴사를 고지했다. 환장할 상황 01. 분명히 현장에 같이 투입되었던 이사에게 퇴사한다고 4월 마지막금요일이었던 날 이야기를 했다. 그런데 녹취고 문서고 남겨둔 증거 없이 구두로만 전달된거라 증거가 없는데 하필 이사가 중간에 잘라먹어버린 상황으로 강력히 추정되는 상황이 밝혀짐으로써 사실상 5월 말일로 퇴사를 점 찍어둔 기획이 틀어지기 시작했다. 환장할 상황 02. 퇴사를 결심하게 된 이유가 A회사가 정신상태가 글러쳐먹어서 더이상 일 못해먹겠다고 그만두고 나오려고 한 것이었다. 그런데 회사는 내가 얼마든지 사직서를 제출하면 그날로부터 한달 안에 사직서를 수리를 하거나 한달 이후부터..
6월 15일 익스플로러 강제 엣지전환이 사실이라면 엑스플랫폼 마이플랫폼 넥사크로 개같이 멸망도 이제 곧 한달도 안남게 된다
Shooting Paradigm 2 - Google Play 앱 오브젝트를 움직여 40초간 탄환과 부딛치지 않고 살아남아보세요 play.google.com 1.2.1 버전 업데이트 안내 용량 최적화 아케이드 모드의 전 패턴 대상으로 등록되지 않은 난이도 전체 신규등록 (단, 아케이드 10스테이지의 경우는 노멀 난이도 제외) GOS를 이용한 고의적 프레임드랍 클리어를 방지하기 위해 모든 SAMSUNG Galaxy 기종의 디바이스에서 실행 차단조치