본문 바로가기

전체 글256

[정보처리기능사 실기] 운영체제 기초 활용(2) 이전 포스팅 https://rkdrkd-history.tistory.com/16 [정보처리기능사 실기] 운영체제 기초 활용(1) 1. 운영체제의 개요 운영체제(OS, Operating System): 컴퓨터 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종 역할 컴퓨터를 편리하고, 하드웨어를 효율적으로 사용할 수 rkdrkd-history.tistory.com 4. 프로세스 스케줄링 프로세스: 운영체제가 관리하는 실행의 단위로 실행 중인 프로그램이라 한다. 프로세스 제어 블록(PCB: Process Control Block) 정의: 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓을 수 있는 저장 장소 각 프로세스는 고유의 PCB를 가진다. 프로세스가 생성될때 고유의 PCB가 생성.. 2022. 4. 30.
[정보처리기능사 실기] 운영체제 기초 활용(1) 1. 운영체제의 개요 운영체제(OS, Operating System): 컴퓨터 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종 역할 컴퓨터를 편리하고, 하드웨어를 효율적으로 사용할 수 있게 한다. 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 만들어 준다. 사용자와 컴퓨터간의 인터페이스로 동작하는 시스템 소프트웨어 이다. 운영체제의 목적(운영체제의 성능 평가 항목) 성능 평가 항목 설명 처리 능력 향상 주어진 시간 내에 처리되는 작업량이 많을수록 운영체제의 성능이 좋다. 응답 시간 감소 컴퓨터에 명령을 지시한 후, 그 결과를 출력하는 시간이 짧을수록 운영체제의 성능이 좋다. 신뢰성 향상 주어진 작업을 오류 없이 처리하는지에 대한 것이다. 사용 가능도 향상 시스템 운영 시.. 2022. 4. 25.
[Android Kotlin] navigation component에 bottom navigation 연결 했을때, bottom navigation이 작동되지 않을때 해결 방법 오늘의 기록은 navigation component를 사용하면서 bottom navigaion을 사용할 때, bottom navigaion이작동되지 않을때 해결하는 방법을 알아보았다. 문제 상황 클릭만 되고 화면이 바뀌지 않았다. 이를 해결하기 위해서는 menu xml의 이름을 잘 확인해야 한다. 문제 코드 naviagtion 화면과 문제 코드의 아이디가 다르다는 것을 알 수 있다. freeBoardFragment - FreeBoardFragment menu 코드의 대문자가 달라서 bottom navigation이 작동되지 않았다.이것을 고쳐서 완전히 해결했다. 2022. 4. 22.
android.view.InflateException: Binary XML file line #15 in com.example.community:layout/activity_main: Binary XML file line #15 in com.example.community:layout/activity_main: Error inflating class TextView 에러 해결 오늘의 에러는 view가 inflate가 제데로 되지 않았을때 생길 수 있는 에러이다. 나는 문제가 생긴 textView에 theme를 만들어 적용시켜 사용하고 있었는데, 문제의 테마 코드 textVIew인데 theme의 parent를 toolbar의 title로 지정해서 오류가 나는 거였다. 해결한 테마 코드 parent를 textView로 바꿔주면서 간단히 해결했다. 쓸데없이 1시간을 낭비했던 오류었다. 2022. 4. 21.
java.lang.ClassNotFoundException: Didn't find class "com.example.community.MainActivity" 오늘의 에러는 바로 클래스를 찾을 수 없을 때 뜨는 버그를 해결하는 방법을 알아보겠다. 에러 문구 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.community/com.example.community.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.community.MainActivity" on path: DexPathList[[zip file "/data/app/~~Tv8GPXV34ciClaHYGt-_Gg==/com.example.community-9AL2Z2ybv12CTGrbGEP6mQ==/base.a.. 2022. 4. 19.
Plugin [id: 'dagger.hilt.android.plugin'] was not found in any of the following sources 이번 오류는 dagger hilt를 쓰는 사람들에게 나타날수 있는 오류이다 오류 문구 * Exception is: org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'dagger.hilt.android.plugin'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Plugin Repositories (plugin dependency must include a version number for this source) at org.gradle.plugin.use.internal.DefaultPlugi.. 2022. 4. 18.
YouTube 화면 양옆에 검은 공백이 있을 때 해결 방법 유튜브를 컴퓨터로 보다 보면 간혹 이런 상황이 생긴다. 전체 화면인듯 하면서도 전체 화면이 아닌 이 화면은 생기면 양 옆에 남은 여백 때문에 상당히 불편하다(?). 그래서 이걸 해결하는 방법을 모르시는 분들을 위해 해결법을 알려주도록 하겠다(나도 기억할 겸에). 일단 저 화면은 영화관 모드라 하는 유튜브 화면 모드이다 유튜브 화면에 오른쪽 하단에 전체화면 버튼 옆에 직사각형 모양의 아이콘이 영화관 모드를 설정하는 버튼인데 그것을 클릭해주면 원래 화면으로 복구시킬수 있다. 나도 몰랐던 문제였기 때문에 혹여나 이걸 모르시는 분들을 위해 포스팅을 남기겠다. 2022. 4. 16.
[Android] 화면 이동 방법 정리 이번 예제는 내가 알고 있는 화면 전환 방법들에 대해 정리해보겠다. 1. intent를 이용한 화면이동 intent를 이용하는 방법은 생각보다 구글에 많이 나와있어 쉽게 알아낼수 있다. // 가장 기본적인 intent 사용 방법 val intent = Intent(this, SecondActivity::class.java) startActivity(intent) 이건 가장 기본적인 intent 사용법이다. 그리고 저 예제 코드는 startActivity(this, SecondActivity::class.java)로 바꿔 쓸수 있다. 1-1. putExtra putExtra는 intent를 사용할때 데이터를 보내는 메서드로, 다음과 같이 사용할수 있다. class MainActivity: Appcompat.. 2022. 4. 12.
[Android] Room 사용법과 RecyclerView를 활용한 예제 이번 예제는 안드로이드의 가상 데이터베이스인 room을 활용해 데이터를 저장하고, 그것을 recyclerview에 보이게 하는 예제를 해보겠다. room 을 사용하기 위해서는 먼저 gradle에 추가를 해줘야 한다. build.gradle(app) plugins { id 'kotlin-kapt' ... } android { ... } dependencies { implementation "androidx.room:room-runtime:2.4.2" kapt "androidx.room:room-compiler:2.4.2" } 추가를 하고 나서, 데이터베이스에 들어갈 데이터들을 만들줘야 한다. 1. 데이터베이스 개체 클래스 생성 @Entity(tableName = "chat_table") class Chat.. 2022. 4. 12.
[Android] Room에서 데이터 무결성을 확인할 수 없습니다. 필자는 room을 이용한 예제를 만들다가 한 오류를 만났다. 오류 코드 java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. 번역을 하면 Room에서 데이터 무결성을 확인할 수 없습니다. 스키마를 변경했지만 버전 번호를 업데이트하는 것을 잊은 것 같습니다. 버전 번호를 늘리면 간단히 해결할 수 있습니다. 라고 해서 버전 번호를 바꿔보았다. 기존 코드 @Database(entities = [UserE.. 2022. 4. 11.
[Android Kotlin] radio button 예제 오늘은 내가 만들고 있는 프로젝트에서 새로 알게 된 radio button 이 클릭된 것의 텍스트를 가져와서 textView에 보여주는 예제를 만들어 보겠다. 먼저 나는 커스텀 다이얼로그를 사용하고, 그것을 view binding을 통해 예제를 만들었기 때문에 build.gradle에 추가를 해보도록 하겠다. build.gradle(app) plugin { ... } android { ... buildFeatures { viewBinding = true } } dependencies { .... } 뷰 바인딩에 대한 방법은 여기서 자세히 알려주지 않을 것이기 때문에 미리 공부하고 오시길 바란다. 그 다음 dialog에 쓰일 레이아웃을 만들어 주도록 하자 custom_dualog_set_standard.x.. 2022. 4. 11.
[Kotlin] coroutine 개념 정리 오늘은 내가 공부했던 코루틴의 개념을 알아보겠다. 코루틴의(coroutine) 개념 코루틴은 kotlin에서 사용하는 동시성 프로그래밍의 일종이다. 최근에 코틀린을 사용하는 앱이 늘어남에 따라, 구글에서도 강력히 추천하는 실시간 처리 라이브러리 이다. 코루틴 코루틴(coroutine)은 루틴의 일종 코루틴의 "co" 는 with, together를 뜻한다. 협동 루틴이라 할 수 있다. 코루틴의 특징 코루틴은 이전에 자신의 실행이 마지막으로 중단된 지점의 바로 다음 장소에서 실행을 재개한다. 비동기 처리에 대한 코드를 간단히 작성해준다. 비동기 콜백 처리를 순차적으로 하게 해준다. 이제 개념을 알았으니, 간단한 코드를 보면서 이해해 보자. 코틀린 예제 GlobalScope.launch { // launch.. 2022. 4. 3.
[Android] com.google.gson.JsonParseException 해결 오늘은 내가 5시간동안 헤멨던 오류에 대해 포스팅을 남기겠다. 나는 깃허브에 push 실수를 해서 어떤 파일 하나를 git bash로 삭제했었는데... 갑자기 안스 build gradle이 안되더니 다음과 같은 오류가 생겼다 처음에는 검색을 해서 해결하려 했지만 검색해서 나오는 방법들이 모두 나한테는 안 되서 혼자 막 프로젝트 설정을 건드리다 우연히(?) 해결했다. 해결 방법 File -> Settings Settings에서 gradle을 검색하면 이런 화면이 뜬다. 그 다음 gradle user home의 주소를 바꿔보았다. 그런데 해결이 됐다. 아무튼 해결하긴 했으나 이렇게 간단히 해결해서 약간 현타(?)가 왔었다.. 2022. 4. 3.
[Android] Clean Architecture 기록 오늘은 내가 Clean Architecture를 공부한 내용을 정리해 보도록 하겠다. Clean Architecture란? Clean Architecture는 Robert C. Martin이라는 사람이 2012년에 제시한 개념으로, 관심사를 분류하는 것이 목표이다. 이렇게 관심사를 분류해서 얻는 장점은 프로젝트 유지, 관리가 용이하다. 새로운 기능 적용이 빨라진다. 테스트 코드 작성이 용이하다. 등 여러 장점들이 있다. 아래의 사진으로 클린 아키텍처의 구조를 살펴보자 클린 아키텍처는 4가지의 계층으로 분류된다. Entity User Cases Controllers UI 클린 아키텍처의 구조를 보면 바깥 계층이 안쪽 계층에 의존성을 가지는 것을 볼 수 있다. android 기준으로 보기에는 어려움이 있어 .. 2022. 4. 1.
[Android Kotlin] firebase fireStore, storage를 이용해 recyclerView로 사진 출력하기 안드로이드 sns앱 만들다가 알아낸 방법을 까먹었어도 다시 볼 수 있게 이 포스팅을 쓴다. 오늘은 firebase fireStore, storage를 이용해 recyclerView로 사진 출력하는 것을 해 보겠다. 먼저 storage에 사진을 추가해보았다. 일단 나는 게시글 만들기 기능을 만들면서 게시글에 올린 이미지들을 모두 images 폴더에 넣었고, 그리고 그 폴더 안에 사용자의 uid를 담은 폴더를 만들어서 그 안에 이미지들을 저장했다. 그 다음, firestore에 데이터들을 집어넣을 때, 사용자의 uid와 이미지 주소를 같이 집어넣었다. 왜냐하면 사용자 uid가 같으면 이미지주소를 받아와 recyclerView에 보여주게 할 것이기 떄문이다. firestore와 storage에 데이터를 넣는 .. 2022. 3. 31.
728x90