라라벨 컨트롤러에서 Validation 오류 메세지 발생하기

 라라벨에서는 컨트롤러에서 유효성 검사를 통과하지 못하고 되돌아왔을 때, 해당 페이지가 오류를 표시할 수 있는 적절한 코드로 되어있다면 검사를 통과하지 못한 대상에 무엇이 문제인지 표시할 수 있습니다.  제가 알고 싶었던 것은, '원하는 때에 원하는 내용으로 유효성 메시지를 표시하는 방법'이었습니다. 그래서 이와 관련된 내용을 찾았고, 찾은 내용은 아래 링크입니다. [ stack overflow ]  방법은 소스코드 내에서 'Illuminate\Validation\ValidationException' 오류를 원하는 메시지로 생성하여  throw 하면 됩니다. use Illuminate\Validation\ValidationException; ... throw ValidationException::withMessages([ 'file' => ['파일 오류'] ]);  예시로 적은 위 코드는 유효성 검사를 해야 하는 항목 중에서 이름이 file로 지정된 요소에 '파일 오류'라는 메시지를 전달합니다.

HTML 의 이벤트 이름은 어떻게 적어야 하는가?

 Vue3 를 사용하다보면 템플릿에서 임의로 이벤트를 만들어야 하는 경우가 있습니다.  이벤트 이름을 정할 때 띄어쓰기는 어떻게 처리하나 고민했지만 다행이 Vue3 가이드에서 이와 관련된 내용을 찾을 수 있었습니다. ( 링크 )  HTML은 대소문자를 구분하지 않으며, 'v-on' 이벤트리스너는 항상 자동으로 소문자 변환하기 때문에 카멜 표기법(camelCase)이나 파스칼 표기법(PascalCase)은 의미가 없다고 합니다. 거기다 이벤트의 이름은 템플릿 내에서 별도의 변수로 사용되는 경우가 없기 때문에 케밥 표기법(kebob-case) 사용을 권장한다고 합니다. <input type="text" @my-change-event="onClick">

PHP 로 FTP 업로드 시 디렉토리와 파일은 만들어지는데 용량이 0인 경우

 PHP를 사용해 외부 FTP 서버에 파일을 업로드 하려고 합니다.  아래 코드와 같은 흐름으로 작성을 했지만, 크기가 0인 파일만 만들어지고 데이터는 올라가지 않네요. // Error code. $ftpConn = ftp_connect($ftpHost, $ftpPort); ftp_login($ftpConn, $Id, $password); ftp_put($ftpConn, $file, $path, FTP_BINARY)); // timeout ftp_close($ftpConn);  찾아보니 FTP 서버의 환경에 따라서 '수동모드'를 작동해야 한다고 합니다. 'ftp_pasv()' 함수로 해당 설정을 할 수 있는데, 값을 true로 설정해도 업로드가 안되는 것은 여전했습니다. // Error code. $ftpConn = ftp_connect($ftpHost, $ftpPort); ftp_pasv($ftpConn, true); ftp_login($ftpConn, $Id, $password); ftp_put($ftpConn, $file, $path, FTP_BINARY)); // timeout ftp_close($ftpConn);  결국 답을 찾았습니다. 어이없게도 코드의 순서가 잘못되어 있었습니다. 'ftp_login()' 이후에 해당 옵션을 설정해야 정상적으로 작동을 합니다. $ftpConn = ftp_connect($ftpHost, $ftpPort); ftp_login($ftpConn, $Id, $password); ftp_pasv($ftpConn, true); // 로그인 다음에 설정해야한다. ftp_put($ftpConn, $file, $path, FTP_BINARY)); ftp_close($ftpConn);

이유를 알고 싶지 않을 정도의 노력

 잘 써진 글을 보고 있으면 어떻게 이렇게 쓸 수 있을까 의문이 든다. 단어 하나하나는 나도 알고 있는 것들이 대부분인데 내가 적는 것과는 너무나 다른 모양이다.  잘 써졌다는 것은 알겠지만 왜 그런지 모르겠는 답답함, 그 이유를 찾아 배우기에는 너무 많은 노력이 필요하다.  이유가 궁금하지만, 그것을 알기 위해 노력하기는 싫다. 지금처럼 다른 사람의 글을 읽고 부러워 하는 정도의 노력만 들이고 싶다.  사람들이 물어보는 것을 선호하는 이유는 그것이 상대적으로 쉽기 때문이다. 나도 마찬가지다. 누군가 그냥 말해줬으면 하고 생각한다.

나쁜 일이 많을 때 복권을 사야 하지 않을까?

 지금까지 좋은 꿈을 꾸었거나, 날씨가 좋거나, 특별한 날에는 복권을 샀다.  문득, 좋은 일이 있을 때 복권을 사는 게 맞는 건가 의구심이 든다. 그런 행운이 연속적으로 올 확률이 얼마나 되겠는가? 좋은 일이 한 번 왔으면 그 뒤는 평범하거나 나쁠 확률이 높지 않을까? 오히려 나쁜 일이 연속으로 일어난 다음에는 좋은 일이 일어날 확률이 높지 않을까?  수학적으로 본다면 그딴 거 다 의미 없는 게 맞겠지만, 그래도 복권을 산다면 앞으로는 나쁜 일이 있을 때 사야겠다는 생각을 해봤다.

커피에 물을 타나, 물에 커피를 타나

 커피믹스를 탈 때, 커피에 물을 타는 것과 물에 커피를 타는 것을 구분하는가? 둘을 구분하는 사람과 그렇지 않은 사람이 있을 때 나는 전자에 속한다.  무엇이 다른가 물어본다면 솔직히 말해서 타는 행위 말고는 딱히 할 말이 없다. 근본적인 차이점이 있을 수 있지만 잘 모르겠다.  둘을 구분한다고 커피 맛이 다른 것도 아니니 오히려 구분하지 않는 게 삶이 편안할 수 있겠다는 생각도 든다.

git을 처음 깔았을 때 설정해야 하는 전역 옵션

 git을 처음 깔았을 때 설정해야 하는 값을 적어봅니다. # 사용자 이름과 이메일 저장. git config --global user.name "name" git config --global user.email "email@email.com" # 메인 브런치 이름 변경. (master를 사용하지 않는 방향으로 바뀌고 있다.) git config --global init.defaultBranch main # 줄바꿈 문자 관리. (윈도우와 리눅스의 설정값이 다르다.) git config --global core.autocrlf true #윈도우 git config --global core.autocrlf input #리눅스  core.autocrlf는 줄바꿈 문자를 설정하는 옵션입니다. 저장소에 저장할 때 줄바꿈 문자를 통일하기 위한 설정입니다. 윈도우에서는 true 값을 설정하여 저장시에는 LF로 변환, 불러올 때는 CRLF로 변환 되도록 합니다. 리눅스에서는 input 값을 설정하여 저장시에는 LF로 변환, 불러올 때는 변환없음으로 처리합니다. 결과적으로 저장소에는 LF 줄바꿈 문자만 들어가게 됩니다.