분류 전체보기

    마크다운(Markdown) 문법 정리

    마크다운(Markdown) 문법 정리

    마크다운 문법 정리 마크다운 문법은 너무 쉽고 간단하지만, 매번 사용할때마다 새로운? 느낌을 받았습니다. 먼가 사용을 할때마다 내가 이 문법을 맞게 사용했나 싶기도하고, 항상 찾아보는데 불편함이 있더라구요. 그래서 이번 포스팅에서는 내가 주로 사용하는 MarkDown 문법을 작성해 저장하려고합니다. 줄을 넘기는 방법(개행) 줄을 넘기는 방법은 스페이스로 뒤에 2번이상으로 엔터를 쳐주면됩니다. 첫번째 줄 두번째 줄(스페이스 바 안침) 세번째 줄 첫번째 줄 두번째 줄(스페이스 바 안침) 세번째 줄 이렇게 수행이 됩니다. heading tag(제목) 주로 제목에 자주 사용하는 태그를 소개합니다. HTML의 heading tag는 MarkDown에서는 '#'을 활용하여 표현합니다. # this is H1 ## ..

    하루 10분, 구글 영어의 힘

    하루 10분, 구글 영어의 힘

    책 소개 저자명 : 영어변태 윤승원 출판사 : 이담 Books 요약하면 저자분이 통역대학원에 진학하기 위하여 영어를 공부할 때 구글서칭, 스팸메일, 그리고 트위터를 활용하여 효과적인 공부를 할 수있었고 그 공부방법을 소개해주는 책입니다. 저도 이 책을 읽으며 해당 공부방법이 상당히 좋다고 생각하였습니다. 따라서 나도 매일 자대에가서 꾸준히 실천해 원어민력 높은 영어실력을 만들어야겠다고 다짐하며 공부방법을 기록하고자 글을 씁니다. 책을 구매하게된 계기 이번 달 말에 있던 Adsp자격증 시험(지금은 취소가 되었지만)을 원래 저도 보려고 했었는데, 코로나도 겹치고 임관식도 있고 해서 여차저차 시험을 취소했습니다. 그리고 이번 방학에 내가 제일 못하는 영어를 한번 공부하자고 생각하고 단어장을 사기 위해 서점에 ..

    Git Blog에 이미지 업로드 Tip

    Git Blog에 이미지 업로드 Tip

    MarkDown의 불편한점! 이미지 삽입 저는 깃헙을 사용하며 README.md파일을 통해 처음 MarkDown을 접했습니다. 마크다운은 여러가지 방면에서 굉장히 편리하였고 좋았지만, 가장 불편한 것은 이미지를 삽입하는 것이라고 생각해.. 이번 포스팅에서 소개해드릴 방법을 모르고 있었을 때 항상 git 저장소에 img파일을 함께 넣어 md를 작성하였는데, 굳이 이렇게 하지 않아도 되는 방법이 있더라구요! 지금부터는 그 방법을 공유하도록 할게요! MarkDown에 이미지 간편 삽입 방법 Git Hub의 저장소에 들어가 'Issues' 탭을 클릭한다. 빨간 박스로 표시되어 있는 부분인 'New issue'를 클릭한다. 빨간색 화살표로 표시한 부분으로 원하는 이미지를 drag한다. 잠시 기다리면, 아래와 같이..

    Static,MVC,API

    Static,MVC,API

    이 글은 김영한 개발자님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 강의를 듣고, 배운 내용을 제가 필요할 때 찾기위해 요약한 글 입니다. Static static? 웹을 html 그대로 static으로 보여주는 방법. 'resources/static/' 경로에 html파일을 직접 넣어주면 됨. 스프링 부트에서 항상 Controller가 있는지 확인하고, 없으므로 resources/static/에서 원하는 html을 찾아서 웹브라우저에 올려줌. 접근하기 위해서는 html 확장자 까지 작성해야함. 이 때, hello-static에 접근하고 싶으면, /hello-static.html로 검색해야함. MVC MVC? Model, View, Controller로 하는 역할을 나..

    Project 생성, View, Build

    Project 생성, View, Build

    이 글은 김영한 개발자님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 강의를 듣고, 배운 내용을 제가 필요할 때 찾기위해 요약한 글 입니다. Spring Project 생성 순서 start.spring.io로 들어간다. 세팅을 수행한다. 이 때, add dependencies에서 Spring Web을 반드시 추가한다. (템플릿 엔진은 여러가지 종류가 있음) 스프링 프로젝트를 생성한다. IntelliJ를 사용하여 생성한 프로젝트를 실행한다. 최종 세팅 Maven과 Gradle 프로젝트의 차이? Maven Maven은 Apache의 Ant의 대안인 빌드관리 도구이다. 특징으로는 라이브러리를 사용할 때 굉장히 편리하다는 것이다.(라이브러리에서 다른 라이브러리가 필요한 경우가 ..

    [swift_10]Optional

    [swift_10]Optional

    Optional Optional 변수 swift에서 지금까지 배운 변수는 항상 초기화를 시켜주었음. nil값이 있으면 연산중에 runtime에 프로그램이 종료되기 때문에 문제가 됨. 따라서 Optional를 활용하여 nil값이 있을 경우 문제를 해결 할 수 있음. Optional 선언 var varName:Int? ?를 타입 뒤에 붙여서 선언 초기화를 시켜주지 않아도 됨 캐스팅 let possibleNumber = "f" let convertedNumber = Int(possibleNumber) 캐스팅을 시켜주면 optional 변수로 캐스팅이 됨 그 이유는, 위 예처럼 string을 integer로 캐스팅 할 경우 nil값으로 캐스팅해 주어야 하기 때문이다. optional 변수 사용 1 if conv..

    [swift_09]구조체

    [swift_09]구조체

    구조체 구조체가 필요한 이유 var name = ["Park","Choi","Kim","Lee"] var age = [3,4,5,6] var height = [40,50,60,70] 한 인물의 데이터를 위처럼 배열을 활용해 넣으면 가독성이 떨어지고, 배열 각각을 일일히 써야하기에 어려움 구조체 선언 struct Student{ var name: String var age: Int var height: Int } 구조체를 선언하는 방법 구조체 생성 var student1 = Student(name: "Park", age: 3, height: 40) var student2 = Student(name: "Choi", age: 4, height: 50) 구조체를 생성하는 방법은 위 처럼 각각의 변수에 데이터를 ..

    [swift_08]클래스

    [swift_08]클래스

    클래스 Class 선언 class Vehicle{ var currentSpeed = 0.0 var description:String { return "Traveling at \(currentSpeed) miles per hour"; } func makeNoise(){ print("noiseless") } } 클래스 선언 Class 사용 let someVehicle = Vehicle() someVehicle.currentSpeed = 1.0 print(someVehicle.currentSpeed) someVehicle.makeNoise() print(someVehicle.description) class 상속 class Tandem:Bicycle{ var currentNumberOfPassengers = ..

    [swift_07]함수

    [swift_07]함수

    함수 void형 함수 func hello(){ print("Hello") } 반환하는 타입이 없음 Return func hello2() -> String{ return "Say Hello" } 반환하는 타입 : String Parameter func add(a:Int, b:Int) -> Int{ return a + b } add(a:3 , b:4) parameter와 argument label이 동일 Default parameter func add2(a:Int = 3, b:Int) -> Int{ return a + b } a 파라미터에 기본값 3, 만약 argument a에 대입이 없으면 a = 3 Argument Label func add3(a first:Int, _ second:Int) -> Int{..

    [swift_06]조건문 if문과 switch문

    [swift_06]조건문 if문과 switch문

    if문 if문 선언과 사용 방법 let age = 7 if age = 3 && age < 20{ print("Child") } else{ print("Adult") } 일반적으로 사용하는 if문과 동일함 Switch문 switch문 사용하는 방법 switch age { case 0,1,2 : print("Baby") case 3...19 : print("Child") default : print("Adult") } switch문은 기존에 내가 알고 있던 switch에 비해 상당히 강력함. ,를 활용하여 여러가지 조건에서 확인할 수 있음. where절을 활용하여 추가적인 조건을 줄 수 있음 break문이 필요 없음

    [swift_05]반복문 while과 for문

    [swift_05]반복문 while과 for문

    while문 while문 선언과 사용 var index = 5 while index < 0{ index -= 1 print(index) } For문 배열에서 사용하는 법 let names = ["a","b","c"] for name in names { print(name) } python의 for-in 동일 사전에서 활용하는 let a = "a" let b = " b" var first = a + b var second = "c" second += first // ca b 숫자 범위로 사용하기 for index in 1...5{ print("\(index) times 5 is \(index * 5)") } for _ in 1...5{ print("Hello") } stride 활용해서 사용하기 let m..

    [swift_04]Collection-Dictionary

    [swift_04]Collection-Dictionary

    Dictionary Mutable Dictionary 생성 var dictionary = Dictionary() var dictionary2 = [String:Int]() Dictionary에 추가 dictionary2["and"] = 6 dictionary2["snake"] = 0 []괄호 안에 key, 그리고 assignment뒤에 value Dictionary 초기화 dictionary3 = ["and":6,"snake":0,"cat":4] :을 활용하여 key와 value 구분하여 생성 value 변경 dictionary3["cat"] = 5 기존에 있는 key값에 새로운 값을 assign immutable Dictionary 생성 let dictionary4 = ["ant":3,"snake":0..

    [swift_03]Collection-Array

    [swift_03]Collection-Array

    Array Mutable 배열 생성하는 방법 var emptyArray = Array() var emptyArray2 = [String]() 배열에 추가하는 방법1(append) emptyArray2.append("Anna") emptyArray2.append("Alex") 배열의 뒤쪽으로 계속해서 추가됨 배열에 추가하는 방법2(+=) var array3 = ["A","B","C","D"] array3 += ["E"] array3 += ["F","G"] 배열에 추가하는 방법3(동시에 변경) array3[3...5] = ["a","b","c"] index 3,4,5를 각각으로 변경 배열에 접근하는 방법 array3[3] 인덱스를 활용하여 접근(0부터 인덱스 시작) 배열의 특정 부분을 수정하는 법 array..

    [swift_02]String

    [swift_02]String

    String 문자열 그대로 출력하기 var str = """ A is first "B is second" C is third """ \없이 개행과 특수문자 사용 가능 empty 문자열 var empty1 = "" var empty2 = String() if empty1.isEmpty{ // if empty1 is empty string } isEmpty : 빈 문자열이라면 true, 아니면 false 문자열 합치기 let a = "a" let b = " b" var first = a + b var second = "c" second += first // ca b +연산자 활용해 합치기 가능, += 연산도 가능 연산 시 뒤에 붙음

    [swift_01]변수와 상수 선언

    [swift_01]변수와 상수 선언

    변수와 상수 선언 변수(variable) 변수는 항상 변할 수 있는 값 선언하는 방법 var hello = "hello" var world : String = "world!" print(type(of:a)) // String print(type(of:b)) // String 상수(constant) 상수는 변할 수 없는 값. 선언하는 방법 let hello = 1 let hello : int = 2 String 문자열 그대로 출력하기 var str = """ A is first "B is second" C is third """ \없이 개행과 특수문자 사용 가능 empty 문자열 var empty1 = "" var empty2 = String() if empty1.isEmpty{ // if empty1 i..

    uArm 예제를 응용해 바둑돌 두는 동작 구현

    uArm 예제를 응용해 바둑돌 두는 동작 구현

    안녕하세요. 충남대학교 컴퓨터공학과 김진섭입니다. 저는 지금 인스페이스에서 백마인턴쉽(4주)를 수행하고있는데, 벌써 3주의 끝에 오게되었네요. 아마, 이번 포스팅이 인스페이스 인턴 생활의 마지막? 포스팅이 될 것 같습니다. 이번시간에는 지난번에 사용하였던 OpenMV의 코드를 응용하여 바둑판에서 바둑돌의 위치를 주면 해당 위치에 바둑돌을 두는 코드를 소개하겠습니다. 우선 이전에 포스팅해둔 OpenMV를 기본적으로 모두 수행해보셨다는 가정하에 진행할 계획이니까, 한번 따라서 수행해 보시고 이번 포스팅을 읽어주시면 감사하겠습니다. 저는 메가보드의 아두이노 코드를 변경하여 바둑돌을 처리할 수 있도록 구현하였습니다. 따라서 코드설명은 OpenMV와 uArm의 부분을 제외한 아두이노 부분만 설명 드리도록하겠습니다..

    OpenMV가 바둑돌을 찾아내도록 코드를 구현해봅시다.

    OpenMV가 바둑돌을 찾아내도록 코드를 구현해봅시다.

    안녕하세요! 충남대학교 컴퓨터공학과 김진섭 학생입니다. 지난 포스팅에서는 OpenMV의 예제를 적용해보고, uArm을 이용하여 빨간색 물체를 찾고 옮기는 작업을 수행하였는데요. 이번 포스팅에서는 지난번에 사용한 OpenMV 예제를 바탕으로 바둑돌을 찾는 코드를 작성해 보도록 하겠습니다. 만약 OpenMV에 대하여 궁금하신 점이 있으시면 OpenMV 홈페이지에서 확인해 주시길 바랍니다! 코드 구현 설명 OpenMV에서 제가 바둑돌을 찾기 위한 코드를 설명하기에 앞서, 이 전 포스팅에서 사용한 예제 코드를 모방하여 구현하였음을 미리 알려드립니다. import sensor, image, time, pyb 우선, OpenMV의 LED나 uArt 통신을 하기 위해서는 pyb라고 하는 모듈을 import해 주어야합..

    uArmSwiftPro Open MV사용해보기

    uArmSwiftPro Open MV사용해보기

    안녕하세요 충남대학교 컴퓨터공학과 김진섭입니다. 이번 시간에는 uArmSwiftPro에 OpenMV를 붙여 사용하여보도록 하겠습니다. 빨간색 정 사각형 물체를 인지하고, uArm이 해당 물체를 들어올려, 정해진 위치에 옮기는 오픈소스가 있는데요, 해당 오픈소스를 적용하는 과정에 대하여 포스팅 하도록 하겠습니다. (오픈소스는 uFactory에서 제공하여주었습니다.) uArm에 OpenMV를 붙이고, 오픈소스를 넣어주는 과정을 수행하기 위한 준비물, 소프트웨어 설치 과정, 하드웨어 선 연결 과정으로 설명드리도록 하겠습니다. 준비물 이번 OpenMV를 수행하기 위하여 준비해야할 물품에 대하여 설명드리도록 하겠습니다. uArm을 미 포함하여, 총 8개의 물품이 준비되어 있어야합니다. 1. C타입의 케이블 2개 ..