* MacBook Pro (Intel Core i7) 사용

 

 

1. Homebrew 다운로드

1-1) Git 홈페이지 접속

https://git-scm.com/downloads/mac 접속

 

1-2) homebrew 링크(파란색 글씨) 클릭

 

1-3) 설치명령어 복사

 

1-4) 터미널 실행

 

1-5) 명령어 실행

- Password 에는 Macbook 로그인 비밀번호 입력

 

1-6) 설치확인

- brew help 명령어 입력하여 확인

- 'Homebrew'를 설치하면 자동으로 'Xcode'가 설치됨

- 'Homebrew'는 각종 커맨드라인 프로그램과 일반 프로그램을 터미널 환경에서 설치할 수 있도록 하는 Mac 전용 패키지 매니저이다.

- 'command not found : brew' 오류 발생 시 아래와 같은 명령어 입력

eval $(/opt/homebrew/bin/brew shellenv)

 

 

2. Git 설치

2-1) 터미널에 설치 명령어 입력

brew install git

 

2-2) 설치 확인

git --version

 

 

[References]

https://velog.io/@wijoonwu/Mac-OS-%EC%97%90%EC%84%9C-Git-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

맥에서 Git 설치하기

Mac OS 에서 Git 설치하기

velog.io

https://velog.io/@insutance/Xcode-%EC%84%A4%EC%B9%98-%EB%B0%8F-Homebrew-%EC%84%A4%EC%B9%98

 

Xcode 설치 및 Homebrew 설치

Mac(M1) 개발 환경 세팅 - Xcode 설치 및 Homebrew 설치

velog.io

 

728x90

'Git' 카테고리의 다른 글

[Git] Sourcetree 설치  (0) 2022.09.21
[Git] clone 오류 (fatal : Remote branch not found in upstream origin)  (0) 2022.09.13
class Solution {
    public static String[] babblingArray = {"aya", "ye", "woo", "ma"};
   
    public int solution(String[] babbling) {
        int answer = 0;

        for(String bab : babbling){
            for(String str : babblingArray) {
                bab = bab.replaceFirst(str, " ");
            }
            if(bab.replaceAll(" ","").equals("")) answer++;
        }

        return answer;
    }
}

 

[Refference]

https://velog.io/@jhkim0122/Java-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%B9%EC%95%8C%EC%9D%B4-1

 

[Java] 프로그래머스 - 옹알이 (1)

프로그래머스 - 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/120956 프로그래머스 오늘의 연습문제에 떴길래 풀어봤다. Lv0이라고 되어있는데.. Lv0 수준은 아닌 듯..? 이전의 Lv

velog.io

https://school.programmers.co.kr/learn/courses/30/lessons/120956

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90

 

[문제점]

mysql 이전버전 삭제 후 재설치 시 port 충돌 alert 발생

 

[해결방법]

Win+R을 누른 뒤 "resmon.exe" 입력하여 port number 3306을 찾은 후 taskkill 처리

 

[References]

https://0ver-grow.tistory.com/m/194?category=841784 

 

[에러/해결] MySQL the specified port already in use

위 사진처럼 포트번호 옆에 느낌표 발생 현재는 the specified port already in use 에러 발생. 이전 MySQL버전이 설치되어 있어서 생긴문제 이전 버전을 삭제하면 끝. 이제 삭제해보자 Win+R을 누른 뒤 "r

0ver-grow.tistory.com

 

728x90

 

[해결방법]

권한 해제 설정 후 mysql에 접속하여 root 비밀번호 재설정

 

[실행순서]

1. 명령 프롬프트(관리자 권한) 실행

 

2. mariadb 서비스 종료

net stop mariadb

 

3. mariadb 설치 경로 이동

cd C:\Program Files\MariaDB 10.4\bin

 

4. mysql 실행권한 설정 변경

mysqld -uroot --skip-grant-tables

 

5. 새 명령 프롬프트(관리자 권한) 실행

- mariadb 설치 경로 이동

 

6. 비밀번호 변경

mysql -uroot mysql
update user set password = PASSWORD('plz input your password') WHERE user = 'root';

 

[References]

 

https://yeolceo.tistory.com/109

 

Window MariaDB 비밀번호 분실 시 수정 -YEOL (MySql root password reset and update windows)

-Environment OS: Window 10 DB: MariaDB 10.3.13 -PassWord initialize and Update 1. mysql 서비스 종료 Window에서 '실행'을 시작합니다. (단축키 window+R) 내용에 services.msc를 입력하여 실행해 주세요. 서..

yeolceo.tistory.com

 

728x90

 

1. LEFT

1-1) 설명 : 텍스트를 왼쪽부터 지정된 개수만큼 자른다.

1-2) 구문 : LEFT(text, [num_chars])

- text : 잘라낼 텍스트가 포함된 전체 텍스트

- num_chars : 잘라낼 글자수, 생략시 1로 간주되므로 한 글자만 잘라낸다.

 

2. SUMPRODUCT

2-1) 설명 : 해당 범위 또는 배열의 제품 합계를 반환합니다. 기본 작업은 곱하지만, 추가, 빼기 및 분할도 가능합니다.

2-2) 구문 : SUMPRODUCT(array1, [array2], [array3], ...)

- array1 (필수) : 계산하려는 배열의 첫 번째 인수입니다.
- [array2], [array3],... (선택) : 계산하려는 배열의 인수로서 2개에서 255개까지 지정할 수 있습니다.

 

3. IF

3-1) 설명 : 조건이 True이면 하나의 값을 반환하고, 조건이 False이면 다른 값을 반환합니다.

3-2) 구문 : IF(logical_test, value_if_true, [value_if_false])

- logical_test (필수) : 검사할 조건입니다.
- value_if_true (필수) : logical_test 의 결과가 TRUE일 경우 반환할 값입니다.
- value_if_false (선택) : logical_test 의 결과가 FALSE일 경우 반환할 값입니다.

 

4. DATEDIF

4-1) 설명 : 두 날짜 사이의 일, 월 또는 연도 수를 계산합니다.

4-2) 구문 : DATEDIF(start_date,end_date,unit)

- start_date (필수) : 주어진 기간의 첫 번째 또는 시작 날짜를 나타내는 날짜입니다.

- end_date (필수) : 기간의 마지막 날짜나 종료 날짜를 나타내는 날짜입니다.

- Unit (필수) : 반환하려는 정보의 형식입니다.

Unit 반환 값
"Y" 해당 기간에 포함된 전체 연도 수
"M" 해당 기간에 포함된 전체 개월 수
"D" 해당 기간에 포함된 날짜 수
"MD" start_date와 end_date의 날짜 차이. 두 날짜의 월이나 연도는 무시됩니다.
(중요: "MD" 인수에는 알려진 제한 사항이 있으므로 사용하지 않는 것이 좋습니다.)
"YM" start_date와 end_date의 개월 차이. 두 날짜의 일과 연도는 무시됩니다.
"YD" start_date와 end_date의 날짜 차이. 두 날짜의 연도는 무시됩니다.

 

5. ROUND

5-1) 설명 : 숫자를 지정한 자릿수로 반올림합니다.

5-2) 구문 : ROUND(number, num_digits)

- number : 반올림할 숫자입니다.

- num_digits : number 인수를 반올림할 자릿수입니다.

 

[Example]

1) 날짜 데이터(YYYY-MM-DD)를  '시작일(YY.MM) ~ 종료일(YY.MM)'로 변경

=LEFT(TEXT(B28,"YY.MM.DD"),5)&"~"&LEFT(TEXT(C28,"YY.MM.DD"),5)

날짜 입력
기간 입력

 

2) 날짜 유효성체크

Excel에서 부울 값 (TRUE 또는 FALSE)을 숫자 (1 또는 0)로 변환합니다.

 

- 시작일은 0보다 크다.

- 종료일은 0보다 크다.

- 시작일은 종료일 기간보다 작거나 같다.

- 종료일은 시작일 기간보다 크거나 같다.

=(B3>0)*(C3>0)*(B3<=C3)*SUMPRODUCT((B3<=C$3:C$4)*(C3>=B$3:B$4))

 

3) 일수 계산

=IF((E3=1)*($B3>DATE(1970,1,1))*($C3>=$B3),DATEDIF(B3-1,C3,"D"),"")

 

4) M/M 기간 계산

=ROUND(D3/20,0)

 

 

[References]

https://support.microsoft.com/ko-kr/office/left-leftb-%ED%95%A8%EC%88%98-9203d2d2-7960-479b-84c6-1ea52b99640c

 

LEFT, LEFTB 함수

이 문서에서는 Microsoft Excel의 LEFT 및 LEFTB 함수에 사용되는 수식 구문과 이 함수를 사용하는 방법을 설명합니다. 설명 LEFT는 텍스트 문자열의 첫 번째 문자부터 시작하여 지정한 문자 수만큼 문자

support.microsoft.com

https://support.microsoft.com/ko-kr/office/round-%ED%95%A8%EC%88%98-c018c5d8-40fb-4053-90b1-b3e7f61a213c

 

ROUND 함수

설명 ROUND 함수는 숫자를 지정한 자릿수로 반올림합니다. 예를 들어 셀 A1에 23.7825가 포함된 경우 값을 소수 2자리로 반올림하려면 다음 수식을 사용할 수 있습니다. =ROUND(A1, 2) 이 함수의 결과는 2

support.microsoft.com

https://support.microsoft.com/ko-kr/office/sumproduct-%ED%95%A8%EC%88%98-16753e75-9f68-4874-94ac-4d2145a2fd2e

 

SUMPRODUCT 함수

SUMPRODUCT 함수는 해당 범위 또는 배열의 제품 합계를 반환합니다. 기본 작업은 곱하지만, 추가, 빼기 및 분할도 가능합니다. 이 예제에서는 SUMPRODUCT를 사용하여 주어진 항목 및 크기에 대한 총 매

support.microsoft.com

https://support.microsoft.com/ko-kr/office/date-%ED%95%A8%EC%88%98-e36c0c8c-4104-49da-ab83-82328b832349

 

DATE 함수

다른 프로그램에서 생성된 파일을 열면 Excel이 데이터 내의 날짜를 인식하려고 시도합니다. 하지만 날짜를 인식할 수 없는 경우도 있습니다. 이는 숫자가 일반적인 날짜와 유사하지 않거나 데이

support.microsoft.com

https://support.microsoft.com/ko-kr/office/if-%ED%95%A8%EC%88%98-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2

 

IF 함수

논리 함수 중 하나인 IF 함수를 사용하여 조건이 True이면 하나의 값을 반환하고, 조건이 False이면 다른 값을 반환합니다. IF(logical_test, value_if_true, [value_if_false]) 예를 들면 다음과 같습니다. =IF(A2>B2

support.microsoft.com

https://support.microsoft.com/ko-kr/office/datedif-%ED%95%A8%EC%88%98-25dba1a4-2812-480b-84dd-8b32a451b35c

 

DATEDIF 함수

두 날짜 사이의 일, 월 또는 연도 수를 계산합니다. 경고: Excel에서는 Lotus 1-2-3의 이전 통합 문서를 지원하기 위해 DATEDIF 함수를 제공합니다. DATEDIF 함수는 특정 시나리오에서 잘못된 결과를 계산

support.microsoft.com

 

728x90

 

1. i18n 의미

국제화라는 단어인 Internationalization의 첫글자와 마지막 글자인 I와 N 사이에 18글자가 들어간다는 의미로 I18N이라고 표기한다고 한다.

 

2. i18next

i18next는 i18n을 자바스크립트 상에서 사용할 수 있도록 제작된 라이브러리이다.  

 

3. 공식사이트

https://www.i18next.com/

 

Introduction - i18next documentation

The framework was built with scalability in mind. For smaller projects, having a single file with all the translation might work, but for larger projects this approach quickly breaks down. i18next gives you the option to separate translations into multiple

www.i18next.com

 

4. CDN 

http://cdnjs.com/libraries/i18next

 

i18next - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers

i18next is a full-featured i18n javascript library for translating your web application. - Simple. Fast. Reliable. Content delivery at its finest. cdnjs is a free and open-source CDN service trusted by over 12.5% of all websites, serving over 200 billion r

cdnjs.com

 

5. Github

https://github.com/i18next/i18next

 

GitHub - i18next/i18next: i18next: learn once - translate everywhere

i18next: learn once - translate everywhere. Contribute to i18next/i18next development by creating an account on GitHub.

github.com

 

- 다른 js 에서 polyfill을 적용한 경우 jquery plugin 만 다운받아서 적용하면 됩니다. (javascript 소스내에 있는 polyfill 소스와 충돌하는 경우)

https://github.com/jquery-i18n-properties/jquery-i18n-properties

 

GitHub - jquery-i18n-properties/jquery-i18n-properties: lightweight jQuery plugin for providing internationalization to javascri

lightweight jQuery plugin for providing internationalization to javascript from ‘.properties’ files - GitHub - jquery-i18n-properties/jquery-i18n-properties: lightweight jQuery plugin for providing...

github.com

 

6. 다운로드

http://i18next.github.io/i18next/

 

i18next - i18n for javascript

i18next - translation made easy i18next is a full-featured i18n javascript library for translating your webapplication. runs in browser, under node.js, rhino and other javascript runtimes.

i18next.github.io

 

7. i18next-node

https://github.com/i18next/i18next-node

 

GitHub - i18next/i18next-node: [deprecated] can be replaced with v2 of i18next

[deprecated] can be replaced with v2 of i18next. Contribute to i18next/i18next-node development by creating an account on GitHub.

github.com

 

 

[References]

https://code-loving.tistory.com/6

 

[Jquery i18n] 다국어 지원 웹 개발, java .properties 파일을 JSON파일로 바꾸기

요즘 회사에서 다국어를 지원하는 웹을 개발하고 있다. 기존에는 서버를 호출하여 페이지를 뿌려주는 방식으로 개발하고 있었는데 (jsp사용) 최근에는 정적인 페이지로 바꾸면서 다국어 지원이

code-loving.tistory.com

 

728x90

 

[사이트 링크]

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

 

Tutorial: Using Thymeleaf

1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thymeleaf is to provide a

www.thymeleaf.org

 

[접속방법]

1. 사이트 접속

https://www.thymeleaf.org/index.html

 

Thymeleaf

Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your favourite tools, using your favourite web-development framework. Check out our Ecosystem to see more integrati

www.thymeleaf.org

 

2. Docs 클릭

 

3. Tutorials 에서 Thymeleaf version에 해당하는 Read online 클릭

 

4. 사이트 이동

 

728x90

 

자바스크립트 객체는 매우 유연하기 때문에 의도치 않은 변형이 일어날 수 있습니다. 

이때 객체 수정을 막는 방법은 아래와 같습니다.

 

1. const

1-1) 설명 : 블록 범위의 상수를 선언합니다. 

1-2) 기능 : 재할당 불가

1-3) 예외 : 객체 속성 추가, 수정, 삭제 가능

 

2. Object.freeze()

2-1) 설명 : 이 메서드는 객체동결합니다. Object.isFrozen() 메서드를 이용하여 객체의 동결여부를 확인할 수 있습니다.

2-2) 기능 : 

- 새로운 속성 추가 불가

- 기존 속성 삭제 불가

- 기존 속성값 변경 불가

- 프로토타입 변경 불가

2-3) 예외 : 

- Object.freeze(object) 호출의 결과는 object 스스로의 직속 속성에만 적용되며, object에 대해서만 속성 추가, 제거, 재할당 연산을 방지합니다. 만약 그 속성의 값이 객체라면, 그 객체는 동결되지 않으며 속성 추가, 제거, 재할당의 대상이 될 수 있습니다.동결된 객체가 변경될 수 있습니다.

- string, number, boolean 값은 언제나 불변하고, Function, Array 는 객체(object)임을 유의

const obj1 = {
  internal: {}
};

Object.freeze(obj1);
obj1.internal.a = 'aValue';

obj1.internal.a // 'aValue'

 

3. Object.seal()

3-1) 설명 : 이 메서드는 객체를 밀봉합니다. Object.isSealed() 메서드를 이용하여 객체의 밀봉여부를 확인할 수 있습니다.

3-2) 기능 :

- 새로운 속성 추가 불가

- 기존 속성 삭제 불가

3-3) 예외 : 

- 기존 속성값 변경 가능

 

4. Object.preventExtensions()

4-1) 설명 : 이 메서드는 객체의 확장제한합니다. Object.isExtensible() 메서드를 이용하여 객체의 확장여부를 확인할 수 있습니다.

4-2) 기능 : 

- 새로운 속성 추가 불가

4-3) 예외 : 

- 기존 속성 삭제 가능

- 기존 속성값 변경 가능

 

[References]

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/const

 

const - JavaScript | MDN

const 선언은 블록 범위의 상수를 선언합니다. 상수의 값은 재할당할 수 없으며 다시 선언할 수도 없습니다.

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze

 

Object.freeze() - JavaScript | MDN

Object.freeze() 메서드는 객체를 동결합니다. 동결된 객체는 더 이상 변경될 수 없습니다. 즉, 동결된 객체는 새로운 속성을 추가하거나 존재하는 속성을 제거하는 것을 방지하며 존재하는 속성의

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/seal

 

Object.seal() - JavaScript | MDN

Object.seal() 메서드는 객체를 밀봉합니다. 객체를 밀봉하면 그 객체에는 새로운 속성을 추가할 수 없고, 현재 존재하는 모든 속성을 설정 불가능 상태로 만들어줍니다. 하지만 쓰기 가능한 속성의

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions

 

Object.preventExtensions() - JavaScript | MDN

Object.preventExtensions() 메서드는 새로운 속성이 이제까지 객체에 추가되는 것을 방지합니다 (즉 객체의 장래 확장을 막습니다).

developer.mozilla.org

 

728x90

+ Recent posts