본문 바로가기

MJU Session (22-23)9

[Session] 조금 더 편리한 협업을 도와줄, Git Hooks / 박소정 작성자: 박소정 '아 커밋 메시지 잘못 입력했다..😑' Git을 활용해 팀 프로젝트를 진행할 때는, 가독성과 오류 발생을 줄이기 위해 개발 규칙을 정하곤 한다. 하지만, 사람인지라 누구든 종종 전략과 다른 커밋 메시지를 잘못 입력하는 등의 실수를 하기도 한다. Git에는 이러한 문제를 사전에 방지해 주고, 더 편리한 협업을 도와주는 기능이 있다. 이번 세션을 통해 그 기능인 Git Hooks를 알아보려 한다. 1. Git Hooks 알아보기 1-1. Git Hooks 개념 Git Hooks는 Git에서 어떤 이벤트가 발생했을 때, 원하는 작업을 특정 스크립트를 통해 실행할 수 있게 하는 기능이다. Git Hooks 공식 문서 1-2. Git Hooks 종류 Git Hooks는 크게 클라이언트 훅, 서버 .. 2023. 3. 13.
[Session] Spring Security / 장채은 작성자: 장채은 스프링부트로 어플리케이션 프로젝트를 진행하면서 Spring Security + JWT로 로그인을 경험해보았지만 코드 복붙으로 코드에 대해 완전한 이해없이 적용했었었다, 이번 세션을 통해 자세하게 개념을 살펴보며 Spring Security 로직에 한 걸음 다가가보고자 한다. 1. Spring Security란? 스프링 기반의 애플리케이션의 인증, 인가와 같은 보안을 담당하는 스프링 하위 프레임워크이다. 2. Security 용어 Spring Security는 보안과 관련된 프레임워크이다보니 보안과 관련된 용어들이 많이 나온다. Spring Security를 이해하기 위해서는 보안 관련 용어를 익히는 것이 중요하다. 인증(Authentication) 보호된 리소스에 접근한 대상이 누구인지,.. 2023. 2. 26.
[Session] WebSocket이란? / 이상민(M) 작성자: 이상민(M) 주제 선정 이유 기본적인 커뮤니티 앱/웹을 구현하고자 할 때 채팅 서비스는 누구나 한번쯤 생각해 봤을 것이다. 처음에 채팅서비스를 구현하기 위해서 단순한 HTTP통신처럼 POST로 데이터를 보내고, 이 보내진 메시지를 GET요청을 통해 시간 순서대로 보여주면 되지않을까란 생각을 했다. 하지만 이런 방식으로 개발을 진행할 경우 새로운 메시지를 보기위해서는 계속해서 새로고침을 해야 하는데 이게 진짜 채팅서비스가 맞나라는 생각을 지울수가 없었다. 결국 좀 더 제대로된 채팅서비스 구현을 위해서 구글링을 한 결과 웹 소켓이라는 것을 발견하게 되었고, 이번 세션을 통해서 간단하게 웹 소켓이 무엇인지 소개하는 글을 작성하고자 한다. 웹 소켓이란 HTML5 표준 기술로, HTTP 환경에서 클라이언.. 2023. 2. 12.
[Session] Flutter만 배워도 개발자가 될 수 있을까? / 김초원 작성자: 김초원 1. Flutter가 뭔데요? Flutter는 크로스플랫폼 앱 개발을 도와주는 프레임워크입니다. Flutter로 개발한 앱이 iOS와 안드로이드 두 개의 플랫폼에서 실행될 수 있다는 건데요. 2018년에 Google이 Dart라는 언어를 기반으로 개발 및 출시하여, 크로스플랫폼 앱 개발에 큰 영향을 끼친 프레임워크라고 볼 수 있습니다. 이전까지 가장 널리 쓰이던 React-Native와 달리, 코드를 네이티브 CPU 머신 코드로 컴파일한다는 점, 렌더링 엔진 Skia를 통해 UI를 직접 렌더링한다는 점은 Flutter의 우수한 성능을 뒷받침 해줍니다. 또한, Flutter 전용의 테마 디자인 라이브러리를 적용하거나 커스텀하여 UI의 다양성을 가진다는 장점도 있습니다. Flutter는 Na.. 2023. 1. 29.
[Session] Android Jetpack Compose / 김병대 작성자 : 김병대 Android Jetpack Compose - 안드로이드의 새로운 네이티브 UI 빌드 툴 Compose는 2021년 7월에 정식으로 출시되었으며, 안드로이드 네이티브 UI를 빌드하기 위한 최신 권장 도구 키트입니다. Kotlin 언어로만 사용이 가능하며 기존 XML 방식 (View System)을 대체합니다. Kotlin 코드 만으로 화면을 개발할 수 있다는 것이 가장 큰 차이점 입니다! - Compose의 장점 "적은 코드, 빠르고 쉬운 개발" 기존에는 하나의 화면을 구성하는 Activity, Fragment, Menu 등의 레이아웃을 XML 언어로 정의하여 .XML 파일로 저장하고 자바 또는 코틀린 코드 파일 상에서는 필요하다면 XML에서 정의된 View를 findViewById 등.. 2023. 1. 29.
[Session] About Attention Mechanism / 노장현 작성자 : 노장현 1. Abstract Attention Mechanism은 모든 정보가 아닌 소수의 중요한 정보에 집중하는 방법으로 기계 번역의 성능을 높이기 위해 처음 제안되었습니다. 현재는 좋은 성능을 바탕으로 NLP(자연어 처리)뿐만 아니라 CV(컴퓨터 비전), Time-series 분야에서도 사용되고 있습니다. 이번 세션에서는 다양한 분야에서 사용되고 있는 Attention Mechansim의 개념과 그 배경에 대해 알아보겠습니다. 2. What is Language Model? 언어 모델(Language Model, LM)은 단어 시퀀스에 확률을 할당하는 모델로 이전 단어들을 바탕으로 다음에 등장할 단어의 확률을 예측하는 모델입니다. 언어 모델은 크게 통계를 기반으로 한 방법과 인공 신경망을 .. 2023. 1. 23.