개발/코딩관련
-
mybatis에서 선행 쿼리 돌려서 결과값을 후행 쿼리에서 사용하고 싶을 때개발/코딩관련 2024. 7. 18. 14:22
일단 내가 원하는건 xml안에서만 첫번째 쿼리 돌려서 결과값을 바로 그 안에서 (xml에서) 변수에 값 넣어서 사용하듯 사용하고싶은데 그건 불가능하다. mybatis에서 선행 쿼리 돌려서 결과값을 후행 쿼리에서 사용하고 싶을 때 방법 with절을 써서 쿼리 하나로 끝내는 방법 외에는 대표적으로 두가지 방법이 있다.with절은 단점이 명확해서 일단 논외로 친다. 1. 두 개의 Mapper 메서드를 사용하여 처리하기첫 번째 메서드에서 선행 쿼리를 실행하고 결과값을 가져옵니다.두 번째 메서드에서 이 결과값을 매개변수로 전달하여 후행 쿼리를 실행합니다.public interface MyMapper { Integer getValueFromFirstQuery(@Param("param") String par..
-
equirectangular panorama -> cube convert개발/코딩관련 2020. 3. 31. 16:01
0. krpano VS panolens왜 일반 사용자들은 krpano를 돈을주 고라도 많이 사용할까. 오픈소스인 panolens가 있는데. 파노라마 업체에서 선호하는 이유가 무엇을까. 편해서? 회사에 속한 개발자 입장에서 유료와 무료의 차이는 크다. 오픈소스로 유료모델과 같은 성능을 내는 것을 목표로하기 때문에. 그럼 차이를 알아보자. 개발이 쉽고 이런걸 떠나서 표면적으로 사용자가 느끼는 가장 큰 차이는 해상도와 속도의 차이인것같다. 먼저 해상도부터 보자1. 해상도회사에 insta360 카메라로 촬영해서 panolens를 통해 올린 360 이미지가 있는데 6080임에도 불구하고 360이미지라 해상도가 많이 떨어진다. 하지만 krpano를 쓴 사이트를 보면 해상도가 월등히 좋다. 까보니 큐브형태의 이미지로..
-
자바스크립트 코딩 패턴개발/코딩관련 2020. 2. 25. 16:00
생각없이 코딩하지말고 효율적인 코딩 방법을 생각하면서 개발해야겠다. 스크립트 디자인 패턴 찾다가 곁다리로. https://joshua1988.github.io/web-development/javascript/javascript-best-practices/ 여기서 나한테 필요하다고 생각하는 것들만 선별해서 가져왔다. 1. 삼항연산자 변수나 실행함수로 값을 받은적이 없어서 기록해둔다. //일반 var isArthur = true; var weapon; if(isArthur) { weapon = "Excalibur"; } else { weapon = "Longsword"; } //삼항연산자 var weapon = isArthur ? "Excalibur" : "Longsword"; // 두개 이상의 변수를 이용..
-
수직 가운데 정렬개발/코딩관련 2020. 2. 20. 17:39
1. 가운데 정렬 div{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 여러가지 방법으로 해봤지만 이 방법이 제일 편하고 쉽고 예외가 적다. 부모div의 사이즈가 변경되어도 가운데정렬이 된다. 그리고 수평, 수직 가운데정렬을 손쉽게 할 수 있다. table이고 inline이고 다 필요없이. 2. 가로 가운데 정렬 텍스트 중앙정렬같이 좌우에 여백이 있고 가운데 정렬하는 방법 div{ position: absolute; left: 50%; transform: translate(-50%, 0); } 3. 세로 가운데 정렬 상하로 여백이 있는 수직 가운데 정렬 div{ position: absolute; top: 50%..
-
크롬 전체화면개발/코딩관련 2020. 1. 23. 16:15
크롬은 전체화면을 막고있다. 전체화면하려해도 수초 안에 다시 돌아온다. 하지만, 360영상을 카드보드로 보려할때 핸드폰에서 전체화면이 안되면 상당히 거슬린다. 1. 시행착오 뭔가 스크립트로 전체화면을 유지하려 시도했는데 제대로 되지 않았다. 그렇다고 크롬을 쓰지말라고 할 수도 없고.. 거기다 pc와 안드, ios 크롬어플에서도 다 되어야하기 때문에 더 골치가 아팟다. 그런데 순간, f11누르는거랑 같은 기능을 하면 되는거 아닌가?!?!?!?!?! 2. 직접 해보자 // 엔터 누를경우 f11누른것과 같은 이벤트를 발생시킨다. document.addEventListener("keydown", function(e) { if (e.keyCode == 13) { toggleFullScreen(); } }, fal..
-
javascript에서 문자열을 변수명으로 바꾸기개발/코딩관련 2019. 12. 13. 14:12
1. 문자열 -> 변수명으로? eval! placeMakerClick : function(data_id) { ... this.viewer.setPanorama( this......data_id) ); ... }, 위와같은 스크립트에 data_id는 문자열로 넘어오는데 앞에 this.라는 코드를 붙여서 코드로 실행하고 싶었다. this.viewer.setPanorama( this.dataId) ); 이거와 같이. 찾다보니 eval()이라는 함수를 찾았다. placeMakerClick : function(data_id) { ... this.viewer.setPanorama( eval('this.' + data_id)) ); ... }, 이렇게 하면 내가 원하는데로 작동된다. 그런데 문제가 있다. eval()..
-
개발하면서 궁금한점들...개발/코딩관련 2019. 10. 15. 09:35
개발하다가 궁금한데 시원한 대답을 못찾는 경우가 많다. 별거 아닌거처럼 보이는 작은 궁금증들, 별 중요치않은 궁금증들이라.. 1. if를 js에서 걸어서 자바로 보내버릴까 자바에서 if를 걸어버릴까 코드값에따라 쿼리가 달라져야하는 경우가 생긴다. 화면단에서 코드값을 받아서 js에서 코드값에따라 분기를 시켜주는게 맞는건지, 코드값을 자바로 보내서 자바에서 분기를 시켜서 다른 디비를 부르는게 맞는지 모르겠다. 로직은 서버에서 돌리는게 맞는거같아 코드값을 자바로 넘기는게 맞는거 같다가도, 유지보수를위해서는 js에서 분기하는게 더 나을것같기도하고... 일단 js에서 분기해야겠다. 자바가 바뀌어서 서버 적용할때 서버를 내렸다 올리던가 그런 이슈가 발생할 수 있으니... 2. 다른것도 있는데 일단 일부터 하고....
-
preventDefault vs stopPropagation 차이개발/코딩관련 2019. 3. 11. 17:35
preventDefault(); 와 stopPropagation(); 차이 * preventDefaultpreventDefault 는 기본으로 정의된 이벤트를 작동하지 못하게 하는 메서드입니다.,,의 기본 동작을 막을 수 있습니다.a태그는 적용된 href 링크값으로 페이지 이동을 해주는 기본 적인 기능을 가지고 있습니다. a태그를 클릭 했을 때 preventDefault() 메서드를 실행시켜 주면 페이지 이동을 하는 기본 기능을 막는 것 입니다. * stopPropagation이벤트가 상위 DOM으로 전달,전파를 하지 않도록 하는 코드입니다.이벤트 전파를 막아 주지만 기본 이벤트를 막아주진 않습니다.사용자가 마우스로 웹페이지 내의 버튼을 클릭했을때 대부분의 사람들은 버튼만 반응했다고 생각하게 됩니다. 하..