안드로이드 스튜디오 Lombok 사용하기

728x90

객체지향 프로그래밍을 하다 보면 Getter와 Setter 등을 필수적으로 사용하게 된다.

 

물론 Eclipse나 Intellij, Android Studio 등 대부분의 IDE에서 속성(변수)을 만들어 놓으면 클릭 몇 번으로 Getter, Setter를 생성할 수 있지만 Model의 개수가 많아지거나 속성이 많아진다면 매번 생성하는 것도 번거롭고 코드의 양도 비약적으로 상승하게 된다.

 

이때 설치 한 번으로 편리하게 사용할 수 있는 라이브러리가 Lombok이다.

 

Lombok 이란?


Lombok(롬복)이란 Java에서 제공하는 라이브러리로 Annotation을 통해 컴파일 과정에서 반복되는 소스코드를 생성해 준다.

 

즉, 개발자가 보는 코드 레벨에서는 불필요한 반복코드를 생략함으로써 생산성을 향상하고 가독성과 유지보수 측면에서 장점이 있는 라이브러리다.

 

하지만 Annotation을 사용하기 때문에 개발자에 따라 직관성이 떨어져 보일 수 있고 API의 동작 방식을 어느 정도 숙지해야 다른 라이브러리와의 충돌 등에 대한 문제에 대처할 수 있기 때문에 호불호가 갈리는 라이브러리이기도 하다.

 

안드로이드 스튜디오에 Lombok 적용하기


직접 Lombok 사이트로 가서 jar 파일을 다운로드할 수도 있지만 안드로이드 스튜디오에서는 Plugin을 제공하기 때문에 간단하게 설치하여 적용할 수 있다.

 

Lombok PluginLombok Plugin
Lombok Plugin

File -> Settings에서 Plugins를 누르고 lombok을 검색하면 가장 많이 설치되어 위에 뜨는 Lombok을 Install 하면 된다.

 

Restart IDE
Restart IDE

Install이 완료되면 Restart IDE로 문구가 바뀌는데 IDE가 시작될 때 적용되므로 클릭해서 재시작해준다.

 

참고로 지금 당장 적용 할 필요가 없다면 나중에 IDE 킬 때 자동으로 적용된다.

 

Dependencies
Dependencies

Lombok을 설치했다면 이제 build.gradle(Module:app)에 의존성을 추가해야 한다.

 

compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'

dependencies에 위 두 줄을 추가하고 Sync Now를 클릭해서 동기화를 시켜준다면 Lombok을 사용할 준비가 끝난다.

 

Lombok 적용 예시
Lombok 적용 예시

사용 방법은 사진에 보이다시피 상당히 간단하다.

 

@Getter, @Setter

각 속성에 대한 Getter, Setter 메서드를 제공한다.

 

@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor

@NoArgsConstructor 어노테이션은 파라미터가 없는 생성자를, @AllArgsConstructor 어노테이션은 모든 속성 값을 파라미터로 갖는 생성자를, @RequiredArgsConstructor 어노테이션은 final이나 @NonNull 어노테이션을 갖는 속성 값만 파라미터로 갖는 생성자를 제공한다.

 

@ToString

모든 속성값을 문자열로 바꿔주는 toString 메서드를 자동 생성한다.

 

@DATA

모든 어노테이션을 포함하여 제공한다.

728x90

댓글()

안드로이드 스튜디오 액션 바(Action Bar) 없애기

728x90

안드로이드 프로젝트를 생성하고 에뮬레이터를 돌리면 Default로 상단에 액션 바(Action Bar)가 보인다.

 

Action Bar
Action Bar

프로젝트 이름이 쓰여있으며 텍스트나 색상, Action 등을 자유롭게 설정할 수 있다.

 

다만 이 액션 바를 사용하지 않는 경우도 많기에 없애는 방법 두 가지를 알아보자.

 

첫 번째는 Java 파일에서 없애는 방법이다.

 

Action Bar
Action Bar

위 코드처럼 onCreate 메서드 안에 액션 바에 대한 객체를 얻어와서 hide 메서드를 실행하면 된다.

 

이렇게 사용한다면 해당 액티비티에서만 액션 바를 숨길 수 있기 때문에 특정 액티비티에서만 지우려면 효율적이지만 전체적으로 적용하기엔 불편한 방법이다.

 

따라서 아예 액션 바가 필요 없다면 테마를 변경하는 두 번째 방법을 추천한다.

 

Style.xml
Style.xml

app > res > values로 이동해서 styles.xml 파일을 연다.

 

Style.xml
Style.xml
Style.xml
Style.xml

위 사진과 같이 AppTheme를 NoActionBar에서 상속받을 수 있도록 변경하면 된다.

 

어떤 방법이든 상황에 맞게 적절히 사용하면 될 것이다.

728x90

댓글()

안드로이드 스튜디오 액티비티 전환하기

728x90

앱을 사용하면서 가장 기본이 되는 액티비티 전환에 대해 알아보자.

 

그전에 액티비티란 하나의 화면이라고 생각하면 된다.

 

UI인 xml파일과 해당 화면의 기능을 수행하는 java파일이 한 세트다.

 

안드로이드 스튜디오에서 프로젝트를 갓 생성하면 MainActivity.java와 activity_main.xml이 있다.

 

필자는 모드 선택 > 난이도 선택 > 게임 진행을 베이스로 구현할 것이기 때문에 Main을 ModeSelect로 변경하고 진행하겠다.

 

RefactorRefactor
Refactor
Refactor
Refactor

이름 변경은 java파일과 xml파일을 우클릭 > Refactor > Rename을 누른 후 원하는 이름으로 변경하고 Refactor를 누르면 어느 곳에서 변경이 이루어지는지 Preview를 볼 수 있는데 한 번 확인하고 Do Refactor를 누르면 전체적으로 변경된다.

 

혹시 모르니 이름 변경하고 나서 에뮬레이터를 돌려 확인해보고 만약에 오류가 뜬다면 AndroidManifest.xml 파일을 열어서 변경이 제대로 되었는지 확인해보면 된다.

 

이제 새로운 액티비티를 생성할 차례다.

 

Empty Activity
Empty Activity

app > java > 액티비티가 있는 폴더에서 우클릭 > New > Activity > 원하는 액티비티를 누르면 처음 프로젝트 생성할 때처럼 액티비티 생성 화면이 나온다.

 

Empty Activity
Empty Activity

Activity Name을 설정하고 Finish를 누르면 되는데 Generate Layout File은 액티비티를 생성할 때 자동으로 xml파일도 만들어준다는 항목이므로 선택 해제하지 않는 것을 추천한다.

 

새로운 Activity
새로운 Activity

또한 자동으로 추가되긴 하지만 혹시 모르니 AndroidManifest.xml에도 추가되었는지 보고 에뮬레이터까지 돌려서 확인해보는 것을 추천한다.

 

그럼 현재 두 개의 액티비티가 있으니 전환을 해보도록 하자.

 

기본적으로 안드로이드에서는 Intent란 객체를 사용하는데 간단하게 데이터를 전달하는 객체라고 생각하면 된다.

 

물론 화면 전환 시에도 Intent를 사용할 것이다.

 

Button
Button

xml파일로 이동해서 자석 모양의 불가표시를 해제하고 Palette를 열어 Buttons의 Button을 드래그해서 생성한 뒤 왼쪽에서 text를 변경했다.

 

만약 필자의 화면처럼 보이지 않는다면 오른쪽 상단의 3가지 Display 형태를 클릭하면 되고 자신한테 편한 대로 사용하면 된다.

 

함수
함수

또한 위 사진처럼 <Button> 안에 android:onClick="실행할 함수 명"을 입력해준다.

 

해당 버튼을 클릭했을 경우 매칭 되는 이름을 가진 함수를 실행한다는 의미이다.

 

그럼 현재 xml파일과 매칭 되는 java파일로 가서 해당 함수를 작성하면 된다.

 

메서드
메서드

onCreate 메서드와 동일한 위치에 이렇게 작성하면 된다.

 

Intent의 첫 번째 파라미터는 해당 액티비티를 의미하는 this를, 두 번째 파라미터는 이동을 원하는 액티비티를 작성하고 startActivity에 해당 intent를 넣으면 된다.

 

실제로 에뮬레이터를 돌려보니 버튼 클릭 시 화면 이동하는 것을 확인할 수 있었다.

 

 

728x90

댓글()

안드로이드 스튜디오 깃허브 연동하기

728x90

안드로이드 개발을 하면서 코드 관리를 위해 깃허브에 연동하도록 한다.

 

Settings
Settings

안드로이드 스튜디오 좌상단 File > Settings... 를 클릭하면 설정 화면 하나가 뜬다.

 

Git
Git

Version Control > Git을 누르고 빨간 표시의 Test를 클릭하면 깃 버전을 확인할 수 있다.

 

Git Version
Git Version

위 사진처럼 뜬다면 제대로 된 것이며 상황에 따라 오류 메시지를 출력할 수 있다.

 

그럴 땐 Test 왼쪽의 ...을 클릭해서 자신의 깃 설치 경로를 찾으면 된다.

 

cmd 폴더에 git.exe로 설정하면 될 것이다.

 

Test로 버전 확인을 했다면 이번엔 계정 연동할 차례다.

 

GitHub Login
GitHub Login

Version Control > GitHub로 이동해서 Add account를 클릭하고 자신의 깃허브 계정을 입력하니까 유효하지 않은 인증 데이터라며 찾을 수 없다고 뜬다.

 

깃허브로부터 토큰을 발급받아 인증해야 될 것 같으니 깃허브로 이동한다.

 

토큰토큰토큰
토큰

깃허브에서 Settings를 누르고 맨 아래 Developer settings을 누른 뒤 Personal access tokens의 Tokens(classic)을 누른다.

 

바로 위의 Fine-grained tokens는 개인 접근용 토큰이란 정보를 얻었지만 Beta 버전이기도 해서 기존의 classic 방법으로 하겠다.

 

토큰
토큰

마찬가지로 토큰을 생성하는데 classic 한 방법으로 얻도록 한다.

 

Note에서 간략하게 설명을 작성하고 Expiration에서 토큰 기한을 설정한 뒤(필자는 혹시 모르니 최대한 길게 90일로 설정했다.) repo, workflow, admin:org, gist정도를 체크하고 맨 밑에 Generate token을 클릭하면 된다.

 

그럼 초록색 바탕의 네모난 상자가 있을 텐데 해당 토큰 값을 자신이 찾기 쉬운 위치에 저장한다.

 

계정
계정

다시 안드로이드 스튜디오로 돌아와서 Enter token을 누르고 자신의 토큰 값을 입력한 뒤 Log in을 누르면 사진처럼 자신의 깃허브 계정이 추가된 것을 확인할 수 있다.

 

이제 계정 연동은 되었으니 실제 코드를 관리하기 위한 Repository 연동을 하면 된다.

 

Repository 연동
Repository 연동

안드로이드 스튜디오에서 VCS > Import into Version Control > Share Project on GitHub를 클릭하고 Repository name, Description을 작성한 뒤 Share를 누르면 Repository에 올릴 파일들의 목록이 빨간색 이름으로 뜨고 Add를 누르면 자동으로 깃허브에 Repository가 생성된다.

 

Branch
Branch

다만 필자는 실무처럼 프로젝트를 진행하기 위해 master 브랜치를 prod로 바꾸고 dev 브랜치를 생성했다.

 

안드로이드 스튜디오 오른쪽 아래 Git: master라고 되어 있는 부분을 클릭하고 사진처럼 Rename이나 New Branch를 통해 이름을 바꾸거나 새로운 브랜치를 생성하면 된다.

 

CommitCommit
Commit

변경사항이 있으면 우상단 초록색 체크표시를 누르고 Commit Message를 작성한 뒤 Commit and Push를 누르면 되고 만약 2인 이상의 협업일 경우 파란색 화살표 표시를 누르면 깃허브의 변경된 사항을 로컬 환경으로 가져올 수 있다.

 

참고로 Commit은 로컬 환경의 Git에 저장하는 거고 깃허브까지 변경사항을 저장하려면 Push를 해야 되는데 필자는 한꺼번에 하기 위해 Commit and Push를 자주 쓰는 편이다.

 

여기까지 하면 안드로이드 스튜디오에서 깃허브 연동이 끝나게 된다.

 

이제 개발을 시작하면서 착실히 코드 관리를 해나가면 된다.

728x90

댓글()

안드로이드 스튜디오 프로젝트 생성 방법

728x90

전에 대학 강의에서 App 개발을 몇 번 해봤지만 거의 구글링을 하며 제대로 이해도 못하고 복붙 한 수준이라 취업 이후에 Native App 개발을 제대로 해보려 작성하게 되었다.

 

안드로이드 스튜디오 버전 확인
안드로이드 스튜디오 버전 확인

현재 3.6.3 버전을 사용할 예정이며 이미 설치되어 있는 경우 Help > About을 통해 버전 확인이 가능하고 최신 버전을 설치하고 싶다면 밑에 링크를 통해 설치하거나 업데이트는 Help > Check for Updates > Download를 통해 업데이트할 수 있다.

 

https://developer.android.com/studio?gclid=Cj0KCQiAj4ecBhD3ARIsAM4Q_jE8bl-MgIyN4T4pUB7QX1xe_u5bZWk8EBYUT2Vf1IGdNL1tKE10QE8aAsRUEALw_wcB&gclsrc=aw.ds 

 

Download Android Studio & App Tools - Android Developers

Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.

developer.android.com

 

또한 필자는 이미 프로젝트가 존재하기 때문에 열린 상태에서 새로운 프로젝트를 만들어 보도록 하겠다.

 

 

New Project
New Project

File > New > New Project를 선택하면 템플릿 선택 화면이 나온다.

 

 

Template
Template

Empty Activity를 선택하고 Next를 누르면 여러 가지 설정 화면이 나온다.

 

 

Template 설정
Template 설정

각 항목은 다음과 같다.

  • Name : 프로젝트의 이름
  • Package name : 패키지명이며 뒤에 Name이 자동으로 붙는다. 경우에 따라 패키지 중간의 이름을 수정하지만 필자는 개인의 사이드 프로젝트이므로 그대로 example로 사용하도록 하겠다. 공백이나 대문자가 없는 것이 특징이다.
  • Save location : 해당 프로젝트가 저장될 경로이며 본인이 쉽게 찾을 수 있는 경로에 저장하는 것이 좋다.
  • Language : 사용할 언어를 선택하는 항목이며 Java와 Kotlin이 있다. 필자는 Java로 Native App을 구현할 예정이기에 Java를 선택했다.
  • Minimum SDK : 사용 가능한 최소 안드로이드 버전을 뜻한다. 해당 항목에서 최신 버전을 선택할수록 신규 API를 사용할 수 있지만 더 낮은 버전을 가진 모바일 기기에서는 다운로드가 불가능하다. 밑에 있는 설명은 해당 수치만큼 대략적으로 사용 가능하다는 뜻이며 필자는 92.7% 정도 실행 가능한 안드로이드 7.0(Nougat)을 선택했다. 각자 적당한 수치라 생각되는 버전을 선택하면 될 것이다.
  • Use legacy android support libraries : 간단히 말해 호환을 위한 옵션이다. 신규 API는 오래된 버전에선 동작할 수 없기에 오래된 버전에서도 정상 동작하게끔 지원하는 옵션이다. 상황에 맞게 선택하면 될 것 같다.

모든 항목을 다 확인하고 Finish를 누르면 다음과 같이 화면이 뜬다.

 

 

SDK
SDK

빨간 표시를 한 큐브 모양 아이콘을 클릭하면 Android SDK를 설치할 수 있는데 SDK란 Software Development Kit의 약자로 개발에 필요한 도구들의 모음이라 생각하면 된다.

 

 

SDK
SDK

최신 버전의 SDK만 설치되어 있다면 하위 버전 한 두 개 정돈 더 있는 게 좋다고 하는데 필자는 Android 10.0 버전이 이미 설치되어 있으므로 update만 진행하도록 하겠다.

 

SDK를 설치하는데 비교적 많은 저장공간을 필요로 하므로 여유가 엄청 많은 게 아니라면 무작정 설치하는 것보다는 꼭 필요해 보이는 것 한 두 개 정도만 설치하는 것을 권장한다. (시간도 상당히 걸린다.)

 

 

SDK
SDK

또한 광고를 붙여 구글 앱 스토어에 출시할 예정이므로 SDK Tools에서 Google Play services를 설치하도록 한다.

 

 

Build
Build

상단의 초록색 망치 모양을 클릭해서 아래 사진과 같이 BUILD SUCCESSFUL 이 뜬다면 성공적으로 SDK를 설치한 것이다.

 

 

Build Success
Build Success

다음은 안드로이드를 컴퓨터로 돌리기 위한 에뮬레이터를 설치할 차례다.

 

 

AVD
AVD

오른쪽 상단에 휴대폰 모양을 누르면 AVD Manager가 뜨는데 필자는 이미 에뮬레이터가 설치되어 있으므로 Create Virtual Device를 통해 새로운 에뮬레이터를 설치하면 된다.

 

 

Hardware
Hardware

보편적인 사이즈이며 Play Store도 가능한 Pixel 2를 선택하고 Next를 누른다.

 

 

SDK
SDK

현재 안드로이드 10.0 버전의 SDK를 설치했기에 일치시키려 Q를 설치 후 Next를 눌렀다.

 

 

AVD
AVD

그다음은 필요한 경우에 이름 설정을 하고 나머진 딱히 수정할 항목이 없어서 Finish를 누르면 AVD가 설치된다.

 

이후 우측 상단의 초록색 화살표를 누르거나 Shift + F10을 누르면 프로젝트를 실행하면서 자동으로 에뮬레이터가 실행되는 것을 확인할 수 있다.

 

여기까지 했다면 이제 안드로이드 개발을 시작할 준비가 된 것이다.

728x90

댓글()

SAP ERP란

취업 후 학습|2022. 9. 29. 11:26
728x90

롯데정보통신에 합격하여 부서 배치받아 신입으로 들어온 지 이틀째다.

 

아직 WEB을 할지 SAP를 할지 정해지지 않아 SAP를 미리 알아볼 겸 포스팅을 작성하기로 했다.

 

ERP란


ERP(전사적 자원 관리)란 Enterprise Resource Planning의 악자로써 회사 운영에 필요한 모든 핵심 업무 프로세스를 효율적으로 관리하기 위한 기록 시스템이다.

 

회사 운영을 하기 위해서 회계, 재무, 인사, 제조, 공급망, 프로젝트 관리, 서비스 등의 프로세스가 필요한데 소규모의 기업체의 경우 충분히 Data를 관리할 수 있겠지만 규모가 커질수록 프로세스를 통합하여 정확하게 파악, 관리하고 투명성을 보장하기 위해 ERP 시스템이 필요하다.

 

ERP의 이점
ERP의 이점 (출처 : https://www.sap.com/insights/what-is-erp.html)

ERP의 이점은 이렇게 6가지로 나타낼 수 있다.

  • Higher Productivity
    핵심 프로세스를 자동화하여 조직의 모든 인력이 더 적은 리소스로 더 많은 생산이 가능하다.
  • Deeper Insight
    단일 데이터 소스를 구축하여 중요한 비즈니스 질문에 대한 답을 빠르게 얻을 수 있다.
  • Accelerated Reporting
    비즈니스와 재무 보고 속도를 높이고 결과를 간단하게 공유할 수 있다.
  • Lower Risk
    리스크를 예측, 예방할 수 있다.
  • Simpler IT
    Database를 공유하는 통합 ERP Solution을 통해 IT를 간소화하고 모든 인력이 수월하게 업무를 처리할 수 있다.
  • Improved Agility
    효율적인 운영과 즉시 접근 가능한 실시간 Data를 기반으로 새로운 기회를 빠르게 포착하고 대처할 수 있다.

ERP Solution은 삼성 SDS의 UniERP, 대한상공회의소의 SMERP, 코인텍의 Eagle ERP, 한국 하이네트의 Infra ERP 등 다양하게 있지만 그중에서도 SAP SE의 SAP에 대해 간단하게나마 소개하도록 해보겠다.

 

SAP ERP란


SAP ERP는 SAP SE의 ERP Solution이다.

 

본사는 독일에 있으며 한국에는 SAP Korea란 자회사를 두고 있다.

 

SAP은 기업용 ERP Solution 부문 시장 점유율 1위를 차지하고 있고 상당한 가격(수십억이라고 들었다) 탓에 대기업에서만 적용 가능하다고 한다.

 

SAP ERP는 비즈니스 언어인 ABAP이라는 언어로 구현되었으며 크게 4가지의 모듈로 나눠진다.

 

회계 관련 모듈, 물류 관련 모듈, 인사 관련 모듈, 공통 모듈이며 각각 세분화된 모듈이 존재한다.

 

  • 회계 관련 모듈
    • 재무회계(FI) : 수익, 비용, 자산, 부채, 자본 기표
    • 관리회계(CO) : 표준원가 계산, 원가 차이 분석, 수익성 분석
    • 자금관리(TR) : 금융자산 및 상품의 거래 관리, 회계처리
  • 물류 관련 모듈
    • 자재관리(MM) : 자재소요량 산출, 구매 요청, 입고, 대금지급, 자제 소요계획, 수요 기준 계획
    • 설비관리(PM) : 설비의 보전관리, 정비계획, 작업관리
    • 품질관리(QM) : 제품의 수명주기, 개발, 제조, 생산, 판매, 수리 담당
    • 생산관리(PP) : 생산계획 최적화, 생산활동 관리
    • 영업 유통(SD) : 영업활동 관리, 주문, 출하, 대금 입금, 판매 분석
  • 인사 관련 모듈
    • 인사(HR) : 조직관리, 인사관리, 급여관리, 인재 확보, 배치, 육성, 성과급 관리
  • 공통 모듈
    • 프로젝트 시스템(PS) : 프로젝트 단위의 업무 관리 시스템
    • 워크플로우(WF) : 부서 간 또는 부서 내 문서/기술을 절차에 따라 관리하고 공유하는 내외부 협업 커뮤니케이션 지원 모듈
    • 산업 솔루션(IS) : 특정 산업에 특화된 업무를 지원하기 위한 모듈

 

이렇게 12개의 대표적인 모듈이 존재하고 자신한테 맞는 모듈을 학습하는 게 좋을 것 같다.

728x90

댓글()

2022 8월 롯데정보통신 면접 합격 후기 (Software/Infra/Data Engineer 신입채용)

취업 과정|2022. 9. 8. 12:21
728x90

채용 공고 이미지
채용 공고 이미지

 

오늘 (2022.09.05 월) 롯데정보통신 Software 직군 면접을 봤다.

 

그전까지는 내 경험에 대한 질문을 답변하는 것이고 어느 정도 언변에 자신 있다고 생각해서 어려울 것 같은 질문에 대한 대략적인 맥락만 생각해서 면접을 봐왔었다.

 

하지만 이번에는 SSAFY에서 지원해주는 면접 컨설팅을 신청하여 피드백을 받았고 여태까지 상당히 잘못해왔다는 회의감이 든 경험이었다.

 

가장 큰 문제점들은 말은 그럴 듯 하지만 디테일이 부족하고 면접관이 다시 물어보는 거에 대한 의도 파악을 못했다는 것이었다.

 

그래서 이런 점들을 고치려 고민을 많이 했고 다신 이런 잘못을 하지 않기 위해 두 번의 경험을 살려 받은 질문과 예상 질문들을 생각해 답변을 구체적이고 논리적으로 고민해서 생각했다.

 

지금이 3번째 면접이라 원데이 면접(역량, 인성) 프로세스에 대해 이미 알고 있었으며 면접관님들께서 상당히 부드러운 분위기로 유도해주신다는 것도 알고 있었다.

 

다만 조금 차이점은 여태 역량 면접이라 하더라도 프로젝트의 기술적인 부분은 질문이 거의 없었는데 이번엔 기술적인 부분에 대한 질문이 들어왔고 예상 질문 내에 있어서 다행히 잘 답변을 한 것 같다.

 

또한 보통 긴장을 하지 않는 편이라 네이버 면접 때를 제외한 나머지는 웃으면서 편하게 했었는데 너무 가벼운 사람 같이 보인다는 피드백을 받아 이번엔 간절함을 어필할 수 있도록 노력했다.

 

그래서 역량면접은 어느 정도 괜찮게 본 것 같은데 인성 면접은 그냥 평범하게 대답하고 반응도 그저 그러신 것 같아서 잘 모르겠단 느낌을 받았다.

 

물론 역량 면접의 비중이 크단 얘기가 있어서 다행인 것 같긴 하다.

 

현재 SSAFY에서 인공지능을 주제로 한 프로젝트를 준비하고 있기 때문에 만약에 합격한다면 엄청난 고민을 할 것 같지만 이런 행복한 고민을 하는 게 더 좋을 것 같다.

 

결과는 10일 뒤인 15일에 발표가 나므로 결과 뜨는 대로 포스팅을 수정하도록 하겠다.

 

합격 후기


예정대로 오늘(2022.09.15 목) 결과 발표가 났다.

 

결과 메일
결과 메일

 

메일은 17:30분쯤에 왔지만 오픈 톡방 반응을 보니 채용 사이트에는 17시쯤 결과가 뜬 것 같았다.

 

아마 합격한 요소에는 SSAFY에서 모의면접 컨설팅을 받고 직설적인 피드백으로 문제점을 수정한 부분이 가장 크지 않았나 싶다.

 

역량적인 부분은 여태까지 혼자 알고리즘 책도 써보고 다양한 팀 프로젝트를 경험해봤으며 특히 SSAFY에서 애자일 방식의 실무에 준하는 경험으로 충분히 쌓아 올렸다 생각했지만 번번이 면접에서 떨어진 이유는 실제 회사에 대한 이해가 부족하고 회사 입장이 아닌 지원자 입장에서만 생각했기 때문인 것 같다.

 

특히 자기 실력에 자신 있는 사람은 지원자가 아닌 회사의 입장, 즉 면접관님의 입장에서 생각해보는 경험이 중요한 것 같다.

 

이제 오랜 기간의 개발자 준비 과정을 끝마치고 실무에 뛰어들어 역량을 쌓기 위해 달려 나가도록 하겠다.

 

해당 블로그는 원래 개발자 준비를 하면서 공부한 내용에 대해 정리하려는 목적이 가장 컸었지만 어느새 정신없고 여력이 없단 자기 합리화로 알고리즘 문제 풀이만 좀 하다가 코테나 면접 경험에 대한 후기만 작성하고 있었다.

 

앞으로는 사회생활을 하면서 정리하는 습관을 들이고 정리한 내용을 블로그에 포스팅할 수 있도록 노력할 생각이다.

728x90

댓글()

2022 8월 롯데정보통신 코테 후기 (Software/Infra/Data Engineer 신입채용)

취업 과정|2022. 8. 27. 09:58
728x90

채용 공고 이미지
채용 공고 이미지

 

오늘(2022.08.27 토) 롯데정보통신 코테를 봤다.

 

이미 두 차례의 경험에 의하면 충분히 합격하고도 남았기에 맘 편히 응시했는데 이번에는 체감상 조금 구현이 복잡한 것 같았다.

 

실제로 저번보다 코드의 길이도 길어졌고 시간 복잡도 때문에 완벽하게 다 맞았다!라고 하긴 좀 힘든 것 같다.

 

알고리즘 3문제, SQL 1문제가 나왔으며 SQL은 Group by를 이용하여 조건절을 적절하게 사용하면 풀 수 있는 문제였다.

 

아마 프로젝트에서 DB를 자주 접해봤거나 프로그래머스에서 SQL 문제를 다 풀어봤다면 충분히 풀 수 있는 수준인 것 같다.

 

알고리즘은 선형 탐색 1문제, 조합을 이용한 경우의 수를 구하는 2문제가 나왔는데 한 문제는 백준의 N-Queen 문제와 비슷했다.

 

https://www.acmicpc.net/problem/9663

 

9663번: N-Queen

N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

다른 한 문제는 문제 자체는 어려운 게 아니었지만 10만 개의 Input이 두 개 주어지기 때문에 시간 복잡도 상으로 상당히 고민을 많이 했고 실제로 코드가 가장 길었다.

 

해당 문제를 맞혔는지 확신은 들지 않지만 부분점수라도 받자는 생각으로 최대한 불가능한 조건들을 먼저 가지치기해서 고려해야 할 Data양을 줄이도록 노력했다.

 

오픈 단톡방에서도 해당 문제에 대한 의견들이 분분했고 대체로 3 솔이 많았다.

 

저번에도 5일 만에 발표가 났으니 이번에도 비슷하리라 생각하고 결과 발표 나는 대로 포스팅을 수정하도록 하겠다.

 

728x90

댓글()