일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 커스텀상태
- 글또
- Compose
- kotlin강좌
- 회고
- android
- Gradle
- theming
- 디자인패턴
- 안드로이드스튜디오
- Rxjava
- ReactiveProgramming
- Coroutine
- 자바
- 코루틴
- g 단위테스트
- mockito
- 병렬프로그래밍
- 안드로이드강좌
- 병럴프로그래밍
- 알고리즘
- 책
- 테스트
- Kotlin
- 알게되는
- viewmodel
- 안드로이드
- k8s
- 코틀린
- 스레드
- Today
- Total
목록전체 글 (154)
선생님, 개발을 잘하고 싶어요.
# 함수 제어자 복슥 - 접근 제어자 (visibility modifier) - private : 컨트랙트 내부의 다른 함수들에서만 호출 - internal : 해당 컨트랙트를 상속하는 컨트랙트에서도 호출 가능 - external : 컨트랙트 외부에서만 호출 - public : 내외부 모두에서 호출 - 상태 제어자 (state modifier) - view : 어떤 데이터도 저장 / 변경되지 않음 - pure : 블록체인에 어떤 데이터도 읽지 않음 -> 컨트랙트 외부에서 불렸을 때 가스를 소모하지 않는다. - 제어자 (modifier) payable - 이더를 받을 수 있는 함수 유형 - payable로 표시되지 않은 함수에 이더를 보내려 한다면 거부 - (0.001 ether) 컨트랙트 잔고
컨트랙트를 배포하고 나면 변하지 않는다. (수정과 업데이트가 불가능)배포한 최초의 코드는 블록체인에 영구적으로 존재따라서 DApp의 일부를 수정할 수 있도록 함수를 만드는 것이 합리적 컨트랙트를 소유 가능하게 만드는 것 생성자 : function Ownable()함수 제어자 : modifier onlyOnwer() - 다른 함수들에 대한 접근을 제어자 - 함수 실행 전의 요구사항 충족 여부를 확인 - 오직 컨트랙트의 소유자만 해당 함수를 실행할 수 있도록 제한 가능 - 제어 하는 함수를 실항하기전에 함수 제어자 실행 - _; 부분에 제어 하는 함수 실행 - require 체크? 가스 - DApp의 함수를 실행할 때마다 "가스"라고 불리는 화폐를 지불 - 이더를 이용해 가스를 구매 - 각각의 연산에 소모되..
mdi를 만드려고 하는데 자식이 되는 Form을 사용자가 임의로 종료하면 안되는 프로그램 제작해야하는 상황이였다. 우측 상단의 x버튼을 누르면 창이 꺼지는데 이 부분을 숨기는게 없더라검색을 해보니 숨길수는 없고 감출수는 있다고 한다. 빨간 네모 위치의 x 버튼을 비활성화 시키고 싶었다. 비활성화 시키고 싶은 자식폼에 해당 코드를 붙여넣기 하였다. x가 가려지지는 않았지만 비활성화 되어 사용자가 임의로 종료 불가능 하게 만들었다.
Form은 Controls.Add가 동작하지 않아 폼을 폼에 추가할수 없었다.Controls에 추가가 안되는 이유가 Form은 항상 TopLevel이 true로 설정되어 있기 때문인데 해당 부분을 바꿔주면 Designer.cs 코드를 바꿔서 폼을 추가할수 있다. 메인폼에 차일드폼을 추가하는 코드 빨간 박스에 해당하는 코드를 입력하면 메인폼 디자인 모드에서 차일드폼을 컨트롤 할 수 있다. 차일드폼을 조작하고, 속성값을 변경할 수 있다. 이제 편하게 디자인 패널에서 폼을 조작하며 작업하면 된다! 개꿀!
주소(address) - 이더리움 블록체인은 계정들로 이루어져 있다. - 계정은 이더리움 블록체인상의 통화인 "이더"의 잔액을 가진다. - 계정을 통해 다른 계정과 "이더"를 주고 받을 수 있다. - 계정은 "주소(address)"를 가지고 있다. (ex 0x0cE446255506E92DF41614C46F1d6df9Cc969183) - 주소는 특정 유저(혹은 스마트 컨트랙트)가 소유한다. 매핑(mapping) - 솔리디티에서 구조화된 데이터를 저장하는 방법 - 키-값 저장소 - mapping (address => uint) Name -> key : address , value : uint msg.sender - 모든 함수에서 이용 가능한 특정 전역 변수중 하나 - 함수를 호출한 사람(혹은 스마트 컨트랙트..
참고 강좌 : https://cryptozombies.io/ko/ 좀비 데이터베이스좀비를 생성하는 함수각 좀비는 랜덤하고 독특한 외모 -> 좀비 DNA(16자리 정수)로 결정 컨트랙트 - 이더리움 어플리케이션의 기본적인 구성 요소 - 변수와 함수는 어느 한 컨트랙트에 포함 - 프로젝트의 시작 지점 - contract Name {} version pragma - 코드가 이용하는 솔리디티 버전을 선언 - 새로운 컴파일러 버전이 나와도 기존코드 운용 가능성 - pragma solidity 상태 변수 - 컨트랙트 저장소에 영구적으로 저장 - 이더리움 블록체인에 기록 - 데이터베이스에 데이터를 쓰는 것과 동일 - uint는 uint256 과 동일 - string은 UTF-8 데이터 배열 - 정적 배열 (uint[..
TableLayoutPanel에서 해당 Col과 Row에 해당하는 Control의 사이즈를 제한해야 하는 일이 있었다. GetControlFromPosition(int col, int row) 라는 함수가 있어서 원하는 동작을 할줄 알았는데 레이아웃 제한 크기를 반환하는 것이 아니라, 해당 레이아웃에 놓인 Control을 반환하는 함수더라. 검색력의 부족인지 잘 안찾아저서 직접 만들었다. 아래 함수는 SizeType이 Absolute와 Percent만 있다고 가정한 상태에서 레이아웃 제한 크기? 의 픽셀 사이즈를 반환하는 함수이다. // Percent와 Absolute 인 row, col로 구성되어있다고 가정 private Size GetActualPixelSize(TableLayoutPanel pane..