분류 전체보기 69

PHP 비동기 i/o 공식지원 요구를 보며...

PHP 는 항상위기라고했고 그동안 무사히 넘겼는데요.이번에는 좀더 실질적인 위기가 찾아왔네요. 결론부터 말하자면 비동기 I/O 를 도입하지 않으면 AI 서비스를 사용하기 위해 대거 이탈할것이라는 의견이예요. PHP 는 오랫동안 비동기I/O 관련 API 도입요구가 많았습니다.PHP 이 실행되는 모델과는 맞지않고 변경점이 너무 많아서 미뤄지던 가운데swoole , 로드러너같은 실행환경프로그램이 등장했고비동기 i/o 지원, 워커모드 실행이 가능했어요 그러나 이들 프로그램을 쓰려면 소스코드 변경이 많이 필요해서잘안쓰였죠. 본론으로 들어가면 php 내부 메일링리스트이야기인데요올해초부터 php 기본 vm 에 비동기 api 를 추가하자고하고 어떤 방식으로 도입할지논의가 계속이루어졌고 현재까지는 방향이 정해지지않은채 ..

PHP 2025.10.17

PHP SQL 인젝션 관련 2025 최신 취약점 내용

PHP 에는 DB 연결 라이브러리가 대표적으로 두가지가 많이 쓰이는데 mysqli , PDO 가있다.이번에 PHP src 엔진저장소의 이슈를 보다가 sql 인젝션 관련 글이 올라왔다.https://github.com/php/php-src/issues/19777 Pdo MySQL prepared sqli · Issue #19777 · php/php-srcDescription https://slcyber.io/assetnote-security-research-center/a-novel-technique-for-sql-injection-in-pdos-prepared-statements/ Maybe someone of authors can solve this problem PHP Version Php ma.....

PHP 2025.09.25

AI 와 마음의 아이들

올해는 이세돌 기사와 알파고가 대국을 둔지 9년째 되는해이다문득 생각해보면 어디선가 들어본이야기가 요즘은 뉴스로 나온다. 어릴적 엄마가 사다주신 책 중에는 이인식 선생님과 함께 미래과학세계로 떠나보자라는 책이있었다.그 책에는 나노로봇, 우주탐사를 비롯한 여러가지 이야기가 있었는데한스 모라벡교수의 마음의 아이들에 관한 내용이 생각난다.모라벡은 로봇공학자인데 2020년대에는 쥐의지능 2030년대는 원숭이의지능 2040년대에는 원숭이를 뛰어넘고그리고 마침내! 2050년에는 마음의아이들이라는 사람급의 지능을 가진 로봇이나오고 인류는 로봇에게 모든 문명을 맡겨두고 역사의 뒤안길로 사라질거라는 내용이였다. 어린마음에 섬뜩한 나머지 마음의 아이들이란 책은 읽지않았지만 책제목은 또렷이 기억했다. 요즘은 LLM 이라는..

일상 2025.07.01

그누보드5 성능 이슈 겪은 것들 정리

한때 그누보드 차세대도 만들고 그누보드를 많이 만졌던 사람이다.그누보드로된 사이트를 운영하며 사람들이 많이 늘어나면 소규모에서는 눈에 띄지않던 문제점들이 부각된다. 오늘은 개인 사이트를 운영하며 일어난 일들의 코드를 살펴보자.그누보드는 2003년에 만들어졌는데 그 시절의 MySQL 에는 MyIsam 이라는 트랜젝션을 지원하지 않던 엔진이 있었다.그이후 InnoDB 엔진에서는 트랜젝션 지원이 되었지만 아마도 하위호환성으로 인해 그누보드에는 트랜젝션 쿼리는 없다. 그누보드는 PHP 가 나온대로 html 과 DB 쿼리, php 함수가 섞여있고 실행순서는 아래와 같다.사용자 요청 -> 요청한 php 파일 -> common.php -> 테마나 스킨 시작 -> tail.php 이다.경우에 따라 tail.php는..

PHP 2025.07.01

PHP 로 된 프로젝트는 왜 유독히...

PHP 는 처음에 템플릿 스크립트로 시작했습니다.그래서 html 과 php 를 섞어쓰는것은 당연했지요. 사람들은 PHP 를 쓰며 여러 문제를 겪었습니다.PHP 가 외면 받는것은 최근 몇년만 보면 비동기 미지원.. 제네릭 미지원 이런게 있겠지만이건 부차적인 문제입니다. 정말로 외면받는것은 PHP 가 처음 나온 방식대로 사용하는 바로 그런 코드들에 환멸 느끼고 사용자가 떠났기 때문입니다.워드프레스, 제로보드, 그누보드, 그 밖에 줌라, EC 큐브 3 등등 공통점은 mvc 가 아니며 인클루드에 인클루드를 반복, 전역변수가 너무나 난무, 함수도 사용안하고 그저 데이터를 html 에 반복하는 코드들입니다. NextJS 14를 보며 저거 옛날 PHP 잖아? 하는건 조롱입니다. 칭찬이 아니구요. MVC 패턴은 은탄환..

PHP 2025.02.17

구 한국 나이로 30이 되며...

나는 96년생이다 바뀐나이 (만나이)로는 아직 28이지만여전히 사람들은 남녀노소 상관없이 구 한국나이를 사용한다 20대는 다들 그렇지만 학업, 군대, 취업이 주류였다.회사 사람들의 결혼식을 연달아 보고난 후...돌아보니 나에게는 사랑도 별다른 추억도 없었다.너무 일만했나 싶었다. 11월에 퇴사한 나는 중국과 국내를 돌아다녔다.프로젝트를 마무리한 때가 떠나기에 적기라고 느껴졌기에30을 앞두고 나왔다.  중국에는 넓은땅에 많은 소수민족이 살고 있어  다양한 삶의 모습들이 있었다.장가계에만 소수민족이 다섯이나 되었는데 이들의 문화들을 보면서 추구하는 가치가 참 다르구나 싶었다.그리고 부산에 내려가 쉬었다. 12월에는 성당을 다니게 되었다.불교에도 관심이 많지만 홀로 구도하는 모습을 쓸쓸해보였다.성당은 그리 강..

일상 2025.01.17

그누보드 6 과 비동기와 동기

Fastapi 는 파이썬 ASGI 서버 스펙을 준수하는 프레임워크다ASGI - 비동기 서버 게이트웨이 인터페이스 즉 요청을 비동기로 처리한다.그렇지만 그누보드6 은 DB커넥션은 동기식으로 되어있어서 쿼리실행구간에서 병목현상이 있다.   Asyc blocking 이다.그래서 부하가 높으면 커넥션 손실이 일어나고 사이트가 멈추게된다.물론 부하가 높으면 프로그램이 멈출 수 야 있지만 성능측정을 해보니 그누보드 6은 그누보드 5보다 성능이 떨어진다.DB 커넥션부터 비동기를지원하는 라이브러리로 바꾸고 sqlalchemy 에서 쿼리호출하는 부분도 비동기로 바꿔야된다.

부산 어린이대공원 코끼리의 죽음

대구코끼리를 보며 생각났다어릴적 부산동물원의 추억들이... 부산 서면은 참 다양한게 많았다한국에서 제일 오랜된서점인 영광도서, 하야리아부대도있었고 (지금은 시민공원이되었다.)어린이 대공원 , 성지곡수원지, 놀이동산, 삼광사 등등... 그 중에서 내가 자주 간곳은 부산어린이대공원에있는 동물원이였다.동물원에가면 언제나 대형동물들이 반가웠다그시절에는 코끼리에게 먹이를 줄 수가있었는데 과자랑 바나나를 잘먹었다커다랗지만 코로 잘받아먹는모습이 귀여웠다.그로부터 몇년후 코끼리가 나이들어 죽었다는 소식을 들어서 한참을 울었다.그 뒤로 동물원에는 코끼리가 살던 빈집만 덩그라니있었다.2010년대 쯤 부산시가 운영난을 겪으며 민간에 위탁하더니 지금은 그곳도 운영하지를 않는데,부산은 동물원이 없는 도시가 되고말았다.  문득 ..

일상 2023.10.12

장고 어드민 NoReverseMatch 에러

오늘의 오류 되시겠다 NoReverseMatch at /admin/content/content/add/ Reverse for 'content_content_change' with arguments '('',)' not found. 1 pattern(s) tried: ['admin/content/content/(?P.+)/change/\\Z'] 장고어드민에는 기본적으로 테이블의 모든 필드가 다표시되는데 그걸 커스텀하는과정에서 기본키 입력칸을 뺐더니 저장할때 저런에러메시지가 나온거였다. 2시간은 그냥 날린거같다. class ContentAdmin(admin.ModelAdmin): """ 내용관리 관리자 커스텀 """ list_display = [] # 추가, 변경시 화면에서 제외할 필드 # exclude =..