본문 바로가기

분류 전체보기115

프로그래머스 최솟값 만들기 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 두번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21.. 2020. 6. 23.
프로젝트 마무리 프로젝트를 6/17 자로 종료되었다 그동안 시간에 쫒겨 일기도 제대로 못 썻지만 정리해보려고 한다. websocket 충돌은 아주 가벼운 오류였다. aws 서버에 올려버리니 dto에서 오류가 생겼다 패키지명이나 아예 다르지만 autowired 인지 어디서 오류가 났는지는 몰라도 내 dto에 있는 변수들을 다른 패키지의dto에서 찾고있었다. 시간이 부족해 오류를 찾고 정상 작동하게 만드는 점에만 급급하여 모든 dto에 내 변수들을 추가해 주었다. 그렇게 되니 해결은 되었지만 결국 이유는 찾지를 못했다. 또 새로운 기능을 마지막에 계속 추가하다보니 에러가 끝없이 터졌다. 상황이 안좋아지다가 발표 몇분전에 서버까지 터져버렸고 원래 발표순서를 미루고 미뤄 마지막 순서로 발표했다. 정말 미리 만들고 욕심을 부리지.. 2020. 6. 23.
06/12 통합 채팅을 마무리하고 다른 팀원들이만들 메인 페이지에 붙혀넣어보았다. 하지만 무슨이유인지 모르게 서버에 servlet 오류가 생기면서 실행이 안되었다 오류 로그를 보니 코드가 잘못되서 나온 오류는 아닌 것 같았지만 정말 찾기가 힘들었다. 정확히 어디가 오류인지 나오지 않았고 잘못된거같기는 했지만 알수가 없었다. 그래서 정말 하루종일 찾았지만 찾을수 없었다. 계속 바꾸면서 실행해보다가 pom.xml의 di주입에서 충돌이 났다는것을 알았다. 하지만 di가 많기도 하고 어떤것이 충돌을 불러오고 하는지 몰라서 하나하나 빼고 실행해보면서 찾았다.. 결구 내가 쓰고있는 SpringWebSocket이 충돌을 불러온다는 것을 알았고 내가 쓰고있던 버전에서 이상이 있었다. 그후에 버전을 맞춰주니 에러가 사라졌고 그걸로 해결.. 2020. 6. 13.
프로그래머스 level2 소수찾기 소수 찾기 darklight sublimevimemacs Java 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return 17 3 011 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습.. 2020. 6. 11.
06/10 1:1 채팅 완료 stomp와 sockJS를 이용하여 채팅을 구현 뷰페이지와 연동하고 회원 목록 회원번호를 합쳐서 sub를 구현 메시지주고받을때 db연동까지 끝마쳤다 db연동할때 새로고침을 해야하는지 비동기식으로 데이터를 주고받을때 어떻게 구현할지 조금 어려웠지만 ajax를 사용하여 비동기 구현을 완료했다. 더 디테일한 기능을 구현하고 싶은 마음이 많았지만 팀프로젝트이고 기간이 정해져있기 때문에 단체 채팅까지만 구현하고 다른 팀원들의 부분을 도와주려고한다. 단체채팅방은 회원들의 번호를 배열에 저장하고 정렬해 String형으로 변환아여 채팅방 id를 구성하고 다른 회원이 초대됐을때는 roomid를 새로운 회원도 더해 새롭게 구성한다 라고 계획했는데 이게 맞는지 약간 의구심이 든다. 다른 회원이 초대됬을때도 항상 채팅방 번호.. 2020. 6. 11.
0609 ajax 미리 설계한 interceptor로 구현해보려 했지만 생각해보니 될 수가 없었다. 조언을 구하고 구글링을 해본결과 ajax를 이용하여 새로고침없이 동적으로 데이터를 받아 올 수 있었다. ajax를 잘 알지 못했기때문에 생각조차 할 수가 없었고 내일은 꼭 ajax를 이용하여 채팅기능을 마무리하고 실시간 알림과 단체채팅기능등 디테일한 기능을 추가해볼 생각이다. https://github.com/yssy3135/projectchat 2020. 6. 10.
프로세스와 스레드 스레드 프로세스 내에서, 더 작은 단위로 독립적으로 실행시키며 제어가 가능한 흐름 의 단위 - 어떠한 프로그램 내에서 (프로세스 내에서 실행되는 흐름의 단위 일반적으로는 하나의 스레드를 가지고있지만 프로그램 환경에 따라 둘이상의 스레드를 동시에 실행 할 수 있다. 이러한 방식을 멀티스레드 라고 한다. 프로세스와 스레드 차이 - 프로세스 완전한 하나의 프로그램이 실행되는것 fork() (자식복제) 를 통해 생성되는 프로세스는 원래의 프로세스와 똑같은 변수와 코드 등 여러면에서 똑같은 복사본이다. 따라서 부모와 똑같은 자식을 생성하기 위해서는 많은 자원이 요구된다. - 스레드는 부모 프로세스 전체의 복사본을 만들지 않고 필요한 코드 덩어리만을 생성하여 동시에 수행 (생성) 해당 스레드들 모두가 동일 프로그램.. 2020. 6. 9.
0608 일기 순항중 오늘은 컨트롤 db 단을 설계했던대로 받아서 구현해보았다. view와 연동하는 것도 별문제가 없었고 성공적이였다 하지만 마지막이 걱정이다 전에 고민했던 메시지 db저장시점 또한 옆에 회원 목록을 눌렀을 때 채팅창이 활성화 된다. 그후에 자동으로 내가 채팅하고 싶은 상대와 이전에 채팅했던 내용들이 로딩이 되어야하는데 이 부분이 main화면이 로딩이 될때 내용을 가지고 있다가 출력하는 것 인지 아니면 채팅방이 활성화 될때 db에 접근해 데이터를 가져오는건지 모르겠다. 또한 종료시점에 머리로 미리 설계해본 interceptor를 구현하여 마무리 작업을 해봐야겠다. https://github.com/yssy3135/projectchat 2020. 6. 9.
0607 db연동 채팅 시스템 구현에 있어서 어느정도 틀을 만들었다. 1:1 1:N 통신이 가능하게 하였고 stomp의 sub/pub를 이용하여 구현하였다 sub/pub의 주소는 나와 상대방의 회원 번호를 합쳐만들기로 하였고 작은번호가 앞에 오도록 구현할 것이다. 문제가 생겼다 채팅목록에서 상대방 id를 클릭하면 채팅내용을 불러오도록 할 계획인데 db에 저장을 할때는 언제 저장을 할 것인지가 난감했다. 메시지를 보낼때 마다 저장을 하기에는 너무 무거운 작업이였다 그래서 생각한것이 프로그램 창을 종료하거나 대화창을 종료, 로그아웃할시에 intercepter를 이용해서 내용을 저장해보려고 구상했다. 또한 생각이 확실하지 않은 한가지는 메시지를 불러오고 저장을 할 때 새로 전송하고 받은 메시지만 더해서 저장이 가능한가? 아니면.. 2020. 6. 8.