728x90

Study 8

MVC, MVP, MVVM 을 예제와 함께 알아보자 - android

1. 시작하기 전에 MainActivity.java public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //뷰 작성 setContentView(R.layout.activity_main); textView = findViewById(R.id.text_view); //이벤트 처리후 뷰 업데이트 textView.setOnClickListener(view -> { textView.setText(clickedTextView()); }); } pri..

Study/Android 2021.05.14

Could not load wrapper properties from 오류 - Android

새 프로젝트를 만들었는데 빌드중 Could not load wrapper properties from어쩌구 저쩌구... 오류가 나왔다 당황하지 말자! 원래는 안드로이드 스튜디오가 gradle.zip 파일을 services.gradle.org에 접근하여 받아와야 하는데 간혹 받아오지 못하는 경우가 있는거 같다. 그럴 경우 우리가 수동으로 다운받아주면된다. 먼저 https://services.gradle.org/distributions/ 에 접속하여 내 프로젝트에 맞는 버전의 gradle.zip을 다운받자. 다운받은 gradle.zip을 프로젝트 경로의 gradle -> wrapper 내부에 dists(distributions의 약자) 라는 이름의 폴더를 만들어 넣어주자. 마지막으로 안드로이드 스튜디오의 g..

Study/Android 2021.05.14

내가 보려고 정리하는 신입 개발자 면접 질문 및 답변 - JAVA#2

이전과 이어집니다... #####내가 보려고 정리하는 신입 개발자 면접 질문 및 답변 - JAVA#1 interface와 abstract의 차이를 설명하시오. 먼저 abstract 부터 설명 드리면 추상클래스는 추상메서드와 일반 메서드, 멤버필드, 생성자는 정의 할 수 있지만 추상메서드는 내용을 정의 할 수 없습니다. 그리고 추상클래스를 상속받은 클래스는 추상 메서드 사용시 반드시 Override를 하여 정의해야 합니다 마지막으로 추상클래스는 extends로 상속 받기때문에 다중 상속이 불가능 합니다. 다음으로 interface를 설명 드리면 인터페이스는 멤버필드와 추상메서드만 정의 할 수 있습니다. 그렇기 때문에 생성자를 가질 수 없으며 객체화가 불가능 합니다. 그리고 인터페이스는 implements를..

Study/면접 준비 2021.05.12

Heap 영역과 GC(Garbage Collector) - JAVA

Heap Area 특징 자바에서의 heap 영역은 JVM 존재하는 Runtime Data Area 안에 존재한다. heap 영역은 new 연산자 등으로 생성된 객체(인스턴스)와 배열 등이 저장되는 영역이다. heqp 영역에 저장된 객체(인스턴스)나 배열은 다른 객체에서 참조 될 수 있다. GC(Garbage Collector)가 발생 하는 영역이며, 참조(레퍼런스)가 없는 객체들은 GC과정을 통해 메모리에서 제거 된다. 위의 그림과 같이 Heap 영역은 여러 여역으로 나뉘며 이는 객체의 LifeCycle 및 GC와 연관되어 있다. Heap 영역에 객체가 적재되는 방법 public class Main{ public static void main(String[] args){ int n = 10; String..

Study/JAVA 2021.05.10

2021 카카오 채용연계형 인턴십 코딩 테스트 후기

어려웠다?? 쉬웠다?? 한마디로 정하기 좀 애매하다. 총 4시간에 5문제로 나왔고 약관 때문에 문제를 말할 수는 없지만 대략적으로 말해본다면 1번은 문자열 치환 문제로 쉬운 문제였다 2번은 동적 계획법 문제였고 3번은 효율성도 함께 측정하는 문제로 LinkedList문제였던 거 같다 난이도는 프로그래머스 기준 2~3 정도였는데 3번 문제에서 효율성 때문에 시간을 많이 까먹었다ㅠㅠ 4번 문제 풀려니 이미 한 시간 남았었다. 4번 문제는 지금 생각해보면 플로이드 와샬 알고리즘으로 풀 수 있을 것 같은데 당시에는 DFS로 풀었다 5번은 풀진 못했지만 이진트리 문제였다. 카카오 코딩테스트는 우리가 흔히 공부하는 틀에 박힌 알고리즘을 문제를 2~3개 정도 섞어놓은 느낌을 많이 받았다. 그래서 어떠한 알고리즘들을 ..

Study/취업준비 2021.05.08

내가 보려고 정리하는 신입 개발자 면접 질문 및 답변 - JAVA#1

질문들은 여기서 참고했어요 https://github.com/KimHunJin/Study-Book/tree/master/interview JVM구조에 대해 설명하시오. JVM이란 JAVA 컴파일러를 통해 JAVA source code(.java)에서 바이트 코드(.class)로 변환된것을 실행 할 수 있는 주체를 말합니다. JVM은 크게 Class Loader, Runtime Data Area, Executtion engine 세가지로 나뉩니다 첫번째로 Class Loader는 JAVA 컴파일러를 통해 생성된 바이트 코드들을 엮어서 JVM이 운영체제로 부터 할당받은 메모리 영역인 Runtime Data Area로 적제하는 역할을 합니다. 두번째로 Runtime Data Area는 자바 애플리케이션을 실행..

Study/면접 준비 2021.05.08

내가보려고 정리하는 신입 개발자 면접 준비 - JAVA

갱신중! JAVA의 장단점 장점 운영체제에 독립적이다 JVM에서 동작하기 때문에 특정 운영체제에 종속되지 않는다. 객체지향 언어이다 OOP를 위한 여러 언어적 지원을 하고있다. (캡슐화, 상속,추상화, 다형성 등등) 자동으로 메모리 관리를 해준다.(Gargage Collector) JVM에서 Garbage Collector라고 불리는 데몬 쓰레드에 의해 GC(Garbage Cllection)가 일어난다 GC로 인해 별도의 메모리 관리가 필요 없으며 비지니스 로직에 집중할 수 있다. 오픈소스이다 정확히는 OpenJDK가 오픈소스이다. OracleJDK는 사용 목적에 따라서 유료가 될 수 있다. 참고 : 구글과 Oracle의 자바전쟁 많은 JAVA 개발자가 존재하며 생태계가 잘 구축되어있다. 오픈소스 라이브..

Study/면접 준비 2021.05.06

2021 네이버 신입 공채 코딩테스트 후기 - JAVA

늦었지만 후기를 작성해보고자 한다 총 2시간을 봤고 4문제가 나왔다 4문제중 3문제를 맞추긴 했지만 테스트케이스를 많이 주지 않아 예외가 많을 수 도있다ㅠㅠ 약관때문에 문제에 대해 자세히는 얘기 못하지만 느낌만 적어보고자 한다 전체적으로 문제난이도는 중 정도인것 같다 1번문제는 구현문제였다 예외처리만 잘 할수있었다면 아주 쉬운문제였던거 같다 2, 3번문제는 효율성 문제였다 프로그래머스 기준 2~3level문제 정도의 난이도 였던거 같다 4 번문제는 완전 탐색 문제였던거 같은데 많이 어려웠다 진짜 많이ㅠ 이 문제는 많이들 못풀었을것 같다 작년부터 재미삼아 또는 느낌을 보고자 코딩테스트를 종종 봤는데 제대로 취업을 위해 코딩테스트를 준비한건 처음이고 많이 긴장했는데 난이도가 아주 높지 않아 다행이였다 결과는..

Study/취업준비 2021.05.05
728x90