프로그래밍 언어(must-have skills) (16) 썸네일형 리스트형 generator와 lazyCollection genrator는 yield를 return한다. 이 개념을 이해해야 라라벨의 lazycollection을 이해할 수 있다. generator public function testXrangeAndRange(){ $exmaple1 = range(0, 1000000000); //value를 0부터 1000000000까지로 구성하는 배열을 생성하는 내장함수 //하지만 생성도중 메모리를 견디지 못한다. foreach ($exmaple1 as $ab) { echo $ab; } $exmplae2 = $this->xrange(0, 1000000000); //generator를 이용하면 메모리를 거의 사용안하고 iterate할 수 있다. foreach ($exmplae2 as $ab) { echo $ab; } } pri.. 라라벨 큐 체험기 업무에서 큐를 이용해야 할 것 같아서 실제로 안써본 라라벨 큐를 써보려고 한다. 라라벨은 큐라는 것을 쉽게 이용할 수 있다. 왜 쓰냐면 무거운 작업들을 백그라운드에서 작업시켜 버릴 수가 있기 때문이다. 엄청 무건운 건 아니지만 메일 전송같은 것들이 그러하다 . 당연히 큐라는 이름 특성상 중간의 한 번 거쳐가는 대기열로 써도 된다. php artisan queue:work 드라이버 - db(jobs테이블), redis , beanstalkd, aws sqs를 기본으로 지원한다. 본인은 간단하게 db(mysql)로 작업했다. mac으로는 mysql을 첨 설치했는데, 간단했다. mysql8부터는 php7.4를 쓰는 것이 비밀번호 암호화설정 에러가 나지 않는다. (물론 본인은 7.2를 써가지고 에러가 나서 조금.. php 벤치마크 사이트 추천 -The PHP Benchmark https://phpbench.com/ __call method 배경 PHP를 쓰다보면 __call메서드(매직메서드)를 자주 보게 된다. 설명 public function __call($method, $parameters) { $rule = Str::snake(substr($method, 8)); if (isset($this->extensions[$rule])) { return $this->callExtension($rule, $parameters); } throw new BadMethodCallException(sprintf( 'Method %s::%s does not exist.', static::class, $method )); } 이 코드는 라라벨 프레임워크의 Validator 클래스의 __call매직메서드입니다. __call() 메소드는 호출된 메소드의 이름.. [라라벨] laravel-debugbar 동기 이 디버그바 항목에서 application 과 booting의 의미가 궁금해졌다. 검색 결과 Booting is the time from the request start until the debugbar is booted in the booted() section of the service providers. Everything before that is the framework itself + service providers registering (and perhaps some booting, depending on the order) 참고 https://github.com/barryvdh/laravel-debugbar/issues/1077 [javascript]JS에서 length가 undefined로 뜨는 현상 고치기 현상 이 조건문을 타야 하는데 계속 result.length가 undefined라고 떠서 찾아보았다. 원인 요약하자면 js에선 배열과 문자열에서만 length 속성이 있고,Object에선 length 속성이 없어서 그런 것이었다! 해결방법 Object.keys(result).length Object.values(result).length 참고 https://kth990303.tistory.com/254 [문법]PHP foreach 사용법 목차 설명 supports iteration over three different kinds of values: arrays, normal objects, and traversable objects. PHP에서 foreach 문은 배열의 원소나, 객체의 프로퍼티 수만큼 반복하여 동작하는 제어문(control)입니다. foreach는 배열의 원소나, 객체의 프로퍼티에 값 하나하나에 대해 처리하는 경우에 for 문보다 깔끔한 코드를 만들어 낼 수 있습니다. 사용법 방법1 : Value만 가져오는 경우 foreach($array as $value) 방법2 : Key와 Value를 가져오는 경우 foreach($array as $key => $value) 예제1 코드 결과 이몽룡 성춘향 예제2 코드 결과 Pro.. [Coding Standard(PSR-1)] PHP code MUST use only UTF-8 without BOM. PSR-1: Basic Coding Standard - PHP-FIG PHP의 규약인 PSR-1:Basic Coding Standard에는 문자 인코딩에 대해서 규약을 정하고 있다. 웹환경에서는 UTF-8을 비롯해서 UTF-16, UTF-32 등 다양한 인코딩 방식을 씁니다. 이렇게 비슷한 방식을 사용하는 문서는 Byte Order Mark(BOM)로 구별이 됩니다. 하지만 이것은 문제를 일으킬 수 있습니다. BOM은 인코딩된 문서 첫 머리에 사용되어 정확한 인코딩 방식을 알려주는 역할을 하는데 대표적인 인코딩 방식과 그에 따른 BOM 목록은 아래 표와 같습니다. 인코딩 방식 Byte Order Mark(BOM) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Big E.. versions of the PHP binary: TS(Tread-Safe) Vs NTS(Non-Tread-Safe) 1. Xdebug를 회사의 맥북에서 겨우겨우 깔았다. 3~4시간 걸린 것 같다. 오류도 엄청났다. 설정을 마치고 밤늦게 퇴근했다. 다음날 퇴근 후 집의 노트북(윈도우)에도 Xdebug를 깔려고 하는데, Git으로 직접 빌드해서 설치하는 수고를 할 수도 있겠지만, 바이너리를 제공한다. git clone https://github.com/xdebug/xdebug.git Thread-safe버전과 아닌 버전(NTS) 2개가 보인다. 개념을 알고 가자. 2. TS(원래 이것만 있었다.)는 멀티스레드(IIS and Apache with Worker MPM[스레드활용방식])가 가능한 것 . 느리다. NTS는 멀티스레딩을 지원하지 않는 ( Apache with Prefork MPM[프로세스만이용하는방식],Nginx).. 정규표현식 -java.util.regex.Pattern 이론적으로는 오토마타이론과 관련이 있다. 자바 정규식은 perl이랑 비슷한 계열. 언어마다 구현이 달라 호환성에 유의.다시말해서 자바에서 작동한 정규표현식이 다른 플랫폼이나 언어에서도 작동할거라 생각하면 안됨. 내 프로젝트에서의 적용 글 등록할 때, 글 제목을 slug로 쓰기 위해서 함수 toSlug()를 하나 만들려고 했고, "-"을 글의 제목 빈칸마다 삽입하려면 정규표현식이 필요했음. String.replaceAll(regex,replacement); ex) regex = [\&|[\uFE30-\uFFA0]|\’|\”|\s\?\,\.]+ 간단히 설명하면 1.& 2.uFE30에서 uFFA0까지 3. ' 4." 5.\s(\s는 공백문자를 의미하는 메타문자이다. ) 6.? 7., 8.. 1번에서 8번까지의.. 이전 1 2 다음