INCLUDE Irvine32.inc.dataSystemPrompt1 BYTE "Enter the number you want!",0; 입력 받기위한 출력하기 위한 변수 선언SystemPrompt2 BYTE " * ",0; BYTE타입의 *의 형태로 출력하기 위함 example) 2 * 4 = ValueSystemPrompt3 BYTE " = ",0; BYTE 타입의 =의 형태로 출력하기 위함val1 DWORD 2; DWORD 타입의 var1 변수 value = 2 initval2 DWORD 1; DWROD 타입의 var2 변수 value = 1 initnum DWORD 0; DWORD 타입의 num 변수 value = non init .codemain PROC;prompt 입력mov edx, OFFSE..
안녕하세요, 감자코딩에 감자개발자입니다. 제가 학교에 다니면서 어셈블리어 중간고사 정리 2탄을 준비했습니다. 어셈블리어정수표기법 : [ {+|-} ] digits [진수(radix)](선택사항) 부호 : + or –binary, decimal, hexadecimal, or octal digits진수표기 문자h – 16진수(hexadecimal)d – 10진수(decimal)b – 2진수(binary)r – 실수 (encoded real) 예시30d, 6Ah, 42, 1101b문자로 시작되는 16진수 상수 : 0A5h어셈블리가 식별자로 해석하지 않도록 맨 앞에 0을 넣음 문자는 따옴표(quate) 또는 큰따옴표(double quate)로 둘러싸임예) 'A', "x"ASCII 문자열 = 1 byte 문자열 ..
안녕하세요, 감자코딩에 감자개발자입니다. 제가 학교에 다니면서 어셈블리어 중간고사 정리 1탄을 준비했습니다. 어셈블리어 이진수 일경우 맨앞이0인지 1인지 확인하고 1. 기본값앞이 1일경우에는 빼주고 reverse 해주면 된다.예) 1101 0111 (맨앞 1 음수)1101 01100010 1001 = > -412. 십진수가 음수일경우 맨앞이 0일때 reverse + 1 예) -270001 1011(맨앞 0 양수)1110 0100 1+1110 0101 reverse - or 게이트는 x,y둘중하나만 참이여도 T 나머지 Fand 게이트는 x,y 둘다 참이여야 T 나머지 F 레지스터는 임시 저장소다SRAM(Static) 속도가 더 빠르다.제어 장치(Control unit : CU) 는 기계 명령어를 실행하는데..
해킹 이란?- 국어 사전 : '남의 컴퓨터 시스템에 침입하여 장난이나 범죄를 저지르는 일'- 영어 사전 : '컴퓨터 조작 즐기기, 무엇이나 숙고하지 않고 실행하기'- 영영 사전 : '디자이너가 의도하지 않았던 방법으로 시스템의 특성이나 규칙을 이용한 창조적인 사용법을 찾는 것' 1950년대 이전- 1918년 폴란드 암호 보안 전문가들이 에니그마 개발- 에니그마는 평문 메시지 -> 암호화 메시지 전기/기계 장치- 은행에서 쓰기위해 개발-> 제 2차 세계대전에서 군사 통신 보안용 사용 앨런 튜링(이미테이션 게임 - 1950년대 이전)- 알란 튜링이 최초의 컴퓨터 콜로서스 개발- 영화 : 이미테이션 게임- 콜로 서스는 2400개의 진공관을 이용해 만들어짐. 높이 3m- 초당 5천자 종이테이프 -> 에니그마 암..
9/18 정보 보호 수업 사용자 ->(인증) 시스템 22번 포트가 열려져있는걸 일일이 확인할 필요없이 telnet에서 제공해준다.port , ip 주소 확인 할 수 있다. IP: ping OSI seven Layer 물 데 네 전 세 표 응 ARP IP ->MAC (2계층 프로토콜)RARP MAC -> IP tcp / udp 패킷 가는 과정에서 -> 헤더가 붙는데 이 과정을 인캡슐레이션이라고한다 TTL (time to live) - 데이터 유효 기간을 나타내기 위한 방법 흐름 제어 (Flow Control) ㅇ 송신측이 수신측의 처리속도 보다 더 빨리 데이타를 보내지 못하도록 제어해 주는 것 세그멘테이션 위반, 세그멘테이션 실패라고도 하며, 세그폴트(Segfault)로 줄여서 쓰기도 한다. 세그멘테이션 ..
9 / 21 Day 운영체제 주소 바인딩정의 : 논리적 주소라고 하며 실행되기 위해서는 물리적 주소로 사상되는것 특징 1. 컴파일 시간 바인딩(기계어로바꿀때)- 실행시 위치가바뀌면 다시컴파일해야 2. 적재 시간 바인딩(실행시)- 적재될 위치를 컴파일러가 알지 못하면 컴파일러는 일단 이진 코드를 재배치 가능 코드 3. 실행 시간 바인딩- 프로세스가 실행되는 동안에 기억장치에 의 한 세그먼트에서 다른 세그먼트로 옮겨질 경우에 주소 바인딩은 실행시간에 이루어져야 하며, 이를 실행시간 바인딩이라 한다. 절대 지정상대 지정 단일 사용자 연속 기억 장치 할당1. 오버레이 기법- 주기억장치보다 더 큰 프로그램의 실행이 가능2. 시스템보호- 중앙처리 장치내에 하나의 경계 레지스터를 이용- 운영체제에서 접근하려면 명령 ..
9월29일 어셈블리어offset 메모리주소word = 2bytedword = 4 byte c++char array[1000]char *pt = &array; edi,esi addresseax ebx value var DWORD 12345678hvar2 BYTE 12h,34h,56h,78h var 78 56 34 12 리틀엔디안은 뒤에서부터 읽는다var2 12 34 56 78 type = sizeof 배열의 바이트타입크기 SIZEOF , LENGTHOD배열의 크기(개수) add esi,TYPE DWORD 4만큼증가시킬때, inc 1바이트
WAS(Web Application Server)는 웹 컨테이너이다tomcat 아파치 는 웹서버 이다.결과 반환 해주는역할웹서버는 그렇다면 WAS만 쓰면 되지 어째서 웹서버를 따로 쓰느냐는 의문이 생길 수 있다. 그 이유는 목적이 다르기 때문이다. 웹 서버는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html파일과 같은 리소스를 제공하는 서버는 웹 서버를 통하면 WAS를 이용하는 것보다 빠르고 안정적이다(왜? 다른 글 소스로 써볼까?) WAS는 동적인 데이터를 처리하는 서버이다. DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에는 WAS를 활용 해야 한다
var express = require('express');var http = require('http');var app = express();app.set('port',process.env.PORT || 3000); 미들웨어는 중간 처리에서 가로채서 처리// use 는 미들 웨어 함수이다.app.use(function(req,res,next){console.log("first middle ware");// 200 은 정상응답//head를 보내겠다.res.writeHead(200, {Content-Type":text/html; charset=utf-8"res.end(" res result"); }); // MiddleWare 여러가지 사용해보기 next() 메소드는 그다음 미들웨어로응답을보낸다.app.u..
중간프로젝트 프로그래밍 실습(기사 검색) 1. 문자열탐색 프로그램naver -> html 파일 복사 한다(txt파일에 넣기) 2. 기사 부분 3. NAVER.html 이런식으로 저장한다 4. html 파일이 입력파일이다. (3개이상 수집하여 사용) 5. hysearch test.html 6. html 태그 모두 제거한 테스트 파일로 저장한다.(자동으로 태그 제거) strtok 이용 7. 출력파일은 test.txt 저장 8. 출력파일에서 문자열 입력해서 찾는다. strstream (스트링스트림)문장단위 , (쪼개서 있는것을 다 출력한다.) 고춧가루있는것 다 출력시킨다. 9. 새로운 파일을 열것인지 안열것인지 다른문자열 탐색하던지 어떻게 할것인지 확인 제출파일: 출력해서내는거 해결방법 소스코드주석 실행결과 ..
- Three Way-handshaking SYN ACKTCP hander - TCP 주요 기능1.흐름제어2. 혼잡제어라우팅쪽에서 흐름 밀리면,속도제어 TCP SEVEN LAYER - Dos VS DDOS(distributed) 공격자 -> 피해자 DDOS(여러명)DOS(단일) - 스머프 공격송신주소 조작(IP)해서 보낸다 목적지로목적지 주소 - Land공격 - 스푸핑 공격 - ARP 스푸핑 공격ARP 스푸핑은 MAC 주소를 속이는것 - 2계층 대표적 프로토콜 이더넷 - 스니핑 : 엿듣는것 동적 - 자동으로 생성 되는 Mapping정적 - 정해져 있는 Mapping - IP 스푸핑IP주소를 속이는것 - 트러스트 1. 유닉스 계열은 트러스트 인증법2. 윈도우 트러스트 X , 액티브 디렉터리 -ICMP 리다..
정수 상수정수 표기법: [+|-] digits [진수 (radix)]- 선택 사항 + or -- 진수 표기 문자h = 16(hex)d = 10(decimal)b = 2(binary)r = 실수(ecnoded read) 예시)- 30d, 6Ah, 42 , 1101b- 문자로 시작 되는 16진수 상수: 0A5Ah어셈블리가 식별자로 해석 하지 않도록 맨앞에 0을 넣는다. 예약어- 예약어는 식별자로 사용할 수 없음.- 예약어의 유형1. 명령어 니모닉: MOV, ADD,MUL2. 디렉티브: 프로그램을 어떻게 어셈블하는지 알려준다.3. 타입 속성 : 변수와 피연산장늬 크기와 사용정보- BYTE, WORD 4. 연산자 식별자 - 프로그래머가 선택한 이름- 변수, 상수, 프로시저, 코드레이블등에 사용- 변수 1-247..
액션바를 탭과 함께 보여주는 예제123- 액션바에 가지는기능이상당히많다.- 액션바 하단에 탭버튼을 붙일 수 있다.- 탭이 별도로 들어갈 수 있다.csExample_Tab 프로젝트 생성12345678910111213141516171. 탭구성할때는 프래그먼트를 사용하는것이 대부분이다. 2. 처음 프로젝트 만들면 style.xml에 보면 탭이 기본적으로 들어가 있는거를 볼 수 있다.(이탭을 우리가 별도로 바꿀 수 있다.) -> 우리는 NoActionBar로 지정한뒤에 직접 탭을 만들어 볼 것이다. 3. 이제 레이아웃에서 액션바를 직접 만들어 보자.(추가) 4. 외부 라이브 러리를 사용해야한다file-> project structure ( app 모듈-> dependencies -> +버튼 -> library ..
액션바와 탭 사용하기1액션바 자체가 상단에 있으면서 기능이 다양해 졌다. (툴바의 기능도 하고 있다)cs안드로이드 메뉴1234-[메뉴]버튼은 안드로이드가 아이폰과 다른 특징을 보여주는것들 중의 하나-메뉴 버튼을 누르면 숨어 있던 메뉴가 보이게 되는데, 이 메뉴를 어플리케이션에서 구현 할 때는 옵션 메뉴(Option Menu)라고 부른다.-옵션 메뉴를 비롯한 안드로이드에서 제공하는 메뉴는 크게 두 가지임. Colored by Color Scriptercs옵션 메뉴12341. 하드웨어 [메뉴] 버튼을 눌렀을 때 나타나는 메뉴로 각각의 화면마다 설정된 주요 메뉴 2. 옵션 메뉴는 최대 6개 까지의 메뉴 아이템을 포함 할 수 있으며, 그 이상의 메뉴 아이템을 추가하면 "more" 라는 메뉴 아이템으로 표시 된다..
프래그먼트 많이 쓰이는 이유1231. 각각의 프래그먼트를 독립적으로 사용해서 다른 액티비티에서도 똑같이 집어넣어 쓸 수 있으므로 매우 편리하다. 이때 인터페이스를 사용해서 다른 액티비티에도 넣을 수 있다. 2. 프래그먼트 엄청나게 많은것들이 있으나, 일일이 찾아 봐야 한다.Colored by Color ScriptercsExample_Fragment 프로젝트 생성 할것123456789101112131415161718192021221. 이미지 3개를 res-drawable 폴더에 넣어 놓을것 2. res -> layout -> new -> resource file -> fragment_list.xml 파일 생성 3. list.xml파일에 버튼을 3개 추가 할것이다. 4. fragment_viewer.xml..
프래그 먼트란(Fragment)?123- 액티비라는것 안에 부분화면이 만들어 지는경우가 있는데, 화면의 일부만 차지하는것을 말한다. 버튼같은경우도 하나의 위젯만 만들어 진다. 이것을 뷰처럼 아예 정의해서 사용하는경우가 있다. 부분화면을 뷰로 만들어서 집어 넣다보니까 만약에 화면이 여러개가 될경우에 화면각각에다가그 반복되는부분을 넣어야 되는 문제점이 생기게 된다. 태그를 계속 복사해야하는 복잡함이 발생하게 된다.액티비티는 독립적인 구성요소 이므로, 다른 기능이 아님에도 불구하고 계속 코드를 넣어줘야한다.Colored by Color Scriptercs부분적으로 잡아줘야하는것들을 독립적으로 동작할수 없을까? 하는 문제점을 제기하게 된다.123456789- 태블릿과 같이큰 화면에서는 한 화면에 여러 부분화면을..
버튼을 누르면 패널을 하나 만들어서 슬라이드 형식으로 만들어보자.페이지 슬라이딩이란?-12345 뷰의 중첩과 애니메이션을 접목한 방식 - 하나의 뷰 위에 다른 뷰를 올라가 있을 때 보이거나 보이지 않는 과정을 애니메이션으로 적용 - 이때 사용하는것이 Animation객체를 적용해서 왼쪽방향으로 translate 하거나 오른쪽 방향으로 translate 한다csExample_Sliding 프로젝트 생성1. 버튼 클릭시 새로운 슬라이드가 넘어가도록 해보자.2. FrameLayout 사용(안에 Linearlayout 사용)3. main.xml 파일 수정12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849..
간단 애니메이션 사용하기123451. 스레드 부분에서 또 살펴볼것이다. 2. 전형적인 애니메이션 사용 방식은 애니메이션 액션 정보를 XML로 정의 한후 사용 3. Animation 객체로 만든 후 뷰를 startAnimation() 메소드를 사용하면 간단하게 애니메이션 동작cs동작 과정11. xml 파일에서 미리 정의 한후 -> Animation 객체로 할당(loadAnimation()메소드) -> Animation 객체를 View객체로 할당 (startAnimation() 메소드)csExample_Animation 프로젝트 생성1. main.xml 수정 하기- 텍스트뷰 , 버튼 추가2. 오른쪽에서 왼쪽으로 애니메이션 동작되도록 할것이다.3. 애니메이션 동작 xml로 정의, 동작을 위한 app->res-..
프로그레스바 사용하기1234567891011121314151617181920211. 여러 가지 화면을 구성하고 그안에 다양한 위젯을 사용하는데 있어서 대화 상자처럼 중간 중간상태 정보를 보여주는 가장 좋은 방법중에 하나임 2. 최대 값을 설정하는 max , 현재 값을 설정하는 progress속성이 중요함 3. 막대 모양- 작업의 진행정도를 알려 줄수 있도록 막대 모양으로 표시함 - style 속성 값을 android:attr/progressBarStyleHorizontal 로 설정한다. 4. 원모양 - 작업이 진행중임을 알려줌-원 모양으로 된 프로그레스바가 반복적으로 표시됨. 5. 프로그레스바 사용 메소드 void setProgress(int progress)void inCrementProgressBy..
알림 대화 상자 만들기새로운 프로젝트 만들기 (Example_Dialog) 생성1. 버튼을 누르면 대화 상자 뜨도록 하기2. 버튼 이벤트 처리까지는매우 익숙해졌다.3. 대화 상자 띄우기 위한 메소드 생성및, 대화상자 이벤트 처리4. 스낵바 추가(라이브러리 추가하는것 이전장에 나와있음)5. 위치가 이상할때 연결선만 잘연결해주어도 된다.6. 최종 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566package com.example.example_dialog; import android.content.DialogInterface;impo..
토스트와 대화상자123451. 다양한 위젯 확인하기 2. 토스트 메시지에 알아보기 3. alert 알림대화상자는 어떻게 보여줄까cs토스트란?1간단한 메시지를 잠깐 보여주었다가 없어지는 뷰로 애플리케이션 위로 떠있는 뷰라 할 수 있음.cs토스트 변경 예제1. 프로젝트 생성Example_MyToast2. 입력상자 2개(좌표값 입력시 그위치에 뜨게 한다거나 이런 예제) , 버튼 하나 생성3. 버튼 클릭했을때 다른 좌표 보이게 하도록 하겠음.4. 버튼(토스트 띄우기 버튼 생성) 5. Main.Java 파일1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package com.ex..
단말 방향 전환123456781. 병렬 리소스 로딩 방식 사용 2. [res] 폴더 안에 [layout] 폴더와 [layout-land] 폴더 생성land 폴더는 안드로이드 자체에서 인식을 하는데일반적인 layout 폴더는 -> 일반적인 세로 파일layout-land 폴더는 -> 가로 파일 3. 단말 방향을 바꾸게 되면 메인 엑티비티를 종료해버리고 -> 다시 메인 액티비티를 생성해버린다.(여기서 데이터가 날라가는 현상이 발생되는데, 여기서 데이터를 어떻게 유지 할지를 생각해 봐야한다)csExample_Orientation 프로젝트 생성 (첫번 째 방법)1. 생명주기 처럼 onCreate에서 작동하는지 확인 해보자2. onDestory() , onStart() , onStop() , onResume(), ..
키 입력 이벤트 처리하기1234뷰를 상속할 때 키 이벤트 처리를 위한 메소드 재정의- boolean onKeyDown(int keyCode,KeyEvent event)- boolean onKey(View v, int keyCode, KeyEvent event) Colored by Color ScriptercsExample_Event 프로젝트로 이어서 실습 하겠습니다.1. main.java(시스템,핸드폰에 붙어져있는 키를 눌렀을 때 발생하는 이벤트처리)generate -> override -> onKeyDown 생성123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585..
화면을 좀더 다양하게 만들 수 있는 방법을 알고 싶다?1234567- 손가락 눌렀을 때 어떻게 처리하는지 안다.- 사용자에게 간단하게 알려주는 방법을 안다- 간단한 애니메이션을 넣는 방법을 알아본다.- 메뉴와 액션바 그리고 탭을 사용하는 방법을 알아본다.- 프래그먼트에 대해 알아본다- 화면에 웹브라우저를 포함시키는 방법- 입력상자를 터치 했을 때 뜨는 키패드 형태를 다르게 만들어 본다.cs대표적인 이벤트123451. 터치 이벤트 - 화면을 손가락으로 누를 때 발생하는 이벤트2. 키 이벤트 - 키패드나 하드웨어 버튼누를때 발생하는 이벤트3. 제스처 이벤트 - 테스트 이벤트중 일정 패턴을 만들어 내는 이벤트4. 포커스 - 뷰마다 순서대로 주어지는 포커스5. 화면 방향 변경 - 화면의 방향이 가로/세로로 바뀜..
일반 권한과 위험 권한123456781. 위험 권한은 실행시 권한 부여특정 권한은 메니페스트에 등록 2. 마쉬멜로우 버전부터 ~를 허용할까요? 라는식으로 위험 권한을 띄워준다. 3. 이 권한을 띄워주는것을 해보도록 하자. (마쉬멜로우 이후 부터)대표적인 위험 권한들- 위치 , 카메라, 마이크, 연락처, 전화 ,문자, 일정, 센서cs위험 권한 부여 예제)1.Main.Java파일에서 실습123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263package com.example.example_smsreceiver; import android.Manifest;..
브로드 캐스트 수신자는 애플리케이션 구성요소 이다.화면이 없는 서비스브로드 캐스팅되는 메시지를 받는것이 브로드 캐스트 수신자 라고 한다.과연 브로드 캐스트는 뭘 하는것일까?1234561. 애플리 케이션이 글로벌 이벤트를 받아서 처리하려면 브로드 케스트 수신자로 등록2. 글로벌 이벤트란? "전화가 왔습니다", "문자 메시지가 도착했습니다" 와 같이 안드로이드 시스템 전체에 보내지는 이벤트3. 브로드 캐스트 수신자는 인텐트 필터를 포함하며, 매니페스트 파일에 등록함으로써 인텐트를 받을 준비를 함.4. 수신자가 매니페스트 파일에 등록되었다면 따로 동작하지 않는다.5. 서비스 처럼 브로드 캐스트 수신자도 UI가 없다.6. 브로드 캐스트란? 여러 사람들에게 한꺼번에 데이터를 뿌려주는것이다.cs인텐트와 브로드 캐스..
Internet Programming struct item { int var; struct left struct right};Quick-> Linked struct{ } 이와 같이 태그 이름이 없는 경우 추후에 사용 할 수 없다.typedef struct node{}nodept; #System.type.hu_int32_t 부호 없는 정수 == charu_int8_t 동적 할당예시)struct rect * a;a = (*struct node) malloc(sizeof(struct rect)); 포인터 참조 일경우.의 형태가 아닌-> 형태로 써준다.a[0].pt이런식으로 오버로딩 / 오버라이딩 / 상속 typedef, #define C++ 스트림 C 에서 파일에다가 데이터를 쓰고 싶을때sprintf(File..
- Total
- Today
- Yesterday
- 백준알고리즘
- programming
- C langauge
- node
- db
- Algorigm
- C언어
- 노드
- 안드로이드
- 초보자를 위한 C언어 300제
- BFS
- 리버싱
- node.js
- 개발하는 관광이
- Controller
- Spring
- 백준
- 머신러닝
- 감자코딩
- 복습
- 알고리즘
- 감자개발자
- TensorFlow
- MVC
- 학교
- 코드엔진
- 스프링
- 프로그래밍
- Android
- 텐서플로우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |