본문 바로가기

Portpolio/webdev_tip89

github의 watch 기능은 뭘까? github GUI를 보다보면, watch라는 기능이 있다. github repository에서 상단을 보면 watch라는 기능이 있다. 각자, github 계정으로 repo를 만들어서, UI를 만들면 watch라는 기능이 있다. 이상하게 상단의 watch 버튼을 누르면 해당 인원이 안보이는데, 정작 우측의 watching을 클릭하면, watch하는 유저들이의 항목이 나온다. 근데, watch의 기준이 뭘까? 들어와서 내 repo를 보기만 해도, 저 대상에 해당되는가? 정확한 정의로는 watch에 해당하는 인원은 해당 리포지토리에 대한 모든 업데이트 또는 변경 사항을 알림으로 확인할 수 있는 인원을 의미한다. 보통은 프로젝트를 할 때 팀원들이 여기에 해당을 하겠지만, Github가 한국에서만 사용하는 게.. 2023. 6. 13.
[spring]assertions.assertThat() 안되는 현상 해결 자바에서 테스트 코드를 작성하다보면, org.assertj.core.api.Assertions라는 클래스를 참 많이 쓰게 된다. 우선, Assertions.java를 들어가면 아래와 같은 설명이 나온다. 더보기 Entry point for assertion methods for different types. Each method in this class is a static factory for a type-specific assertion object. For example: int removed = employees.removeFired(); assertThat(removed).isZero(); List newEmployees = employees.hired(TODAY); assertThat(newE.. 2023. 5. 30.
intellij 생성자 단축키 종종, 자바 프로그래밍을 하다 보면, 생성자를 만들 일이 생긴다. 그럴 때 유용한 단축키가 있다. 바로, alt + insert 키를 눌러주는 것이다. 그러면 아래와 같이 생성자를 클릭하는 창이 뜨게 된다 2023. 5. 29.
c언어와 c++의 차이는? 보통, 컴공에 입학하면 C언어를 1학년 때 배우게 된다. 1학년 때 C언어 실습하다 보면, 2학년 3학년 때는 그런 C언어를 가지고 여러 실습 과목들을 수강하고 4학년 때는 임베디드나 운영체제 쪽으로 진로를 잡지 않는 한 거의 접하지는 않게 된다. 요새는 python으로 많이 바뀌는 추세라고 하긴 한다. 그러나 c언어는 생각보다 쉬운 언어가 아니다. c언어 자체가 unix 시스템을 위한 언어이다. 과거에는 범용os가 없고 하드웨어마다 그 하드웨어에 종속적인 프로그램을 짜던 시대적 상황이었다. 그런 시대적 상황에서 "범용" os인 unix가 만들어졌고, 그 unix에서 쓸 언어로 c언어가 탄생한 것이다. unix가 나왔고 그 시스템을 위해 나온 언어가 C언어였기 때문에, 고수준 언어 중에서 가장 과거의 형.. 2023. 5. 2.
[tip] 코테 시간 제한 통과하는 방법 boj처럼 코딩테스트 대비를 위한 알고리즘 사이트에서 문제를 풀다보면 아래와 같은 조건이 나오는 것을 볼 수 있다. 시간 제한과 메모리 제한이라는 제약 조건이 있는 것을 볼 수 있는데 처음에 풀다 보면, 막연하게 1초, 128mb이러니까 잘 와닿지 않고 저런 조건들은 어떻게 돌아가는 것인가 궁금할 수 있다. 나도 정확하게 저 정도가 어느 정도일까 하고 봤는데, 저 내용을 정확하게 이해하려면 몇 가지 개념을 이해해야 한다. 1. 시간복잡도 확인하기(제일 핵심) 시간복잡도는 알고리즘(연산)이 실행되는 동안에 사용된 기본적인 연산 횟수를 입력 크기의 함수로 나타낸다. 아래와 같이 시간복잡도는 알고리즘에서 가장 기초적인 부분이고, 지수와 로그에 대한 연산만 할 수 있다면 2. 로직을 정확하게 작성하자 처음 문제.. 2023. 4. 28.
[백엔드]WAS와 Web Server 차이? 스프링 자료를 찾다보면, 웹 어플리케이션 서버라는 말이 자주 등장한다. 우선, 자바 자체를 배울 때는 그 자체가 문법만 공부하느라 생각을 안 해봤는데, 대다수가 자바를 배우는 이유가 스프링을 공부해서 웹 백엔드 쪽으로 job을 얻으려는 목적이 아닌가. 웹 서버는 일반적인 데이터를 저장해 뒀다가, 필요할 때 웹상으로 보내주거나 저장시키는 개념 정도로 생각하기 마련인데 웹 어플리케이션 서버는 조금 더 복잡하게 다가온다. 그래서 간단하게 정리를 하면, 웹 어플리케이션 서버(Web Application Server)와 웹 서버(Web Server)는 모두 웹 어플리케이션을 실행하는 데 사용되지만, 그 역할과 기능이 약간 다르다. 웹 서버는 HTTP 프로토콜을 사용하여 클라이언트(브라우저)로부터 요청을 받고, 해.. 2023. 4. 13.
[백엔드] 개발 블로그 어떤 게 좋을까? 개발하면서 코드 모음이나 더 크게는 프로젝트 보관하는 블로그 사이트를 고르게 되는데, 크게 보면 깃허브, velog, tistory 정도인 것 같다. 다 하면 좋을 것 같지만 하나 제대로 관리하는 것도 시간을 쪼개서 하다보면 비는 느낌을 갖게 되는데 특징을 나름대로 정리해봤다. 깃허브: 장점 - 코드 버젼 관리(설명이 필요없다) 개발업계에서의 범용성 단점: 글을 쓰기엔 조금 불편하다(github.io가 있긴 하다) velog: 장점 - 마크다운 인터페이스 좋음 단점: 유저가 아직 많진 않음 tistory: 장점 - 진입하기가 쉽다 단점: 에디터가 조금 부실하다 물론 사용하는 상황이나 검색 엔진 분석 등의 역량에 따라 달라질 수도 있다. 근데 블로그라는 것이 자칫 잘못해서 주객이 전도되면 콘텐츠를 만드는 .. 2023. 4. 9.
[백엔드] 자바 11 -> 자바 17로 업데이트 스프링 3.0부터는 자바 17부터 지원이 된다고 한다. 자바 11을 사용하다가 어쩔 수 없이 자바 버젼을 업그레이드 하게 된 과정을 리뷰해 보고자 한다. 1. 오라클 홈페이지에서 설치 파일을 다운로드 https://www.oracle.com/java/technologies/downloads/#java17 Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 여기서 두번째 링크를 클릭해서 설치를 받도록 했다 이번에 받은 자바 버젼은 17.0.6 ver이다 이렇게 설치하.. 2023. 3. 2.
[백엔드] 스프링 프레임워크와 설치 방법 스프링은? 백엔드 개발 부문을 공부하면 가장 먼저 자바를 언어로서 문법을 공부하고, 다음으로 스프링 프레임워크를 활용하는 방법을 배우는 것이 대부분의 사람들에게 해당된다. 스프링은 언어가 아니라 프레임워크, 즉 응용 소프트웨어라는 구조에서 일정 이상 뼈대를 맞춰 주는 것이라고 할 수 있다. 건축에 비유하면, 골조공사까지 된 상태에서 배관, 타일, 난방 공사를 상황에 따라 여러 가지 건축물에 맞춰서 진행하듯, 스프링도 그러한 골조 공사의 역할과 비슷하다고 할 수 있다. 설치 방법 우선, 스프링 프레임워크를 설치하기 위해서는, 아래의 링크로 들어가서 다운을 받으면 된다. https://start.spring.io/ 그러면 이런 화면이 나오게 된다. 여기서 snapshot, m1 등은 미정식 버젼이므로 최신 .. 2023. 3. 2.