본문 바로가기

코드이그나이터와 php7와 mysql48

윈도우 + PHP 8 ( 3편, 웹소켓 통신 래칫 Ratchet ) 안녕하세요. 개발 기술을 익혀가며 공유해 나가는 크레이입니다 :) 지난 시간, MYSQL 에 한글과 이모티콘을 저장, 출력하는 샘플을 다뤘었는데요. https://itadventure.tistory.com/628 오늘은 윈도우 환경의 PHP8에서 웹소켓을 다뤄보겠습니다. 웹소켓은 웹 기반에서 실시간 통신을 하는 기술입니다. 채팅방은 물론이고 오목이나 바둑같은 실시간 대전게임에서도 활용 가능한데요. node.js 에서 주로 쓰는 기술이지만 php에서도 가능하더라구요. 그럼 알아보러 갈까요? 레츠 고우~ 컴포저 설치는 기본 php 확장 기능 대부분은 컴포저(Composer)라는 걸 먼저 설치해야 사용할 수 있습니다. 컴포저가 뭐냐구요? 간단하게 표현하자면 확장 기능 인스톨러(설치 프로그램)인데요. 정확한 말.. 2023. 9. 10.
윈도우에 PHP 8 설치 (2편, MYSQL 한글과 이모티콘 사용) 지난 게시글에서는 윈도우에 PHP8 과 MYSQL 설치, MYSQL 연결 샘플까지 다뤄보았습니다. https://itadventure.tistory.com/627 윈도우에 PHP 8 설치 + MYSQL 연결 예제 ( APM 설치 - 2023. 9. 1기준) 오늘은 윈도우에서의 PHP(피에이치피) 설치에 대해 알아보겠습니다. 2023. 9. 1 기준 최신 PHP 버전은 8.2 인데요. 8.3 버전이 있긴 한데 아직 알파 버전(실험 버전)이라 논외입니다. PHP 설치시 아래 2가 itadventure.tistory.com 그런데 한가지 문제가 있다고 말씀드렸지요? MySQL 패스워드가 설정되지 않았기 때문에, 해커가 그 빈틈을 타고 들어와 여러분의 컴퓨터를 트로이목마와 같은 해킹 기술로 침투! 할 수 있다는.. 2023. 9. 3.
윈도우에 PHP 8 설치 + MYSQL 연결 예제 ( APM 설치 - 2023. 9. 1기준) 오늘은 윈도우에서의 PHP(피에이치피) 설치에 대해 알아보겠습니다. 2023. 9. 1 기준 최신 PHP 버전은 8.2 인데요. 8.3 버전이 있긴 한데 아직 알파 버전(실험 버전)이라 논외입니다. PHP 설치시 아래 2가지도 세트로 설치하는게 일반적인데요. Apache(아파치), MySQL(마이에스큐엘) 이 모두를 '한방에 설치!' 하는 방법이 있습니다. 바로 아파치프랜즈의 XAMPP 설치 프로그램을 이용하는 방법이지요. 그럼 설치하러 가볼까요? 렛추 고우~ 아파치 프랜즈 ( apachefriends ) 에서 설치프로그램 설치 먼저 아래 아파치 프랜즈 사이트에 접속해 주세요. https://www.apachefriends.org/download.html 윈도우용 설치 프로그램을 다운받아 주시면 되는데,.. 2023. 9. 1.
크레이의 라라벨 도전기 #9. 되묻지마! 패스글 시스템 ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 유튜브를 시청하다 보면 예상 못할만한 무대를 보게 되는 경우가 종종 있는데요. '안젤리카 헤일'이라는 소녀의 갓 텔런트 무대 영상 하나 올려드립니다. 마치 '모아나' 주인공같은 느낌도 드네요. 들으면서 보시면 지루함이 훨씬 급감하실 겁니다 :) "기능이 있는교? 없는교?" 라라벨에 찾고자 하는 기능이 확인되지 않는다면 어떻게 해야 할까요? 뭐 계속 찾아보면 발견할 수도 있지만 개발자답게 새로 만드는 게 사실 개발자다운 방법입니다 :) 프레임워크 기본 기능에만 의지하다 보면 개발감각이 떨어지거든요. .. 2023. 1. 27.
크레이의 라라벨 도전기 #8. 레이아웃 템플릿 + 폼POST + 검증 한글화 ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 15년 전만 해도 크레이가 근무한 IT업계 처우 환경은 매우 열악했는데요. 모든 기업이 그랬는지는 모르겠지만 몇몇 기업은 잦은 야근과 급한 일정 완수 등이 강요되어 왔지요. 젊을 때는 체력이 받쳐주어 일을 완수하기 위해 매일 매일 야근이며 급할 때는 2, 3일 연속 밤샘 개발 작업을 했던 적도 있었지요. 그렇게 10년 이상을 진행하다 보니 무리한 업무로 인해 병이 오게 되더군요. 그 이후로는 무리한 업무를 요구하는 직장은 가지 않기로 했습니다. 성경에도 아래와 같이 말씀하지요. "사람이 만일 온 천.. 2023. 1. 24.
크레이의 라라벨 도전기 #7. 컨트롤러 + 모델(엘로퀀트 all) + 뷰 ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 연휴기간 가족과 함께 지방에 휴식을 취하러 갈 때면 빈번하게 보게 되는 그 지역의 컨텐츠가 있습니다. 바로 '미래 우체통'인데요. 엽서를 작성해 미래의 나에게 또는 지인에게 부치면 1년 뒤든 10년 뒤든 그 때 우편물이 도착하는 그런 서비스인데요. 실제로 오는지는 확인되지 않았습니다 :) 인터넷에도 그런게 있으면 재미있지 않을까요? 게시글을 작성하면 그 내용이 오픈되는 기간은 길지 않게, 뭐.. 일주일이면 적당할 것 같습니다. 라라벨을 연습하며 지난 게시글에서 다루어봤던 '미래박스'를 어느 수준까지.. 2023. 1. 20.
크레이의 라라벨 도전기 #6. 마이그레이션 ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 철새들이 떼지어 서식지를 옮기는 일이 있는데요. 이를 마이그레이션이라고 합니다. 프로그래밍 실무에서 마이그레이션(migration)은 서비스를 좀 더 나은 환경으로 이전하는 것을 의미하기도 합니다. 그런데 이는 보통 쉬운 작업이 아닐 경우가 많습니다. 마이그레이션은 대개 둘 중 하나를 의미하는데요. 데이터베이스를 상위 버전으로 마이그레이션하거나, PHP와 같은 웹언어 프로그램 버전을 5에서 7로 바꾸는 것이지요. 물론 프로그램 언어 자체를 변경하는 경우도 있긴 한데, 이 때는 '신규개발'이라는 명칭.. 2023. 1. 16.
크레이의 라라벨 도전기 #5 - 팅커! 팅커벨? PHP콘솔이라네.. ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 라라벨에는 팅커(tinker)라는 재미있는 도구가 있습니다. 라라벨에서 팅커(tinker)를 처음 접했을 때 어릴 적에 재미있게 읽었던 동화책 피터팬이 생각이 났는데요. 동화 안에서 '팅커벨'이라는 요정이 주인공들의 모험의 여정에 함께 하였기 때문이었습니다. 뭐 그 후로도 영화로든 광고로든 계속 접하면서 되새김질했기 때문에 잊지 않는게 아닐까 생각되네요. 동화속에서 팅커벨(tinker-bell)은 악당은 아니지만 가끔 말썽을 부리며 주인공들을 위험에 빠뜨립니다. 아이러니하게도 tinker는 땜장이의.. 2023. 1. 14.
크레이의 라라벨 도전기 #4 - 모델(Model) ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 모델(Model)하면 무엇이 떠오르시나요? 아름다운 외모의 여성분이 떠오를수도 있고, 멋진 상품이 떠오를수도 있는데요. MVC 패턴에서의 모델은 하나의 주제를 대상으로 한 PHP 클래스입니다. 잘 만들어진 모델 클래스는 매우 유용하게 사용할 수 있는데요. 특히 라라벨에는 이런 모델 클래스가 많이 들어 있는 것으로 보입니다. 라라벨에서는 데이터베이스를 다루는 엘로퀀트(Eloquent)라는 모델 클래스가 제공되는데요. 라라벨이 '우아~'한 엔진인 줄 알았는데 이제보니 '우와~'한 엔진이더군요 :) 엘로.. 2023. 1. 9.
크레이의 라라벨 도전기#3 - 컨트롤러(Controller) ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) PHP 프로젝트를 접하다 보면 소스코드 구성 방식이 PHP 고전 방식을 접하게 될 때도 있고 최신 모던화된 방식을 접하게 될 때도 있습니다. 어떠한 경우 프레임워크는 최신이지만 소스코드는 고전 방식일 경우도 있는데요. 이러한 경우 앞으로 붙여나갈 기능을 어떻게 개발해 나가는게 좋을까요? 그러한 경우 소스코드 일관성을 위해 기존에 개발된 방식에 맞춰주는 것이 좋습니다. 개인적인 욕심으로는 최신 방식을 선호하긴 하지만 모든 걸 수정할 것이 아니라면 말이지요 :) 지난 시간에는 뷰(View)에 대해서 알.. 2023. 1. 8.
크레이의 라라벨 도전기#2 - 뷰우(View) ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 라라벨 도전 2번째 시간이군요. ( 어이 코틀린은?... 나중에 할 겁니다... ) 지난번에 아래 명령어로 라라벨을 작동시켜 놓았었는데요. nohup sudo php artisan serve --host 0.0.0.0 --port 80 2, 3일이 지난 지금 과연 어떻게 되었을까궁금해서 웹페이지를 띄워보니, 오! 정상 작동되는 것이 확인되었습니다. 오늘은 뷰에 대해서 알아본 부분을 공유드립니다. 사실 전에 다뤄본 코드이그나이터4도 PHP 프레임워크로서 MVC 패턴을 따르는데요. MVC란 각각의 Mo.. 2023. 1. 6.
크레이의 라라벨 도전기#1 - 라라벨 5.8 설치 ※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :) 그동안 코틀린을 다뤄보았었는데요. 오늘은 좀 색다른걸 다뤄보도록 하겠습니다. 바로 라라벨인데요. 필요에 의해 잠깐 살펴보았습니다. 그런데 와우~ 마치 Node.js와 코드이그나이터를 합쳐놓은 느낌이랄까요? 게다가 코드 자동 완성 기능이 대박인게 코틀린의 자동 완성이 연상되기도 합니다. 그럼 구구절절 긴 설명 없이 바로 렛츠 고우~ 라라벨5.8을 위한 PHP7, 컴포저 설치 라라벨은 아주 다양한 버전이 있는데요. 라라벨 공식 사이트(한글)에 가보면 5.0부터 9.x까지 어마 무시한 버전이 존재하는 것.. 2023. 1. 4.