잡담 직장이 구해지지 않고 있습니다, 개발 능력도 키울 수 있고 페이도 좋으며 집과 가까운 그런 회사 없나.. 지난번에 GoLang 관련 회사로 면접을 볼 기회가 있었는데 긴장을 너무한 게 두고두고 아깝네요. 개요 이전 회사에서 Laravel 또는 Wordpress로만 프로젝트를 구축하고 관리했습니다 순수 PHP 만으로 개발한 사이트가 없었기기에 해보고 싶었고 곧 놓을지도 모르는 PHP 정리도 할 겸 겸사겸사 게시판 프로젝트를 만들었습니다. 아래가 원본 주소입니다. 만약 에러가 생길 경우 아래 주소를 참고하시면 됩니다. https://github.com/DSeung001/php-bbs GitHub - DSeung001/php-bbs Contribute to DSeung001/php-bbs developm..
Q : 접근 제어자 public, private, protected의 차이 A : public은 어디서나, private는 같은 클래스에서, protected는 같은 클래스 및 자식 클래스에서 접근 가능 Q : PSR은 무엇인가? A : php를 작성하기 위한 규칙, 코딩 스타일 가이드 권장 가이드, 버전마다 가이드가 다르므로 기존 가이드를 유지하는 게 좋음 Q : php 프레임워크 사용 경험, 장단점 A : Laravel 프레임워크를 주로 사용했고 CMS인 워드프레스가 있음 Laravel 간단한 코드로 강력한 웹 애플리케이션을 개발할 수 있는 PHP계의 스프링! wordpress 간단하게 CMS 사이트를 만들 수 있으며 더 깊게 파고들어서 테마 및 플러그인을 적용 및 개발을 PHP로 가능 Q : Nul..
깃허브에 접속하신 후 로그인하신 후 https://github.com/ GitHub: Let’s build from here GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea... github.com Settings을 누르시면 됩니다. Emails 선택하신 후 아래로 쭉 내리시면 Keep my email addresses private을 체크 해제 해주시면 됩니다. 공개 이메일을 바꾸시려면 Public P..
최근 면접에서 Go의 Context가 뭐냐고 물으셨다.가장 중요할 때 기억이 나지 않는 게 세상의 규칙인 건가.. 라는 생각이 들었다 그렇게 백수의 기간이 늘었다 Context 정의context 패키지에서 제공하는 걸로 간단하게 생각하면 작업 명세서라 할 수 있다."10시부터 12시는 네가 일해, 그리고 중간에 냉장고 정리를 하고 에어컨을 꺼야 돼, 나는 여기서 청소하고 있을게"와 어떻게 하지를 정의해주는 작업 명세서다. 새로운 고루틴을 시작할 때 시간을 지정해주기도 하고 외부의 작업을 취소할 때도 사용할 수 있다.거기에 작업 설정에 대한 정보도 전달이 가능하다. 이게 가능해진 버전은 Go 1.7 버전(2016-08-15일)부터로 그때부터 기본으로 탑재가 됐다.Context 단어 뜻을 그대로 직역하면 ..
최근에 본 면접에서 질문으로 MySQL 실행계획을 물어보는 분이 계셨는데감기 이슈로 멍해진 머리로는 제대로 된 답을 하지 못했었다. 이 참에 제대로 정리해 보자. 정의DB + Query Plan을 들을 경우 딱 느낌이 오는 건"아 DB에서 쿼리를 분석해서 사용하는 과정에 대한 계획인가"로 추론해 볼 순 있는 데 대충 그게 맞습니다. 이게 왜 필요하나면우리가 TABLE에 쿼리를 아래처럼 날렸을 때SELECT LoanedBook.*FROM LoanedBookJOIN Person ON LoanedBook.person_id = Person.person_idWHERE Person.person_id = 1;주어진 쿼리가 같더라도 LoanedBook에 어디에 Index가 있는지 또는 Person에 Unique 값이 ..
목표 저번에 만들었던 md2html 프로젝트에 고루틴을 적용하여 여러개의 파일을 변환할 수 있게 수정하겠습니다. https://seung.tistory.com/entry/GoLang-Markdown%EC%9D%84-HTML%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0 [GoLang] Markdown을 HTML로 변환하기 목표 Markdown을 HTMl으로 바꿔주는 프로그램을 만들어봅시다 Markdown : 텍스트 기반의 마크업 언어로 쉽게 문서를 만들 수 있다 HTML : 하이퍼 텍스트 마크업 언어로 웹 페이지를 위해 개발된 언어 이 seung.tistory.com resource 폴더의 md파일의 구조를 다음과 같이 바꿔봅시다. 이렇게 바꾼 이유는 아래와 같습니다...
목표 Markdown을 HTMl으로 바꿔주는 프로그램을 만들어봅시다 Markdown : 텍스트 기반의 마크업 언어로 쉽게 문서를 만들 수 있다 HTML : 하이퍼 텍스트 마크업 언어로 웹 페이지를 위해 개발된 언어 이번에 사용할 모듈은 다음과 같습니다. https://github.com/gomarkdown/markdown GitHub - gomarkdown/markdown: markdown parser and HTML renderer for Go markdown parser and HTML renderer for Go. Contribute to gomarkdown/markdown development by creating an account on GitHub. github.com 코드 프로젝트를 만듭시다..
GoLang에서 처음 Interface를 배울 때 가장 헷갈렸던 점은 Interface에 포함되는 구현체 구분에서 따로 정의가 없는데 어떻게 구분할까였습니다. 그랬던 이유는 "덕 타이핑"이라는 특징 덕분입니다. 우선 Java와 같은 타 언어들에서는 아래처럼 Interface를 implements와 같은 키워드로 사용합니다 (아래 코드는 Java가 아닌 Go에서의 예제이고 에러가 발생하는 예제입니다.) package main type Animal interface { SetName(name string) } // impelments를 통해 interface를 지정 type Dog struct impelments Animal { Name string } func (d *Dog) SetName(name str..
개요 주소를 별명으로 저장할 수 있는 웹사이트를 만들어봅시다 프로젝트 구조 scss 같은 경우 제가 편리해서 사용하는 것이므로 무시해도 됩니다. 포스팅에서는 같은 구조에서 scss 폴더는 없어도 됩니다. 프로젝트 생성 프로젝트를 만들어줍시다 go mod init shortUrl.com 저희는 두가지 모듈을 사용합니다 go get github.com/joho/godotenv go get github.com/go-sql-driver/mysql 그러면 go.mod 파일이 생기고 아래와 같을 것 입니다. 버전이 다를 수 있으니 참고하시기 바랍니다. module shortUrl.com go 1.20 require ( github.com/go-sql-driver/mysql v1.7.1 // indirect gith..