일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 sunflower
- 막내의막무가내 안드로이드
- 막내의막무가내 프로그래밍
- 안드로이드
- 막내의막무가내 코틀린
- 주엽역 생활맥주
- 막내의막무가내 일상
- 막내의막무가내 rxjava
- 막내의막무가내 SQL
- 프로그래머스 알고리즘
- 막내의막무가내 안드로이드 코틀린
- 부스트코스에이스
- 막내의 막무가내
- 막내의막무가내 목표 및 회고
- 2022년 6월 일상
- 막내의막무가내 코틀린 안드로이드
- 프래그먼트
- flutter network call
- 막내의막무가내
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 플러터
- 막무가내
- 막내의 막무가내 알고리즘
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 플러터 flutter
- 부스트코스
- 안드로이드 Sunflower 스터디
- 주택가 잠실새내
- 막내의막무가내 알고리즘
- Fragment
- Today
- Total
목록전체 글 (688)
막내의 막무가내 프로그래밍 & 일상
안드로이드에서 차트라이브러리는 그렇게 많지는 않은 것 같다. 그 중 내가 아는것 중 가장 유명한 라이브러리인 MPAndroidChart의 Radar Chart에 소개할려한다. https://github.com/PhilJay/MPAndroidChart PhilJay/MPAndroidChart A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations. - PhilJay/MPAndroidChart github.com 원형 차트 말고도 여러 차트가 구현되어있으므로 차트를 만들려고 ..
레트로핏2를 이용하다가 다음과 같은 에러가 계속나고 뭐가 틀린지도 모르고 계속 이상한것만 고치며 삽질을 하였다. 해결방법은 자바 8로 업글을 해주는거였다. (엄청난 삽질) 모듈수준의 gradle에 다음을 추가하자 compileOptions { targetCompatibility = "8" sourceCompatibility = "8" }
카카오맵을 처음 사용하는데 사용하면서 삽질했던거에 대해 포스팅해볼려한다. 1. 카카오맵 개발자계정 키 해시는 디버그키를 의마한다. 2. E/net.daum.mf.map.n.api.NativeMapLibraryLoader: Can`t load DaumMapEngineApi.so file 카카오맵은 에뮬에서 안돌아간다. 그냥 꺼진다;;; => 폰에서 돌리자. 3. MapView를 사용할때 여러가지 import가 나올 것이다. 이중 mf.map이 들어간걸 사용한다. 4. java.lang.RuntimeException: DaumMap does not support that two or more net.daum.mf.map.api.MapView objects exists at the same time 카카오맵 ..
방학에 인턴을 하는 중인데 스프링부트를 사용한다. 스프링도 안해봤지만 공부는 조금 해놔야할 것 같아서 위의 스프링부트 책을(스프링부트 프로그래밍 입문) 구입하여 읽고있고 총 8단원중 절반인 4단원까지 읽은 상태이다. 아직까지는 책에서 크게 어렵거나 한 부분은 없었다. 설명을 잘 해논 책인 것 같다. 이제 데이터베이스 JPA 쪽을 읽을 차례이다. 살짝 봤는데 데이터베이스를 MongoDB를 사용하는데 스프링에서 많이 사용할 RDBMS를 사용하는게 더 낫지 않았을까라는 생각이 든다. (물론 전 핵초보 상태지만 ㅇㅅㅇ..) 뒷부분 후기는 나중에 올려보도록 하겠다. 댓글과 공감은 큰 힘이 됩니다.
멀티미디어 스트리밍 프로토콜을 이용한 실시간 라디오 녹음 및 저장을 할 수 있는 프로그램을 python을 사용해 만들어봤다. RTMP 프로토콜을 사용해서 EBS 라디오를 녹음하고 HLS 프로토콜을 사용해서 KBS 라디오를 녹음할 수 있다. 그리고 녹음뿐 아니라 crontab을 이용해서 내가 정한 주기마다 라디오를 다운받을 수 있게 했다. 이렇게 녹음된 파일 들을 소켓 웹서버에 올리고 실행 및 다운을 할 수 있는게 최종 결과물이다. RTMP protocol: Real TIme Messaging Protocol, 인터넷 상에서 멀티미디어 스트리밍 서비스를 이용하기 위해서 사용하는 프로토콜중 하나이다. HLS protocol: HTTP Live Streaming, http 기반 미디어 스트리밍이고 apple에..
BGP Routing Table Data를 읽어 IP주소를 탐색한다. 1. 먼저 제공된 BGP Routing Table Data를 읽어 전처리를 한다. 2. 전처리된 파일을 읽어 Hash와 Trie 두 가지 알고리즘을 사용하여 input IP(입력된 ip)의 주소를 탐색하는 방법을 구현 한다. 3. 마지막으로 두 가지 알고리즘의 성능평가를 위해 그래프로 시각화하여 보여준다. 두개다 하나의 파일에 구현하였다. input파일은 다음과 같다. 먼저 전처리할 파일을 읽어온다. 파싱을 하고 같은 네트워크 아이피일 경우 Big Weight > High Local Pref > Short AS_PATH기준으로 하나의 아이피만 남기고 리스트에 저장한다. 전처리한 ip리스트를 pickle과 txt파일로 저장한다. (txt..
TCP socket을 이용한 Phillps Hue제어 HTTP Server 만들어보았다. 요약하면 다음과 같다. 1. 서버로 Docker를 사용한다. 2. 전구를 제어할 수 있는 post방식의 form을 담고 있는 Web UI 제작 (html) 한다. 3. 클라이언트에서 GET 요청을 하면 내가 2에서 만든 Web UI 반환해준다. 4. 웹페이지로 POST 요청을 보내고 서버에서는 해당 값을 받아 데이터를 파 싱 및 가공하여 브릿지 통신을 하여 Phillps Hue(전구)를 제어한다. 위는 전구를 제어하는 웹페이지인 hueController.html 파일이다. (실수로 head태그에 다 작성했다) form 태그는 post 방식으로 하였고 전원 on/off, 밝기 그리고 x, y 컬러값을 설정할 수 있다...
테스트를 위해 Locust라는 서버 테스트 도구를 사용하도록 한다. 그리고 도커 컨테이너 안에 서버를 두도록 한다. 서버는 단일 프로세스, 멀티 프로세스, 멀티 스레드 소켓 서버가 있다. python 코드로 구현하였다. 각 소 켓 서버의 성능을 테스트하고 차이점을 알아보았다. 가장 먼저 도커 안에 단일 프로세스, 멀티 프로세스, 멀티 스레드 소켓 서버를 만들고 클라이언트에서 locust를 사용해서 도커의 서버에 접속했다. 테스트환 경은 내 노트북 윈도우의 vmware 리눅스 안에 도커 서버를 두고 같은 와이 파이 환경인 친구의 맥북을 클라이언트로 사용하였다. 도커에서는 포트 8000번을 열고 외부에서는 1234 포트로 접속하면 된다. (포 트 포워딩) 참고로 locust 는 다운받고 locust 테스트할..
안드로이드 소켓 통신을 공부하면서 예시로 간단한 채팅을 구현해봤다. 폰 하나는 서버 다른 폰 하나는 클라이언트를 맡고 소켓 통신을 하는 결과를 구현했고 프로젝트는 서버와 클라이언트 두 개 로 나눠서 만들었다. [서버] 위의 getLoacalAddress() 메소드를 통해서 현재 내 휴대폰의 ip를 알 수 있고 TextView에 set해준다. 클라이언트에서 서버 ip를 알아야 접속이 가능하므로 필요하다. ServerSocketOpen()은 Open Server 버튼을 누르면 동작할 온클릭 메소드이다. [62~78라인]: 소켓을 생성할려면 포트번호가 필요하다. 그러므로 포트번호를 editText에서 입력했는지 검사 후 서버 소켓을 생성한다. 안드로이드에서는 소켓 통신을(네트워크 통신) 할 때 스레드가 필수적..
도커를 서버로 두고 다른 컴퓨터를 클라이언트로 두어 소켓 통신을 사용해 웹페이지 서빙을 해보았다. [선 결론] TCP 소켓을 사용해서 HTTP 서버를 만들었다. 클라이언트와 서버 소캣 파이썬 코드를 각각 만들어 통신을 해보고, cURL, Telnet, Web browser를 통해서도 소켓 서버에 요청과 응답을 받아봤다. 또한 브라우저로 접속했을때 내가 만든 웹사이트를 띄워주도록 하였다. 마지막으로 wireshark를 통해서 packet capture를 하여 tcp소켓 통신을 어떻게 하는지 볼 수 있었다. 먼저 서버가될 docker 컨테이너 서버 소캣의 ip를 설정해주기 위해 docker 컨테이너내에서 ifconfig로 확인한 결과이다 도커 로컬 ip가 172.17.0.2임을 알 수 있다. 그래서 http..
도커내에서 웹 프레임워크를 활용해서 웹 페이지를 서빙해봤다. 이를 위해 nginx, uwsgi, django를 사용한다. uwsgi는(Web Server Gateway Interface) 웹서버와 웹 애플리케이션의 인터페이스를 위한 파이선 프레임워크다. nginx(서버)가 보낸 요청을 django가 알아들을 수 없다. 즉 둘은 직접 연동이 안된다. 그래서 uwsgi를 사용해서 nginx 보낸 요청을 파이썬으로 해석해서 django와 연동되게 해주고 알맞게 웹페이지를 불러오게 해준다.(간단히 말하면 uwsgu가 인터페이스 역할을 한다.) 또한 nginx는 정적인 웹만 지원하므로 동적 웹, 데이터베이스 연동을 위해 웹 어플리케이션인 django가 필요하다. Client – Server(nginx) – Soc..
[2021-04-13 업데이트] 출처 :커니의 코틀린(강추!) 밑 링크에 예제를 좀 더 자세히 포스팅 했습니다. 참고해주세요 :) https://youngest-programming.tistory.com/578 [안드로이드] 코틀린 범위지정함수(Scoping Functions) - let, run, with, apply, also - 코드에러나서 고치는 [코틀린의 특징] 코틀린은 인틸레지에서 만든 언어로 JVM에서 동작하고 자바와 100% 호환된다는 특징을 갖고 있습니다. 이밖에도 Null Safety, 함수형프로그래밍, 확장함수, 코드의 간결함 등 다양한 youngest-programming.tistory.com let() fun T.let(block: (T) -> R) : R 이 함수를 호출하는 객체..
[2021-04-13 업데이트] 출처 : 커니의 코틀린 => 책 추천합니다 ! 커니의 코틀린책을 보며 공부하는 중이다. 스트림 함수를 공부한걸 간략하게 정리하면서 공부할 수 있는 포스팅을 가질려고합니다. 그리고 필요한 함수를 원할 때 찾을수 있게 기록합니다. //데이터 val cities = listOf("Seoul", "Tokyo", "Mountain View") [변환] map() => 컬렉션 내 인자를 다른 값 혹은 타입으로 변환할 때 사용합니다. //데이터 val cities = listOf("Seoul", "Tokyo", "Mountain View") cities.map{ city -> city.length } .forEach{ println("length=$it")} cities.map{ ci..
String str = "" //example TextUtils.isEmpty(str); //null 혹은 "" 인지 체크 ObjectUtils.isEmpty(obj) //String / List / Map / [] 형태의 Object들의 null 그리고 빈값을 체크 출처: https://gun0912.tistory.com/1 [박상권의 삽질블로그] https://gun0912.tistory.com/1 [안드로이드/JAVA]클래스(Object) 비어있는지 체크하는 방법 안드로이드뿐만 아니라 JAVA에서 변수를 사용하면서 해당 변수가 빈 객체인지 확인하고싶은 경우가 있습니다. Git에서 보기 주로 String이나 List가 비어있는지를 체크하는경우가 많은데요. String형인 A와 B변수.. gun0912..
최근 스프링 공부하기전 JSP, Servlet을 빠르게 복습하고 있다. 한글처리에대해 살짝 정리해보겠습니다. 밑과 같이 한글처리를 하는 방법은 두가지가 있는데 후자가 많이 쓰입니다. 전자는 매번 저렇게 하면 딱 봐도 비효율적... 1. JSP, Servlet에 직접 적어주는 방식 , server.xml도 밑에 그림의 글을 추가 2. Filter 사용 다음과 같이 생성하면 된다. Filter를 상속한 클래스를 생성했고 setEncoding을 해준다. 그리고 web.xml에 등록을 해준다. url 패턴을 /* 로 함으로써 모든 경로에 적용시켜주도록 한다. 출처: https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-jsp_renew/lecture/13668 불러오는 중입..
Nodejs 코드 정리를 해볼려고한다. 먼저 프로젝트 구조는 다음과 같다. 크게 controller, route, app으로 나뉜다. app.jsconst express = require( "express"); const router = require("./route/router"); const bodyParser = require('body-parser'); const app = express(); const port = process.env.PORT || 3000; app.use(bodyParser.json()) app.use(bodyParser.urlencoded({extended:true})) app.use(router); app.listen(port, err => { if(err){ consol..