23년 9월 기준 업데이트 포스팅 보러 가기 대학생 IT 연합 동아리 총정리 (23년 9월 업데이트) 안녕하세요, 다람쥐입니다. 🐿 요즘 IT 연합 동아리가 정말 많은데요. 많아진 만큼 교내가 아닌 대외 IT 연합 동아리를 찾는 학생들이 정말 많아졌습니다. 교내 동아리만으로 원하는 스터디와 프 itchipmunk.tistory.com 안녕하세요, 다람쥐입니다. 🐿 요즘 IT 연합 동아리가 정말 많은데요. 많아진 만큼 교내가 아닌 대외 IT 연합 동아리를 찾는 학생들이 정말 많아졌습니다. 교내 동아리만으로 원하는 스터디와 프로젝트를 할 수 없어 IT 연합 동아리를 찾는 추세입니다. 실제로 IT 현업에서 IT 연합 동아리 매쉬업, 넥스터즈, SOPT 등을 한 번 쯤이라도 들어봤거나 해 본 분들이 많습니다. ..
[Tistory] Item84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라
여러 스레드가 실행 중이면 운영체제의 스레드 스케줄러가 어떤 스레드를 얼마나 오래 실행할지 정한다. 정상적인 운영체제라면 이 작업을 공정하게 수행하지만 구체적인 스케줄링 정책은 운영체제마다 다를 수 있다. 따라서 잘 작성된 프로그램이라면 이 정책에 좌지우지돼서는 안된다. 정확성이나 성능이 스레드 스케줄러에 따라 달라지는 프로그램이라면 다른 플랫폼에 이식하기 어렵다. 스케줄링이란 메모리에 적재된 프로그램을 CPU가 실행할 수 있도록 운영체제로 하여금 프로세스나 스레드에 CPU를 할당하는 것으로 스케줄러는 제한된 자원을 여러 프로세스가 효율적으로 운영하도록 다양한 정책을 가지고 CPU를 할당하게 되는데, 정책이란 어떤 기준 / 순서로 CPU를 할당하는지 결정하는 방법이다. 스케줄러는 프로세스 선택 기준을 정..
[Tistory] [java] jsp에서 파일 다운로드 구현 시 한글,특수문자 파일명 오류 해결방법
자바에서 파일 다운로드를 구현하다 보면 문제가 발생할 때가 있다. 그건 바로 다운로드는 되지만 파일명의 특수문자가 깨진다거나 한글파일명은 다운로드가 안 되는 경우이다. 그래서 오늘은 파일다운로드 할때 어떤 브라우저를 사용하더라도 최대한 다운로드가 실패하지 않게 구현하는 방법을 알아보자. 사용자페이지 ${파일명} ${파일명2} ${파일명3} 파일명을 A 태그로 감싸고 data값에 파일명과 파일경로를 써 주었다. 다운로드 클릭 이벤트가 일어나면 A tag에 있는 data 속성값을 가져와서 변수에 담는다. 미리 만들어둔 download form에 넣고 submit()을 실행한다. 파일 다운로드 컨트롤러 @RequestMapping(value = “/file/download”) public void downlo..
[Tistory] 기본기 닦기(2) – 빌드/컴파일, 웹서버/내장서버
ㅇ 빌드 프로젝트를 만들고 개발하는 과정에서 빌드라는걸 들어보거나 해봤을것이다. 근데 이걸 왜 해야하고 빌드가 대체 뭐하는 걸까? 빌드란 소스코드 파일을 실행 가능한 산출물로 변환하는 것이다. 정말 잘 정리해두신 블로그가 있어 거기서 발췌 해 봤다. 빌드? 프로그래머가 작성한 소스 코드를 실행할 수 있는 독립적인 형태(.war, .jar)로 변환하는 과정 및 결과를 말한다. 변환하는 과정에는 컴파일 과정도 포함이 된다. 예를 들어 개발자가 이클립스나 인텔리제이와 같은 IDE로 java코드를 작성하면 개발자는 ‘실행’버튼을 눌러서 코드의 결과물을 볼 수 있다. 그런데 개발자가 아닌 사용자가 코드의 결과물을 보려면? 사용자가 자바를 설치하고 IDE를 설치하고 해당 코드를 가져와서 실행을 눌러야 하는가? 아니..
[Tistory] react-hook-form에서 useController사용하기(feat.제네릭)
들어가며 프로젝트를 진행하다 보니 이제는 기본적인 UI작업을 끝내고 실질적인 기능구현이 필요한 차례가 되었다. 가장 기본적으로 로그인을 구현해야 하는데 폼 요소를 컨트롤 하는 것에서 막히고 말았다. React에서는 사용자 입력값을 관리하기 위해서 useState를 줄줄이 만들어야 하기 때문에 이전에 써본 react-hook-form을 냅다 설치하긴 했는데 지금 프로젝트에는 MUI와 TypeScript를 사용하고 있고 TextField를 스타일링 해서 공통 컴포넌트로 빼버렸기 때문에 Props로 어떻게 주고 받을지,,, 특히 MUI에서 제공하는 Props가 있고 react-hook-form을 쓰면 거기서 필요한 Props가 있을텐데 이걸 어떻게 관리해야 좋을지 고민이 많이 되었다. 그러다가 정말 친절한 포..
[Tistory] 넣을 효과 정리
최종 후원 금액이 올라감. https://unho94.tistory.com/242 [React] 숫자 증가 애니메이션 만들기 (with. TypeScript) 여러 웹 서비스를 이용하다 보면 숫자를 강조하는 방법 중 하나로 숫자가 빠르게 올라가는 애니메이션을 확인할 수 있습니다. 리액트를 이용하여 어떻게 구현할지에 대해 작성해보도록 하겠습 unho94.tistory.com https://namhandong.tistory.com/93 React | number count 기능 구현하기 , onScroll 스크롤에 따라 animation 실행 먼저 react-spring을 사용해서 숫자 Count 애니메이션을 구현할 것이다. react-spring은 React에서 여러 애니메이션을 구현하기 위해 사용하는 애..
[Tistory] Dockerfile이란 무엇인가
Intro 자동 배포를 공부하니 정말 알아야 할 것들이 산더미다. 그중에서도 핵심적인 부분이 프로젝트를 JAR 파일로 빌드하여 이미지로 생성하고, 그것을 가상의 컴퓨터에서 실행시키는 것인데, 자동 배포를 구글링을 하여 어찌어찌 성공했으나 이미지 빌드로 Jib 라이브러리를 사용하니 그 과정에 대한 부분은 전혀 모른 채 사용하게 됐다. 어차피 회사마다 CI/CD의 의미가 다르다고 하니 도커 이미지 빌드 과정도 배울 겸 오늘은 dockerfile에 대해서 글을 써보고자 한다. Dockerfile 이란? Dockerfile이란 도커 이미지를 만들기 위한 스크립트 파일이다. 내부에는 도커 이미지를 만들기 위한 명령어들이 순서대로 기술되어 있다. Dockerfile을 이용하지 않고 도커 이미지를 만들 수 있는 방법..
[Tistory] [Automatic Batching] 리액트 18에 등장한 렌더링 묶음판매
Automatic Batching이란 무엇일까? [[React]] 18에서 나온 새로운 기능, Automatic Batching에 대한 문서이다 여기서 Batching이란, 이벤트 핸들러나 hooks 안에서 상태 업데이트를 묶어서 동작하도록 만들어준다. 즉, 렌더링을 한 번만 일어나도록 해주는 것이다 따라서 Automatic Batching = 자동화된 일괄 렌더링 이라고 생각할 수 있다 사실 생각해보면 이상하다. 기존의 함수 내부에서 여러 setState()를 실행시키면 이미 Batching이 이루어졌을까? 그 이유는 React에는 여러 번의 state update 작업을 Queue에 몰아넣고 일정 주기마다 Queue에 등록된 작업을 순차적으로 일괄 시행하면서 불필요한 리렌더링을 방지하는 특징이 있기..
[Tistory] Flutter 개발환경 설치
1. Flutter SDK 설치하기 https://docs.flutter.dev/get-started/install Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems. docs.flutter.dev C드라이브에 압축 풀기. 2. Flutter 환경변수 설정하기 ‘환경’으로 검색 ‘환경변수’ 클릭 Path – 편집 클릭 찾아보기 클릭 C:\flutter\bin 찾아서 클릭하고 확인 맨위에 환경변수가 잘 등록되었으면 연이어 확인클릭하고 환경변수 등록 완료! 3. 안드로이드 스튜디오 설치 https://developer.android.com/stud..
[Tistory] (DevOps) Jenkins와 gitHub 연동하기
https://developerjjh.tistory.com/197 (DevOps) Jenkins 설치 및 환경설정(Local) https://developerjjh.tistory.com/196 (DevOps) CI/CD란 ? CI/CD CI/CD란 무엇인가 (Feat. DevOps 엔지니어) 안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 developerjjh.tistory.com 우리는 이미 Local환경에서 Jenkins를 설치해서 과정을 조금은 익숙해졌다!! 한걸음 나아가서 AWS EC2 인스턴스를 생성하여 Jenkins를 실행하고 이후 gitHub에 webhook이라는 기능을 통해서 연동을 시켜보려고 한다! AWS 연동 Jenkins를..