목록전체 글 (37)
공부한 것 꼭꼭 씹어먹기
오버라이드는 무엇인가 오버라이드(override)란, 서브 클래스로 슈퍼 클래스의 메소드를 우선시키는 것으로 폴리모피즘을 가능하게 합니다. 폴리모피즘은 같은 이름의 메소드에 대해 다른 처리를 하는 것입니다 . 순서를 따라 설명해보겠습니다. 우선, 서브 클래스를 슈퍼 클래스의 참조로 취급하는 메리트를 String 클래스의 equals 메소드를 사용해볼게요. 그 전에 instanceof 연산자에 대해 간단히 소개해 둡니다. 이 연산자는 인스턴스의 클래스를 검사할 때 유효한 연산자입니다. 사용 예입니다. String s = "Hello"; System.out.println(s instanceof String); 출력 결과는 true로 표시됩니다. 그런 다음 String 클래스의 equals 메소드를 읽어 봅시..
JAVA의 클래스 상속에 대해 정리해 보겠습니다. 상속을 사용하면 다른 클래스를 일정한 그룹으로 취급할 수 있게 됩니다. 차량을 예로 들자면 택시나 버스, 여객선 등 다양한 차량이 있습니다. 이것들은 각각 다른 클래스라고 생각할 수 있습니다만, 크게 탈 것이라고 하는 하나의 카테고리로 분류할 수 있군요. 그러면 같은 성질이나 동작을 가지고 있다고 말할 수 있습니다. 그 놀이기구를 같은 그룹으로 취급할 수 있는 것이 계승입니다. 상속은 매우 성공적인 메커니즘입니다. 단, 초보자에게는 조금 직관적으로 알기 어려운 곳이 있습니다. 수속 지향의 프로그램에서는 소스 코드를 대충 읽으면 어떤 처리를 하고 있는지가 일목요연입니다만, 객체 지향에서는 자신의 클래스가 가지고 있지 않을 것인 멤버를 사용할 수 있거나 하는..
의존하는 프로그램은 위험합니다. 프로그램은 독립할수록 좋다고합니다. 하지만 왜 프로그램이 독립적이면 좋을까요? 그래서 A, B, C의 3개의 프로그램이 독립되어 있지 않고, 각각 의존하고 있는 상태를 생각해 봅시다. A, B, C 각각이 서로 결합하고 의존하는 상태입니다. 이 경우 A 프로그램에 추가하거나 수정한 경우 B에 영향이 없는지 확인해야 합니다. 또한 A 프로그램을 변경하여 B를 수정해야 할 경우 B를 변경하면 C에 영향을 줄 수 있습니다. 그리고 B를 변경하여 C에 영향을 주는 경우에는 C를 변경하여 A에 영향이 없는지 확인해야 합니다. 그러면 언제까지 지나도 프로그램 변경이 끝나지 않는 무한 루프 에 들어갈 가능성이 있습니다. 게다가 A, B, C의 어느 프로그램을 변경해도, 각각에 주는 영..
looker 인터페이스 훑어보기 Explore를 클릭하면 3가지의 샘플 데이터가 나오는데요, E-Commerce Training, FAA, Looker Basics는 model이고 각각의 model 이하에 있는 Events, Order items... 등은 각 모델의 explore 입니다. 가장 심플해 보이는 FRUIT BASKET을 선택해 보겠습니다. Fruit Basket이라는 explore에는 Color, Fruit Type, Price 등의 dimension과 Average Price, Count, Total Price 등의 measures가 있습니다. dimension 중 Fruit Type과 Price를 선택하고 measure는 Total Price를 선택하고 Run 버튼을 클릭하면 아래 화면..
Cloud Skills Boost에서 연습하기 이제 looker를 실제로 좀 써봐야 하는데요, looker 홈페이지에 가입해서 demo 신청하고 lesson 듣고 해도 되지만 좀 더 가볍게 체험할 수 있는 방법이 있습니다. 구글 클라우드에서 제공하는 Google Cloud Skills Boost (a.k.a Qwiklabs)홈페이지에 들어갑니다. https://www.cloudskillsboost.google/ Google Cloud Skills Boost Qwiklabs에서는 개발자와 IT 전문가가 클라우드 플랫폼 및 Firebase, Kubernetes와 같은 소프트웨어를 학습하는 데 도움이 되는 실제 Google Cloud 환경을 제공합니다. www.cloudskillsboost.google 우선 ..
Looker is a tool that helps you explore, share, and visualize your company's data so that you can make better business decisions. 2020년에 구글에 인수된 looker는 데이터를 가공하고 시각화하는 툴입니다. 구글 빅쿼리와 구글 데이터 스튜디오가 있는데 looker는 왜 필요한 걸까? 하는 의문점과 함께 looker를 공부해 보도록 하겠습니다. 현재 구글은 looker와 data studio를 통합하려고 베타 테스트 중이라고 합니다. 아래 페이지에서 양식을 신청하면 테스트 해볼 수 있다고 하네요. https://cloud.google.com/blog/products/data-analytics/looke..
앱시트로 만들어본 휴가관리어플 회고 지난 2주 동안 틈틈이 저의 첫번째 앱시트(이자 노코드) 어플을 만들어 보았습니다. 아주 작고 소중했던 토이 프로젝트를 마쳤으니 회고를 한 번 해보려고 합니다. 우선 개발자로서 앱시트를 사용해보고 느낀 점은 의외로 편한데 불편하다! 이었습니다... 또르르...👀 화면단 구현하느라 고생하지 않아도 되고, 데이터베이스 셋팅할 필요도 없어서 아주 편했습니다. 특히, 테이블이 만들어지면(스프레드시트에 작성만 하면) CRUD 화면이 알아서 만들어 지니까 아주 손쉬웠습니다. 그러나! 각 데이터에 함수를 쓰는 것이 익숙지 않아서 생각만큼 속도가 나지 않았습니다. SQL 쿼리를 쓰면 바로 뽑을 수 있을 데이터인데 각 데이터 컬럼의 formula를 이리 저리 만지고 각종 설정을 체크 ..
이어서 대망의 6번 항목을 만들어 보겠습니다. 관리자 메뉴를 따로 만들어서 현재 로그인한 관리자가 관리하는 직원들의 휴가 내역만 보여주게 할 건데요, 우선 관리자 화면에 표출할 슬라이스를 만들겠습니다. '휴가 관리'라는 이름을 지어주고 source table은 당연히 leave 입니다. Row filter condition에는 다음과 같은 수식을 써줍니다. IN([신청자], FILTER("member", [직속 팀장] = USEREMAIL())) member 테이블에서 직속 팀장 아이디가 현재 로그인한 유저의 아이디와 같은 row들만 필터링한 데이터 중에 이메일이 leave 테이블의 신청자와 같은 것이 있으면 true를 반환합니다. Update mode는 Add와 Delete 체크를 해제하여 오직 수정만..