본문 바로가기
반응형

전체 글179

2023년 부산대학교 소프트웨어 특기자전형->지역인재전형 2023년 부산대학교 소프트웨어 특기자전형-> 지역인재 전형 학생부종합(지역인재전형) 1. 지원 자격 국내 정규 고등학교 졸업(예정)자로서 입학부터 졸업까지 부산, 울산, 경남 지역에 소재하는 고등학교의 전 교육과정을 이수한 자(2학년 수료예정자 중 상급학교 조기입학 자격을 부여받은 자 포함) ※ 「초·중등교육법」 제2조에 따른 고등학교 외 고교 졸업 동등 학력자는 지원자격에서 제외함 2. 전형방법 가. 전형요소 및 반영비율 선발단계 전형요소별 반영비율 계 서류(학생부)평가 면접 1단계 (3~4배수) 100% - 100% 2단계 80% 20% 100% 나. 선발방법 - 1단계 : 서류(학생부)서류(학생부) 평가 성적순으로 모집단위 모집인원의 3∼43∼4 배수를 면접대상자로 선발함 의과대학 의예과, 치의학.. 2022. 3. 11.
C언어/JAVA/Python 프로그래밍 언어 공부방법? C언어/JAVA/Python 프로그래밍 언어 공부방법? 오늘은 프로그래밍언어를 20년 가까이 부산에서 수업하고 계신 "부산삼성컴퓨터학원"의 젊은원장님께서 학생들에게 전달하고자하는 조언을 해보고자합니다. 우선 프로그래밍?이란 무엇일까요? 위키백과에 따르면, 컴퓨터 프로그래밍 또는 간단히 프로그래밍 혹은 코딩은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다. 프로그래밍은 기법, 과학, 수학, 공학, 심리학적 속성들을 가지고 있다 이렇게 표현하고 있습니다. 좀 이해하기 쉽게 표현해보자면, 인간이 컴퓨터나 휴대폰 또는 전자기기등 관련 매체에서 동작하는 무언가를 생각하고 그것이 가능하도록 프로그래밍언어(C, JAVA, Python 등등)를 .. 2022. 2. 17.
알파 베타 가지치기/alpha-beta pruning 알파 베타 가지치기/alpha-beta pruning Alpha-Beta Pruning 미니맥스 알고리즘의 단점으로 가장 대표적인 가능한 멀리까지 예상할수록 더 나은 결과를 얻을 수 있지만, 이러한 성능을 가지려면 막대한 시간과 공간을 차지하게 된다는 것입니다. 바둑이나 오목의 의 경우 19*19 칸에서 이뤄지게 되는데 한수앞을 더 예상하기 위해서는 (19*19)(19*19-1)(19*19-2)(19*19-3)... 이렇게 거의 19*19 만큼의 경우가 곱해지게 됩니다. 극단적인 예로 엄청난 공간을 가지고 있는 인공지능이기에 기하급수적으로 추가되는 공간을 소화할 수 있다고 해도 바둑은 제한시간이 존재하기 때문에 한 수를 두는데 모든 시간을 다 차지해 버릴 수도 모릅니다. 하지만 잘 생각해보면 바둑에서 상.. 2022. 2. 9.
MiniMax 미니맥스 알고리즘+JAVA 예제 코드 MiniMax 미니맥스 알고리즘+JAVA 예제 코드 MiniMax 알고리즘? 대전게임처럼 한번씩 턴이 돌아가며 게임을 할 경우, 나에게는 이점을 최대화 시키고, 상대에게는 이점을 최소화 시키는 방식의 알고리즘입니다. 장기, 체스 등 경쟁이 주가 되는 게임과 같은 인공지능 분야에서 자주 사용되는 개념으로, 머신러닝 중에서는 적대적 모델의 상호작용으로 이루어지는 GANs의 상호 경쟁에 사용됩니다. ■ 알고리즘의 목적 '예측'을 위한 것입니다. 어떠한 목적이 있으면, 그것을 위한 최적의 결정을 당시에 상정하고, 그 다음에 나올수 있는 최악의 수를 예측하여, 결국은 각 턴마다의 최적의 수를 찾아내는 것입니다. ■ 2인 게임최 적합 A는, 뭔가 목표를 가져가기 위한 최적의 결정을 하고, B는, A가 목표에서 최대.. 2022. 2. 9.
어셈블리어/Assembly_5_실습 어셈블리어/Assembly_5_실습 5. (실습) hello실습 world 문자열 패치 C언어 API(win32, Linux API) C++ API(MFC) VB 자바, 파이썬, 펄 같은 언어들은 디컴파일러가 이미 있다. 상기 언어는 별도의 엔진이 필요한데, 악성코드 배포자의 입장에서는 범용적이지 않으면 쓸모가 없다. OS 지식(실행 파일 구조) CPU 아키텍처 어셈블리어 프로세스 메모리 레이아웃 구조(code, data, heap, stack) 프로그래밍 언어(C - Win32, C++ - MFC, VB) Packer / Protector Anti-디버깅 코드 가상화 윈도우는 MASM 리눅스는 GAS 리버싱은 플랫폼마다 그 방식이 다 다른데 플랫폼이 다양하기 때문에 어려운 것이다. 메모리는 하드디스크에.. 2022. 1. 14.
어셈블리어/Assembly_4_Break Point(브레이크 포인트) 어셈블리어/Assembly_4_Break Point(브레이크 포인트) 4. Break Point(브레이크 포인트)란? 프로그램을 실행하는 도중에 유저가 필요한 시점에서 프로그램을 일시정지 시키는 역할. 디버깅 기법 중 하나. 명령을 실행하는 CPU를 일시 중지, 한 바이트 명령어를 사용해 디버깅 대상 프로세스의 실행을 중지 보통 어플리케이션을 디버깅할 때 사용되는 브레이크 포인트, 일반적 코드 : 0xCC, INT 3 동작방법 1. 현재 주소의 opcode를 뽑아서 브레이크 포인터 테이블에 저장 2. opcode를 0xCC로 교체 3. 명령어 실행 4. 원래의 opcode로 돌려놓음 종류 - 일회성 브레이크 포인트 : 브레이크 포인트 리스트에 정보가 들어가고 브레이크가 수행되고 나면 리스트에서 정보가 제.. 2022. 1. 14.
어셈블리어/Assembly_3_엔디언 어셈블리어/Assembly_3_엔디언 3. 엔디언(Endianness)이란? 메모리와 같은 1차원 공간에 C언어에서 배열을 사용하듯 연속된 대상을 열거하는 방법이다. 이것은 빅 엔디언(Big-endian)과 리틀 엔디언(Little-endian)으로 나누어질 수 있다. 빅 엔디언(Big-endian) 아래의 그림에서 볼 수 있듯이 Register에 저장된 값 0A 0B0C0D값을 메모리에 차례대로 최상위 바이트(MSB)부터 차례대로 저장하는 방식이다. ■ 장점 1. 디버그를 편하게 해주는 경향이 있다. (사람이 숫자를 읽고 쓰는 방법과 같기 때문) 2. TCP/IP는 16비트와 32비트 정수에서 빅 엔디안 방식을 사용한다. 3. 숫자 비교 시, 유리 4. UNIX에서 사용하는 바이트 오더 리틀 엔디언(L.. 2022. 1. 14.
어셈블리어/Assembly_2 어셈블리어/Assembly_2 2. 어셈블리어(Assembly language)란? - 기계어와 1대1 대응되는 컴퓨터 프로그램의 저급 언어. 어셈블러(Assember)란? - 어셈블리어로 작성된 소스 코드를 기계어로 변환하는 프로그램. 어셈블리어 구조 CPU는 2진수로 모든 것을 처리하는데 어셈블리 명령어들도 2진수로 되어 있다. 하지만 2진수로 된 것은 알아보기가 힘들어 mov, add와 같은 형태로 변환하여 보여진다. mov %eax %ebx는 C언어로 보면 ebx = eax의 경우와 같다. eax에 저장된 값을 ebx에 할당한다. 어셈블리어 문법 (Intel vs AT&T) Intel 방식 - 가독성이 뛰어남. - 윈도우 환경에서 구동. - 오퍼랜드 위치 : mov dest, source - 메모.. 2022. 1. 14.
어셈블리어/Assembly_1 어셈블리어/Assembly_1 1. 레지스터란? CPU 내부에 존재하는 작은 고속의 메모리이다. 레지스터의 종류 > 위 레지스터들은 범용 레지스터, 인덱스 레지스터, 포인터 레지스터라고 한다. > 32비트 환경에서는 첫 글자가 E(Extended)로 시작한다. > 64비트 환경에서는 첫 글자가 R(Register)로 시작하고 32비트의 레지스터를 포함한다. 범용 레지스터 AX(Accumulator) : 연산에 사용 BX(Base) : 메모리 주소 지정 시 사용 CX(Counter) : 반복과 같은 상황에 사용 DX(Data) : EAX와 함께 연산, 부호확장 인덱스 레지스터 SI(Source) : 메모리를 이동 및 비교 시 해당 주소 DI(Destination) : 메모리 이동 및 비교 시 목적지 주소 .. 2022. 1. 14.
컴퓨터공학과 커리큘럼/무엇을 배우나요? 컴퓨터공학과 커리큘럼/무엇을 배우나요? 오늘 포스팅 내용은 컴퓨터공학과를 지망하는 학생들에게 도움이 되고자 몇 자 적어보고자 합니다. 4차 산업혁명이라는 표현을 매스컴에서 접하게 된 지 어느덧 10년이 가까워지고 있습니다. 최근 인공지능, 블록체인, IOT 등의 기술적인 부분이 부각되면서 경쟁률이 점점 높아져가는 컴퓨터공학과에 대해 설명드리겠습니다. 1. 코딩 가끔 이런 질문을 받습니다. "컴퓨터공학과에 가면 뭘 배우나요?" 네이버에서 검색을 하면, 대략적인 커리큘럼들을 확인하실 수 있겠지만 저 역시 블로그를 운영하고 있기에 추가적인 이미지를 올려드려 보겠습니다. 단연코, 컴퓨터와 관련학과의 경우 프로그래밍 언어(PROGRAMMING) 즉 코딩을 주로 하게 됩니다. 1학년 때는 보통 C언어나 Python.. 2022. 1. 10.
4. Python 기초 문법 - 문자열 4. Python 기초 문법 - 문자열 1. 문자열(String) 이번에 알아볼 자료형은 문자열(String)이며, 문자열은 문자들의 모임, 문자를 나열한 것을 문자열이라고 합니다. 'a', 'b', 'c' 등과 같은 건 문자라고 할 수 있지만 "apple", " boy", "computer"와 같이 문자들이 모이게 되면 이것을 문자열이라고 할 수 있습니다. 파이썬에서 문자열은 단일 인용부호(')나 이중 인용부호(")로 감싸주어 표현합니다. 주의하실 점은, 감싸줄 때는 단일 인용부호로 시작했으면 단일 인용부호로 끝나야 하며, 이중 인용부호로 시작했으면 이중 인용부호로 끝나야만 한다는 것을 기억하시기 바랍니다. 아래의 예는 모두 문자열이라고 할 수 있습니다. 1 2 3 4 5 6 >>> type("ABCD.. 2021. 12. 27.
3. Python 기초 문법-수치 자료형 3. Python 기초 문법-수치 자료형 자료형(Data Type)은 무엇인가? 자료형은 말 그대로, 데이터의 형식(DataType)을 말합니다. 파이썬에서는 수치 자료형부터 시작해서 문자 자료형, 튜플, 리스트, 사전 등 여러 가지의 자료형이 존재하며, 자료형을 보고서 데이터가 어떠한 데이터의 형식인지 알 수 있습니다. 파이썬에 내장되어 있는 함수인 type이란 함수를 통해서 객체의 타입을 살펴보도록 하겠습니다. 이 type이란 함수는 객체의 타입을 보여주며, 아래와 같이 사용합니다. 1 2 3 4 5 6 7 8 >>> type(33) >>> type(3.14) >>> type(['1', '2', '3']) >>> type(33331491491492) 위를 보시면 객체 33의 타입은 int로, 이는 정.. 2021. 12. 27.
반응형