[javascript]opener 함수 사용 시 callback이 opener로 갈 때
2023. 11. 8. 17:22
Developer/Javascript
오늘 겪었던 내용을 바탕으로 포스팅 하겠습니다 상황은 이러합니다 팝업 페이지에서 사용하고자 하는 api함수가 메인 페이지에 이미 import 되어있습니다 이럴 때 우리는 자연스레 opener.api함수명(); 과 같이 사용하겠죠 이 api함수명이 test라고 해봅시다 구조를 살펴보면 function test (l1, l2, callback){ 무수한 변수들 내용 $.ajax({ url : url type : 'post' success : function (res) { result.result = "success"; result.data = res; if (instanceof callback == "function") { callback(result); } } }); } 대략적인 함수의 내용입니다 이 함수..

[java]프로그래머스-3진법 뒤집기
2023. 6. 9. 13:47
Developer/Java
간단하게 설명해 보겠습니다 자연수 n을 3진수로 만들고 그 수 배열을 반대로 뒤집어서 10진법으로 바꿔서 리턴하는 함수를 만드는 것입니다 먼저 n을 3진수로 만들어 봅시다 진수 변환은 주어진 수를 나눈 나머지를 차례로 뒷자리부터 입력 하면 됩니다 예를 들어 45를 3진수로 만들고 싶으면 45를 3으로 나눕니다 그럼 몫이 15입니다 나머지는 0 15를 3으로 나눕니다 그럼 몫이 5입니다 나머지는 0 5를 3으로 나눕니다 그럼 몫이 1 입니다 나머지는 2 1을 3으로 나눌수는 없네요 그럼 나머지는 1 이 맨 끝 숫자 나열하면 1200이죠? 이게 45를 3진수로 변환한 수입니다 ㅎㅎ 이걸 코드로 나타내 보면 //변환된 수를 순차적으로 저장할 변수 List li = new ArrayList(); //3진수로 변..

[java]프로그래머스-포캣몬
2023. 5. 24. 17:06
Developer/Java
포켓몬 문제입니다 문제를 간략히 정리해 봅시다 N/2 마리의 포캣몬을 가져갈 수 있는데 중복된 포켓몬 보다는 여러 종류의 포켓몬을 갖고 싶어 합니다 [ 1, 2, 3, 1 ] 이 숫자는 포켓몬의 종류를 나타내고 총 4마리가 있지만 / 2 로 나눈 갯수인 2마리만 가져갈 수 있습니다 그럼 내가 고를 수 있는 포캣몬의 수는 2이겠죠 경우의 수를 다 따져봐도 2마리만 가져갈 수 있기 때문입니다 [1, 2] [1, 3] [2, 3] 이런 방식으로 말이죠 이번 문제에서는 저는 입출력의 예를 보며 풀어냈는데 같이 보면서 생각해봅시다 저는 규칙이 있겠다라고 생각을 했습니다 처음엔 같은 숫자가 있는지 먼저 체크를 하고 그 숫자의 인덱스만 제외하고 나머지 숫자의 경우의 수를 체크해서.. 이러다 보니 머리가 터질 거 같더..

[java]프로그래머스-삼각형의 완성조건 (1)
2023. 5. 24. 10:32
Developer/Java
삼각형은 세 개의 선분이 있어야 합니다 그리고 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 한다는 것입니다 삼각형의 조건을 함수로 만들어 보고자 합니다 제가 먼저 생각한 순서는 이렇습니다 1. int 배열에서 가장 큰 값을 구하자 2. int 배열에서 큰 값의 index를 제외한 값들의 합을 구하자 3. 비교하여 리턴하자 상당히 간단한 문제입니다 먼저 int 배열에서 가장 큰 값을 구하기위해 반복문을 잠시 생각했다가 접어두고 Arrays 클래스의 sort 메서드를 사용하기로 했습니다 Arrays.sort ( 배열 ) 을 넣어주면 정렬되기 때문에 int배열[배열.length-1] 이 가장 큰 값이됩니다 이러면 1번의 가장 큰 값을 구하는것은 완료입니다 다음으로 2번째 입니다 반복문에서 가장 큰..
[javascript]레이어 팝업 생성함수
2023. 5. 22. 15:59
Developer/Javascript
팝업을 사용하다보면 레이어 팝업이 꼭 필요한 시점이 있습니다 간단하게 띄운 후 입력 받아 처리 해야 하는데 클라이언트들은 뒷 화면이 가려지거나 혹은 팝업이 표출 됐는데 메인 창 뒤로 사라져서 알지 못하고 불편하다고 이야기 하는 경우들이 종종 있어서 이럴땐 레이어 팝업이 적합하다고 할 수 있습니다 레이어 팝업을 페이지마다 추가 해놓고 숨김 및 보임 처리 하기에는 힘들기에 공통함수에 레이어 팝업을 추가하여 사용하도록 하는것이 좋을것같습니다 function addLayerPopup(title, url, height, width, param){ let stIdx = url.lastIndexOf('/'); let edIdx = url.indexOf('.'); let popId = url.substring(stId..

[java]프로그래머스-부족한 금액
2023. 5. 17. 10:05
Developer/Java
프로그래머스 코딩테스트 연습 기능이 있어 간혹 한 문제씩 풀어보는 편인데 이 코드와 리뷰를 기록하는 이유는 저도 다른 분들의 코드를 보며 다른 방식도 있구나 하며 느끼는 것이 실력 향상에 도움이 되겠다 라고 생각하기 때문입니다 ㅎㅎ "코드 라인이 짧아야 무조건 좋다 멋지다 최고다" 처음엔 이와 같이 생각했지만 지금은 아니라고 생각합니다 각설하고 문제는 아래와 같습니다 입출력 되어야하는 예시 저는 지문과 입출력 예를 여러 번 보는 편입니다 어차피 우리가 코드로 짤 내용은 이미 지문에 다 담겨있기 때문이고 제한사항은 잘 보지 않는 편이었는데 이번에 다시 한번 느낀 바가 있습니다 입출력의 내용은 이렇습니다 price 놀이기구 이용하는데에 필요한 비용 money 소지하고 있는 돈 count 탑승횟수 result..

[window11]실시간보호기능 영구적으로 비활성화
2023. 4. 12. 16:09
Developer/Etc
운영체제를 사용하는 데에 있어 안전하게 사용하면 좋겠지만 인터넷상의 자료를 다운받을 때 간혹 바이러스로 인식하여 필요한 파일이 자동으로 삭제된다던지 프로그램 실행에 오류를 불러오는 현상이 있습니다 그때 취하는 행동 중 하나는 실시간 보호를 끄고 다운로드하여서 실행시키는데 이 작업이 너무 불편함을 느껴서 영구적으로 끄는 방법을 알려드리도록 하겠습니다 정책편집기를 이용하여 영구적으로 꺼보도록 하겠습니다 창을 표출시키는 방법은 총 2가지인데 그중 하나는 1. 윈도우 + r 버튼으로 실행 창을 표출되면 gpedit.msc 입력 후 확인 2. 윈도우 버튼을 누르고 "로컬 그룹 정책 편집" 입력하고 그룹 정책 편집 클릭 창을 표출 시킨 후 좌측 트리메뉴에서 원하는 메뉴로 접근합니다 컴퓨터 구성 > 관리템플릿 > W..
[javascript]체크박스 일괄 선택하여 일괄삭제 백앤드까지 구현하기
2023. 2. 14. 17:11
Developer/Javascript
우리가 백 단에서 리스트를 표출시키고 이 글들을 일괄적으로 삭제시키기 위해서는 아마 화면단에서 배열로 받아 백단에서 반복문을 이용해서 delete 쿼리를 보내는 분들이 많을 겁니다 간단하기도 하고 delete쿼리를 한번만 작성해두면 그대로만 이용하면 되기 때문에 제가 실무에서도 많이 본 소스였습니다 그렇지만 제가 아는 내용은 최대한 DB에 접근하는 즉 쿼리를 날리는 횟수를 줄여야 한다고 알고 있습니다 데이터 흐름을 생각해 보면 화면 - 프런트앤드 - 백앤드 - DB접근 - 백앤드 - 프런트앤드 or 화면 바로 출력되는것이죠 그리고 세부적으로 살펴보면 백앤드에서도 아마 대부분 MVC 패턴으로 프로젝트가 설계되었을 건데 아무리 Impl.java 에서 돌린다고 하더라도 DB접근은 될 수 있으면 한 번에 끝내는..
[javascript] 다중팝업 제어
2023. 1. 12. 09:41
Developer/Javascript
이번 내용은 저번에 다뤘던 팝업 제어 하는 내용과 비슷하긴 합니다 하지만 저번엔 상세한 내용은 아니었습니다 주제에 대한 상세한 코드도 아니었고요 ㅎㅎ 이번엔 제가 현업에서 시간이 조금 나서 저번에 했던 팝업이 여러개가 있을 때 포커스 이동에 대한 내용이기도 합니다 포커스에 대한 자세한 내용은 검색해보시면 아시겠지만 원활하진 않습니다 main 화면으로 focus를 보냈다가 다시 팝업으로 focus 이런 현상이 쉽지가 않게 되었습니다 왜냐하면 팝업을 호출 한 parent window에서 컨트롤이 가능하지만 호출당한 팝업이 main 으로 focus를 했을 땐 크롬 정책으로 인해 동작하질 않더라고요 며칠 찾아보니 결론적으론 안된다에 도착했죠 ㅜ 그래서 구조 자체를 변경하고 다른 방법을 생각해 낸 것이 commo..