본문 바로가기

분류 전체보기

(308)
React, Vue를 구현하면서 어렵고, 지금도 어려운점 회고 개인적으로 React든 vue든 뭐가 됬든 HTTP 비동기 통신을 하는 과정에서 여러 HTTP통신이 섞이면서 내가 원하는 타이밍에 랜더링이 되지 않을 때 그리고 그러한 타이밍을 고치려고할 대 어려움을 느꼈다. 또는 어떤 모종의 과정에서 데이터가 씹혀서 나오지 않을 때, 아무리 봐도 로직적으로 나와야하는데 나오지 않아서 어떤 추가적인 코드를 첨부해야할 때 구현에 있어서 많은 시간이 소모 됬고, 어려움을 느꼈다. 현재는 이러한 어려움이 닥쳤을 때 쉽게 해결할 노하우가 없기 때문에 그런 상황이 올까봐 두렵기만 하다.
커링 함수 커링(Currying)은 함수를 여러 인자를 받는 일련의 함수들로 변환하는 프로그래밍 기법입니다. 커링을 사용하는 이유는 여러 가지가 있습니다: // 주어진 함수 function sum(a, b, c) { return a + b + c; } // 커링 함수 정의 function curry(func, ...zeroth) { return function(...wunth) { return func(...zeroth, ...wunth); }; } // 커링 함수를 사용하여 부분적으로 값을 지정한 함수 생성 const curriedSum = curry(sum, 1); // 커링된 함수 호출 const result = curriedSum(2, 3); console.log(result); // 6 해당 커링 함수를 ..
git 작업을 이전으로 되돌리는 방법들 내 소스 / 리포지토리가 git pull을 수행하기 전의 이전 상태가되도록 git pull을 되돌 리거나 실행 취소하는 방법이 있습니다. git pull 취소하고 되돌리기 git reset --hard git merge 취소하고 되돌리기 git reset --merge ORIG_HEAD git commit 취소하고 되돌리기 git reset --hard HEAD git add 취소하고 되돌리기 git reset HEAD 주의 이 섹션에 나열된 명령은 커밋되지 않은 모든 변경 사항을 제거하여 잠재적으로 작업 손실을 초래할 수 있습니다
Git : 여러 프로젝트들 모음에서 새로운 프로젝트 추가 시 문제 해결 방법 [상황 설명] 저장소에 프로젝트를 모아놓고 작업을 하다보면 가끔 새로운 컴퓨터에서 새로운 프로젝트를 추가하고 git push를 하고 싶은 상황이 온다. 그러면 기존의 저장소에 여러 프로젝트들을 pull 땡기고, 거기다 내가 지금 작업한 프로젝트를 푸쉬하면 될거라고들 생각한다. 하지만 전혀 다른 컴퓨터에서 작업을 한거기 때문에 git은 이 프로젝트는 기존의 프로젝트랑 상관이 없는 거라 판단 거부한다. 이럴때 강제로 pull/ push 하는 방법을 알아보자! (pull 땡길 때 문제 상황) PS C:\Users\USER\ass> git pull origin main remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done..
display: flex 에서 float: left, right가 먹히지 않을 때 You can't use float inside flex container and the reason is that float property does not apply to flex-level boxes as you can see here Fiddle. So if you want to position child element to right of parent element you can use margin-left: auto but now child element will also push other div to the right as you can see here Fiddle. What you can do now is change order of elements and set (order: 2) on..
스프링 어노테이션 정리 (@Data, @NoArgsConstructor, @AllArgsConstuctor) `@Data`, `@NoArgsConstructor`, `@AllArgsConstructor`는 스프링 프레임워크와는 직접적으로 관련이 없는 어노테이션들이며, Lombok 라이브러리에 속한 어노테이션입니다. Lombok은 자바 코드에서 반복적으로 작성해야 하는 뼈대 코드(boilerplate code)를 줄이기 위해 사용되는 프로젝트입니다. 각 어노테이션은 다음과 같은 역할을 합니다: 1. `@Data`: `@Data` 어노테이션은 자바 빈(JavaBean) 규칙에 따른 메서드들을 생성해주는 어노테이션입니다. 주로 데이터 객체(data object) 클래스에서 사용되며, 클래스 내의 필드(멤버 변수)들을 자동으로 게터(Getter), 세터(Setter), `toString()`, `equals()`, `..
스프링 용어 및 짤개념 정리 - 1 * 클래스 패스: java 애플리케이션에서 클래스파일과 리소스 파일을 찾는 경로 (포함 범위) C:\USERS\{username}\{projectName} │ ├─src │ ├─main │ │ ├─java │ │ └─resources │ └─test │ ├─java │ └─resources │ ├─target │ ├─classes │ └─test-classes │ ├─lib │ ├─dependency1.jar │ └─dependency2.jar │ └─other-resources * application.properites 설정 목록 ㅇ spring.datasource.driverClassName = org.mariadb.jdbc.Driver: 이 설정은 데이터베이스 연결에 사용할 JDBC 드라이버 클래..
Mybatis 동작 예시 및 원리 - 개념 정리 ✅ 간단한 동작 예시 라이브러리 추가 (Dependency) Mybatis와 사용하고자하는 DB 클라이언트 (Mysql, Oracle, MariaDB 등) Config 파일에 접속정보(DataSource) 설정 매퍼 인터페이스를 생성한다. 위의 인터페이스 경로로 namespace를 가지는 xml 파일 생성 xml 파일에 CRUD 쿼리를 작성한다. 매퍼 인터페이스에 5번에 작성한 메소드를 매핑시킨다. (인터페이스 메소드명과 쿼리 ID는 동일하게 맞춰야함) 서비스 로직에서 매퍼 인터페이스를 주입 받아서 특정 쿼리 메소드를 사용한다. - 상세 설명- 1. 라이브러리 추가 (Dependency): Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 MyBatis 라이브러리를 프로젝트에 추가합니다. ..

728x90