어떤 것부터 지도/학습 할 것인지에 대한 고민 공유

발표 목적

출처: 개앞맵시 웹개발 https://www.mindmeister.com/535984257/_

이현석

이현석 (36)

PHP 7년차

이현석 (36)

'필요한데 없으면 직접 만들자'

PHP 7년차

이현석 (36)

'필요한데 없으면 직접 만들자'

PHP 7년차

업투데이트북스 겸 창고

이현석 (36)

'필요한데 없으면 직접 만들자'

PHP 7년차

업투데이트북스 겸 창고

IT 북카페 일공공

정기모임

매월 첫째주 수요일

더 잘하고 싶은데 뭐부터 공부해야 할지 모르겠다

사수도 없고 후...

2년차 때 처음 모던 PHP 유저그룹 정기모임에 나갔을 때 

신입들에게 권해줄만한 PHP 책이 없다

한편, 팀장급 PHP 개발자분들은 이렇게 말씀하십니다

그래서,

책을 쓰고 있습니다.

(어느새 1년이...)

지난 주에 모던 PUG 멤버가 쓴 책이 또 나왔다면서요?

그 어려운 걸 자꾸 해냅니다. 사람들이

아무도 원하지 않는 제품을 만드는 게

가장 위험하다

신입에게 책을 한 권 권해준다면,

그 책에는 어떤 내용들이 들어가있으면 좋을까요?

팀장급 개발자 분들을 만나 물어봤습니다

신입  新入

/시-닙/

 

입사 한 지 얼마 지나지 않은

PHP를 이용한 웹개발로 돈을 벌어 본적은 없는

혼자 개발환경 세팅하고 CRUD 기능이 포함된 웹사이트는 만들 수는 있는 사람

주의! 발표자의 자의적인 정의로 실제 신입의 정의와는 다를 수 있습니다.

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

6

6

5

5

4

4

시나리오 쓰고 있네

이 색히가

미션

할 일 수정 기능을 추가하시오

버튼 추가하기

업데이트 폼 만들기

업데이트 기능 구현하기

참 쉽죠?

저장소가 뭔가요?

VCS

왜 버전 관리 시스템을 알아야 하는가

  • 모르면 동료들과 함께 일 할 수가 없기 때문
  • 혼자여도 파일의 변화를 기록하고 특정 버전으로 빠르게 돌아갈 필요 있음

도움이 될만한 자료

소스 코드를 받았는데 에러가 납니다

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

컴포저 6

6

5

5

4

4

의존성 관리

오토로드

Before

Composer

After

Dependency manage

도움이 될만한 자료

제 컴퓨터에선 안되는데요?

가상환경을 이용한

개발환경 구축

왜 가상환경을 이용한 개발환경 구축이 필요한가?

  • 개발 환경은 프로덕션 환경과 같을 수록 좋음
  • 여러 개발환경이 동시에 필요할 수 있음
    • 회사에 제품이 여럿 존재
    • 제품의 개발환경을 변경하는 경우

어떤 파일을 고쳐야하는지 모르겠어요

URL이 /tasks 라서 public/tasks/index.php 라고 생각했는데 파일이 없음

MVC,

Front Controller

도움 될 만한 자료

폼 전송이 안되요

CSRF 토큰 없이 폼을 전송함

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

컴포저 6

6

5

시큐어 코딩 5

4

4

2008년 옥션

CSRF

2015년 뽐뿌

SQL 인젝션

도움이 될만한 자료

GET, POST 는 알겠는데

PUT, DELETE 는 뭔가요?

수정하는 요청인데 신입이 POST로 보냄

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

컴포저 6

6

HTTP 5

시큐어 코딩 5

4

4

REST

도움이 될만한 자료들

저는 제 스타일이 따로 있습니다

코딩 컨벤션을 따르지 않음

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

컴포저 6

PSR 6

HTTP 5

시큐어 코딩 5

4

코딩 컨벤션 4

코딩 컨벤션은 고민말고 PSR-1,2로 대동단결 하는 것도 좋을 듯

도움이 될만한 자료들

훌륭한 목수는 연장탓을 하지 않는다고 했습니다

굳이 기능이 없는 에디터를 사용

팀장들이 꼽은

신입 PHP 개발자들이 가급적 빨리 알았으면 하는 것들

TOP 6

컴포저 6

PSR 6

HTTP 5

시큐어 코딩 5

IDE 4

코딩 컨벤션 4

나에게 8시간을 주고 나무를 베라고 한다면 6시간은 도끼를 가는데 쓰겠다

- 링컨

3

  • 비즈니스에 대한 이해
  • PDO
  • MVC 패턴(최소한 로직과 표현 분리)
  • Namespaces
  • 인코딩
  • Traits
  • SPL
  • register globals 끄기
  • 매직메소드
  • 경고 메시지를 무시하지 말기

PHP 자체에 대한 지식도 중요하지만 웹 개발자로서 동료들과 협업할 수 있는 최소한의 주변 지식과 도구 활용 능력이 필요함

OOP 나 디자인패턴에 대한 이야기는 거의 거론되지 않음

키워드 18개

6~3명 중복 답변 키워드 + VCS, 가상개발환경

모던 PHP 유저 그룹 고고

https://www.facebook.com/groups/655071604594451/

이현석

일공공, 업투데이트북스, 오퍼니티

smartbosslee@gmail.com

https://facebook.com/leehs

https://github.com/smartbos