일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주택가 잠실새내
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 일상
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 플러터 flutter
- 막내의막무가내 목표 및 회고
- 안드로이드
- Fragment
- 프래그먼트
- flutter network call
- 막내의 막무가내 알고리즘
- 막내의 막무가내
- 막내의막무가내 SQL
- 프로그래머스 알고리즘
- 막내의막무가내 rxjava
- 안드로이드 sunflower
- 주엽역 생활맥주
- 막내의막무가내
- 부스트코스
- 2022년 6월 일상
- 막내의막무가내 안드로이드 에러 해결
- 안드로이드 Sunflower 스터디
- 막내의막무가내 코틀린
- 막내의막무가내 플러터
- 부스트코스에이스
- 막내의막무가내 프로그래밍
- 막내의막무가내 알고리즘
- 막내의막무가내 안드로이드
- 막무가내
- Today
- Total
목록막내의막무가내 (99)
막내의 막무가내 프로그래밍 & 일상
[네트워크의 구조] 그림을 보면 알다시피 컴퓨터, 인터페이스, 통신 매체, 라우터로 컴퓨터로 패킷교환 네트워크는 이루어져 있다. 케이블 분배기로 연결되는 범위를 세그먼트(Segment)라고 한다. 이 세그먼트 범위 내에 있는 컴퓨터는 패킷 교환없이 직접 데이터를 송수신할 수 있다. (예를 들어 방안에 컴퓨터 3대가 있는데 이 3대를 위해 3개의 라우터가 필요없이 라우터 한대로 즉 허브를 이용해서 서로 데이터 송수신을 할 수 있다.) 이를 위해서는 T자형 분배기를 만들어야하는데 작업이 번거로우므로 허브(Hub)라는 기기를 사용한다. (허브 안에 T자로 분배된 회선이 있다고 생각한다, 허브에는 케이블 삽입구 즉 포트가 여러개가 있고 이것을 다수의 컴퓨터와 연결할 수 있다. 라우터와도 연결 가능) 허브를 사용..
[데이터 통신 기초] 컴퓨터 네트워크는 컴퓨터가 가진 리소스를 주고받을 필요가 있는데 이것을 위해 이루어지는 것이 데이터 통신이라고 한다. 데이터란 무언가에 대한 정보를 컴퓨터상에서 표현한 것이다. 즉 컴퓨터상에서의 리소스를 공유하기 위한 정보라고 볼 수 있다. 그리고 이 정보는 '비트'로 구성된다. ( 0과 1의 조합) 데이터 통신에 필요한것 : 컴퓨터, 통신매체, 인터페이스 컴퓨터를 연결하는 통신 메체가 필요하고 컴퓨터와 컴퓨터 그리고 그 둘을 연결해서 데이터가 지나는 파이프가 있다고 생각하고 파이프를 연결할 때 컴퓨터에 파이프의 접속구가 필요하고 컴퓨터와 파이프의 중개역할을 하는데 이것이 인터페이스이다. 컴퓨터는 주고받고 싶은 데이터를 가지고 데이터 송신과 수신을 담당한다. 인터페이스는 컴퓨터와 통..
sql문을 연습할겸 풀어봤습니다. 문제는 여기서 풀 수 있습니다. https://programmers.co.kr/events/7day-sql?utm_source=programmers&utm_medium=learn_7daySQL&utm_campaign=7daySQL 7daySQL 챌린지 | 프로그래머스 코딩테스트에 SQL문제 비중이 해마다 증가하는데, 어떻게 준비하면 좋을까요? 이제 프로그래머스에서 SQL 쿼리도 연습하세요! programmers.co.kr 정답 DAY1 SELECT 모든 레코드 조회하기 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. SELECT * from ANIMAL_INS order ..
[2021-04-13 업데이트] 프로젝트에 MVC 아키텍처만 사용하다가 최근 간단한 공부용 프로젝트를 통해 MVP 아키텍처를 적용해보고있다. 확실히 기존 MVC 구조보다 코드가 정리되는 느낌이 들었다. MVP구조로 짜는 연습을 많이하고 MVVM도 나중에 공부해볼 예정이다. 이번에 MVP 아키텍처 공부한 것을 간략하게 정리하는 포스팅을 하려고한다. 먼저 MVC와 MVP에 대한 구조도 그림이다. 그림을 보면 알 수 있듯이 둘은 C와 P만 바뀌고 MVC구조에서는 모델과 뷰와 이어져있지만 MVP는 프레젠터를 통해서 모델과 뷰가 소통이 되야한다. 안드로이드에서 MVC구조는 사실상 액티비티나 프래그먼트에 컨트롤러와 뷰에 관한 코드를 전부 집어넣어서 MVC패턴이라 하기도 애매하고 코드가 복잡해진다는 단점이 있다.(즉..
프로젝트에서 자바스크립트 파일 하나 생성 후터미널창에 다음과 같이 입력한다. 1. npm init 그럼 정보입력창들이 뜨는데 description빼고는 딱히 건들게 없다. 그냥 엔터를 연타하자 2. npm install express --save express는 노드기반의 웹서버중 하나이며 가장 큰 규모를 가지고 있다. 이것을 다운받고 설치된 내역을 package.json에 저장해준다. node_modules 모듈이 생긴걸 확인 할 수 있다. 그 안에 express폴더가있다. 3. 서버실행코드 (init.js) 예제 const app = express(); const PORT = 4000; const handleListening = () => console.log(`Listening on: http://..
이번에 부스트코스 리뷰를 받으면서 객체를 전달할 때 Serializable이 간편해서 써왔는데 성능상 Parcelabe을 이용하는게 좋다는 리뷰를 받아서 이에대해 알아보는 포스팅을 해보겠습니다. 제목과 같이 둘의 성능차이에 대해 여러글들을 구글링 해보고 요약 및 정리해봤습니다. Parcelable 인터페이스는 Serializable인터페이스보다 구현하는 것보다 좀 더 어렵지만 읽기 및 쓰기 속도는 더 느립니다.(글마다 다른데 양이 많을수록 Parcelable이 훨씬 효율적이게 되고 2배~10배 가까이 빠르다고 합니다.) Serializable 은 해당클래스가 직렬화 대상이라고 알려주기만 할 뿐 어떠한 메서드도 가지지 않는 단순한 “마커 인터페이스 (Marker Interface)” 이므로, 사용자는 매우..
복사하기 버튼을 누르면 초대코드를 복사하는데 사용했다. 사용법은 간단하다 . 클립보드매니저(ClipboardManager)를 생성해주고 ClipData에 id값과 복사할 텍스트를 넣어준 후 클립보드매니저에 set해주면 된다. private void setOnClickListener() { onClickListener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.setprofile_invite5_li_back: finish(); break; case R.id.setprofile_invite5_btn_copy: //클립보드 사용 코드 ClipboardManager clip..
프래그먼트는 프래그먼트 매니저를 통해 불러와진다. 그래서 자바소스파일에서 프래그먼트를 추가하고 싶다면 프래그먼트매니저를 사용해야한다. 프래그먼트와 이에 대한 설명을 간단히 하자면 다음과 같습니다. 출처: https://www.edwith.org/boostcourse-android/lecture/17074/ 만약 소스 코드에서 프래그먼트를 추가하고 싶다면 프래그먼트 매니저를 사용해야 합니다. 프래그먼트는 프래그먼트 매니저가 관리하기 때문에 프래그먼트 매니저를 통해 화면에 추가하거나 다른 프래그먼트로 교체하거나 하는 일을 할 수 있습니다. 프래그먼트 매니저는 getSupportFragmentManager 메소드를 호출하면 참조할 수 있고 XML 레이아웃에 추가된 프래그먼트는 findFragmentById 메..
리사이클러 뷰에서 처음 10개씩 데이터를 불러오는데 위에서 아래로 댕기면 새로고침, 마지막 아이템에서 아래에서 위로 댕기면 로딩 후 데이터를 10개 더 가져오는 것을 구현해봤고 포스팅을 할려고한다. 아래에서 위로 댕겨서 데이터를 더 불러오는 것은 밑 사이트를 참고했다. http://www.devexchanges.info/2017/02/android-recyclerview-dynamically-load.html Learn Programming Together: Android RecyclerView dynamically load more items when scroll to end with bottom ProgressBar xxxxx www.devexchanges.info SwipeRefreshLayout과..
카톡 화면이 보이지 않는 상태에서 메시지가 왔다고 알림 화면이 뜨는 경우를 볼 수 있습니다. 이것은 카톡 앱이 사용자의 눈에 보이지 않는 상태에서도 무언가 실행되고 있다는 것을 의미합니다. 화면이 없이도 데이터를 주고받는 기능을 실행하고 때로는 메시지를 받아서 처리해야 하는데 이 때 사용되는 것이 서비스입니다. 서비스는 화면이 없는 상태에서 실행되는 하나의 애플리케이션 구성요소입니다. 요즘에는 인터넷을 통해 데이터를 주고받는 경우가 많은데 이때 대부분 서비스라는 것을 사용하게 됩니다. 서비스 앱을 실행했을 때 화면이 항상 보이는 것은 아닙니다. 다시 말해 화면을 띄우지 않고도 필요한 기능을 실행할 수 있습니다. 화면 없이 백그라운드에서 실행되는 하나의 단위를 서비스(Service)라고 부릅니다. 서비스는..
안드로이드를 하면서 기기마다 시간설정이나 국가가 다르면 서로 다르게 불러와져서 한국의 시간으로만 나오게끔 하고싶어서 다음과 같이 만들어서 사용했었다.(두번째거는 날짜와 타임스탬프를 합쳐서 토큰을 만들었던 것이다.) private String getDate() { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd HH:mm"); Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); sdf.setTimeZone(TimeZone.getTimeZone("Asia/Seoul")); String dateResult = sdf.format(date); return dateResult; } //게..
부스트코스 에이스를 진행하면서 Intent로 값을 전달해주고 화면전환을 하는 코드에서 위와 같이 코드리뷰를 받았다. 그래서 스타터 패턴에 대해서 찾아봤다. https://riptutorial.com/android/example/5357/starter-pattern Android - Starter Pattern | android Tutorial android documentation: Starter Pattern riptutorial.com https://hackernoon.com/object-oriented-tricks-4-starter-pattern-android-edition-1844e1a8522d Object Oriented Tricks: #4 Starter Pattern -Android Editi..
안드로이드 스튜디오작업하다가 밑 사진과 같이 run창 logcat창이 갑자기 사라졌었다. 하지만 에뮬레이터 실행은된다. 그러나 run창 Logcat창이 사라져서 뭐때문에 에러가 났는지 알수도 없고 필수적으로 있어야할 창이 사라져서 고생하다가 해결방법을 우연히 찾았다. (구글링해도 상단에 있는 run 관련해서밖에 못찾아서 ㅠ) 바로 왼쪽 가장 하단에 저 네모난 버튼을 클릭하면된다. 이제 run창과 함께 에러를 볼 수 있다 윽..
구글로그인과 페이스북로그인에 이어서 카카오톡 로그인을 해본 걸 정리하는 포스팅을 갖도록 해보겠습니다. [2020-06-21 업데이트] 참고로 저는 구글 파이어베이스의 OAuth 토큰을 사용하기 위해서 카카오톡 로그인과 구글 로그인을 통합해야했습니다. 그래서 카카오톡 로그인 성공시 해당 정보를 갖고 구글로그인 가입이 되게 하여 토큰을 받을 수 있게 했었습니다. 즉 카카오톡 로그인 -> 구글 로그인 -> 가입 완료가 되는 절차입니다. 카카오 디빌로퍼 UI가 좀 바꼇네요. 활성화 하시고 키는 여깄습니다. https://developers.kakao.com/docs/latest/ko/kakaologin/android Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카..
import numpy as np import cv2 # BGR(파랑색) color = [255, 0, 0] # cvtColor 함수의 입력으로 사용할 수 있도록 한 픽셀로 구성된 이미지로 변환한다. pixel = np.uint8([[color]]) # cvtColor를 사용하여 HSV 색공간으로 변환한다. hsv = cv2.cvtColor(pixel, cv2.COLOR_BGR2HSV) # HSV값을 출력하기위해 픽셀값만 갖고온다. hsv = hsv[0][0] # bgr과 hsv 값 출력 print("bgr: ", color) print("hsv: ", hsv) import cv2 # 이미지파일을 컬러로 읽어온다. img_color = cv2.imread('food.jpg') # 이미지의 높이와 너비를 ..