일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 프로젝트
- SQL
- 리눅스
- 프로젝트
- gradle
- auto configure
- 파이썬 소스
- 유사코드
- 오라클 디비
- 자바
- 초대장
- dynamic query
- resilience4j
- 알고리즘
- MongoDB
- hyperledger
- 오라클
- smart cast
- JVM
- spring
- K6
- 백준 알고리즘
- 문법 정리
- 파이썬
- c#
- jsp
- 티스토리
- 운영체제
- 학점
- oracle
- Today
- Total
목록3학년 (32)
모종닷컴
알고리즘 설계 패러다임이란 주어진 문제를 해결하기 위해 알고리즘이 채택한 전략이나 관점을 말한다. 무식하게 풀기'무식하게 푼다'라는 말은 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미한다. 이렇게 가능한 방법을 전부 만들어 보는 알고리즘들을 가리켜 흔히 "완전 탐색"이라고 한다. 재귀 호출과 완전 탐색재귀 호출(=재귀 함수)이란 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수를 말한다. 재귀 함수에는 '더 이상 쪼개지지 않는' 최소한의 작업에 도달했을 때 답을 곧장 반환하는 조건문(='거저 사례')을 포함해야 한다.ex) if(n==1) return 1; 재귀 호출은 기존에 ..
알고리즘이 존재가능한 모든 입력에 대해 정확하게 동작한다는 사실을 증명할 수 없다. 따라서 알고리즘의 정확한 증명은 각종 수학적인 기법을 기반으로 되야한다. 수학적 귀납법과 반복문 불변식 수학적 귀납법은 반복적인 구조를 갖는 명제들을 증명하는 데 유용하게 사용되는 증명 기법. 귀납법은 크게 3가지로 나뉜다.단계 나누기 = 증명하고 싶은 사실을 여러 단계로 나눈다. 첫 단계 증명 = 첫 단계에서 증명하고 싶은 내용이 성립함을 보인다. 귀납 증명 = 첫 단계에서 증명하고 싶은 내용이 성립하면, 다음 단계에서도 성립함을 보인다. 알고리즘은 어떠한 형태로든 반복적인 요소를 가지고 있기 때문에, 귀납법은 알고리즘의 정당성을 증명할 때 가장 유용하게 사용되는 기법. 반복문 불변식 = 반복문의 내용이 한 번 실행될 ..
1.비슷한 문제를 풀어본 적이 있던가? 형태가 비슷하거나 관련된 문제를 풀어 본 적이 있다면 이전에 적용했던 방법과 비슷한 접근 방법을 사용할 거라고 예측할 수 있다. 따라서 기존에 접했던 문제가 온전히 경험이 되기 위해 그 원리를 완전히 이해하고 변형할 수 있어야 한다. 2. 단순한 방법에서 시작할 수 있을까? 비슷한 문제를 본 적이 없거나, 비슷한 문제의 해법이 곧장 적용되지 않는다면 "무식하게 풀 수 있을까?"라는 질문으로 시작한다. 이렇게 만든 단순한 알고리즘에 효율적인 자료 구조를 사용하거나, 계산 과정에서 같은 정보를 두 번 중복으로 계산하지 않는 등의 최적화를 적용해서 충분히 빨라질 때까지 알고리즘을 개선하는 식으로 문제를 풀 수 있다. 3. 내가 문제를 푸는 과정을 수식화할 수 있을까? 손..
프로젝트 막판에 Hyperledger fabric과 웹 서버의 연동을 위해 fabric-jdk-java 를 사용하는데 이 때부터 로그가 이상하게 찍히기 시작하였다. 이런식으로 로그가 뜨다가 말았는데, 왼쪽에 보면 이미 실행되었다는 것을 알 수 있고, 위에서는 로그와 관련하여 warning이 발생하였다. 내용이 무엇인가 로그와 관련해서 무엇인가 찾을 수 없다는 것 같다고 해서, Hyperldger 쪽에서 뭔가 로그와 관련된게 같이 붙은것 같다 생각하였다. 요놈이 의심이 가서 gradle에서 compile을 할 떄 다음과 같이 이부분을 제외 시켜보았다. 일단 잘 제외된 것 같고 이를 실행시켜보자 으아아아아 잘된다 ㅠㅠ 이와 같이 잘되던 로그쪽에서 프로젝트에 무엇인가 붙인 후 제대로 작동하지 않는다면 다음과 ..
[출처 : https://hyperledger.github.io/composer/latest/tutorials/developer-tutorial] Step 1: 비즈니스 네트워크 구조 만들기 하이퍼레저 컴포저의 핵심 개념은 BND(Business network definition,비즈니스 네트워크 정의)입니다. BND는 데이터 모델, 트랜잭션 로직, 우리의 블록 체인 룰을 정의합니다. 쉽게 시작하는 방법은 Yeoman generator를 사용하여 비즈니스 네트워크 뼈대를 만드는 것입니다. Yeoman generator는 모든 비즈니스 네트워크의 구성을 포함하는 폴더를 만들것입니다. 1. yo hyperledger-composer:businessnetwork 2. 네트워크의 이름, 설명, 작성자 이름, 작..
*설치 전 준비사항 - 운영체제 : 우분투 14.04 LTS 64bit / 우분투 16.06 LTS 64bit 또는 Mac OS 10.12 - 도커 엔진 : v17.03 또는 그 이상버전 - 도커 컴포즈 : v1.8 또는 그 이상버전 - nodejs : v8.9 또는 그 이상버전 - npm : v5.x - git : v2.9.x 또는 그 이상 - 파이썬 : 2.7.x - 코드 에디터, 여기서는 VSCode를 추천한다고 합니다. (설치는 --> https://code.visualstudio.com/docs/setup/linux ) 우분투에 설치는 지원해주는 쉘 스크립트를 사용하시면 될 것 같습니다. 쉘 스크립트 실행하시기 전에 주의하실 점은 -일반 유저로 로그인-prerequisites할때는 curl을 사..
Flag parameter Type Explain -asOrg string parameter로 받은 조직 이름(Org name)으로 구성 생성을 수행하며, 해당 조직에 대해 설정할 권한이 있는 쓰기 집합의 값만 포함함 -channelID string configtx에서 사용한 채널 ID 기본값은 testchainid -inspectBlock string 지정된 경로에 있는 블록에 포함 된 구성을 인쇄 -inspectChannelCreateTx string 트랜잭션에 포함 된 구성을 지정된 경로에 인쇄 outputAnchorPeersUpdate string config update를 만들어 앵커 피어를 업데이트합니다(기본 채널 생성과 첫 번째 업데이트에만 적용) -outputBlock string gene..
genesis블록 구성을 위해서 기본으로 제공해주었던 configtx파일에 추가적으로 Oraganization에 Org3를 추가하고.. configtxgen으로 생성하려는데.. "~found character that cannnot start any token." 뭐지 왜 에러가 나는 것일까 아...오.. 기본적으로 파일 profile에서 제공하는 TwoOrgsOrdererGenesis헤더로 쭉 진행하고 후에 추가하는 방법도 있지만.. 이왕 하는 거 정확히 알고 넘어가고 싶어서 찾아봤다.. (*후에 추가하는 방법을 알고싶다면 --> 클릭) 역시 겁나 안나온다. hyperledger는 정보가 너무 없다 후우.. 그래도 갓스택오버플로우로 어찌어찌 비슷한 내용의 에러가 있어서 보다가 엄청난 걸 알게되었다. "..
hyperledger/fabric 빌드 중에 생긴 오류입니다. 열심히 구글링을 했지만 이런 오류를 다룬 글은 없는 것 같아 올립니다. "..pkcs11.go:26:18:fatal error:ltdl.h:No such file or directory" https://hyperledger-fabric.readthedocs.io/en/v1.1.0-alpha/dev-setup/devenv.html 에서 가장 아랫부분을 봐주시길 바랍니다. 영어를 워낙에 못하지만 대충 읽어보면 너희 libtool 그리고 libtdhl-dev 패키지가 인스톨 되었는지 확인하라고 합니다. 그렇지 않으면 너는 ltdl.h 헤더의 부재 에러를 겪을 수 있다고 합니다. 위에 에러가 무엇인지 드디어 찾았습니다 ㅠㅠ 위의 명령어를 통해 필요한..
솔직히 이해를 정확히 하고 푼 문제는 아니지만 책에 나와있는 공식이 제대로 되는 것 보고 그냥 구현만 해보았다. 맴찟 ㅠ package baekjoon; import java.util.Scanner; public class Exam2294 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k= sc.nextInt(); int[] coin = new int[n];//각 동전의 값 int[] num = new int[k+1];//최소값 for(int i=0;i