반응형

IT Tech 25

Vue.js, vuex에서 state 배열 변수가 forEach 함수가 안될때

TypeError: uploadImageList.forEach is not a function 분명히 배열로 설정한 변수를 forEach로 각 요소를 순회하려고 했을 때, 위와 같은 에러가 발생했습니다. 너무 당황스럽죠. 이런상황은 언제 만나도 정말 당황스러운 것 같습니다. 천천히 로그를 찍어보면서 분석한다면 이 세상에 해결 못 할 오류는 없다! 1. 문제 분석 왜 이렇게 될까요? Vue.js가 저를 싫어하는 걸까요? 그럴수도 있어요. 절대 방심하면 안됩니다. 일단 로그를 찍어보도록 하겠습니다. state.uploadImages.forEach(image => formData.append('couponImages[]', image)); 처음에는 이런 코드로 실행하려고 했는데 ForEach가 function..

IT Tech/vue.js 2024.02.02

자바 - 최대공약수를 가장 빠르게 찾는 방법: 유클리드 호제법 알고리즘

백준 문제에서 최대공약수를 찾는 문제가 나왔어요. 당연히 무식한 저는 그냥 두 수의 모든 배수를 찾아서 그 중에서 가장 큰 수를 검색하는 방식으로 했는데 시간초과에 걸리는 것이 아니겠어요? 그래서 그럼 어떤 방법으로 최대공약수를 찾을 수 있을까 찾아봤더니 유클리드 호제법이라는 아주 유명한 수학공식이 있더군요. 1. 무식한 방법 public static int maximumCommonMultiple(Integer a, Integer b) { Map aCommonMultiple = new HashMap(); List bCommonMultiple = new ArrayList(); int resultCommonMultiple = 0; for (int i = 1; i

IT Tech/Java 2024.01.24

JPA의 영속성 전파 cascade 옵션에 대해서 알아보기

JPA를 가지고 데이터베이스를 설계할 때, 아무 생각없이 cascade 속성을 사용해왔습니다. cascade란 무엇일까요? 이 옵션을 통해서 어떤 일들이 일어나는 걸까요? 한 번 알아보도록 해봅시다. cascade? JPA에서 'cascade' 속성은 엔티티 간의 관계에서 한 엔티티에 대한 영속성 관리 작업을 관련 엔티티에도 적용할지 여부를 정의하는 속성입니다. 즉, 한 엔티티의 생명주기 이벤트(예: 저장, 업데이트, 삭제)가 연관된 엔티티에도 전파되도록 할지를 결정하는 설정입니다. 말이 되게 어려운데요. 간단하게 삭제로 알아보면, 부모 엔티티를 삭제하면, 해당 부모 엔티티와 연관되어 있는 엔티티들도 삭제가 됩니다. @Entity @Table public class CouponBookmark { @Id ..

IT Tech/Java 2024.01.17

자바(JAVA)의 Map에서 키와 값으로 요소 찾기 - containsKey와 containsValue 활용하기

자바에서 Map을 통해서 데이터를 넣고 가져와서 활용할 수 있습니다. Array나 List 같은 자료 구조들도 있지만 이들과의 차이점은 Map은 Key와 Value 쌍으로 자료를 구분하고, 저장한다는 것이고, Array와 List는 index를 통해서 자료를 구분, 저장한다는 점입니다. 백준 10815번 문제처럼 어떤 값이 존재하는 것인지 존재하지 않는 것인지 찾기 위한 도구로는 Map이 Array나 List보다 더 적당한 도구라고 볼 수 있습니다. 왜냐하면 Array나 List도 값이 존재하는지 찾을 수는 있지만, 결국에는 Index에 의해 구분되기 때문에 순차적으로 검색할 수 밖에 없습니다. 결국 어떤 요소의 존재 여부를 찾을 때 해당 자료가 많을 경우, Map으로 자료구조를 선택한다면 조금 더 빠른..

IT Tech/Java 2024.01.09

동적 패딩 구현하기 : window의 크기에 반응하는 padding

안녕하세요. 미래를 개발하는 남자... ㅎ 김준수입니다. 스터디에서 진행하고 있는 프로젝트를 진행하는 도중, 레퍼런스를 보고 있는데 참 신기한 것을 봤습니다. 요즘은 모바일 환경에서도 웹에 접속을 많이 하기 때문에 웹 페이지를 반응형으로 다 만듭니다. 그걸 쉽게 구현할 수 있는 것이 바로 부트스트랩 같은 프레임 워크를 이용하는 것이죠. 저도 왠만하면 부트스트랩이나 vue 같은 경우는 quasar를 통해서 구현을 하고 있었습니다. 그런데 이 레퍼런스는 조금 다른 방식을 이용해서 반응을 하도록 만들었더라구요? 바로 window의 width크기에 반응해서 요소의 right padding이 줄어들었다가 늘어났다가 하는 방식으로 반응을 하더라구요. 처음에 쉬워보여서 바로 구현에 들어갔다가 두드려 맞고 나왔습니다...

IT Tech/vue.js 2024.01.03

QuickSort에 대해서 알아봅시다~ Java Array, List 정렬 구현하기

정렬을 하는 알고리즘의 방식은 정말 많이 있습니다. 그리고 정렬만큼 복잡한 것도 없는 것 같습니다. 이제까지 사실 정렬이 나오면 그냥 sort 내장 함수를 적극적으로 활용하고, 그 원리에 대해서는 생각을 잘 하지 않았습니다. 그런데 결국 알아야 하긴 하니까.. 이해해야하긴 하니까.. 그리고 백준에서 정렬문제를 풀고 있어서 계속 정렬로 어떻게 하면 사람들을 괴롭힐지에 대한 문제만 나오니까.. 했지만 그래도 sort로 버티고 있었는데 결국 sort에 대해서 이해해야 하는 날이 오고 말았습니다. 1. 기본적인 sort 방법 가장 기본적인 sort의 방법은 Array의 모든 요소들을 비교해서 순서대로 정렬하는 방법입니다. 말 그대로 순차적으로 모든 요소를 하나하나 비교하게 되죠. 먼저 코드를 볼게요. impor..

IT Tech/Java 2024.01.02

Vue.js에서 버튼 생성하기

Vue.js 3에서 버튼은 어떻게 만들까요? 사실 버튼을 만드는 것은 정말 쉽죠. 그냥 버튼 태그만 붙이면 되니까요. 그럼 버튼을 만들 수 있습니다. 버튼을 만드는 것을 모른다면 아마 이 글을 읽을게 아니라 HTML 기본서를 읽고 있어야하겠죠. 맞아요. 사실 이 글을 쓸 필요가 없을지도 모르겠습니다. 그런데 매일매일 포스팅하리라고 마음 먹었지만, 어느새 저장해놓은 글이 다 사라지고 지금 작성하지 않으면 오늘 업로드할 포스트가 없어서 어쩔 수 없이 버튼 만드는 방법이라도 글을 써야할 것 같습니다. 그래서 이번 포스팅에서는 버튼을 생성하고, 그 버튼을 원하는 스타일로 변경시켜가는 것을 세세하게 해보도록 하겠습니다. 그냥 quasar 프레임워크나 bootstrap 프레임워크를 통해서 해도 되는데 왠지 그러면 ..

IT Tech/vue.js 2023.12.29

워드프레스에서 커스텀 스킨에 style.css 적용하는 법

워드프레스를 설치하고 커스텀 테마를 적용하고 조금씩 바꿔가고 있습니다. 저만의 워드프레스 블로그를 만들기 위해서죠. 사실 그냥 아예 처음부터 만들려고 했었는데 여러가지 구글 SEO 플러그인도 그렇고 일단은 워드프레스로 시작하는게 좋겠다 싶어서 익숙하지 않은 PHP 프로그램이지만 워드프레스로 블로그를 만들고 있습니다. 그렇게 만들고 있었더니 처음에 저에게 다가온 문제는 바로 style.css 파일의 적용이었습니다. header.php에 그냥 link를 걸면 되지 않을까 해서 링크글 걸었어요. 그런데 안걸리네요.. 도대체 무엇이 문제일까 생각해봤지만 찾기가 많이 힘들었어요. 그래도 결국 찾아냈습니다. 이건 php프로그램이고 wordpress의 프로그램입니다. 결국 wordPress가 만든 방식으로 해야하죠...

IT Tech/wordpress 2023.12.28

[Linux] Ubuntu에 MySQL 설치하기

Ubuntu에 MySQL을 설치해보도록 하겠습니다. Linux의 한 종류인 Ubuntu는 서버로 많이 이용하기 때문에 shell을 이용하여 원격으로 접속하는 경우가 많은 OS입니다. 그렇기 때문에 원격으로 접속해서 Ubuntu서버에 DataBase의 한 종류인 MySQL을 설치해보도록 하겠습니다. 서버에 접속하기 가장 먼저 해야할 일은 설치해야 할 서버에 접속하는 것 입니다. 먼저 사용하는 로컬의 OS에 따라 터미널이나 putty 등 shell을 열고, 다음 명령어를 통해서 서버에 접속합니다. ssh -i ssh키_로컬_경로 서버_유저_이름@서버_아이피_주소 ssh 명령어를 통해서 서버에 접속해주고, 서버에 접속되면 sudo -i 명령어를 통해서 관리자 권한을 획득합니다. 패키지 목록 업데이트 그 다음 ..

IT Tech/linux 2023.12.27

[Ubuntu] 서버에 로컬에서 쉘(Shell)으로 파일 전송하기

서버로 파일을 전송하는 것은 다양한 방법이 있습니다. FileZila 같은 프로그램의 도움을 받는 것도 한 방법이죠. 하지만 그냥 shell에 명령어만 쳐서 로컬에 있는 파일을 보내는 방법도 있습니다. 이번에 다룰 것은 그 방법입니다. scp라는 명령어인데요. scp에 대해서 조금 더 알아보고 시작하기로 합시다. SCP 란 무엇인가 'SCP'는 Secure Copy라는 이름을 가졌는데요. SSH 프로토콜을 사용하여 네트워크를 통해 파일을 안전하게 복사하는 명령어입니다. 'SCP' 는 리눅스 및 유닉스 시스템에서 널리 사용되며, 파일을 암호화하여 전송하기 때문에 보안성이 뛰어납니다. SCP의 기본 사용법 파일을 원격 서버로 복사하기 : scp [옵션] 로컬_파일_경로 사용자명@원격_서버_주소:원격\경로 예..

IT Tech/linux 2023.12.27
728x90
반응형