일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- REACTJS
- Effective Java
- update
- migration
- MySQL
- JavaScript
- eslint
- Regular expression
- expire_logs_days
- Effective Java 3/e
- git
- npm
- REACT
- upgrade
- Webpack
- spring cloud
- java
- log4j2
- 정규표현식
- nodejs
- Express
- regex
- mysql 5.5
- 퀵소트
- Chunk
- log_bin
- Spring Batch
- spring
- current_date
- Node
- Today
- Total
목록전체 글 (166)
내 세상
아래의 예시는 MacOS에 OpenCV 3.4.2 버전을 설치하는 방법임. 이전 버전의 git history를 확인해야 하기 때문에 git clone을 진행함. git clone https://github.com/Homebrew/homebrew-core.git cd homebrew-core 위의 경로로 이동하여 아래의 명령어를 통해 commit id를 확인함. git --no-pager log --pretty=oneline -- Formula.opencv.rb | grep 3.4.2 아래의 결과를 확인할 수 있음. 664f1dfde0ac86efe5dde9b8e6aa358d61641d33 opencv: update 3.4.2 bottle. 06eae891074e0b879e742bf54560f89a11f18..
최근 몇 년 동안 REST(Representational State Transfer)가 전통적인 SOAP 기반의 웹 서비스에 대한 인기 있는 정보 중심의 대안으로 떠오르고 있음. SOAP는 전형적인 동작과 프로세싱에 집중하고 있으며, REST의 관심은 데이터 처리에 있음. REST의 기본 개념 REST에 접근할 때 자주하는 실수 중의 하나는 REST를 'URL을 이용하는 웹 서비스'라고 생각하는 것. 즉, REST를 SOAP과 같이 또 다른 RPC(Remote Procedure Call) 메커니즘으로 여긴다. → 사실상 거의 연관이 없음. But, REST는 SOAP의 수많은 XML 네임스페이스를 이용하지 않고 평범한 HTTP URL을 통해 호출됨. RPC - 서비스 지향적이고 액션과 동사에 초점을 맞춤..
11.1 스프링과 하이버네이트 통합 지연 로딩(lazy loading) : 우리가 필요로 하는 실제 데이터만 불러올 수 있음. 필요한 부분만 가져오는 것. 조기 인출(eager fetching) : 지연 로딩의 반대개념. 한 번의 쿼리로 전체 객체 구조를 가져올 수 있음. 캐스케이딩(cascading) : 테이블 변경 시 다른 테이블도 변경되어야 하는 경우가 있을 때 작동하는 것. → 객체 관계 매핑 (ORM: Object Relational Mapping) : 많은 양의 코드를 줄이고 개발 시간을 단축함. 스프링은 다수의 ORM 프레임 워크를 지원함 (Hibernate, iBATIS, Apache OJB, JDO, TopLink, JPA 등) 하이버네이트는 오픈 소스 퍼시스턴스 프레임워크 (+ cahc..

Web 기반 Appl.의 경우 state 관리, workflow, 검증은 매우 중요하게 고려되어야 할 사항이지만, HTTP protocol의 stateless 성격을 감안했을 때 쉽게 해결되지 않음. 스프링 Web FWK는 이런 문제들을 처리하는 데 도움을 줄 수 있도록 디자인되어있음. MVC 패턴을 기반으로 스프링 MVC는 스프링 FWK 자체와 긴밀한 연결없이 유연한 Web 기반 Appl.을 만드는 데 도움을 줌. Request, Dispatcher Servlet, Handler Mapping, Controller, View Resolver 등 DispatcherServlet 요청을 스프링 MVC Controller에 전달해 주는 것. (Controller는..
횡단 관심사(Cross-cutting concerns) 소프트웨어에서 로깅, 보안 트랜잭션 관리 같은 기능은 대부분의 애플리케이션에 공통적으로 나타나는 기능 DI - Appl. 객체 간 결합도를 낮추기 위함 AOP - 횡단 관심사와 이에 영향 받는 객체 간 결합도를 낮추기 위함 AOP (Aspect Object Programming) 기존 : 상속(inheritance), 위임(delegation)을 사용하여 공통 기능을 재사용함 → But, 상속은 객체의 정적 구조에 의존하므로 복잡하고 깨지기 쉬운 구조가 되기 십상 → 위임은 대상 객체에 대한 복잡한 호출로 인해 번거로움. 현재 : 횡단 관심사를 aspect라는 특별한 클래스로 모듈화함 첫 번째 장점 : 전체 코드 기반에 흩어져 있는 관심 사항이 하나..
스프링을 사용하는 Appl.에서는 각 객체가 자신의 일을 하기 위해 필요한 다른 객체를 직접 찾거나 생성할 필요가 없음. Container가 협업할 객체에 대한 reference를 주기 때문. 애플리케이션 객체 간의 이러한 연관관계 형성 작업이 바로 Dependecy Injection 개념의 핵심이며 보통 이를 wiring(와이어링)이라고 함. Wiring mechanism XML에서의 명시적 설정 Java에서의 명시적 설정 내재되어 있는 빈을 찾아 자동으로 wiring하기 자동으로 빈 와이어링하기 스프링은 두 가지 방법으로 auto wiring을 수행함. Component Scanning - Appl. context에서 생성되는 빈을 자동으로 발견함 Auto Wiring - 자동으로 빈 의존성을 충족시..
스프링 프레임워크 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크 Spring, 스프링 J2EE 애플리케이션 개발을 위한 책의 예제를 작성하면서 사용했던 프레임워크들을 발전시켜 지금에 이름. 자바 엔터프라이즈 개발을 편하게 해 주는 오픈 소스 경량급 애플리케이션 프레임 워크 “JEE 애플리케이션 개발을 더 쉽게 만들겠다.”는 대단히 명확한 목적으로 만들어짐 자바 복잡도 간소화를 지원하기 위한 스프링의 네 가지 주요 전략 POJO를 이용한 lightweight하고, non-invasive한 개발 Non-invasive : 바탕이 되는 기술을 사용하는 클래스, 인터페이스, API 등을 코드에 직접 나타내지 않는 방법. 복잡함을 분리할 수 있음. DI와 Interface Orientation을 통한 lo..

https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html JPA(Java Persistent API) Java ORM 기술에 대한 API 표준 명세 ORM을 사용하기 위한 Interface를 모아둔 것. To use JPA → Hibernate, EclipseLink, DataNucleus 같은 ORM FWK를 사용해야 함. ORM(Object Relational Mapping) Object와 DB Table이 Mapping을 이루는 것. → Object가 Table이 되도록. Query문이 아닌 직관적인 코드(Method)로 데이터를 조작할 수 있음. → query 작성 시간 ↓ → 생산성 ↑ But, 복잡한 qu..
BeanFactory - The BeanFactory interface provides an advanced configuration mechanism capable of managing any type of object. - The BeanFactory provides the configuration framework and basic functionality. ApplicationContext - ApplicationContext is a sub-interface of BeanFactory. It adds easier integration with Spring’s AOP features; message resource handling (for use in internationalization), ev..
[MariaDB] sudo apt-get purge mariadb-server sudo apt-get purge mariadb-common [공용작업] sudo rm -rf /var/log/mysql sudo rm -rf /var/log/mysql.* sudo rm -rf /var/lib/mysql sudo rm -rf /etc/mysql 출처: http://elfinlas.tistory.com/367 [MHLab Blog]
1234567for i in `find build*.txt`do Before=`basename -s ".txt" $i` suffix="_utf8.txt" After="$Before$suffix" iconv -c -f euc-kr -t utf-8 $i > $AfterdoneColored by Color Scriptercs
파일 내용 검색하기 (GREP) - grep -r 'fine_tune_checkpoint' ./* - 현재 path 및 하위 디렉토리 내 파일 중 "fine_tune_checkpoint"라는 글자를 찾는 명령. 특정 파일 찾아 삭제하기 (FIND) - find . -name 'events.out.tfevents*' -exec rm -rf {} \; - 현재 path 및 하위 디렉토리 내에서 "events.out.tfevents"로 시작하는 이름의 파일을 찾아 삭제하는 명령.

16년식 51,500km를 타며 거친 엔진오일들 입니다 ! 18인치 타이어, 프레스티지 등급이며 춥거나 더울 때 히터를 아끼지 않습니다 ! 일반 도로 기준 최대 속도 + 5km/h로 이동하며, 브레이크는 가능한 밟지 않습니다. 무조건 암스가 최강입니다...................!!!!!!!!!!! 2020-09-01 기술적인 부분은 모르고, 여러 어플을 통해서 확인한 연비와 개인적인 느낌만 내서 적어봄. 현대모비스 순정오일 0W20 추우나, 더우나 연비가 너무 낮게 나옴. 고속 주행 시, 달그락 거리는 현상이 자주 있었음. 개인적으로 비가 올 때 연비가 최악으로 기록됨. 가격이 싸다고는 하나, 오토큐에서 호갱을 자주 당해서 정이 떨어져버림... 추천지수 : 4/10점 평균연비 : 15~17km/L..

https://namu.wiki/w/Deadlock Deadlock, 교착상태 - 다중 쓰레드 프로그래밍의 주요 난점 중 하나 - Example) - 시스템 파일이나 다른 프로그램이 공유하는 파일을 건드리기 쉬운 프로그램 설치 과정 - "프로그램을 설치할 때는 가능하면 다른 프로그램은 모두 꺼주세요"라는 말이 나오는 이유. - 차량/항공기 전장 운영체제의 경우, deadlock 발생 시 시스템이 뻗을 경우 대형참사 - 휴대폰 정지 → 인터넷을 통한 복구 → 휴대폰 인증 요구 발생 조건 1. Mutual Exclusion - 자원 자체를 동시에 쓸 수 없는 경우 2. Hold and Wait - 자원을 붙잡은 상태에서 다른 자원을 기다리고 있는 경우 3. No Preemption - 다른 프로세스가 자원을..

Semaphore (세마포어) - Mutex의 상위 호환 - 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것 - 운영체제의 리소스를 경쟁적으로 사용하는 다중 프로세스에서 행동을 조정하거나 또는 동기화 시키는 기술 - 운영체제 또는 커널의 한 지정된 저장장치 내 값으로 각 프로세스는 이를 확인하고 변경할 수 있음. - 소유 불가. Semaphore를 소유하지 않는 쓰레드가 Semaphore를 해제할 수 있음 - 시스템 범위에 걸쳐있고, 파일시스템상의 파일 형태로 존재함. Mutex (Mutual Exclusion, 뮤텍스, 상호배제) - Binary Semaphore - 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것 - Critical Section을 가진 쓰레드들의 Runni..
MST (Minimum Spanning Tree) - https://sga8.tistory.com/32 [Data Structure] Graph, etc Graph는 기본적인 형태이다. 방향의 여부, 가중치의 여부, 연결의 여부, 순환의 여부 등에 따라서 이름이 변경되고 결정된다. 예를 들어, Minimum Spanning Tree의 의미를 하나씩 분석해보자. Tree? 순환(Cycle)이.. sga8.tistory.com Kruskal Algorithm (간선 위주의 알고리즘) - Greedy Method - 과정 1. 그래프의 간선들을 가중치의 오름차순으로 정렬한다. 2. 정렬된 간선 리스트에서 가장 낮은 가중치를 선택한다. 3. 사이클이 형성된다면, 해당 간선을 제외하고 2번 과정을 다시 진행한다...