목록프로젝트 (17)
라떼는말이야
2명 이상 프로젝트를 협업하면 의사 소통과 더불어 가장 중요한 것이 일관성 있게 개발하는 것이라고 생각한다. 나는 자주 쓰는 속성이나 값들은 한 곳에 모아서 관리하고, 변경될 수 있는 값들은 상수로 관리하는 방식으로 진행했다. util 패키지 아래에 Constants.kt와 Extention.kt 파일을 만들었다. Constants.kt 여기서는 상수 값, enum class, object 들을 관리한다. 로그나 API 토큰 정보는 상수로 관리를 하고, 회원 가입 시 비밀 번호 입력 상태나 서버로부터의 응답 상태를 나타내는 enum class를 따로 빼냈고, API 라는 이름의 object로 네트워크와 통신 시 url 을 이 곳에서 따로 관리를 한다. 만약 하드 코딩 되어 있었다면 url에 변화가 생겼을..
로그인 전 & 후 로그인 전/후 화면을 테스트하기 위해 테스트용 버튼을 만들었다. (메뉴들 맨 위에) 물론 테스트이기 때문에 로그인 로직 없이 뷰만 전환한다. (viewModel의 loggedIn: Boolean 변수의 값에 따라 뷰를 전환한다) Material Design 적용 로그인 회원 가입 위 사진 중 맨 왼쪽의 사진은 와이어 프레임으로 짜여진 화면이다. 기존에는 가운데 사진처럼 와이어 프레임의 디자인에 맞춰 뷰를 작성했다. 하지만 좀 더 깔끔한 디자인과 사용성을 위해 메테리얼 디자인을 적용했다. 자세한 동작은 밑에서 이어 설명한다 로그인 화면 더 보기 탭에서 (로그 아웃 상태에서) 상단의 로그인하기 버튼을 누르면 로그인 화면을 띄운다. 아이디 & 비번 찾기 화면 회원 가입 화면
더보기 탭에서 학교 메일 정보는 없앴다. 회원 가입을 할 때 이메일도 해싱 대상이기 때문이다. 추후에 필요하다면 추가적인 정보가 더 들어갈 수는 있다. 그 외에 뷰에서의 변화는 없다. 하지만 껍데기 뿐이던(하드 코딩된) 화면을 뷰모델에서 데이터를 가져와 화면에 표시하는 구조로 변경하였다. Fragment class MoreFragment : Fragment() { private lateinit var viewModel: MoreViewModel private lateinit var viewModelFactory: MoreViewModelFactory private lateinit var binding: FragmentMoreBinding override fun onCreateView( inflater: ..
기존에 시간표 기능만 가지고 있던 앱이었기에 시간표를 보여주는 화면과 시간표 추가 화면 등 단순한 구조로만 이루어져 있던 앱을 기능 확장을 위해 구조를 바꿔야 했다. 이전에 내가 만들었던 앱은 바텀 네비게이션을 가진 프래그먼트 구조였고, 이런 구조를 가진 앱들이 상당히 많고 사용성이 좋다고 생각되어 바텀 네비게이션을 가진 프래그먼트 구조를 적용하기로 했다. 구조 변경 위 사진에서 볼 수 있듯이 기존엔 시간표가 화면을 꽉 채우는 구조였다. 하지만 탭을 만든 이후에는 시간표, 강의 평가, 더보기 탭으로 변경했다. 구조만 변경한 상태이기 때문에 화면은 아직 구성하지 않고, 간단한 텍스트와 배경 색으로 구분만 지어놓은 상태이다. 담당 파트 시간표와 강의 평가 부분은 다른 팀원이 맡기로 했고, 나는 더보기 탭과 ..
여러 명이 관여하는 프로젝트를 수월하게 진행하기 위해서는 적절한 협업 도구 활용이 필수로 필요하다. 특히 코딩을 하는 프로젝트의 경우 Github 이 없어서는 안된다. (2016년도에 프로젝트를 할 때는 Github을 쓰지 않아서 프로젝트 전체를 압축해서 주고 받았는데 최종.zip 최최종.zip 진짜최종.zip 제출용.zip 최종제출용.zip ... 이런 식으로 되어버려서..ㅋㅋ 끔찍했던 기억이 난다) 팀에 합류하기 전 팀원들은 아직 실질적인 코딩은 시작하지 않은 상태였고, 회의를 한 내용은 Google Docs에 기록해 회의록 링크를 카카오톡 공지로 공유하고 있었다. (Github은 사용하기로 되어있던 상태) 이전에 내가 프로젝트를 할 뻔(?) 한 적이 있는데 당시에 알아보고 살짝 사용해 봤던 협업 도..
프로젝트 시작 계기 약 한 달 전에 우연한 계기로 개발 동아리에 가입하게 되었고, 운 좋게도 막 시작하려던 프로젝트 팀원들을 만나 개발 멤버로 합류하게 되었다. 팀원 중 한 분이 수원대 시간표 앱인 수원대타임(일명 수타) 앱을 개발해 배포하고 있었고, 이번 프로젝트는 시간표 기능만 있던 이 앱에 로그인 및 강의 평가 기능을 추가하는 프로젝트이다. 기존의 수타 앱은 안드로이드 앱으로만 개발되었지만 이번 프로젝트를 통해 ios앱을 클론 코딩하고, 강의 평가 파트는 웹 부분도 제작하기로 했다. 그래서 현재 안드로이드, ios, 프론트엔드, 백엔드 이렇게 4개 파트로 구분되었다. 사용할 언어 및 환경 사용할 기술은 내가 프로젝트에 합류하기 직전 결정된 사항들이었다. 안드로이드 - Android Studio, K..
이동평균선 단위 기간동안의 평균 주가의 시계열 주로 5, 20, 60, 120일 등이 대표적 봉 차트에 같이 그릴 수 있음 지수이동평균선(exponential moving average, EMA) 일종의 이동평균선 최근 가격을 더 중요하게나타내기 위해 가중치를 둔다 주로 20, 30, 90, 200일 등 등이 대표적 봉 차트에 같이 그릴 수 있음 볼린저밴드(Bolinger band) 주가의 이동평균선을 중심으로 표준편차 범위를 표시 LBB에 가까워지면 이후에 주가가 상승, UBB에 다다르면 주가가 하락하는 패턴 차트에 같이 그릴 수 있음 이동 평균 수렴 확산(moving average convergencew divergence. MACD) 2개의 장단기 지수이동평균선으로 모멘텀을 추정하는 보조지표 주로 ..
2020/08/27 - [프로젝트/Snort] - [Snort] Snort 환경 구축 설계 [Snort] Snort 환경 구축 설계 Attacker (Kali) 2개의 네트워크 인터페이스를 가진다. NAT(VMNet8) : 192.168.2.50 Host-only(VMNet1) : 192.168.20.50 NAT는 VMWare NAT로 연결되어 인터넷과 연결된다. (192.168.2.254) Gateway (Kali) Snort.. latte-is-horse.tistory.com ※ 전체적인 구상도는 위 게시글 참고 VM Virtual Network 설정1(VMNet1) VM Virtual Network 설정2(VMNet8) Attacker Kali 설정 root@kali:~# vi /etc/networ..