Merge Request by GitLab Merge Request(GitLab)를 통해서 작업내역 업로드 합니다. 승인자 혹은 협업하는 팀원이 코드리뷰를 통해 Master에 병합합니다. [ 작업자 ] 원본의 저장소에 Fork 하기 [ 작업자 ] Fork 된 저장소를 Clone, remote [ 작업자 ] branch 생성하기 [ 작업자 ] 실제 작업하기 (코딩, 문서 등) [ 작업자 ] 작업된 내역 업로드 하기 add, commit, push [ 작업자 ] GitLab - New Merge Request [ 승인자 ] GitLab - New Merge Request 확인하기 [ 승인자 ] 작업자에게 코멘트 남기고 Master 에 병합하기 [ 승인자 ] Master에 병합한것 취소 하기 [ 작업자 ] 승..
썸네일 프리뷰 jquery 코드를 가져왔는데 브라우저 오른쪽, 브라우저 하단에 잘리는 현상때문에 가져온 라이브러리의 이미지 처리 방식을 전부 수정하였다. 제이쿼리는 그냥 셀렉터 내용만 있으니 중요한게 아니라서 패스하고, 아래의 속성들로 구현할 수 있다. window.innerWidth, window.innerHeight nautralWidth nautalHeight 참고로 가로는 510px 로 고정이고, 세로 사이즈는 비례식을 적용하여 동적으로 적용해야 정확하게 높이까지 적용 될 것이다. HTML ... ... serpiko-imagepreview.js /** * serpiko 허정진 * * 2020.10.11 * */ (function($) { $.previewImage = function(option..
before...MS Visio 시각적인 다이어그램과 더불어 설계페이지도 MS Visio를 사용하여 작업을 할때가 있었는데 기능, 직관성, 범용성에서 역시 MS PowerPoint 가 압도적이라는걸 느끼게 된다. 그리고 Visio 특성상 도형과 아이콘은 상당히 개체 수가 많지만 사용하기가 불편하다. 결국 위에서 언급했듯이 익숙한 PowerPoint로 돌아오게 되는데 PowerPoint에도 아쉬운 점은 있다, 바로 도형과 아이콘이 문제다.. 기본 제공하는 리소스가 많다면 더할나위가 없겠지만 수량도 수량이고 쉐이프들은 아쉬운 퀄리티라서 다들 이부분을 공감하고 있었을 것 같다. Powermockup PowerPoint의 플러그인으로 제공하게 되는 파워목업은 다양한 쉐이프들이 존재하게 된다 https://www..
배열메서드 filter, indexOf 를 사용하여 조금더 발전적인 방법으로 비교하기 1. 메서드 준비 filter : 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. true를 반환하면 요소를 유지하고, false를 반환하면 버립니다. 다음 세 가지 매개변수를 받습니다. 주의할 점은 map() 과 같은 배열 메서드의 경우 내부 함수의 리턴값으로 '문자, 숫자, 배열' 등 다양한 타입이 가능하지만 filter는 오직 boolean 타입만 반환해야 한다는 점 입니다. indexOf : 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다. 2. 몸풀기 중복되지 않는 값 가져오기: array1 배열에서 array2 배열을 비교했을 때 ..
500 Internal server error 직접 내리려면 면 throw new Error 를 사용하여 테스트하면 된다 router.get('/', (req,res,next)=>{ throw new Error("BadRequest"); }); app.use(function(req, res, next) { res.status(500).sendFile(path.resolve(__dirname, "public", 'errorpage/500.html')); // res.status(500).send({status:500, message: 'internal error', type:'internal'}); }); 404 에러 app의 최하단에 정의하면 된다 app.use(function(req, res, next..
정상적인 프로세스는 /logout 처리를 통해서 기존의 session cookie를 삭제해야 하는데 새로운 계정의 request가 들어와서 cookie를 만들었다면 res.clearCookie가 안먹히는(...) 현상이있었다 router.get('/logout', (req,res,next)=> { res.clearCookie("access_token"); res.redirect("/"); }); 아래와 같이 setCookie에서 overwrite: true ( default false ) 로 해결 이전에 설정한 동일한 이름(여기서는 acces_token)을 덮어쓸지 여부이다. // 쿠키를 [ 키 : 값 ] 으로 파싱 const parseCookie = req => { if (!req.headers.coo..
Node.js example for SameSite=None; Secure 크롬에서 도메인이 다은경우 쿠키가 전송되지 않는 문제 A cookie associated with a cross-site resource at was set without the `SameSite` attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at a..
엑셀 다중 시트 저장(내보내기) XML로 스타일을 컨트롤하여 직접 엑셀 내보내는 바닐라 스크립트를 찾았는데 몇가지 기능을 추가하였다 소소한 타입 기능 추가 1) attribute에 data-style이 Number 이면 1000 단위마다 콤마를 표기한다. '' 2) XML 의 ss:DafaultColumnWidth 로 열의 기본 너비를 적용했다(일일이 정하기 귀찮아서 그냥 100px로 넣었다..) '{rows}
두개의 JSON 값 비교 하기 : compare two JSON have the same properties 1. 값을 문자열로 바꾸어서 비교해보기 JSON.stringify() 로 값을 JSON 표기법의 문자열로 바꾸어서 비교. JSON.stringify() JSON.stringify() 메서드는 JavaScript 값이나 객체를 JSON 문자열로 변환합니다. developer.mozilla.org 값의 형태가 정해져 있고, 아래의 조건을 명확하게 벗어난 경우라면 제일 간단하게 사용해볼만 하다. 배열이 아닌 객체의 속성들은 어떤 특정한 순서에 따라 문자열화 될 것이라고 보장되지 않는다. 같은 객체의 문자열화에 있어서 속성의 순서에 의존하지 않는다. Boolean, Number, String 객체들은 문..