일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Fragment
- 막내의막무가내 알고리즘
- 부스트코스
- 프래그먼트
- 막내의막무가내 안드로이드
- 막내의막무가내 rxjava
- 막내의막무가내 일상
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 플러터
- 부스트코스에이스
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 코틀린
- 막무가내
- 막내의막무가내 플러터 flutter
- 막내의막무가내 프로그래밍
- 막내의막무가내 목표 및 회고
- 안드로이드 Sunflower 스터디
- 주엽역 생활맥주
- 막내의막무가내 SQL
- 막내의막무가내 코볼 COBOL
- 막내의 막무가내 알고리즘
- 주택가 잠실새내
- 2022년 6월 일상
- flutter network call
- 프로그래머스 알고리즘
- 막내의 막무가내
- 막내의막무가내
- 안드로이드
- 막내의막무가내 안드로이드 에러 해결
- Today
- Total
목록전체 글 (696)
막내의 막무가내 프로그래밍 & 일상
리엑트를 처음 인강으로 공부하면서 간단하게 정리할려고합니다. https://academy.nomadcoders.co/courses/enrolled/216871 ReactJS로 웹 서비스 만들기 ReactJS로 웹 서비스 만들기 academy.nomadcoders.co 강의는 노마드코더 니꼴라스 강사님꺼를 들었습니다. prop type을 체크해줄 수 있다. (사용할려면 설치방법은 아래와 같다.) npm i prop-types prop의 type(String, number 등) , isRequired(꼭 있어야하는 값인지) , prop name을 체크해줄 수 있다. import React from "react"; import PropTypes from "prop-types"; const foodILike =..
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 ..
출처: [위키백과] 도커는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 1. 가상 머신과 유사하게 가상 환경에서 가상화를 목적으로 한다. 2. 독립적인 OS를 올리는 가상 머신과 달리, Dockers는 시스템 자원을 공유한다. 3. 경량이며 훨씬 빠른 성능을 갖고있다. 도커 초보자들이 읽기 좋게 정리한 사이트 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html 위 사이트 글을 아주 간략하게 컨테이너와 이미지에 대해서..
카메라 갤러리 카메라 앱 화면 보여주기 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); } 사진 찍은 결과 보여주기 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_..
https://androidclarified.com/android-image-upload-example/ Android Image Upload Example | Multipart Retrofit2 Learn how to upload images/file on Android using Multipart with Retrofit2. Android Image Upload is explained step by step here with a good example androidclarified.com
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(in.readLine()); long result = 0; long num = 1; long num2 = 0; if(n
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(in.readLine()); ArrayList arrayList = new ArrayList(N); for(int i=0 ; i
한 파일에 모든 모듈을 넣거나 관련이 크지 않은 경로를 가진 것도 서로 섞여있으면 코드를 읽고 유지보수하기가 힘들 것이다. 그래서 라우터를 만들어 모듈화하는 방법과(라우팅) 간략한 nodejs의 mvc패턴에 대해 알아봤다 (개인 필기 및 공부 용으로 작성한 글이라 순서에 상관없이 작성하였습니다.) 참고로 es6 문법을 사용했으므로 babel모듈을 따로 설치해주어야한다 npm install --save-dev @babel/core @babel/cli npm install @babel/core npm install @babel/preset-env 로 설치하고 프로젝트폴더에 .babelrc 라는 파일을 만들어주고 다음과 같이 작성해준다. { "presets": ["@babel/preset-env"] } 그리고..

뷰엔진을 사용안했을 때 import express from "express"; const app = express(); // express import bodyParser from "body-parser"; // var bodyParser = require('body-parser') //서버구동 app.listen(3000, function() { console.log("express server start on port 3000"); }); //app.use 사용 //static 디렉토리 설정 //public이란 디렉토리에 html(뷰)만들었을 경우 자동으로 해당위치의 url로 접근하면 해당파일을 띄워줌(일일히 매매번 url 설정 귀찮을을때 유용) app.use(express.static('public..

이전에 SqliteDatabse와 Relam은 간략하게라도 써봤었는데 Room은 써본적이 없어 이번에 공부도할겸 간략하게 써보고 정리를 해봤다. https://www.youtube.com/watch?v=LRMfm458E3k 먼저 오준석 강사님의 강의를 수강하고 여러 블로그를 참조했다. https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#8 그리고 이 사이트대로 코드를 레퍼지토리로 짜볼려고 했으나 짜다가 중간에 좀 복잡해져서 나중에 실력이 향상되면 해보기로한다.. MVVM패턴을 사용하는 것 같은데 내가 아직 MVVM패턴을 모르고 저 사이트대로 하는건 배보다 배꼽이 더커지는 것 같다 생각했다. 나중에 MVVM 레퍼지토리 패턴(?..

[2021-05-26 업데이트] PC 버전에서 코드가 인식이 안되어 검은색화면만 뜨고 코드가 안보이는 에러가 있네요. 코드를 확인하시려면 https://youngest-programming.tistory.com/m/112 모바일 버전으로 확인해주시길 바랍니다. :) [PHP] PHP DB관련 코드 정리 php 함수 설명 1. mysqli_query() => 다른 형식의 SQL 구문, INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRUE를, 실패하면 FALSE를 반환합니다. 2. mysqli_connect() => php에서 MySQL 을 연결해주는 함 3... youngest-programming.tistory.com php 함수 설명 1. mysqli_query() => 다른 형..

[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)라고 부릅니다. 서비스는..

단순 알림을 주고 알림을 누르면 런처액티비티로 이동하는 것은 예전에 해봤으나 알림을 누르면 채팅방이나 게시물로 이동하고 해당 내용들을 보여주게 하는 것은 이번에 처음 해봤다. 그에 대해 다시는 까먹지 않도록 코드와 간단한 설명을 기록하기위해 포스팅한다. 먼저 위 문서를 보면 Data는 포어그라운드와 백그라운드일 때 둘다 onMessageReceived를 통해 전달이 되나 Notification은 백그라운드에서는 onMessageReceived로 받을 수 없음을 알 수 있다. 그래서 두가지 경우에 대해 해봤다. 먼저 노티피케이션으로 감싸보냈을 때와 Data로 감싸보넀을 때 중 전자를 먼저 작성해보겠다. 예를들어 전자는 이러한 페이로드로 { from:, to:, notification: { title:, b..
https://yookeun.github.io/java/2017/05/27/java-gson/ Java에서 JSON(GSON)사용 Java에서 간단하게 json을 생성하고 파싱하는 방법을 알아보자. 여러가지 라이브러리가 있는데 우리는 여기서 구글에서 만든 gson를 이용하겠다. gson은 비교적 가볍고, 메이븐저장소를 지원하고 전반적으로 성능이 좋아서이다. 먼저 메이븐으로 다운로드한다. com.google.code.gson gson 2.8.0 1. 객체를 json으로 만들자. Person이라는 객체가 있다면 이를 json으로 변경해보자. @Data public class Person yookeun.github.io