전체 글 67

[GIT] Mac OS에서 Git 설치하기

맥 환경에서 git을 한번도 사용해본적이 없어 익히면서 기록 해두려고 작성합니다. 환경 맥 Catalina 10.15.7(19H15) 단계 1. homebrew 설치 homebrew 는 Mac환경에서 유용한 패키지를 설치하도록 도와주는 패키지 관리자입니다. brew install을 이용해 패키지들을 쉽게 설치 할 수가 있습니다. 자세하게는 사이트에서 설치방법을 참고합니다 아래 명령어를 입력 후 맥 password를 입력하면 설치가 됩니다 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - https://brew.sh/index_ko Homebrew The Missing Package..

IT/GIT 2021.08.30

[LIFE] 버터치킨오븐구이 만들기/집들이메뉴추천!

이번 집들이 때 성공적인 버터치킨오븐구이를 만들어서 레시피를 기록하고자 한다 ! 너무 성공적이어서 기뻤다... 🧡 재료 통닭 1마리, 우유 소스 - 버터, 다진마늘, 레몬1개 즙내기용 야채류 - 양파1, 가지1, 파프리카반개, 고구마1개, 단호박1개, 양송이버섯2개(난 1개했는데 많으면 좋음 맛있으니까) 구색맞추기 야채류 - 당근조금, 레몬반개 (버터소스의 레몬을 이용해도 좋다) 사실 야채는 원하는대로 넣으면 된다. 좋아하는 야채들 가득가득 넣으면 된다 만드는 방법 1. 닭 손질 먼저 냉동닭은 해동을 한다. - 우유에 담궈놓는다 닭을 손질한다. 날개 끝부분과 똥꼬부분 지방을 제거한다. 2. 양념을 만든다 버터를 전자레인지 2분 돌려 녹이고 버터:다진마늘 = 1:1 비율로 섞은것에 레몬반개의 즙 넣고( 1..

LIFE 2021.08.06

[LIFE] 콤부차만들기(1차발효/첫시도)

이번주 친구들 휴가에 맞춰 집들이를 했는데 맛있는것도 해먹고 추억이 될만한 생산적인 것을 하고싶어서 콤부차를 직접 만들어보자고 제안을 했다 😍 올여름 37도까지 올라가는 와중... 티젠에서 파는 레몬콤부차로 갈증해소를 많이 했기때문에 직접 만들어보고 싶었는데 원데이클래스는 10만원이 넘는다고해서 발표키트를 구매해서 해보았다. 재료는 만원대인데 클래스가 12만원이라니! 용납할수없다 ! 구매링크는 여기에 👉 https://smartstore.naver.com/wonderaw/products/4898005609 + BTS 정국이도 티젠 콤부차 레몬맛을 좋아한다고 한다... 핳핳 품절대란이 있었다고.. 정국.. 역시 트렌드를 아는구만 콤부차란? 🧡 콤부차란 스코비균을 가지고 설탕이 들어간 홍차나 녹차(카페인)를..

LIFE 2021.08.06

[JAVA] 객체지향프로그래밍(OOP)란?

객체 객체란 말그대로 대상을 나타내는 단어이다. 객체지향프로그래밍(OOP) 객체의 관점에서 유기적인 관계를 통해 프로그래밍 하는 것을 의미한다. C는 절차지향 프로그래밍이라고 한다. 프로세스가 함수 단위로 순서대로 진행 되는 것을 말한다. OOP의 특징 1. 추상화 객체의 공통된 속성들 중 필요한 부분을 클래스로 정의하는 설계 기법 2. 캡슐화 접근제어자를 이용하여 불필요한 정보를 감출수 있고, 정보은닉을 할수 있다. 그리고 사용자의 입장에서는 public으로 정의된 속성만 알면 된다. 3. 상속 부모클래스가 자손클래스에게 속성을 물려주는 것 상속을 통해 코드의 중복을 없앤다. 코드의 재사용이 목적이다. 4. 다형성 오버라이딩을 통해 형태가 같은데 다른 기능을 하는것. OOP에서는 다형성을 허용한다

IT/JAVA 2021.07.12

[Spring] 의존성 주입 (Dependency Injection, DI)

의존성 주입이란 객체지향 프로그래밍을 하다보면 한번 쯤 듣게되는 용어이다. 코드에서의 의존성이란 결합도가 높다는 것을 의미한다. A클래스에서 B클래스의 일부를 참조할 때 B에서 변경이 일어나면 A도 변경해줘야하는 비효율적인 상황이 발생 할 수 있다. 그러면 코드의 재활용성이 떨어지고, 결합도(Coupling) 가 높아지게 된다. Spring 프레임워크는 이 부분을 강력하게 지원하고 있다. 두 객체간의 관계를 결정해주는 디자인 패던으로, 인터페이스를 통해 의존관계가 고정되지않고 관계를 다이나믹하게 주입하여 유연성을 확보하고 결합도를 낮출수있게 해준다. DI를 해야하는 이유 - 코드의 재활용성이 높아진다 - 객체간의 의존성을 줄이거나 없앨 수 있다. - 객체간의 결합도를 낮추면서 더욱 유연한 코드를 작성 할..

IT/etc 2021.07.12

[JAVA] 오버로딩과 오버라이딩의 차이

자바에서는 오버로딩과 오버라이딩의 개념이 있다. 이름이 비슷하여 처음에 많이들 헷갈리는 부분이다 오버로딩(Overloading) - 메서드의 이름이 같고 매개변수의 갯수나 타입이 다른 함수를 정의하는 것이다. - 리턴값만 다른 오버로딩은 있을 수 없다. 오브라이딩 (Overriding) - 상위 클래수를 상속받아 매서드를 하위클래스가 재정의 하는 것이다 - 메서드와 파라미터, 리턴타입이 동일해야한다.

IT/JAVA 2021.07.12

[JAVA] 컬렉션(Collection)

컬렉션 프레임워크 컬렉션은 자바에서 자료구조를 구현한 클래스들을 칭하는 용어이다. 자료구조(Data Structure)는 데이터를 저장하기위한 구조이다. 자바는 자료구조 처리를 위해 단순한 배열부터 리스트, 맵, 집합 에 이르기까지 다양한 프레임워크 기능을 제공한다. - 대표적인 컬렉션 종류 컬렉션 설명 List 순서가 있는 자료구조 Map 키와 값로 이루어진 자료구조 Set 집합을 나타내는 자료구조 Queue 들어오고 나가는 것의 순서가 정해진 자료구조

IT/JAVA 2021.07.12

[OS]프로세스와 스레드의 차이

기술면접의 단골 질문인 쓰레드와 프로세스의 차이를 기술하려고 한다 프로세스와 스레드의 정의 - 프로그램 : 프로그램이란 파일이 저장장치에 저장되어있지만 메모리에는 올라가 있지 않은 정적인(실행되지 않은) 코드덩어리를 말한다. - 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위 - 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행흐름의 단위 운영체제는 안정성을 위해 한 프로그램에서는 한가지 프로세스만 메모리내에 접근할 수 있도록 제약을 두고있고, 이로인해 프로세스보다 더 작은 실행 단위개념이 필요하게 되었다. 이것이 쓰레드이다. CPU 입장에서의 최소 작업단위가 된다. 쓰레드는 프로세스 특성의 한계를 해결하기 위해 만들어진 개념이기때문에 쓰레드의 특성은 다음과 같다. 쓰레드는 프로세스와 다르게 쓰..

IT/etc 2021.07.12

[알고리즘문제풀이/JAVA]#4 정렬: K번째수

문제 : https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제 설명: 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i..

[맥북관련] 맥북 먹통 조치방법

[화요일 17:13] 맥북이 갑자기 꺼졌다가 안켜지더니 전원버튼을 쭉 누르면 부팅이되다가 좀 사용하려고 하면 갑자기 종료가됩니다ㅠ ​ [화요일 17:13] 헬프데스크 사용중에 그러신건가요? [화요일 17:14] 헬프데스크 우선 1차적으로 해볼수 있는 조치가 두가지가 있는데 링크 두곳 안내대로 진행해 보시고 정상사용 불가능하시면 다시 안내 드리겠습니다. 회사에서 지원받은 맥북이 갑자기 먹통되어 헬프데스크에 문의했더니 자주 발생하는 일인것처럼 1차적인 조치방법을 알려주었다. 계속 필요할것같아 기록해두려고한다 방법 1. NVRAM, PRAM 재설정하기 https://support.apple.com/ko-kr/HT204063 Mac에서 NVRAM 또는 PRAM 재설정하기 Mac에서 NVRAM 또는 PRAM에 저..

[SQL] MYSQL에서 RANK구현하기

최근 SQL-D 자격증을 공부하며 배운 함수는 회사에서 MYSQL 5.7 버전을 (8버전 이하) 사용중이라 여러 함수들이 적용안되기 때문에 무용지물이었다. 메뉴 호출 트랜젝션이 한번의 호출당 12번 씩 일어나는것을 리팩토링하다가 갑작스레 DB 버전을 업데이트 하는 위험감수보다는 쿼리를 수정하는게 낫겠다는 생각이 들어 쿼리와 js부분만 수정해보았다. 그러다가 기록하는 RANK 함수 구현하기 ! 듀얼 테이블을 INNER JOIN 하여 변수를 생성해 @ROWNUM을 +1 해주는 방법과 특정컬럼으로 그룹핑하여 @RANK 변수를 한개씩 더해주는 방법이 있다 SELECT @rownum:=@rownum+1 AS NO -- @rownum : RANK를 대신해서 사용함 ,A.* FROM ( SELECT -- @RANK ..

IT/SQL 2021.06.25

[알고리즘문제풀이/JAVA]#3 위장 (작성중)

1.해쉬 3번째 문제는 https://programmers.co.kr/learn/courses/30/lessons/42578?language=java 코딩테스트 연습 - 위장 programmers.co.kr 위장 방법 경우의 수를 구하는 문제이다. 스파이들은 매일 다른 옷을 입어 자기를 위장하는데 위장할수 있는 물품의 종류와 이름(가지수)가 배열에 주어진다. 이것도 해쉬문제인 이유는 이전 전화번호목록에서 적어두었던 해쉬에 대한 내용과 같이 같은 특징으로 그룹핑하여 가지수를 체크할수있기때문이다 해쉬로 그룹핑을 하여 갯수를 세고 , 경우의 수를 구하는 부분이 중요한데 2. 3.

[알고리즘문제풀이/JAVA]#2 전화번호 목록

1. 두번째 레벨 문제는 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문자열 배열로 전화번호가 입력되고, 다른번호의 접두어가 되는 번호가 있는지 찾는 문제이다 해쉬문제 중 두번째 문제로 푸는 방식이라고하는데, 몇십분동안 잘 이해가 가지 않았다 2. 나의 코드 사실상 인터넷에서 풀이를 보고 한 것이지만, 적어둔다 set.contains함수가 쿼리의 like검색과 유사한것이라고 생각했기때문에 이해가 되지않..

[MYSQL] AUTOCOMMIT 확인/변경

회사에서 한 시스템은 MYSQL를 이용하고있고 나는 워크벤치를 이용하고있다 갑자기 문득 UPDATE문을 날리다가 AUTO COMMIT기능이 가끔 엄청난 결과를 불러일으킬거라는 생각이 들어 이를 변경 적용하고자 한다 1. 조회 방법(1) - SELECT SELECT @@AUTOCOMMIT; 실행결과 > 활성화 되어있을 경우 1로 출력된다 이것이 default값 방법(2) - MYSQL 환경변수 확인 - SHOW SHOW variables like 'autocommit' 실행결과 > 변수 값이 ON, OFF로 나타난다 2. 설정 방법 간단한 명령어로 설정을 바꿀 수 있다. 활성화 하려면 TRUE, 비활성화는 FALSE이다. SET AUTOCOMMIT = FALSE ; // 비활성화 SET AUTOCOMMIT..

IT/SQL 2021.06.22