반응형

파이썬(Python) 에디터를 사용하면 간단하게 프로그램 확인은 가능하지만,

다양한 .py를 사용하기 위해서는 조금 불편한 점이 있습니다.

오늘은 파이썬으로 개발하기 위해서 사용하기 편리한 프로그램을 알아보겠습니다.

파이썬(python)을 컴파일하기 위해서는 Visual Studio Code도 사용하기 좋지만

별도 plugin 설치가 필요 없는 파이참(PyCharm) 설치 방법을 알아보겠습니다.

www.jetbrains.com/pycharm/download/#section=windows

 

Download PyCharm: Python IDE for Professional Developers by JetBrains

Download the latest version of PyCharm for Windows, macOS or Linux.

www.jetbrains.com

파이참(PyCharm)은 무료 버전으로 바로 다운로드 가능합니다.

Windows, macOS, Linux 모든 버전이 있습니다.

설치 환경에 맞는 탭을 선택하고 "DownLoad" 버튼을 클릭해주세요

다운로드 창이 전환되면서 하단에 다운로드 항목을 확인할 수 있습니다.

크기는 500M 정도로 다운로드 시간이 조금 걸립니다.

설치 파일을 실행하면 파이참(PyCharm)을 설치합니다.

환경 설정만 체크해주면 Project 선택 시 바로 컴파일됩니다.

설치 후 리부팅 여부를 확인하는데 리부팅을 안 하셔도 파이썬이 먼저 설치되어 있다면 바로 사용이 가능합니다.

파이참(PyCharm)을 실행하면 어디서 많이 보더 화면을 확인할 수 있습니다.

이클립스와 비슷한 구성이지만 블랙 스킨을 사용한 툴입니다.

Android Studio 개발사에서 개발한 툴이기 때문에 개발자를 배려하는 다양한 기능이 있습니다.

기본 테스트를 하기 위해서 "Shift" + F10을 클릭하면 컴파일되면서 하단에 실행 정보를 확인할 수 있습니다.

파이썬 에디터처럼 라인프린터 방식은 아니지만,

다양한 프로젝트 구성이 가능하기 때문에 프로젝트 진행 시 사용하면 매우 편리합니다.

이제 파이썬을 공부하기 위해서 모든 준비가 되었습니다.

감사합니다.

반응형
반응형

오늘은 딥러닝부터 AI까지 다양하고 쉽게 접근할 수 있는 파이썬(python) 설치하는 방법을 알아보겠습니다.

파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터 프린터 언어입니다.

인터 프린터 방식으로 빠른 테스트가 가능하고 직관적이라서 가독성이 매우 좋은 언어입니다.

www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

파이썬은 설치도 매우 간단합니다.

위 사이트로 이동해주세요.

상단에 있는 "Download Python 3.9.4" 버튼을 클릭하면 셋업 파일을 다운로드할 수 있습니다.

하단 리스트에서는 최신 버전에 따른 Release 정보를 확인할 수 있습니다.

"Download" 항목을 클릭해주세요.

최신 버전 정보를 확인할 수 있습니다.

다운로드된 설치 파일을 실행하면 설치 화면을 확인할 수 있습니다.

상단에 설치 경로를 확인할 수 있습니다.

환경변수를 등록하기 위해서 하단에 "Add Python 3.9 to PATH"를 체크해주세요.

별도 환경 변수 등록할 필요가 없기 때문에 정말 편리합니다.

설치부터 많은 사용자를 배려한 형태입니다.

정상적으로 설치되었다면 완료 화면을 확인할 수 있습니다.

검색창에서 Python을 검색하고 클릭하면 파이썬(Python) 에디터를 확인할 수 있습니다.

인터 프린터 방식으로 직관적으로 명령어를 입력할 수 있습니다.

기본적으로 R 프로그램과 동일하게 다양한 연산이 바로 가능합니다.

출력, 변수도 사용하기 매우 편리하기 때문에 기본적으로 쉽게 결과 값을 확인할 수 있습니다.

감사합니다.

반응형
반응형

코로나 시대가 되면서 많은 사람들이 힘들어하고 있습니다.

가장 힘든 부분은 언제나 돈 문제입니다.

오늘은 다양한 앱을 사용해서 돈을 벌 수 있는 앱테크에 대해서 알아보겠습니다.

앱테크란 애블리케이션과 재테크의 합성어로 요즘 많은 회사가 개발하고 있는 프로그램입니다.

다양한 앱테크용 프로그램이 있으며 오늘은 그중에서 많이 사용하는 앱을 알아보겠습니다.

 

앱테크 추천 1 캐시슬라이드

캐시슬라이드 스텝업 - 잠금화면 만보기 - Google Play 앱

 

캐시슬라이드 스텝업 - 잠금화면 만보기 - Google Play 앱

캐시슬라이드 스텝업🏃 캐시슬라이드 스텝업은 잠금화면에서 현재까지 걸음수를 확인하고 자동으로 포인트를 적립 받을 수 있는 포인트형 잠금화면 앱 입니다. ● 나의 산책 파트너 귀여운 메

play.google.com

캐시슬라이드는 잠금화면에서 걸음 수를 확인할 수 있는 앱입니다.

포인트 적립이 운동과 관련 있고 포인트를 가장 많이 주기 때문에 좋은 앱이라고 생각합니다.

포인트는 바로 계좌로 받을 수 있어 더욱더 편리하게 사용이 가능합니다.

 

앱테크 추천2 캐시워크 적립형 만보기 첫화면

캐시워크 - 적립형 만보기 첫화면 - Google Play 앱

 

캐시워크 - 적립형 만보기 첫화면 - Google Play 앱

※최신버전으로 업데이트 하시면 걸음 수, 보물상자 문제를 해결할 수 있습니다※ ★★★★★ 출시 1년만에 500만 다운로드 돌파 ★★★★★ 하루 평균 사용자 200만명 돌파 캐시워크는 걸으면

play.google.com

캐시워크도 걸음 수에 따라서 포인트 적립되는 앱입니다.

건강을 관리하면서 포인트를 쌓을 수 있어 캐시슬라이드만큼 좋은 앱입니다.

아쉬운 점은 광고가 좀 많은 편이기 때문에 광고 클릭을 조심해서 해야 합니다.

 

앱테크 추천3 그리팅몰

play.google.com/store/apps/details?id=kr.co.greating

 

그리팅 - 맛있는 건강식 - Google Play 앱

Better Food Better Life, 그리팅! '그리팅'은 매일매일 맛있고 다양한 건강식으로 내 몸을 바꾸고, 가족의 내일을 바꾸며, 우리의 라이프스타일을 바꾸는 케어푸드 솔루션 입니다. 상품개발연구원, 식

play.google.com

그리팅몰은 출석 체크로 매달 3,000스푼을 모을 수 있습니다.

포인트로 식재료를 구매할 수 있어 실용적인 앱입니다.

추천 ID : Z2UV5SGO

출석체크 방법은 홈 화면에서 이벤트를 클릭하고 출석체크를 선택해주세요.

 

앱테크 추천 4 미구하라

미구하라는 매일 100원씩, 일주일 연속 출석 체크하면 500원

한 달 연속 출석체크하면 3,000원

한 달 모두 출석하면 8,000원 다양한 이벤트 추가로 많은 포인트를 지급합니다.

출석체크를 하기 위해서는 앱을 설치하고 이벤트에서 출석체크를 선택해주세요.

 

앱테크 추천 5 바보사랑

바보사랑 디자인 쇼핑몰 - Google Play 앱

 

바보사랑 디자인 쇼핑몰 - Google Play 앱

====================== 365일 즐거운 상상 No.1 라이프 스타일 바보사랑 ====================== 디자인 쇼핑몰 바보사랑에서 다양한 상품을 빠르고 편리하게 만나보세요! 다이어리, 문구, 인테리어 소품, 패션

play.google.com

바보사랑은 생활용품 구매 앱으로 출석 10회마다 500원씩 적립됩니다.

한 달 최대 3,500원 적립이 가능하기 때문에 꾸준하게 출석하면서 생활용품을 구입해주세요

출석 경로는 출첵 끝판왕을 클릭하면 됩니다.

 

오늘은 실용적인 앱테크 5개를 알아보았습니다.

걸음부터 시작해서, 화장품, 건강식품, 생활용품 모두 사용이 가능하기 때문에 조금 귀찮아도 매일 출석해서 포인트를 모아 보세요. 부자는 작은 습관에서부터 시작입니다.

감사합니다.

반응형
반응형

Windows에서 WSL1 , WSL2를 사용해서 우분투를 설치할 수 있습니다.

우분투 설치 후 Windows에서 컴파일한 내용을 우분투에 공유하기 위해서 매우 복잡한 과정이 필요하지만,

WSL2에서는 간단하게 현재 폴더 위치를 확인할 수 있는 방법이 있습니다.

explorer.exe .

명령어 라인에서 explorer.exe . 를 실행하면 현재 우분투에서 사용하는 폴더를 확인할 수 있습니다.

"."은 현태 디렉토리 경로를 뜻합니다.

실행과 동시에 탐색기가 오픈되는 것을 확인할 수 있습니다.

오픈된 탐색기에 a.txt파일을 만들고 우분투에서 vi.exe를 실행해서

a.txt를 오픈할 수 있습니다.

WSL2에서는 간단하게 파일을 공유할 수 있어 리눅스 개발이 더욱더 편리해졌습니다.

감사합니다.

반응형
반응형

코틀린(Kotlin)도 다른 언어와 동일하게 함수를 사용할 수 있습니다.

코틀린에 가장 큰 함수 특징은 일급 객체로 사용이 가능합니다.

일급 객체는 일반적인 함수 형식과  엔티티로 적용하여 변수로 바로 사용이 가능하다.

함수 기본 형식은 (함수명) -> 반환 형식으로 되어 있습니다.

fun MakeString(mes : String): String{
    return mes + "  Create Message"
}

MakeString 함수는 mes String 매개변수를 받아서 String으로 반환합니다.

println(MakeString("함수 사용"))

println 함수를 사용해서 출력합니다.

출력 결과 입력된 "함수 사용" 뒤에 메시지가 추가되었습니다.

일반적인 함수는 함수를 만들어서 호출할 수 있습니다.

코틀린(Kotlin) 함수는 이런 함수를 변수 처럼 정의할 수 있습니다.

var MString:(String) -> String = fun(mes:String) = mes + " Create Message 2"

변수 MString에 함수를 직접 선언할 수 있습니다.

    println(MakeString("함수 사용"))

    println(MString("변수 함수 사용"))

MakeString 함수와 MString 변수를 출력 했습니다.

출력 결과 동일하게 입력 String에 추가 내용이 포함되어 있습니다.

함수에 사용되는 매개변수를 다양하게 사용이 가능합니다.

    var MString:(String) -> String = fun(mes:String) = mes + " Create Message 2"

    var a:(Int) -> Int = fun(i:Int) = i * 10

    println(a(7).toString())

    println(MakeString("함수 사용"))

    println(MString("변수 함수 사용"))

Int를 사용해서 추가 함수 a를 선언했습니다.

기존과 동일하게 println 함수를 사용해서 출력했습니다.

a 함수는 입력 변수에 10을 곱하는 형태로 7을 입력 시 70을 반환했습니다.

코틀린 함수는 매개변수 형식과 반환 형식을 자유롭게 사용할 수 있어 문법이 매우 편리합니다.

또한 외부 함수 정의가 아닌 내부에 함수를 정의를 사용할 수 있어 객체에 대한 처리를 완벽하게 수용할 수 있습니다.

내부 함수 정의 후 모호하다면 invoke() 메서드를 사용해서 모호함을 해결할 수 있다.

감사합니다.

반응형
반응형

VMware 실행 시 오류가 발생하면서 실행을 못하는 문제가 발생했습니다.

처음에는 lock 파일 문제인 줄 알고 모두 삭제 후 재 실행해도 오류가 계속 발생했습니다.

오류 메시지 하단 링크를 클릭하니까 해결 방법이 있습니다.

오류 메시지 링크를 클릭해주세요.

"VMware Workstation and Device/Credential Guard are not compatible" error in VMware Workstation on Windows 10 host (2146361)

Device 오류를 해결하기 위해서는 두 가지만 해주면 됩니다.

첫 번째 "제어판" -> " 프로그램 및 기능" -> "Windows 기능 켜기/끄기"를 선택해주세요.

아래쪽에 있는 Hyper-V를 모두 언체크 해주세요.

그리고 재부팅 메시지가 발생하면 취소를 클릭해주세요. 아직 한 가지를 더 실행해야 합니다.

두 번째는 "cmd"를 관리자 권한으로 실행해주세요.

“bcdedit /set hypervisorlaunchtype off” 입력 후 정상적으로 실행되면 재부팅해주십시오.

재부팅 후 정상적으로 VMware가 동작하는 것을 확인할 수 있습니다.

감사합니다.

반응형
반응형

앱 프로그램이 인기가 높아지면거 1인 개발자들이 많아지고 있습니다.

앱에서 가장 중요한 부분은 디자인입니다.

하지만 디자인은 일반적으로 고정된 상태로만 확인 할 수 있어 전체 앱 컨셉(Concept)를 한눈에 확인할 수 없습니다.

오늘은 앱 디자인과 동시에 전체 흐름을 확인할 수 있는 무료 프로그램을 알아보겠습니다.

안드로이드, 아이폰 등 다양한 디바이스를 디자인할 수 있는 MARVEL 앱 사이트입니다.

Marvel - The design platform for digital products. Get started for free. (marvelapp.com)

 

Marvel - The design platform for digital products. Get started for free.

Try Marvel Enterprise for large teams - Design, test and ship amazing products at scale

marvelapp.com

MARVEL은 간단한 스케치를 대화식으로 표시가 가능합니다.

디자인된 앱은 다른 사람과 데모로 공유도 가능합니다.

연결된 링크를 클릭하면 MARVEL 홈페이지로 이동합니다.

회원 가입은 구글 연동을 이용해서 가입하시면 됩니다.

쉽게 가입할 수 있어 부담 없이 사용이 가능합니다.

메인 화면은 매우 심플합니다.

상단 우측에 있는 "Crete Project" 버튼을 클릭하면 앱 디자인 프로젝트를 생성할 수 있습니다.

"Prototype", "User Test" 2가지 항목으로 선택할 수 있습니다.

"Prototype"은 앱 디자인 툴을 이용해서 디자인할 수 있습니다.

"User Test"는 생성된 디자인을 사용자와 공유할 수 있습니다.

MARVEL은 기본은 무료로 사용이 가능합니다.

아쉬운 점은 프로젝트, 테스트를 1개만 생성할 수 있습니다.

기능에 제한은 없고 프로젝트 생성과 테스트에 제한이 있습니다.

그래도 1개만 사용해도 처음 사용자는 충분하게 테스트가 가능합니다.

 

프로젝트를 생성하면 이름과 타입을 선택해야 합니다.

타입은 다양한 디바이스 크기를 선택할 수 있습니다.

상단 우측에 있는 디자인 버튼을 사용해서 프로젝트를 디자인할 수 있습니다.

디자인 화면은 우측에 Tool 박스가 있고, 좌측에는 디자인 정보를 확인할 수 있습니다.

디자인 타입도 안드로이드, 아이폰, 아이패드 등 다양한 선택이 가능합니다.

Tool 박스에서 아이템을 선택하면 자동으로 디자인 화면에 생성됩니다.

디자인이 완료되면 실행을 이용해서 전체 구성을 확인할 수 있습니다.

MARVEL 무료 사용 앱이지만, 기본 기능을 모두 사용할 수 있어 처음 사용하기 매우 좋다고 생각됩니다.

처음 앱을 개발하는 분이 그렇게 많은 프로젝트를 생성할 필요도 없기 때문에 1개의 프로젝트만 사용 가능하다면 적극 추천드립니다.

감사합니다.

반응형
반응형

티스토리를 4년 정도 운영 중입니다.

정말 열심히 운영한 건 아니지만 그래도 조금씩 블로그를 작성했지만, 방문자가 점점 줄어드는 것을 확인했습니다.

처음에는 열심히 안 해서 그런가 했는데, 요즘 아무리 열심히 해도 글이 검색이 안됩니다.

그래서 검색을 시작했습니다.

"티스토리 최적화 방법" 뭐 다른 방법이 있는 건가?

그래서 알게 된 내용은 충격적입니다.

티스토리 최적화의 기본은 daum 검색에서 주소를 치면 알 수 있다고 했습니다.

'헉' 역시 검색이 안됩니다.

처음부터 최적화가 안된 티스토리 블로그에 글을 쓰니까 검색아 안되나 봅니다.

그래서 최적화의 기본인 daum 검색에서 검색될 수 있도록 티스토리 블로그 주소를 등록하는 방법을 알아보겠습니다.

daum 검색에 등록하기 위해서는 먼저 daum 홈페이지 하단에 잇는 고객센터를 클릭해주세요.

고객센터를 클릭하면 다양한 화면이 보이는데, 그중에서 검색을 클릭해주세요.

검색을 클릭하면 다시 여러 개의 카테고리를 확인할 수 있습니다.

검색 결과 미노출 메뉴를 클릭해주세요.

검색결과 미노출에서 세 번째 내용 "원하는 사이트가 검색 결과에 나오지 않아요"을 클릭해주세요.

1번 아래쪽에 있는 "검색등록 바로가기"를 클릭해주세요.

신규등록이기 때문에 티스토리 블로그 주소를 URL에 등록합니다.

신규 등록에 따른 서비스 이용 동의 항목을 모두 체크해주세요.

검색등록에 필요한 제목, URL, 설명, 설명, 품목, 신청자 정보를 입력하고 "확인" 버튼을 클릭해주세요.

정상적으로 등록하면 메일에 신규등록 내용을 확인할 수 있습니다.

등록 후 하루 만에 결과가 나왔습니다.

결과는 등록 실패입니다.

홍보성 글이 많다고 등록이 안된다고 합니다.

짜집기에 스팸성이라고 하는데 그런 내용은 없는데 너무 이상하네요.

구글에서 검색을 해보니 많은 분들이 같은 사유로 등록이 불가능하다고 합니다.

결론적으로 다음 검색 등록은 처음 사이트를 만들고 바로 등록하는 걸 추천드립니다.

혹시 해결 방법이 생기면 다시 포스팅하겠습니다.

감사합니다.

반응형
반응형

코틀린이나 자바로 클래스를 정의할 경우 클래스 내부에 클래스를 다시 정의해야 하는 경우가 있습니다.

코틀린은 자바와 동일하게 최상위 클래스 내부에 클래스를 다시 배치할 수 있는 중첩 클래스(neted class)를 지원합니다.

중첩 클래스(neted class)

class nested{
    private val value:Int = 0

    class In{
        fun foo() = 7
    }
}

클래스 내부에 함수를 다른 클래스에 정의해서 접근할 수 있습니다.

nested class 내부에 In class를 정의하고 foo 메서드를 사용해서 멤버에 접근이 가능합니다.

nested.In().foo() 메서드를 사용해서 멤버 정보를 출력할 수 있습니다.

출력 결과 멤버에 저장된 7을 출력하게 됩니다.

중첩 클래스(neted class)에서 최상위 클래스에 정의된 인스턴스 변수나 메서드에 직접 접근이 불가능합니다.

중첩된 내부 클래스를 사용해서 객체 참조가 가능합니다.

class nested{
    private val value:Int = 0

    class In{
        fun foo() = 7
    }

    inner class innerIn{
        fun foo2() = 20
    }
}

코틀린(Kotlin) 중첩 클래스(neted class)에서 내부 클래스를 직접 접근하기 위해서는 inner 한정자를 사용해서 클래스를 정의하면 됩니다.

innerIn class는 inner로 정의 되었기 때문에 직접 foo2 메서드에 접근이 가능합니다.

nested를 선언하고 innerIn class에 직접 접근할 수 있습니다.

출력 결과 foo2 메서드에서 설정한 20을 확인할 수 있습니다.

중첩 클래스(neted class)는 내부 클래스를 직접 참조하거나, 간접적으로 참조할 수 있는 구조로 정의가 가능합니다.

Outer 클래스의 인스턴스를 먼저 만들어서 Inner 클래스를 접근하게 되면 모든 Outer 클래스를 멤버를 참조할 수 있어 하나의 인스턴스처럼 사용이 가능합니다.

감사합니다.

 

 

반응형
반응형

코틀린에서는 선언된 모든 하위 클래스를 확인할 수 있는 봉인 클래스(Sealed Class)가 있습니다.

봉인 클래스를 사용하면 상속 계층을 보호하면서 클래스를 정의할 수 있습니다.

봉인 클래스(Sealed Class)는 코틀린 1.1 이전 버전에서는 봉인 클래스를 내부에 정의했지만 1.1 버전부터는

봉인 클래스가 있는 파일 안에서 하위 클래스를 정의할 수 있게 되었습니다.

봉인 클래스가 하위에 정의되기 때문에 모든 하위 클래스를 한눈에 확인할 수 있습니다.

 

봉인 클래스(Sealed Class)

sealed class Mammal(val name:String)
class Cat(val catName: String) : Mammal(catName)
class Dog(val dogName:String) : Mammal(dogName)
class Human(val humanName:String, val job: String) : Mammal(humanName)

봉인 클래스(Sealed Class)를 선언하기 위해서는 sealed 한정자를 사용해서 선언하면 됩니다.

하위 클래스는 Mammal을 상속받아 접근이 가능합니다.

즉, 하위 클래스만 확장이 가능하고 개방이 안될 경우 다른 파일에서 사용이 불가능합니다.

개방은 조금 아래에서 확인해보겠습니다.

    fun greetMammal( mammal: Mammal) : String{
        when(mammal){
            is Cat -> return "안녕 고양이 ${mammal.name}"
            is Dog -> return "안녕 강아지 ${mammal.name}"
            is Human -> return "안녕 ${mammal.name} == 직업은 ${mammal.job}"
        }
    }
    
    Log.d(TAG,"-------- Sealed Classes ---------")

    Log.d(TAG, greetMammal(Cat("야옹이")))
        
    Log.d(TAG,"-------- Sealed END ---------")

greetMammal 함수를 사용해서 선언한 클래스를 when 제어문을 사용해서 확인할 수 있습니다.

Logcat View에서 봉인 클래스(Sealed Class) 출력 정보를 확인할 수 있습니다.

sealed class Mammal(val name:String)
class Cat(val catName: String) : Mammal(catName)
class Dog(val dogName:String) : Mammal(dogName)
class Human(val humanName:String, val job: String) : Mammal(humanName)

class Dog2: Cat("ddd")

봉인 클래스(Sealed Class)를 상속받은 클래스를 일반 클래스에서 상속받게 되면 봉인되어 있어 상속이 불가능합니다.

class Dog2에서 Cat class를 상속받으면 에러가 발생하는 것을 확인할 수 있습니다.

sealed class Mammal(val name:String)
open class Cat(val catName: String) : Mammal(catName)
class Dog(val dogName:String) : Mammal(dogName)
class Human(val humanName:String, val job: String) : Mammal(humanName)

class Dog2: Cat("ddd")

코틀린(Kotlin) 봉인 클래스(Sealed Class)를 다른 파일에서 사용하기 위해서는 open 한정자를 사용해서 개방을 해야 합니다.

Cat class를 개방하면 오류 없이 정상적으로 컴파일됩니다.

 

봉인 클래스(Sealed Class) 적용 사례

코틀린(Kotlin) 봉인 클래스(Sealed Class)는 상속 계층을 보호하는 기능이 가장 큰 특징이지만

링크 리스트나 이진트리 같은 데이터 형식 정의에 적용하면 데이터 상속에 따른 오류를 최소화할 수 있습니다.

또한 특정 클래스를 확장하지 못하게 하면서 특정 모듈에 API를 보호하면서 개발할 수 있습니다.

감사합니다.

play.kotlinlang.org/byExample/03_special_classes/03_Sealed%20Classes

 

Kotlin Playground: Edit, Run, Share Kotlin Code Online

 

play.kotlinlang.org

 

반응형

+ Recent posts