목록전체 글 (303)
처음부터 차근차근
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bj6u5u/btrAynlw38w/Vjev3e3z9KOK962azzG0p1/img.png)
레지스터 레지스터란 CPU 내부에 존재하는 다목적 저장 공간이다. CPU와 한 몸이기 때문에 고속으로 데이터를 처리할 수 있다. 레지스터의 종류 1. General Purpose Registers 범용 레지스터(32bit 짜리 8개) : 상수/주소 등을 저장할 때 주로 사용 범용레지스터 8개(중요) 레지스터 용도 EAX(Accumulator=축적자) 함수 리턴값 저장(산술연산에 사용) ECX(Counter) 반복 카운트 EDX(Data) 자료 보관용. EAX 의 보조 역할 EBX(Base) 자료 임시 보관용으로 사용 ESP(Stack Pointer) 스택의 top 주소 저장 push될 때마다 4씩 감소(-4) EBP(Base Pointer) 스택의 bottom 주소 저장 ESI(Source Index) ..
class Man{ var age : Int var weight : Double func display(){ print("나이=\(age), 몸무게=\(weight)") } init(age: Int , weight : Double){ self.age = age self.weight = weight } } class Student : Man {//비어있지만Man의 모든 것을 가지고 있음 } var kim : Man = Man(age:10, weight:20.5) kim.display() var lee : Student = Student(age:20,weight:65.2) lee.display() print(lee.age) //나이=10, 몸무게=20.5 //나이=20, 몸무게=65.2 //20 class ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpDwBR/btryk2r6puo/8KzlEUf4FXL2O6jmG9kek1/img.png)
cordova Apache 재단에서 지원하고 있는 하이브리드 앱을 제작하는 프레임워크이다. webview webview 앱 내에 웹 브라우저를 넣는 것이다. webview를 사용하면 앱 안에서 네이버나 구글같이 웹을 들어갈 수 있다. activity_main.xml Androidmanifest.xml MainActivity.java package com.induk.first; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; public class MainActivity extends AppCompatAc..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/r5smG/btrx6Y3dvcU/r5U85h3e0Op3WOaPYfDBKk/img.png)
맵 적용 방법 마인크래프트 서버를 열 때 맵을 적용하는 방법이다. 1. 원하는 맵을 다운받는다. 주의할 점 : 반드시 서버의 버전과 같은 맵을 다운받아야한다. 다른 버전을 깔면 오류나거나 호환이 잘 안될 수 있다. + 마인크래프트 맵 다운 받는 사이트 https://www.9minecraft.net/tag/minecraft-1-15-1-maps/ 2. 다운받은 맵의 압축을 풀고 서버 폴더 / world 안에다 복붙해준다. 다운받은 파일 압축을 풀고 안에 들어가보면 이미지와 같이 파일들이 있을 것이다. 이 파일들을 복사하고 서버폴더 / world 로 가서 기존의 파일들을 모두 삭제한 다음에 붙여넣기 한다. 3. playerdata라는 폴더를 삭제한다. 이 파일이 있으면 나중에 오류를 발생시킬 수 있기 때문..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9WSdD/btrx06meqnG/HPWPoKwFJXVXkXUzut5fnK/img.png)
patch 란 파일 혹은 실행중인 프로세스 메모리의 내용을 변경하는 작업이다. 문자열 버퍼 내용을 직접 수정하여 내용을 변경한다. 리버싱에서 패치의 목적은 패치 기술을 이용하여 기존 응용 프로그램의 버그를 수정하거나 새로운 기능을 추가하기 위함이다. 패치는 리버싱에서 매우 중요한 주제로, 리버싱의 꽃이라 할 수 있다. patch는 비유적으로 우리가 익히 알고 있는 패치, 스티커와 같다. 영역 하나의 구멍을 막아버리는 것, 위에 덮어버리는 것이라고 생각하면 편하다. 오늘은 2가지 종류의 패치를 공부했다. memory patch code patch Code Patch 현재 메모리 위치와 다른 메모리 영역을 대관하여 새로운 문자열을 생성하여 patch 패치 붙일 곳이 없어서 다른 곳에다 붙인 것 다른 곳에 붙..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUx6pi/btrxVHtw2so/DVOZ3BkX7mSk2Bm2IWNJq1/img.png)
for i in 1.. 5 { // 중요!! 에러 수정 과제: if 다음에는 반드시 괄호가 필요하다 break } print(i) } //결과 //1 //2 //3 //4 //5 func printName (firstName:String, lastName:String?){ // if let if let lName = lastName { // lastName이 nil이 아니면 print(lName,firstName) }else { print("성이 없네요!") } // guard let guard let lName = lastName else { // lastName이 nil이면 print("성이 없네요!") return // early exit } print(lName ,firstName) } print..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SbFau/btrxNYwyGYz/eYPGnSKS4tODJ3TTOScDh1/img.png)
// 사이의 공백 일정하지 않으면 에러남 var ksy_num = 10 print(ksy_num) // 결과 // 10 var num1 = 10 print(type(of:num1)) let num2 = MemoryLayout.size(ofValue:num1)//8 let integer_size = MemoryLayout.size print(num2, integer_size) //결과 //Int //8 8 var x:Int=10 print(x) print("x") print("\(x)") print("값은\(x)입니다.") print("Int32Min=\(Int32.min)Int32Max=\(Int32.max)") //결과 //10 //x //10 //값은10입니다. //Int32Min=-214748364..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bb2jYQ/btrxEEdTBOD/7IW51kOtTVtjqQ37kBgBj0/img.png)
뷰와 뷰그룹 뷰 버튼, 텍스트 필드, 체크 박스 같은 것들이다. View class를 상속받는다. 컨트롤 또는 위젯이라 불린다. 사용자 인터페이스를 구성하는 기초적인 블록이다. View 클래스는 모든 뷰들의 부모 클래스 뷰그룹 뷰들을 담는 컨테이너이다. ViewGroup class를 상속받는다. 레이아웃이라 불린다. UI를 작성하는 절차 뷰그룹을 생성한다. 필요한 뷰를 추가한다. 액티비티 화면으로 설정한다. id : 뷰의 식별자 UI 작성하는 방법 2가지 xml 사용 자바 코드 사용 되도록 자바 코드는 변경하지 않는다! 뷰의 크기 단위 px(pixels) : 픽셀. 화면의 실제 픽셀 장치마다 화면 밀도 달라서 되도록 권장하지 않음 dp(Density independent pixels) : 밀도 독립 픽셀..