'분류 전체보기'에 해당되는 글 665건

 

자바스크립트 호스팅이라면 약간 생소하게 들릴 것 같습니다. 이미지호스팅, 웹호스팅은 많이 들어봤어도 자바스크립트 호스팅은 처음(?) 일것 같네요.

 

글자그대로 자바스크립트를 호스팅 받을 수 있는 서비스입니다.

 

티스토리, 구글 블로그와 같은 이용자는 필요에 따라 자바스크립트를 이용해야 하고, 그래서 CDN 을 이용해 서비스 받을 수 있습니다. 하지만 CDN 은 모든 자바스크립트를 제공하지 않습니다. 아니 CDN으로 제공하지 않는 자바스크립트가 더 많은 것 같네요.

 

꼭 자바스크립트를 연결해야 하는데, 웹호스팅 사용자가 아니라서 이용할 수 없다면 자바스크립트 호스팅을 이용해보는 것을 추천 드립니다.

 

http://yourjavascript.com/

 

Free Javascript Hosting

Introduction Welcome to yourjavascript.com, a free service to host your javascript. Upload your javascript file and we will host it for you.

 

자바스크립트 호스팅은 정상적인 이메일 주소를 입력하고 JS 파일을 업로드하면 입력한 이메일로 자바스크립트 주소를 얻을 수 있습니다.

 

자바스크립트 주소는 yourjavascript.com/고유 ID/javascript.js 형식입니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이미지 자리 표시자란 단어가 다소 생소할 수 있습니다. 다른 말로 대체 이미지라면 쉽겠네요. 홈페이지 레이아웃을 구성할 때 이미지 자리에 빈 이미지를 삽입합니다. 빈 이미지를 따로 제작하면 그 만큼 시간이 들어가므로 시간을 낭비하게 됩니다.

 

이미지 자리 표시자를 실시간으로 만들어주는 사이트가 몇 군데 있습니다. 한글이나 중국어, 일본어 글자를 넣을 수 있고, 배경색이나 글자색을 넣어 이미지 자리에 넣을 수 있도록 URL을 제공합니다.

 

사용하는 방법은 크게 어렵지 않습니다. 이미지 삽입할 자리에 해당 사이트에서 제공하는 URL을 삽입하기만 하면 되니까요.

 

 

 

https://placeholder.com/

 

Placeholder.com: Placeholder Images Made For You [JPG, GIF & PNG]

What Is Placeholder.com? Placeholder.com generates custom placeholder images on the fly, like these examples:-     How To Use Our Placeholders Just specify the image size after our URL (https://via.placeholder.com/) and you'll get a placeholder image.

placeholder.com

이곳은 한글이 지원안되지만 배경색과 이미지 크기, 글자색을 지정할 수 있습니다.

 

 

 

http://placehold.jp/

 

Placehold.jp | 簡単!ダミー画像作成

簡単!ダミー画像生成、モックアップ用画像作成ツール。文字やサイズ、メモを入れた仮の画像を簡単に作成できます。

placehold.jp

일본에서 제공하는 이미지 자리 표시자입니다. 한국어를 지원하며 폰트 크기, "엔터"를 지원합니다. 그리고 CSS를 이용해 그라디언트나 모서리를 둥글게 표현할 수 있습니다.

 

 

 

https://loremflickr.com/

 

LoremFlickr.com

Go pro! When you need more functionality, like requesting your own photos, or photos taken at a particular location, go pro! Sign up and receive 10.000 credits for free. After that, top up for as little as 1 euro. Go pro Examples https://loremflickr.com/32

loremflickr.com

이곳은 사진을 랜덤으로 제공하는 곳입니다. 사진은 'Flickr'이기 때문에 라이센스에 따라 Creative Commons 를 따릅니다. 조건식을 주면 풍경이나 동물, 사람으로 제한하여 임의의 사진을 얻을 수 있습니다.

 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

4대보험이 매년 상승하는 것 같습니다. 가계 부담률이 매년 높아지고 있어서 심리적으로 위축되지 않을까 싶습니다. 그렇다고 몸을 움츠리지 마시고 힘내시기 바랍니다.

 

이 파일은 2020년 요율표를 참조하여 작성된 엑셀서식입니다.

 항목

 2019요율

 2020요율

2020년 부담주체별 요율

 근로자  사용자
  국민연금  9%  9%  4.50%  4.50%
  건강보험

 6.46%

 6.67%

 3.335%

 3.335%

  장기요양

 8.51%

 10.25%

10.25%

10.25%

  고용보험

 1.55%

 1.60%  0.8%

 1.05%

 

 2020년_4대_보험료엑셀_계산_양식.xls

 

2020년_4대_보험료엑셀_계산_양식.xls
0.06MB

 

1. 산재보험: 사업주가 전액 부담해야 할 부분이므로 요율표에는 제외.

2. 실업급여: 원칙적으로는 사업주와 근로자는 각각 0.65% 입니다.
※ Ex. 0.8%(사용자) + 0.8%(근로자) + 0.25%(150인 미만 사업자) = 1.85%

※ 실업급여를 납부하지 않았다 하더라도 근로자라면 실업급여를 받을 수 있으니 참고하시면 됩니다.

※ 참고 자료 : http://www.kcomwel.or.kr/kcomwel/main.jsp

 

 

 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

올해는 뭐하나 이룬 거 없이 세월만 보낸 것 같네요. 내년에는 무엇이 일어날까요? 하던 일이 잘 풀릴까요? 내년이 궁금하다면 토정비결 재미로 한번... ^^

 

영화보다가 중간에 나갈까 하다가 끝가지 보았던 영화, 그만큼 암울한 영화 조커였네요. 

 

1. 신한생명에서 제공하는 무료 토정비결

 

 

2. 무료 토정비결 - 운세의 신

처음에 홈페이지 바뀐걸 보고 유료로 바뀐줄 알았었죠. 여전히 무료입니다.

 

 

3. 농협 인터넷 뱅킹에서 제공하는 무료 토정비결

 

 

4. 가입없이 사용하는 100% 무료운세~^^*

그냥 재미로 보는 정도의 적중률입니다.

 

 

5. 무료로 보는 디지털 역술방

 

 

6. 무료운세사이트

 

 

7. 운수도원

 

 

8. 스포츠동아 운세

 

 

9. 무술년운세 무료토정비결

 

 

10. 운세소프트

 

 

11. 포스텔러 무료운세

 

 

 

올 한해 마무리 잘하세요. ^^

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

CURL에서는 POST 로 문자열이나 배열을 전송하면 상대 측에서 값을 받을 수 있습니다. 

 

 

 $_POST['name'] ='하보니';
 $_POST['email'] = 'habony@example.com';

 curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);

 

 

하지만 중첩된 배열을 전송하게 되면 어떤 문제가 발생하게 되는데, CURL에서 중첩된 배열을 전송하면 우리가 예상했던거와는 다르게 Array 라는 문자열이 전송됩니다.

 

그래서 이러한 문제를 해결하기 위해 http_build_query() 함수를 이용하거나 아래 사용자 함수를 만들어 원하는 값을 전송할 수 있습니다.

 

 

 function Curl_Postfields_Create($input, $prefix = '') {
  if(!is_array($input)) {
    return $input;
  }

  $output = array();
  foreach($input as $key => $value) {
    $final_key = $prefix ? $prefix[$key] : $key;
    if(is_array($value)) {
      $output += Curl_Postfields_Create($value, $final_key);
    } else {
      $output[$final_key] = $value;
    }
  }
  return $output;
 }

 

 $_POST['name'] = '하보니';

 $_POST['email'] = 'habony@emample.com';

 $_POST['type']['file']['name'] = 'habonyphp.bmp';

 $_POST['type']['mime'] = 'bmp';

 $output = Curl_Postfields_Create($_POST);

 

 curl_setopt($ch, CURLOPT_POSTFIELDS, $output);

 

 

CURL에서 단순한 배열 또는 문자열이 아니면 올바로 전송할 수 없으므로 중첩된 배열을 분해해서 단순한 문지열로 변환한 후 전송하는 방법입니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

무료로 이미지 호스팅을 얻기란 참 어렵습니다. 해외에서 제공하는 무료 호스팅을 이용하더라도 속도가 일정치 않아서 한계가 있고, 국내에 제공하는 호스팅을 이용하려면 비싼 비용을 지불해야 가능합니다.

 

그래서 지마켓이나 옥션 판매자라면 누구나 사용할 수 있는 무료 이미지 호스팅을 소개합니다.

 

기본적으로 5GB 를 제공하고, 트래픽에 제한이 없습니다. 그리고 끊김없이 사용할 수 있는 최적의 무료 호스팅입니다. 사이트당 3개까지 아이디를 만들 수 있으니 지마켓, 옥션 아이디를 합하면 총 30GB 를 사용할 수 있다는 뜻이 되겠죠.

 

https://im.esmplus.com

 

위 URL로 접속해서 로그인을 하되 옥션 아이디를 가지고 있고, 판매자라면 별도의 절차없이 로그인이 가능합니다.

 

 

아래는 원하는 폴더나 이미지를 업로드하고 오른쪽 마우스 버튼을 클릭하면 편집할 수 있는 메뉴가 나오며 이 메뉴를 통해 이미지의 URL를 얻을 수 있습니다. 기본적으로 이미지 주소는 http://ai.esmplus.com/회원아이디/이미지 파일 이름이 됩니다.

 

 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

CURL 를 통해 데이터를 주고받으면 동일한 도메인이라도 세션을 공유할 수 없습니다. 이를 해결하기위해 상대 도메인에 브라우저의 쿠키 정보를 함께 전송해주면 공유가 가능하게 됩니다.

 

 function curl_trans_ssid( $query )
 {
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, BIRD_API_URL);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_COOKIE, 
              session_name() . '=' . session_id()
   );

   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  

   $data = curl_exec($ch);
   curl_close($ch);

   return $data;

 }

 $query = array(
   'user_id' => 'habony',
   'user_pw' => '123456789'
 );
 $result = curl_trans_ssid($query);

 echo $result . " 님 로그인 성공하셨습니다.";

 

참고로 정상적으로 세션을 만들었다하더라도  CURL 로 요청할 때 마다 브라우저의 쿠키정보를 매번 전송해주어야 유지가 되며 세션을 삭제할  때는 클라이언트 측 브라우저에서 세션을 삭제합니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

html 과 css, javascrip, 그리고 ASP, PHP 등 소스 코드를 압축하면 웹사이트 속도가 더 빨라지게 할 수 있습니다. 탭, 주석등을 제거하고 파일 용량을 최소화하면 속도가 빨라지는 효과가 나타납니다.

 

방문 사이트 : http://htmlcompressor.com/compressor/

 

HTML Compressor - Reduce the size of HTML, CSS, JavaScript, PHP and Smarty code.

Choosing the correct Code Type makes the compression of your code more safe and effective. Choosing the wrong option may lead to fewer optimizations or errors. There are 3 main groups, x/html, CSS and JavaScript. Select JavaScript when you want to compress

htmlcompressor.com

사용 방법은 간단합니다. 위 사이트를 방문해서 압축할 파일을 드래그하거나 소스를 붙여넣기합니다.

그런다음 오른쪽 메뉴에서 원하는 소스 코드를 선택합니다. 기본 값은 xhtml 입니다. 여기서는 기본적으로 ASP, PHP, CSS, HTML, JS 그리고 구글 블로그를 압축할 수 있습니다.

이것 외에 소스의 문서 인코딩을 지정할 수 있으면 옵션을 통해 다양한 방식으로 압축할 수 있습니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

PHP 에서는 다른 파일을 import 하려면 <?php include(); ?> 를 쓰면 되지만 HTML 에서는 AJAX 나 JQUERY 를 이용합니다. 여기서는 jQuery 를 이용한 방법을 소개합니다.

 

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

<script type="text/javascript">

    $(document).ready( function() {

        $("#loaded").load("파일이름");

    });

</script>

<div id="loaded"></div>

 

파일 이름에는 import 하고 싶은 파일을 적어주기만 하면 됩니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

자주는 아니지만 필요에 의해 한번쯤 영상을 다운로드받아야할 때가 있습니다. 그럴때 아래 사이트를 이용하면 편리합니다. 설치를 꺼려하시는 분들도 좋을듯 합니다.

 

먼저 아래 URL를 통해 사이트를 접속하면 그림과 같은 화면이 나타납니다.

 

https://www.onlinevideoconverter.com/ko/youtube-converter

 

그리고 유튜브나 그 외 사이트에 접속해서 다운로드 받을 URL 주소를 복사합니다.

 

 

먼저 띄워놓은 사이트에 복사한 URL을 붙여넣기 합니다.

 

시작을 누르면 변환중이라는 메시지가 뜨고...

 

완료가 되면 아래 그림처럼 다운로드 버튼이 나오는데, 버튼을 누르면 다운로드가 진행됩니다.

 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

크롬 브라우저에는 화면캡쳐 기능을 제공합니다.


이 기능을 이용하면 브라우저의 실제 사이즈를 캡쳐할 수 있습니다.


알캡쳐 같은 기능으로는 브라우저로 다 보여주지 못하는, 다시 말해 스크롤해서 봐야하는 부분을 캡쳐하지 못하는데, 크롬 개발자 도구를 이용하면 가능합니다.


먼저, F12번을 누르거나 아래 그림에 보이는 "오른쪽 상단"의 메뉴를 선택 -> 도구 더 보기 -> 개발자 도구 순으로 선택합니다.



다음 단축키 ctrl + shift + P 를 동시에 누르면 다음 그림의 화면이 뜹니다.



여기서 "capture"라고 입력하면 하단에 "capture full size screenshot" 보이는 것을 선택합니다.


몇 초(?)가 흘러 다운로드되는 이미지를 편집하면 됩니다.



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

국민연금이 11% 로 상향된다는 말이 있기는 하지만 아직 확정은 아닌듯 하네요. 건강보험과 장기요양은 아래와 같이 확정되었습니다.


이 파일은 2019년 요율표를 참조하여 작성된 엑셀서식입니다.

 항목

 2018요율

 2019요율

2019년 부담주체별 요율

 근로자 사용자
  국민연금 9% 9% 4.50% 4.50%
  건강보험

 6.24%

 6.46%

 3.23%

 3.23%

  장기요양

 7.38%

 8.51%

 8.51%

 8.51%

  고용보험

 1.55%

 1.55% 0.65%

 0.90%


2019년_4대_보험료엑셀_계산_양식.xls


1. 산재보험: 사업주가 전액 부담해야 할 부분이므로 요율표에는 제외.

2. 실업급여: 원칙적으로는 사업주와 근로자는 각각 0.65% 입니다.
※ Ex. 0.65%(사용자) + 0.65%(근로자) + 0.25%(150인 미만 사업자) = 1.55%

※ 실업급여를 납부하지 않았다 하더라도 근로자라면 실업급여를 받을 수 있으니 참고하시면 됩니다.

※ 참고 자료 : http://www.kcomwel.or.kr/kcomwel/main.jsp



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

어느덧 가을이 지나고 겨울이 다가왔습니다.


벌써 2019년이 코앞이라니 ~~ 세월이 참 빠르네요.


2019년을 준비하면서 한해 마무리 잘해주셔여





  1. 무료 토정비결 - 운세의 신


  2. 신한생명에서 제공하는 무료 토정비결


  3. 적중율이 높은 무료 토정비결 - 백승 사주


  4. 가입없이 사용하는 100% 무료운세


  5. 농협 인터넷 뱅킹에서 제공하는 무료 토정비결


  6. 디지털 역술방에서 제공하는 무료 토정비결


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

크롬 브라우저의 확장 프로그램 중 "반응형 웹 디자인 테스터"를 설치하면 다양한 크기의 기기를 바로바로 테스터해 볼 수 있습니다.


1. 오른쪽 상단의 메뉴를 누른 후 [도구 더 보기 > 확장 프로그램]을 선택합니다.


2. 다시 왼쪽 상단 확장 프로그램을 선택하면 아래 그림 처럼 하단에 웹 스토어로 이동할 수 있는 링크를 볼 수 있습니다. 웹 스토어 링크를 선택합니다.



3. 웹 스토어에서 "responsive web" 으로 검색한 후 확장 프로그램 중 Responsive Web Design Tester 를 설치합니다. 



4. 확장 프로그램이 정상 설치되면 주소 표시줄 오른쪽에 아래 표시된 그림이 나타납니다. 이 아이콘을 선택하면 현재 보고 있는 사이트를 여러가지 기기의 형태로 표시해 볼 수 있습니다.



반응형 웹 사이트를 제작하고 있다면 이 기능을 이용해 화면이 어떻게 표시되는지 테스트해 볼 수 있습니다.


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

쇼핑몰이나 웹사이트 운영시 회원가입, 상품구매 서비스 이용약관은 이용에 필요한 부분입니다.


약관은 어디서 준비해야할까요? 


여기서 서비스 이용약관, 개인정보 처리방침, 개인정보 처리위탁 및 개인정보 제3자 제공약관을 참고하거나 아래에서 소개하는 방법을 준비해 보았습니다.



"서비스 이용약관" 준비 방법

공정거래위원회 (http://www.ftc.go.kr) 에 접속한 뒤에 [정보공개 > 표준계약서 > 표준약관 양식] 메뉴에서 원하는 약관을 다운로드 합니다.


예를 들어 쇼핑몰을 운영중이라면 "전자상거래 표준약관"을 다운로드 하세요.



"개인정보 처리방침" 준비 방법

개인정보보호 종합포털 (http://www.privacy.go.kr) 에 접속한 뒤에 [사업자 > 개인정보 도우미 개인정보처리방침 만들기] 메뉴를 이용합니다.



"개인정보 처리 위탁 및 개인정보 제3자 제공 약관" 준비

개인정보보호 종합포털 (http://www.privacy.go.kr) 에 접속한 뒤에 [자료 마당 > 지침자료] 메뉴에서 "개인정보 처리방침 작성 예시" 문서를 이용합니다.



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

novalidate 속성은 폼 제출 시 유효성 검사를 무효화 시키고자 할 때 유용합니다.


이 속성은 유효성 검사를 해야 하는 폼에서 폼 요소를 전송시킬 때 필드의 값들의 입력여부를 검증하지 않고, 전송시킬 수 있습니다.


아래 예제에서 required 속성은 필수 항목으로 지정하였는데, novalidate 를 전체에 지정했기 때문에 핑수항목을 지정한 모든 필드를 무효화시켜 버릴 것입니다.


ex.1)

<form action="form.php" method="post" novalidate>
E-mail: <input type="email" name="email" required />
Password: <input type="password" name="pass" required/>
<input type="submit" name="전송" value="전송"/>
</form>



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

아래 배열의 형태라면 트리형태로 출력하고자 할 때 유용합니다.
특히 답글 형태 게시판에서 사용할 수 있습니다.


 $list = array(

  array('idx' => 1,  'parent_id' => 0),

  array('idx' => 2,  'parent_id' => 0),

  array('idx' => 3,  'parent_id' => 0),

  array('idx' => 4,  'parent_id' => 0),

  array('idx' => 5,  'parent_id' => 0),

  array('idx' => 6,  'parent_id' => 2),

  array('idx' => 7,  'parent_id' => 2),

  array('idx' => 8,  'parent_id' => 3),

  array('idx' => 9,  'parent_id' => 4),

  array('idx' => 10, 'parent_id' => 9)

 );

 $atr = Categories($list, 'idx');

 print_r($atr);


ex.1)

function Categories(
$atr, $id = 'id', 
$parent_id = 'parent_id', 
$children = 'children')
{
  $nlist = array(
    array( $children => array() )
  );
  $raw = array(&$nlist[0]);

  if(isset($atr))
  {
    foreach($atr as $q => $w)
    {
      $raw[$w[$parent_id]][$children][$w[$id]] = $w;
      $raw[$w[$id]] = 
          &$raw[$w[$parent_id]][$children][$w[$id]];
    }
  }

  if(is_array($raw[$atr[0][$parent_id]][$children]))
  {
    return ($raw[$atr[0][$parent_id]][$children]
           + $nlist[0][$children]);
  }

return $nlist[0][$children];
}

/* 
Categories( atr, id, parent_id);
  atr 인수: 정렬할 배열
  id 인수: 선택. 기본 값 : id
  parent_id 인수: 선택. 기본 값 : parent_id
  children 인수: 선택. 기본 값 : children
  반환 값: TREE 로 정렬한 배열
*/


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

SVG, 웹 글꼴 및 래스터 형식의 마크가 있는 오픈 소스 아이콘 세트를 소개합니다.


  • Font Awesome 아이콘 세트
    https://fontawesome.com/


  • open iconic 아이콘 세트
    https://useiconic.com/open/


  • Bytesize 아이콘 세트
    https://github.com/danklammer/bytesize-icons



  • Google 에서 제공하는 무료 아이콘
    https://material.io/tools/icons/?style=baseline


  • Ionicons 아이콘 세트
    http://ionicons.com/


  • Feather 아이콘 세트
    https://feathericons.com


  • Dripicons 아이콘 세트
    http://demo.amitjakhu.com/dripicons/


  • Ikons 아이콘 세트
    http://ikons.piotrkwiatkowski.co.uk


  • Glyph 아이콘 세트
    https://glyph.smarticons.co


  • Icons8 아이콘 세트
    https://icons8.com



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요


select 한 결과 값을 다시 insert 해야 한다면 2번의 질의를 처리해주어야 하는데, 이것을 한번에 처리할 수 있는 것을 insert select 라고 합니다.


두 개 테이블의 칼럼이 동일할 경우 처리하는 방법:


 insert into [테이블] select * from [테이블] where [조건]; 

ex.1)

 insert into table1 select * from table2 where id > 3;




칼럼 수가 다를 경우 처리하는 방법:


 insert into [테이블] [칼럼명] select [칼럼명] from [테이블] where [조건];


 insert into table1 (col1, col2, col3) select col1, col2, col3 from table2 where id > 3;



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

for 문을 이용해 로또 번호 추출기를 만들어 보겠습니다. for 문을 이용해서 로또 프로그램을 구현해보면 반복문의 이해에 도움이 됩니다.


 <?php

 $arr = array();

 for($i=0; $i<6; $i++){

$arr[$i] = rand(1, 45);

for($j=0; $j<$i; $j++){

if($arr[$i] == $arr[$j]){

$i--;

break;

}

}

 }


 print_r($arr);

 ?>


다음은 추출한 로또 번호를 for문을 이용해 오름차순으로 정렬해 보겠습니다.


 <?

 $arr = array();


 for($i=0; $i<6; $i++){

$arr[$i] = rand(1, 45);

for($j=0; $j<$i; $j++){

if($arr[$i] == $arr[$j]){

$i--;

break;

}

}

  }


 $tmp = 0;

 for($i=0; $i<count($arr); $i++){

for($j=0; $j<$i; $j++){

if($arr[$i] < $arr[$j]){

$tmp = $arr[$i];

$arr[$i] = $arr[$j];

$arr[$j] = $tmp;

}

}

 }


 print_r($arr); 

 ?>


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

2차원 배열을 아래 그림처럼 90도씩 회전시켜 그 결과를 출력하는 방법을 설명합니다. 

 1    2    3    4        13   9    5  1        16  15  14  13      4   8  12  16
 5    6    7    8  =>   14   10  6   2  =>   12  11  10  9  =>  3   7  11  15
 9    10  11  12       15   11  7   3         8   7    6   5       2   6  10  14
 13  14  15  16        16  12  8   4         4    3    2  1        1   5   9   13


ex.01)

 <?php

       $arr = array(

array(1, 2, 3, 4),

array(5, 6, 7, 8),

array(9, 10, 11, 12),

array(13, 14, 15, 16)

);


       for($i = 0; $i < count($arr); $i++)

{

for($j = 0; $j < count($arr); $j++)

{

echo $arr[$i][$j] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

 /*

 결과

 1    2    3    4

 5    6    7    8

 9    10  11  12

 13  14  15  16

 */


for($i = 0; $i < count($arr); $i++)

{

for($j = count($arr); $j > -1; $j--)

{

echo $arr[$j][$i] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

/*

 결과

 13    9     5   1

 14   10    6   2

 15   11    7   3

 16   12    8   4

 */


for($i = count($arr); $i > -1; $i--)

{

for($j = count($arr); $j > -1; $j--)

{

echo $arr[$i][$j] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

/*

 결과

 16   15   14   13

 12   11   10    9

  8    7     6     5

  4    3     2     1

 */


for($i = count($arr); $i > -1; $i--)

{

for($j = 0; $j < count($arr); $j++)

{

echo $arr[$j][$i] . "\t";

}

echo "<br />\n";


/*

 결과

 4   8   12   16

 3   7   11   15

 2   6   10   14

 1   5    9    13

 */

 ?>


 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

php에는 최소값, 최대값을 구하는 함수가 있지만 여기서는 for 문을 이용해 최대값, 최소값을 구하는 방법을 설명합니다.



ex.01)

 <?php
 $arr = array(2, 3, 5, 50, 15, 21);
 $min = $max = $arr[0];

 for($i = 0; $i < count($arr); $i++)
 {
   if($max < $arr[$i])
   {
      $max = $arr[$i];
   }
   if($min > $arr[$i])
   {
      $min = $arr[$i];
   }
 }

 echo "최소값: " . $min;

 echo "<br />\n";

 echo "최대값: " . $max;


 ?>


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

php에서는 자체적으로 숫자를 정렬하는 함수를 제공합니다. 여기서는 함수를 이용하지 않고, for 문을 이용해 구현해 보겠습니다.


[2,3,5,50,15,21] 인 배열을 정렬해 보겠습니다.


ex.01)

 <?php

 $arr = array(2,3,5, 50, 15,21);

 $tmp = 0;

for($i=0; $i<count($arr); $i++)

{

for($j=0; $j<count($arr); $j++)

{

if($arr[$i] > $arr[$j])

{

$tmp = $arr[$i];

$arr[$i] = $arr[$j];

$arr[$j] = $tmp;

}

}

}

print_r($arr);

 

/*

 출력

Array

(

[0] => 50
[1] => 21
[2] => 15

[3] => 5

[4] => 3

[5] => 2

 );
 ?>




블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

반복문 for문을 이용해 피라미드식으로 별을 출력하는 방법을 설명합니다.

        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************



ex.01)

 <?php

 $num = 9;

 for($i = 0; $i<$num; $i++)

 {

for($J = $num - $i; $J > 0; $J--)

{

echo "&nbsp;";

}

for($q = 0; $q < 2*$i-1; $q++)

{

echo "*";

}

echo "<br />\n";

 }

 ?>


ex.02)

 <?php

 $num = 9;

 for($i = 0; $i<$num; $i++)

 {

for($J = $num - $i; $J > 0; $J--)

{

echo "&nbsp;";

}

for($q = 0; $q < $i; $q++)

{

echo "*";

}

for($w = 1; $w < $i; $w++)

{

echo "*";

}

echo "<br />\n";

 }

 ?>



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

Github.com 에 프로젝트를 만들었지만 필요에 의해 프로젝트를 삭제할 일이 생길 수 있습니다. 삭제하는 방법을 설명해 보겠습니다.


1. http://Github.com 에 접속해서 로그인을 합니다.


2. 다음 그림에서 내가 만든 프로젝트가 보이고 "20180404" 라는 프로젝트를 삭제하고 싶다면 삭제하고자 하는 프로젝트를 선택합니다.



3. 상단에 보이는 "Settings" 를 선택합니다.



4. 하단에 Danger Zone 그룹에 보이는 "Delete this repository" 를 선택합니다.



5. 아래 그림처럼 창이 뜬다면 삭제하고자 하는 프로젝트 이름을 넣고 삭제를 진행합니다. 


사용자가 실수로 프로젝트를 삭제하는 것을 방지하기 위해 프로젝트 이름을 한번 더 넣도록 되어 있으니 프로젝트 이름을 넣고 삭제를 진행하면 됩니다.





블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이클립스로 프로그램을 배포하기 위해서 먼저 이클립스 마켓을 통해 EGit 을 설치하도록 합니다.


1. 이클립스 상단 메뉴 Help > Eclipse Marketplace 를 실행합니다.



2. 아래 그림의 프로그램을 찾아 인스톨합니다.



3. 이클립스에서 배포하고자 하는 프로젝트를 선택해서 오른쪽 마우스 버튼 클릭 > Team > Share Project 를 선택합니다.



4. "Finish" 버튼이 활성화하기 위해 Create 버튼을 선택해서 배포할 폴더를 생성합니다.



5. 여기까지 정상적으로 완료되었다면 아래 그림처럼 프로젝트 옆에 [git master] 라고 뜨면 연동은 완료된 것입니다.



6. 이클립스 메뉴 Window > Show View > Other 를 선택합니다.



7. 우리는 Git 으로 배포할 것이므로 "Git Repositories" 를 선택합니다.



8. 다시 이클립스에서 배포할 프로젝트 오른쪽 마우스 버튼 클릭 > Team > Commit 을 선택합니다.



9. Git 에 업로드할 파일을 범위 지정하고 다음 그림의 + 버튼을 선택합니다.



10. 아래 그림처럼 파일이 이동되었다면 "Commit Message" 에 메시지를 적당하게 입력하고 "Commit and Push" 를 선택합니다. 


메시지 내용은 "Hello Git" 이라고 입력해 보았습니다.




11. 다음 그림과 같은 창이 뜬다면 http://Github.com 으로 이동하도록 합니다. 


URI 입력 항목은 http://Github.com 에서 만들 프로젝트 URL을 입력해야 합니다.


Github.com 에서 이미 프로젝트를 만들었고, URL 주소를 알고 있다면 순서 [15]로 건너 뛰어도 됩니다.



12. 이제 http://Github.com 으로 이동해서 로그인을 합니다. "start a project" 을 선택해서 배포할 프로젝트를 만듭니다.



13. 프로젝트 이름을 "20180404" 로 적고, "Create repository" 를 선택합니다. 프로젝트 이름은 임의대로 작성해 주었습니다.



14. 정상적으로 만들게 되면 아래 그림 처럼 git 주소가 나타나는데, 이 주소를 복사합니다.



15. 다시 이클립스로 이동해서 github.com 에서 복사한 URL를 붙여넣기 한 다음 Github.com의 아이디와 비밀번호를 입력하고 다음을 선택합니다.



16. 여기서 따로 설정할 것이 없으므로 다음을 선택합니다.



17. 설정을 모두 마쳤으므로 "Finish" 를 선택합니다.

 


18. 환경에 따라 Githum.com 의 아이디와 비밀번호를 한번더 묻는 경우가 있는데, 로그인 창이 뜬다면 동일하게 Github.com 의 로그인 정보를 입력하고 마무리합니다.



19. 모든 설정이 완료되었으면 배포가 시작됩니다. 파일이 많을 경우 다소 오래걸릴 수 있습니다. 


파일을 모두 업로드하였다면 다음 그림이 나타납니다. 창을 닫아 줍니다.



20. 모든 작업이 마무리되었으니 정상적으로 배포되었는지 확인할 필요가 있습니다. 다시 Github.com 으로 이동합니다.


순서 [10] 에서 메시지 내용을 "Hello git"이라고 입력했는데, 아래 그림에서도 확인할 수 있듯 "Hello Git" 이라고 표기되는 것을 확인할 수 있고, 정상적으로 배포된 것을 확인할 수 있습니다.


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

css 에서 브라우저의 호환성을 높이기 위해서는 접두어를 붙여야 합니다. 크롬, 파이어폭스, IE, 엣지 브라우저 등 브라우저 마다 지원되는 속성이 다르고, 접두어를 반복해서 쓰는 것이 번거롭고, 성가신 부분이 많습니다.


예를 들어 다음과 같은 코드를 작성한다면 상당히 귀찮아지지요.


 <style>

  .box:hover{

    -moz-transform:rotate(2deg); // 사파리, 크롬, 안드로이드, iOs, webkit 엔진 등

    -webkit-transform:rotate(2deg); // 파이어폭스, 모질라 브라우저 엔진

    -ms-transform:rotate(2deg); // IE

    -o-transform:rotate(2deg); // 오페라

    transform:rotate(2deg);

  }

 </style>


그래서 똑같은 코드를 반복해서 쓰지 않고, 한줄로 요약해서 쓸 수 있다면 편하지 않을까요? http://leaverou.github.io/prefixfree/ 에서 제공하는 스크립트를 이용한다면 접두어를 굳이 붙이지 않아도 됩니다.


 <script src="prefixfree.dynamic-dom.min.js"></script>

 <style>

    .box:hover{

        transform:rotate(2deg);

    }

 </style>


간편하죠?


스크립트는 아래 링크에서 다운로드 받거나 홈페이지 http://leaverou.github.io/prefixfree/ 에서 다운로드 받을 수 있습니다.



다운로드:  prefixfree.dynamic-dom.min.js



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

<내 컴퓨터>에 설치된 랜카드가 불량인지 확인하는 방법을 설명합니다.


일단 <내 컴퓨터>와 <모뎀>에 정상적으로 랜선이 연결되어있다는 가정에서 설명합니다.


시작 > 실행 에서 <cmd>를 입력합니다. 그 다음 <ping 127.0.0.1>를 입력합니다. 다음 그림처럼 핑이 되면 랜카드 불량은 아니라고 합니다.



일단 랜카드 불량이라면 <요청 시간이 만료되었습니다>라거나 서버를 찾을 수 없다는 등 오류 메시지가 출력됩니다.


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

간단하게 서버를 구축할 수 있는 방법은 알FTP를 이용하는 방법이 아닐까 싶습니다. 먼저 https://www.altools.co.kr/EstLab/Default.aspx 에 접속해서 다음 그림의 링크를 통해 설치를 진행합니다.



별다른 설정이 필요 없으므로 설치 과정을 생략합니다.  설치가 완료되었다는 가정에서 “ALFTP Server”를 실행합니다. 처음 실행시 간단한 설정이 필요하므로 다음 그림에 보이는 설정 메뉴를 클릭합니다.



“서버로 사용할 ip 주소“ 는 “내 아이피” 주소입니다. 익명 접속으로 이용하지 않는 이상 계정 설정이 필요하므로 아이디와 비밀번호를 설정하고 만약 iis를 이미 이용 중이라면 포트 충돌을 피하기 위해 21 포트가 아닌 다른 포트를 이용해야 하므로 2121 포트로 설정합니다.


FTP 홈 디렉터리는 기본적으로 “내 PC > 문서 > ALFTPServer” 이며 읽기 전용으로 설정되어 있으니 홈 디렉터리에 임의의 파일을 업로드해 봅니다.



간단하게 설정을 마무리했다면 상단 메뉴 “서버 시작”을 클릭합니다.


이로서 서버는 마무리 되었습니다. 실제로 작동하는지 테스트해보기 위해 파일질라FTP를 통해 FTP 작동여부를 확인해볼 수 있습니다. 아무 장애가 없다면 아래 그림처럼 접속이 완료됩니다.


이제 외부 접속자가 사설 ip로 설정된 ftp서버에 접속하는 방법을 설명해 보겠습니다.


사설 ip는 보통 192.168.xxx.xxx, 10.xxx.xxx.xxx, 172.xxx.xxx.xxx 로 시작하는 ip로서 가상 ip로 설명합니다. 이는 외부에서는 사용할 수 없는 ip로 외부에서 ftp://192.168.0.2로 접속하면 접속이 되지 않는데, 이는 공유기 내에서만 존재하는 ip이기 때문입니다.

 

공유기 설정문제로 공유기 어드민에 접속해야 하지만, 제품마다 접속경로가 다르므로, "시작->실행->cmd"로 명령프롬프트창을 띄워 "ipconfig/all"이라는 명령을 내리면, 다음 그림처럼 비슷한 정보를 볼 수 있습니다.



여기서 IPtime 제품이 보통 192.168.0.1 이며 DHCP서버항목인 192.168.0.1 이 어드민 접속경로입니다. 인터넷주소창에 http://192.168.0.1로 접속합니다.

 


관리 도구를 클릭하여 창을 띄우면 메뉴 탐색기가 나타납니다. "메뉴탐색기->고급설정->NAT/라우터 관리->포트포워드 설정"을 선택합니다. 포트포워드는 공유기제품마다 이름이 약간 다르게 표기되는데, 보통 포트포워드, 또는 포트포워딩이라 표기합니다.



이 컴퓨터의 IP가 192.168.0.2 이므로 “내부 IP 주소 항목” 끝에 2를 입력합니다.


프로토콜은 TCP를 선택합니다. TCP는 송수신을 담당하고, UDP는 송신만 합니다. 보통 IPTV는 UDP방식입니다.


외부포트는 기본 80 입니다. 간혹 트래픽문제로 통신사에서 포트를 막아 두는 곳이 있으므로 8080포트로 변경하고 내부포트를 2121로 변경합니다.


여기까지 마무리 하였다면 추가버튼을 누릅니다. 추가가 되었다면, 반드시 설정저장을 해두어야 합니다. IPTime의 경우 상단에 저장버튼이 따로 있습니다.


알ftp는 ftp://192.168.0.2 인 ip 주소에 2121 내부포트를 사용하고, 공유기는 외부포트 8080포트를 사용하도록 설정하였습니다. 공인 ip 주소가 124.58.205.17 이라면 파일질라FTP로 테스트해 봅니다.



이렇게 접속하면 공인 ip를 거쳐 사설 ftp서버로 연결시킬 수 있습니다. 만약, “내 공인 IP” 주소를 모른다면 아래 웹 사이트를 통해 공인 IP를 확인할 수 있습니다.



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

비트 연산자는 말그대로 0과 1로 이루어진 2진수를 가지고 연산을 합니다.



예제 

 설명

 결과 

 $a & $b

 AND

 두 비트가 모두 1인 값을 반환

 $a | $b

 OR

 두 비트 중 하나라도 1이면 1를 반환

 $a ^ $b

 XOR

 두 비트가 다를 때 1를 반환

 ~$a

 NOT

 비트 NOT 연산자, 비트 뒤집기

 $a << $b

 Shilft Left

 $a 를 왼쪽으로 $b 만큼 이동

 $a >> $b

 Shift Right

 $a 를 오른쪽으로 $b 만큼 이동


AND 연산자

주어진 비트 중 두 비트가 모두 1이라면 참입니다.


 32  16  8  4  2  1  -> 10 진수 표현

---------------------

  0    0  1  0  1  0  -> 10 진수로 표현하면 10 입니다.

  0    1  1  0  0  0  -> 10 진수로 표현하면 24 입니다.

---------------------

  0    0  1  0  0  0   -> 10 진수로 표현하면 8입니다.

---------------------


 여기서 두 비트가 일치하는 비트는 8이므로 8을 반환합니다. 

ex.1)

 <?php
   echo 10 & 24; // 결과: 8 
 ?>


OR 연산자

주어진 비트 중 하나라도 1이면 참으로 합니다.


 32  16  8  4  2  1  -> 10 진수 표현

---------------------

  0    0  1  0  1  0  -> 10 진수로 표현하면 10 입니다.

  0    1  1  0  0  0  -> 10 진수로 표현하면 24 입니다.

---------------------

  0    1  1  0  1  0   -> 10 진수로 표현하면 26입니다. ex.1) 16 + 8 + 2 = 26

---------------------


 여기서 두 비트 중 하나라도 일치하는 비트는 16, 8, 2 이므로 26 입니다. 


ex.1)

 <?php
   echo 10 | 24; // 결과: 26 
 ?>


XOR 연산자

주어진 비트 중 두 비트가 다른 값을 반환합니다.

 32  16  8  4  2  1  -> 10 진수 표현

---------------------

  0    0  1  0  1  0  -> 10 진수로 표현하면 10 입니다.

  0    1  1  0  0  0  -> 10 진수로 표현하면 24 입니다.

---------------------

  0    1  0  0  1  0   -> 10 진수로 표현하면 18입니다. ex.1)  16 + 2 = 18

---------------------


 여기서 두 비트가 일치하지 않는 비트는 16과 2이므로 18을 반환합니다. 


ex.1)

 <?php
 echo 10 ^ 24; // 결과: 18 
 ?>


NOT 연산자

비트 NOT 연산자는 1를 0으로 0을 1로 바꾸는 것으로 "비트 뒤집기" 또는 "비트 반전"이라고 부릅니다.

 32  16  8  4  2  1   0 -1 -2 -4 -8 -16   -> 10 진수 표현

----------------------------------------

  0    0  1  0  1  0   0  0  0  0   0    0   -> 10 진수로 표현하면 10 입니다.

----------------------------------------

  0    0  0  1  0  1  -1 -1 -1-1 -1    0   -> 10 진수로 표현하면 -11 입니다.


  ex.1)  10 - 20 - 1 = -11


ex.1)

 <?php
 echo ~10; // 결과: -11 

 echo ~100; // 결과: -101

 echo ~50; // 결과: -51

 echo ~25; // 결과: -26
 ?>


Shift Left 연산자

주어진 값 만큼 왼쪽으로 비트를 이동하는 연산자입니다. 각 단계는 2로 곱하기를 의미합니다.


 32  16  8  4  2  1  -> 10 진수 표현

---------------------

  0    0  1  0  1  0  -> 10 진수로 표현하면 10 입니다.

-<--<--<--<--<--- 

  0    1  0  1  0  0   -> 비트를 왼쪽으로 1만큼 이동시키면 20 이 됩니다.


 여기서 8과 2를 왼쪽으로 1칸 이동시키면 16과 4가 되므로 결과는 20 이 됩니다.

 ex.) 10*2 = 20이 되며 2칸 이동시키면 10*2*2 = 40 이 됩니다.


ex.1)

 <?php
 echo 10 << 1; // 결과: 20 
 ?>


Shift Right 연산자

주어진 값 만큼 오른쪽으로 비트를 이동하는 연산자입니다. 각 단계는 2로 나누기를 의미합니다.


 32  16  8  4  2  1  -> 10 진수 표현

---------------------

  0    0  1  0  1  0  -> 10 진수로 표현하면 10 입니다.

->-->-->-->-->--- 

  0    0  0  1  0  1   -> 비트를 오른쪽으로 1만큼 이동시키면 5가 됩니다.


 여기서 8과 2를 오른쪽으로 1칸 이동시키면 4와 1이 되므로 결과는 5 이 됩니다.

 ex.) 10/2 = 5가 되며 2칸 이동시키면 10/2 = 5/2 = 2 가 됩니다.


ex.1)

 <?php
 echo 10 >> 1; // 결과: 5
 ?>



블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요