일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바
- 서평
- 독서
- 자바스크립트
- 알고리즘 공부
- 경제
- 채권
- 책알남
- 화장품
- C++
- 돈
- 백준알고리즘
- C
- 책을알려주는남자
- 주식
- Java
- 재테크
- 독후감
- 투자
- 프로그래밍언어
- algorithmtraining
- 알고리즘트레이닝
- algorithmTest
- 성분
- algorithmStudy
- 다독
- JavaScript
- 지혜를가진흑곰
- 프로그래머스 알고리즘 공부
- 알고리즘공부
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/프로그래밍 및 컴퓨터 개론 이론 (42)
탁월함은 어떻게 나오는가?
메모리에 대한 이야기를 하다가 흔히들 이야기를 하는 힙(Heap)과 스택(Stack)에 대한 정확한 정의를 하기 어려워서 찾아보게 되었다. 힙과 스택에 대한 이야기를 하기 전에, 힙과 스택을 사용하려면 메모리 구조에 대해서 먼저 알아보자. 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지가 있다. 위의 사진은 C++ 동적 메모리에 대한 사진이지만, 메모리구조는 컴퓨터 공학에서 가져오는 이론이기에 C, C++, Java 상관이 없다. 4 major ..
reducer란 현재 state와 action객체를 파라미터로 받아와서 새로운 state를 반환해주는 함수이다 reduer룰 -They should only calculate the new state value based on the state and acton arguments 리듀서는 현재 state와 action 파라미터로 받아서 새로운 state를 반환한다. -They are not allowed to modify the existing state. Instead, they must make immutable updates, by copying the existing state and making changes to the coped values. 기존의 state를 수정할 수 없다. 대신 기존의..
블록체인은 데이터 분산 처리 기술이다. 블록체인의 정의 블록체인은 비즈니스 네트워크에서 트랜잭션을 기록하고 자산을 추적하는 프로세스를 효율화하는 불변의 공유 원장이다. 자산은 유형 자산(주택, 자동차, 현금, 토지) 또는 무형 자산(지적 재산권, 특허, 저작권, 브랜드)일 수 있다. 사실상 가치를 지닌 모든 것들이 블록체인 네트워크 상에서 추적되고 거래됨으로써, 연루된 모든 것들에 대한 리스크를 줄이고 비용을 절감 할 수 있게된다. 블록체인의 중요성 비즈니스는 정보를 기반으로 실행된다. 보다 빨리 받을수록 이는 보다 정확하고 보다 우수하다. 오직 인가된 네트워크 멤버만이 접근할 수 있는 불변의 원장에 저장된, 즉각적이고 공유되며 완벽히 투명한 정보를 제공하므로, 블록 체인은 정보를 전달하는 데 있어 매우..
redux-saga란? redux-thunk 다음으로 많이 사용되는 라이브러리이다. redux-thunk의 경우엔 함수를 디스패치를 할 수 있게 해주는 미들웨어이다 redux-saga의 경우에는 액션을 모니터링하고 있다가, 특정 액션이 발생하면 이에 따라 특정 작업을 하는 방식을 사용한다. 특정작업이란, 특정 자바스크립트를 실행하는 것 일수도 있고, 다른 액션을 디스패치 하는 것 일수도 있고, 현재 상태를 불러오는 것 일수도 있다. redux-saga의 특징 1. 비동기 작업을 할 때 기존 요청을 취소 처리 할 수 있다. 2. 특정 액션이 발생했을 때 이에 따라 다른 액션이 디스패치되게끄 하거나, 자바스크립트 코드를 실행 할 수 있다. 3. 웹소켓을 사용하는 경우 Channel이라는 기능을 사용하여 더욱..
자바의 장점 - 객체지향형 프로그래밍 언어, 플랫폼 독립적, 이식성이 좋다. 라이브러리 지향성, 보안성, 멀티스레드, 가상머신, 바이트코드가 장점이다. Java 콜렉션의 대표 인터페이스는 무엇인가? 리스트(List) - 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. 구현클래스 : ArrayList, LinkedList, Stack, Vector 셋(Set) 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. 구현클래스 : HashSet, TreeSet 맵(Map) 키와 값의 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다. 오버로딩 오버라이딩이란? 오버로딩 : 메소드 이름은 같지만 매개 변수의 개수나 데이터 형식..
필자는 면접을 보고 왔다. 많은 질문과 이야기가 오고 갔지만, 그 중 한개는 JPA Repository를 사용하는 이유가 무엇인가? 라는 질문이 기억에 남아서 기록해둔다. 필자는 JPA Repository를 사용하는 이유를 "save 같이 제공해주는 기능들이 편리해서" 라고 답변을 했다. 실제로 편리하기 때문에 썼지만, 좀 더 구체적인 근거와 이유를 알고싶어졌다. JPARepository란? (jpa라 줄이겠다.) jpa는 인터페이스이다. jpa는 미리 검색 메소드를 정의 해 두는 것으로, 메소드를 호출하는 것만으로 스마트한 데이터 검색을 할 수 있게 되는 것이다. 덧붙혀서 말하자면, Etity에 있는 데이터를 조회하거나 저장과 변경 그리고 삭제를 할때 Spring JPA에서 제공하는 Repository..
인텔리제이에서 작업하다보면 Command line is too long 에러가 발생할 경우가 있다. 그럴경우에 2가지의 해결방법이 있다. 첫번째 해결방법: 프로젝트 폴더 > .idea > workspace.xml 으로 들어가서 Name이 PropertiesComponent인 태그 안에 property 한 줄 추가 하면된다. 추가내용: 두번째 해결방법: File > setting > Build, Execution, Deployment > Build Tools > Gradle 클릭해서 들어간다. Gradel projects 안의 Build and run 의 Build and run using : IntelliJ IDEA 변경 Run tests using : IntelliJ IDEA 한다. 베타존 : 네이버쇼..
MDN 에서는 구조분해 할당은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다. 라고 정의한다. 구조 분해 할당이 필요한 이유는 개발을 하다 보면 함수에 객체나 배열을 전달해야 하는 경우가 생긴다. 가끔은 객체나 배열에 저장된 데이터 전체가 아닌 일부가 필요한 경우가 생기는 것처럼 말이다. 이럴 때 객체나 배열으 ㄹ변수로 '분해'할 수 있게 해주는 문법이 구조 분해 할당(destructuring assignment) 을 사용하면 된다. 이 외에도 함수의 매개 변수가 많거나 기본값이 필요한 경우 등에서 구조 분해를 사용하기도 한다. 배열 분해 예제) 1 2 3 4 5 6 7 8 9 10 11 12 let arr = ["JungHyun", "Lee"] ..