본문 바로가기
반응형

IT 실무/웹프로그래밍34

PHP에서 파라미터 넘겨 받아 초기값 세팅하기 일반 GET 또는 POST 파라미터인 경우 $param = $_GET['param'] ?? null; 이는 'param' 이라는 파라미터가 아예 세팅되어 오지 않은 경우에 해당하는 예외처리 방법이다. 아래와 같다. $param = isset($_GET['param'])?$_GET['param'] : null; 호출이 아래와 같이 무작위로 들어올 수 있는 상황에서, notice나 warning을 방지하기 위한 방법으로 활용될 수 있다. http://host.com/test.php?param= http://host.com/test.php 하지만 아래와 같이 초기 값을 할당하려고 하는 경우엔 활용할 수 없다. $param = $_GET['param'] ?? 0; $param = $_GET['param'] ??.. 2022. 5. 29.
PHP 7.0 부터 지원되는 변수 초기값 할당 GET이나 POST 등을 통해 파라미터로 값을 넘겨 받는 경우 $var = $_GET['foo']; 와 같은 식으로 값을 넘겨 받는 경우가 많다.하지만 foo 값이 넘어오지 않을 경우, 개발과정에서 큰 문제가 발생할 확률은 적지만 그래도 Notice 나 Warn 등의 에러기록이 남기 때문에 FM대로 처리하고 싶다. $var = null;if(isset($_GET['foo'])) {$var = $_GET['foo'];} 이런식으로 하게 되는데, 한줄이 4줄이 되었다. 보기에 너무 복잡해서 3항연산자로 많이 줄여들 쓰는데, 그럼 옆으로 길어지고결국 initialize해야 되는 변수가 너무 많으면 어떻게든 지저분해질 수 밖에 없다. 이런 고충들이 있어서 PHP7.0 에서는 좀 더 간편한 표기법을 제시한다. $.. 2019. 3. 17.
[javascript] 중국 휴대폰번호 정규식 중국 사이트 디버깅하다가 발견한 검증 코드 function checkPhone(phone){//var regPhone = /^13[0-9]{9}|15[012356789][0-9]{8}|18[0123456789][0-9]{8}|147[0-9]{8}|177[0-9]{8}|170[0-9]{8}$/;var regPhone = /^1[3|4|5|8][0-9]\d{8}$/; if(!(regPhone.test(phone))){ return false; } return true;} 2018. 10. 23.
http 코드 200, 404 등 총망라 정리 실제로 모든 코드가 일상적으로 사용 되는 것은 아니다. 흔히 보기 힘들지만 일단 정의되어 있는 코드는 총망라 되어 있다.일상적으로 사용되는 코드는 밑줄 처리 해 두었다. 출처는 위키피디아 1xx (조건부 응답)요청을 받았으며 작업을 계속한다.이 상태의 상태 코드는 상태-라인과 선택적 헤더(컴퓨터에서 출력될 때 각 페이지 맨 윗부분에 자동으로 붙는 부분)만을 포함하는 임시의 응답을 나타내고 빈 라인에 의해서 종결된다. HTTP/1.0이래로 어떤 1XX 상태 코드들도 정의 되지 않았다. 서버들은 1XX 응답을 실험적인 상태를 제외하고 HTTP/1.0 클라이언트(서버에 연결된 컴퓨터)로 보내면 안 된다. 100(계속): 요청자는 요청을 계속해야 한다. 서버는 이 코드를 제공하여 요청의 첫 번째 부분을 받았으며.. 2018. 2. 17.
한글 ↔ 유니코드 간편 변환기 웹상에서 간단한 변환기는 많이 돌아다니는데 옵션은 많고 칸은 좁고 불편하게 돼 있어서 다시 편하게 만들어 보았습니다. 유니코드나 한글을 입력 하시면 자동으로 상호 변환됩니다. 유니코드 란 한글 란 복사가 안된다고 문의하시는 분들이 많습니다.복사가 안되는데 복사가 필요하신 분은 아래 링크 이용해주시면 감사하겠습니다. Unicode 인코드/디코드 도구URL 인코드/디코드 도구 2018. 2. 3.
특수문자표, 기본 특수문자 목록 특수문자를 이용하면 굳이 png, gif 확장자의 아이콘을 사용할 일 없이 텍스트만으로 깔끔하게 해결되는 경우가 있다. ๑•ิ.•ั๑ ๑۩۞۩๑ ♬✿.。.:* ★ ☆ # @ & * ❁ ❀ ✿ ✾ ❃ ✺ ❇ ❈ ❊ ❉ ✱ ✲ ✩ ✫ ✬ ✭ ✮ ✰ ☆ ★ ✪ ¤ ☼ ☀ ☽ ☾ ☎ ☏ × ÷ = ≠ ≒ ∞ ˇ ± √ ⊥♡ ♢ ♣ ♤ ♥ ♦ ♧ ♨ ♩ ✙ ✈ ✉ ✌ ✁♝ ♞♯♩♪♫♬♭♮ ☎ ☏ ☪ ♈ ♨ ₪ ™ ♂✿ ♥ の ↑ ↓ ← → ↖ ↗ ↙ ↘ ㊣ ◎ ○ ● ⊕ ⊙ ○ △ ▲ ☆ ★ ◇ ◆ ■ □ ▽ ▼ § ¥ 〒 ¢ £ ※ ♀ ♂ &⁂ ℡ ↂ░ ▣ ▤ ▥ ▦ ▧ ✐✌✍✡✓✔✕✖ ♂ ♀ ♥ ♡ ☜ ☞ ⊙ ◎ ☺ ☻ ► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ♥ ♡ ▪ ▫ ☼ ♦ ▀ ▄ █ ▌ ▐ ░ ▒ ▬ ♦ ◊ .. 2017. 5. 6.
크기가 다른 블럭이 타일형태로 쌓이는 레이아웃(Masonry) 적용하기 이런 형태의 레이아웃을 찾는 것인 맞는가!? 텀블러를 보고 이런 형태로 구현해보고 싶다고 생각했으나, 처음에 이런 레이아웃 형태의 이름을 몰라서 검색하는데 애먹었다. 그래서 텀블러 뜨는 포스트 레이아웃을 구현하는 법을 찾아다니다가 이런 형태를 Masonry(돌쌓기)라고 부른다는 것을 알았다. 구현원리 자체는 간단한다. 가로정렬이 아니라 세로정렬만 해주면 이렇게 높이가 다른 항목들이 차곡차곡 쌓인다. 문제는 위에서부터 최신 내용이 나오고 아래줄로 갈수록 옛날 내용이 나와야 하는데, 단순히 세로 정렬을 하면 왼쪽줄에 가장 최신내용들이 나오게 된다. 이 또한 n으로 나누어서 출력해 주는 방법을 사용하면 해결은 된다. 그러나 또 문제는 항목을 동적으로 추가 할때, 또는 화면 가로 너비가 바뀌어서 정렬이 뒤바뀔때.. 2017. 5. 6.
jQuery Ajax에서 정상적으로 응답이 왔는데 fail 이 호출되는 경우 Your Ajax request contains the following setting:dataType: "json"The documentation states that jQuery:Evaluates the response as JSON and returns a JavaScript object. (...) The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown.This means that if the server returns invalid JSON with a 200 OK status then jQuery fires the error function and set the te.. 2017. 4. 9.
브라우저 tab에서 notification사용하기 요즘과 같은 비동기, 실시간 웹에서는 웹에서 업데이트된 소식을 사용자에게 바로바로 전달해야 되는 경우가 많다. 예를 들어 페이스북에 새로운 알림이 있다면 사용자가 페이스북을 보고 있지 않더라도 알림이 왔다고 알려줘야 한다. 이럴때 사용 하는 방법 중 Title을 이용한 notification이 있다. 시간 관계상 바로 full source code 올림 var orgnTitle = "U And I Talk"; var count = 0; var onFocus = true; var title = document.title; function increaseNoti() { if(onFocus) return; count++; var newTitle = '(' + count + ') ' + title; docume.. 2016. 4. 5.
height 100%가 제대로 적용이 안될 때 html, body에 모두 height:100% 속성을 준다. 작은 사이즈로 열었다 큰 사이즈로 리사이즈 했을때 height가 100%로 안따라 올 경우 min-height:100% 속성을 준다. 참고 : https://csscreator.com/node/12629 2015. 12. 8.
Javascript는 Call by reference인가 Call by value인가 변수를 넘기면 call by value이고오브젝트를 넘기면 call by reference이다. 비슷한 개념으로, 변수에 오브젝트를 할당하면 변수는 그 오브젝터의 레퍼런스(C로 따지면 포인터?)를 가진다. ex)Q = new Queue();var nowQ = Q;nowQ.enqueue('values'); console.log(nowQ.getList());console.log(Q.getList()); 이렇게 하면 두 로그에서 같은 리스트가 출력된다. 즉, nowQ는 단순히 Q를 할당받는 변수였지만, 변수를 오브젝트처럼 사용하면 원본 오브젝트도 바뀌게 된다는 것이다. http://emflant.tistory.com/64 2015. 11. 21.
node js에서 mysql 함수를 동기(sync)로 사용하기 node js의 함수는 기본적으로 async하게 동작한다. 즉 순서대로 실행되길 바라는 함수를 순서대로 나열해 놨다고 해서 이게 순서대로 실행되는게 아니라는 것이다. 아래 코드를 보자 user_no = preFunction(param); afterFunction(user_no); function preFunction(param) { insertQueryExcute(query, function(error, result) { if(error) doSometing; else return result.insertId; } 위 코드를 프로그래밍한 개발자라면 preFunction이라는 함수를 통해서 반환된 insertId를 afterFunction에서 사용하고 싶었을 것이다. 하지만 위와 같은 코드를 실행시키면 a.. 2015. 10. 4.
[Codeigniter] 액티브 쿼리에 mysql 함수 쓰기 (password등) $this->db->set('login', $this->input->post('login', TRUE)); $this->db->set('password', 'PASSWORD("'.$this->input->post('password', TRUE).'")', FALSE); $this->db->set('email', $this->input->post('email', TRUE)); return $this->db->insert('account'); 2015. 6. 27.
URI와 URL, URN, URC의 정의 URI는 인터넷 서비스를 통해 접근하고자 하는 자원의 식별 체계(경로)를 가리킨다. 즉, 어떤 파일이나 어떤 웹페이지에 접근 하고자 할때 사용되는 주소 체계를 말 하는 것이다. URI와 URL의 차이에 대해서 궁금해 하는 사람이 많은데, URL은 URI에 속하는 주소 체계중 하나이다. URI에는 URL말고도 URN, URC 라는 주소체계가 있다. 즉 URI는 이를 모두 포함하는 개념인 것이다. URI ⊃ {URL, URN, URC} URL은 우리가 흔히 알고 있는 주소 체계이다. 프로토콜 + 호스트 + 하위 경로로 구성되어 인터넷상의 특정 자원에 접근 할 수 있다. 예를 들어,http://raisonde.tistory.com/227 는 http라는 프로토콜로, raisonde.tistory.com 이라는.. 2014. 7. 4.
휴대폰 번호 인증 프로세스 1. 휴대폰 인증을 위한 sms_auth 테이블이 있고 애트리뷰트는 no, phone, auth_number, accepted 가 있다.2. 어떤 form에서 휴대폰 인증번호 전송 버튼을 누르면, auth_send(phone_number) 함수에 의해 랜덤한 번호가 휴대폰으로 전송되고, sms_auth테이블에 레코드가 생성된다. 그리고 이 함수는 sms_auth의 index 번호(no)를 반환한다.3. 사용자가 인증번호를 입력하고 인증 버튼을 누르면 auth_check(index, auth_number) 함수에 의해서 인증번호가 맞는지 확인을 한다.4. 인증번호가 맞다면 의 value를 true로, 의 value를 auth_number의 index 번호(no)로 변경 한다.5. 회원가입 등 필요한 과정을.. 2014. 2. 22.
[JSFiddle] 드래그앤 드롭으로 Input type file 업데이트하기 크롬에선 잘 동작하는데, 익스플로러에선 드래그엔 드롭부분은 동작이 안된다. 클릭하면 이동 2014. 2. 4.
[JSFiddle] 드래그앤 드롭된 이미지 보여주기(HTML5 filereader 이용) http://jsfiddle.net/JtJ5N/1/ 2014. 2. 4.
[StackOverflow] select된 여러개의 값을 따옴표로 구분하여 한줄에 표시 http://stackoverflow.com/questions/7915018/separate-each-value-with-comma-from-multiple-select 2014. 2. 3.
반응형