이룰수 없는 꿈을 꾸고 이길수 없는 적과 싸우며, 이룰수 없는 사랑을 하고 견딜 수 없는 고통을 견디고, 잡을수 없는 저 하늘의 별도 잡자. - 세르반테스

백엔드 4

[선택정렬] PHP로 선택정렬 구현

안녕하세요. PHP를 이용하여 선택정렬을 구현해보고자 해요. 다음과 같이 무작위로 값들이 들어가 있다고 예를 들겠어요. [34, 21, 11, 67, 9, 45, 15] 위와 같이 빈 배열에 값이 들어가 있다고 가정하겠습니다. 먼저, 큰 숫자부터 작은 숫자로 정렬을 하는 것부터 해보겠습니다. 큰 숫자부터 작은 숫자로 정렬을 한다면 우리가 원하는 답은 아래와 같겠죠? [67, 45, 34, 21, 15, 11, 9] DB 쿼리에서 정렬 옵션인 DESC에 해당하겠네요. 내림차순 정렬이라고 하죠 원리는 index 0부터 하나씩 비교해가며 위치를 바꾸는 거에요. $sort_arr = $ar; for($i = 0; $i < count($sort_arr)-1; $i++) { for ($j = $i+1; $j < c..

백엔드/PHP 2023.06.09

[PHP] 이진트리 만들기

첫 글로 어떤 글을 올려볼까 하고 고민을 좀 했습니다. 자료구조 중 스택 (LIFO) 를 올려볼까 큐(FIFO)를 올려볼까 아니면 데큐 를 올려볼까 하다가 오래전에 이진트리를 만들어 본 경험이 있습니다. 해당 부분을 정리해서 올리면서 하단에 제가 구현한 소스도 올려보려고 합니다. 자료구조를 배우거나 알고리즘을 배울 때는 보통 알려진 목차가 있어요. 위에서 설명드린 것과 같이 자료구조들이 있어요. 그전에 빅O도 구하고요. 본 포스팅에서는 제목처럼 이진트리 구현한 내용을 적어보려고 합니다. 제가 만든 소스에는 전위,중위,후위 순회가 가능하도록 구현되어있습니다. 트리에 대한 기초내용은 타 블로거님들이 내용을 자세히 올려두셔서 제가 여기에서 반복하진 않겠습니다. 개념은 동일하기에 여기에서는 제 구현 소스를 올려..

백엔드/PHP 2023.05.22

안녕하세요. PHP 분류에 첫글을 올립니다.

여기 공간은 제가 주언어인 PHP 를 이용하여 자료구조 또는 알고리즘을 정리해보는 공간을 만들까 합니다. 학교에서 배움을 통해 배운 그 딱딱하고 재미없고 이해도 안가는 자료구조와 알고리즘이 대체 어디에 이용되는지도 모르고 그냥 배워야하는 과목이었기에 배웠습니다. 전 학교를 졸업하고 친구 과제를 대신 해주면서 자료구조를 터득했어요. 그 때 당시 VC++로 MFC를 이용하여 창고정리 게임을 개발하는게 친구가 맡은 과목의 과제였습니다. 그 때 당시 제가 방산체에서 서버관리 및 PHP웹사이트 개발 그리고 ASP 로 외주받은 프로젝트를 개발하고 잠시 숨을 돌리는 타이밍이었어요. 그나마 서버관리하면서 쉘로 자동화를 만들어두어 제가 조금 신경을 덜 쓰기도 했어요. 거두절미하고 그래서 당시 친구 프로젝트인 애니콜에 탑..

백엔드/PHP 2023.05.09

몽고DB 연동하기

몽고DB연동을 위해서 우분투에서 pecl 을 이용해서 설치를 해야하는데 pecl 를 모른다고 에러가 나네요 그래서 또 열심히 자료를 찾아보니 php-dev를 설치하라고 하네요. 일단 제 로컬환경인 도커에 먼저 설치해봅니다. # apt install php7.4-dev # pecl install mongodb 위와 같이 했는데 오류가 발생하는 경우가 있습니다. 그럴 때는 의존적인 모듈이 빠져 잇을 수 잇으니 추가 설치가 필요합니다. $ sudo php -m 설치된 PHP 관련 모듈을 확인해 주시고 , 아래와 같이 필요한 모듈을 설치해주면 됩니다. 저의 경우는 xml이 없어서 발생한 문제였습니다. $ sudo apt-get install php-pear pear는 이미 최신버전이 설치되어 있어 전 건너띄었어..

백엔드/Laravel 2023.04.21