3월, 2020의 게시물 표시

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요. 강원도 홍천 서석면에 위치해있으며 1급수 용오름계곡 바로 옆에 있습니다.홍천군 1등 마을로 마을에서 직접 관리하는 용오름캠핑장,펜션 10개를 운영하고 있으며 각종 모임이 가능하도록 식당,회의실,야외무대가 설치되어 있습니다.홍천군 1등 마을답게 캠핑장,펜션 마을 전지역 wi-fi 사용이 가능하며 매년 봄 팸투어 실시, 여름엔 마을에서 재배한 홉으로 직접만든 맥주축제,마리소리 음악축제 를 열고 있습니다.계곡의 경우 수심이 다양하여 다이빙 포인트가 2곳이 있으며 아이들이 안전하게 물놀이를 할 수 있는 곳도 여러 곳 있습니다. 홍천 용오름캠핑장 팸투어 다녀왔어요. 요즘은 농산촌체험마을에서 캠핑과 여러프로그램을 같이 하는 곳이 추세더라고요. 아미산이 둘러쌓인 청정계곡이 흐르는 아름다운 용오름체험휴양마을 에서 운영하는 홍천 용오름캠핑장 팸투어 다녀왔어요. 테크 앞 강이... 붕어빵 가족의 담너머 세상구경 https://m.blog.naver.com/1092119/220711235599 가을여행-홍천여행- 홍천 용오름 마을 첫째날 여행의 계절 가을입니다. 요즘 저희는 강원도에 꽃힌 상태인지라...카페 행복한 이티씨와 함께하는 홍천 용오름 마을 1박2일 체험에 참가를 하였답니다! 평소 체험 시간보다 조금 늦은 출발을 해서 차가 밀리지 않으려나... 귀여운 단지 https://m.blog.naver.com/sanguidan/50181593653 용오름마을 캠핑장 여름휴가의 시즌이다.. 강원도의 계곡과 시원함을 만끽하기 위해 캠핑장을 검색하다 우연히 알게 된 홍천의 용오름 캠핑장.. 성수기라 캠핑장 요금들이 사악하다 용오름캠핑장 옆엔 해미르 캠핑장이 있는데... ★살로몬의 잇츠캠핑★ https://m.blog.naver.com/freeguy9040/20163628934 맥주효모로 만든 용오름맥주마을 바쏘 맥주샴푸와 맥주마스크팩... 1988년까지 맥주 원료인...

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요. 강원도 홍천 서석면에 위치해있으며 1급수 용오름계곡 바로 옆에 있습니다.홍천군 1등 마을로 마을에서 직접 관리하는 용오름캠핑장,펜션 10개를 운영하고 있으며 각종 모임이 가능하도록 식당,회의실,야외무대가 설치되어 있습니다.홍천군 1등 마을답게 캠핑장,펜션 마을 전지역 wi-fi 사용이 가능하며 매년 봄 팸투어 실시, 여름엔 마을에서 재배한 홉으로 직접만든 맥주축제,마리소리 음악축제 를 열고 있습니다.계곡의 경우 수심이 다양하여 다이빙 포인트가 2곳이 있으며 아이들이 안전하게 물놀이를 할 수 있는 곳도 여러 곳 있습니다. 홍천 용오름캠핑장 팸투어 다녀왔어요. 요즘은 농산촌체험마을에서 캠핑과 여러프로그램을 같이 하는 곳이 추세더라고요. 아미산이 둘러쌓인 청정계곡이 흐르는 아름다운 용오름체험휴양마을 에서 운영하는 홍천 용오름캠핑장 팸투어 다녀왔어요. 테크 앞 강이... 붕어빵 가족의 담너머 세상구경 https://m.blog.naver.com/1092119/220711235599 가을여행-홍천여행- 홍천 용오름 마을 첫째날 여행의 계절 가을입니다. 요즘 저희는 강원도에 꽃힌 상태인지라...카페 행복한 이티씨와 함께하는 홍천 용오름 마을 1박2일 체험에 참가를 하였답니다! 평소 체험 시간보다 조금 늦은 출발을 해서 차가 밀리지 않으려나... 귀여운 단지 https://m.blog.naver.com/sanguidan/50181593653 용오름마을 캠핑장 여름휴가의 시즌이다.. 강원도의 계곡과 시원함을 만끽하기 위해 캠핑장을 검색하다 우연히 알게 된 홍천의 용오름 캠핑장.. 성수기라 캠핑장 요금들이 사악하다 용오름캠핑장 옆엔 해미르 캠핑장이 있는데... ★살로몬의 잇츠캠핑★ https://m.blog.naver.com/freeguy9040/20163628934 맥주효모로 만든 용오름맥주마을 바쏘 맥주샴푸와 맥주마스크팩... 1988년까지 맥주 원료인...

C++ OOP(Object-Oriented-Programming) (2)

C++ OOP(Object-Oriented-Programming) (2) 복사생성자 생성자 : 객체가 생성될 때 실행될 메소드임 복사생성자 : 같은 클래스에 속한 다른 객체를 이용하여 새로운 객체를 초기화 할때 사용 받는 매개변수가 자신이랑 같은 const& 면 복사생성자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //header class Vector1{ public : Vector1(); Vector1( const Vector1 & other); private : int mX; int mY; } //cpp Vector1::Vector1() : mX( 0 ) , mY( 0 ) { } Vector1::Vector1( const Vector1 & other) : mX(other.mX); //other는 다른 인스턴스지만 , mY(other.mY); //같은 클래스형이라서 private에 접근가능함 { } Colored by Color Scripter cs 코드에 복사 생성자가 없는 경우, 컴파일러가 암시적 복사생성자 자동생성 cf) 아무런 생성자도 없으면 기본생성자 + 암시적 복사생성자 만들어줌 하나의 생성자라도 유저가 구현했다면 기본생성자는 만들어주지 않음 암시적 복사 생성자 의미와 특징 - 유저가 구현하지 않아서 컴파일러가 만든 복사 생성자를 암시적 복사생성자라 함 - 암시적 복사 생성자는 "얕은 복사"를 함 - 멤버 별 값 복사 - 멤버변수가 객체라면 그 객체의 복사 생성자도 호출됨 - 만약 heap에 동적할당 후 얕은 복사를 진행하면 문제가 발생할 우려가 있음 (아래코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ClassRecord::ClassRecord( const int * scores, int count) : mCount(count) { mScor...

에스앤비소프트(SNBSOFT) 기업 정보

에스앤비소프트(SNBSOFT) 기업 정보 SNBSOFT는 공간정보를 편리하게 사용할 수 있도록 서비스하는 회사입니다. 한국에서 구글지도를 이기고 싶습니다. 지도사업이라는 분야는 일반적인 회사와 달리 데이터를 많이 다루고 있는 분야입니다. 다만 지도라는 사업 자체가 중요하다기 보단 지도를 기반으로한 서비스들이 주목을 받고 있는데요. 아무래도 인프라성에 해당하는 사업이다보니 일반적인 사람들의 눈에는 잘 들어나지 않지만 조금 더 깊이 들어가서 본다면 지도 없이 이루어 질 수 있는 모바일 O2O서비스는 존재하지 않습니다. 지도를 활용할 수 있는 여러 기술이 있다면 테마를 가진 컨텐츠는 확장될 수 있는 분야가 엄청 크기도 하고요. 예를들어 우버나 에어비앤비 서비스화면에서 무엇이 보이세요? UI를 걷어내고 본다면 그 중심에는 지도가 보인답니다. 모바일서비스와 이용자들 컨텐츠로 이어주는 도구인 지도를 더욱 더 활용되고 이용자들에게 더 큰 가치를 전달해 주기 위해서 우리는 보이지 않는 곳에서 더 많이 움직이고 있는 조직이라고 할 수 있습니다. 더 많은 내용은 더 많은 내용은 더팀스 에서 확인하세요! from http://theteams.tistory.com/770 by ccl(A) rewrite - 2020-03-25 15:20:09

[Programming Language] PL History | 프로그래밍 언어의 역사

[Programming Language] PL History | 프로그래밍 언어의 역사 My_Archive Programming Language History 프로그래밍 언어의 역사 1. 기원전 - 최초의 Algorithm - BC 1500 - 3000년대, 메소포타미아(바그다드 근처)에서 발견된 형판에는 그들이 60진법 체계와 부동 소수점 표기등을 이용하여 산술 연산과 대수 방정식의 해를 계산하는 알고리즘을 사용했던 것이 기록되어 있다. - BC 300년, Euclid(유클리드)의 저서 에는 최대 공약수를 계산하기 위한 알고리즘이 기술되어 있다. 2. 1800년대 - Charles Babbage의 Difference Engine Difference Engine - Finite Difference(유한 차)의 원리(계산기와 비슷한)를 기반으로 설계된 기계이다. - Analytical Engine의 구현에 실패하여 비교적 성능이 뒤쳐지는 Difference Engine을 기반으로 한 기계가 개발되었다. Analytical Engine - 몇 가지 특성을 제외하고, 현 디지털 컴퓨터와 유사한 구조의 기계이다. - 현재 구조와 달리, 프로그램, 데이터를 주기억장치에 저장시키는 개념 없이, 연산카드, 변수카드를 이용해 저장하는 방식이었다. - 구현의 어려움으로 인해, 실제로 개발되지는 못했다. ※ Babbage의 조수 Ada Augusta(최초의 프로그래머)의 '알고리즘 분석'에 대한 견해에서, 그 당시의 프로그래머들도 최적화 개념을 갖고 있었음을 알 수 있다. 3. 1930년대 ~ 1940년대 - 프로그래밍 표기의 급증 - 창조적인 프로그래밍 표기가 급격히 증가했던 시기로, 실제 컴퓨터에서 사용되지 못할 이론적인 것들도 다수 있었다. - Zuse의 \(\texttt{Plan Calculus}\) - Turing의 \(\texttt{Turing Machine}\) - Church의 \...

PHP 변수의 데이터형 검사 API, 변경 API 함수 목록

PHP 변수의 데이터형 검사 API, 변경 API 함수 목록 gettype 데이터형 확인 var_dump 데이터형 확인하여 출력까지 해 줌 settype 데이터형 변경 is_array 변수가 배열인지 확인 is_bool 변수가 논리형인지 확인 is_callable 변수 내용을 함수처럼 호출할 수 있는지 확인 is_float = is_double = is_real 변수가 소수인지 확인 is_int = is_integer = is_long 변수가 정수인지 확인 is_numeric 변수가 숫자 or 숫자문자열인지 확인 is_null 변수가 null 인지 확인 is_object 변수가 객체인지 확인 is_resource 변수가 자원인지 확인 is_scalar 변수가 스칼라인지 확인 from http://dearbeerdeer.tistory.com/4 by ccl(A) rewrite - 2020-03-25 13:54:07

셀렉트 박스로 소스가져오기

셀렉트 박스로 소스가져오기 - 좋아요 셀렉트 박스로 소스가져오기 !DOCTYPE html> 보험 기본 from http://goodclickad.tistory.com/23 by ccl(A) rewrite - 2020-03-25 11:20:08

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용... * 프로그래밍 언어의 발전 과정 - 1960년 이전 : ASSEMBLY, FORTRAN, LISP - 1960년대 : COBOL, PL/I, BASIC - 1970년대 : PASCAL, C, SMALLTALK, PROLOG - 1980년대 : ADA, C++, PERL, PYTHON - 1990년대 : RUBY, JAVA, JAVASCRIPT, PHP, VISUAL BASIC - 2000년대 이후 : C#, SCALA, GO, CLOJURE, CEYLON, KOTLIN, DART 등 *프로그래밍 언어 유형 1) 개발 편의성 -저급 언어 : 기계가 이해할 수 있도록 만든 언어 추상화 수준이 낮고 프로그램 작성이 어려움 저급 언어에 능숙한 개발자는 매우 효율적으로 프로그램을 작성할 수 있음 기계어, 어셈블리어 -고급 언어 : 개발자가 소스코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어 번역하는 과정이 필요하며, 컴파일러 또는 인터프리터로 이용 C, C++, C#, JAVA, PYTHON 2) 구현방식 - 절차지향 언어 : 기계가 이해할 수 있도록 만들어진 언어/ 추상화 수준이 낮고 프로그래밍이 어려움 - 객체지향 언어 : 개발자가 소스코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어/ 번역 필요, 컴파일러와 인터프리터 사용 - 함수형 언어 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식의 언어 / Lisp, Scalar, Clojure, haskell - 논리형 언어 : 규칙에 대한 활성화 조건이 만족되면 연관된 규칙이 실행하는 구조 이론과 관계 규칙에 의해 원하는 결과를 얻음 PROLOG 3) 실행방식 - 컴파일 방식 : 고급 언어를 기계어로 변환, 실행에 필요한 정보가 컴파일 시간에 계산되어 실행 속도가 높음 C, C++, PASCAL, FORTRAN - 인터프리...

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용... * 객체지향 프로그래밍 언어 객체지향은 구조적 방식의 문제점을 극복하고 인간이 사고하는 방식대로 프로그램을 개발하려고 탄생 객체라는 실 세계에 존재하거나 또는 개념적인 그 어떤 것을 표현한 것을 이용하여 프로그래밍 하는 방식을 말함 1) 기존 프로그래밍과 비교 - 기능 중심의 프로그램과 달리 기능과 자료가 통합된 객체 단위로 프로그래밍 2)객체 프로그래밍 구성 : 객체, 클래스, 메세지 객체 구성: 개체, 속성, 메소드 3) 대표적인 객체지향 프로그래밍 언어 : JAVA, C#, 델파이, 스위프트 4) 객체지향 프로그램의 특징 - 캡슐화와 정보은닉 캡슐화는 기능과 데이터를 하나로 묶어 객체로 표현하는 것을 말함 클래스 내부의 동작을 모르더라도 클래스가 제공하는 메서드를 사용해서 클래스의 기능을 사용할 수 있음 캡슐화를 통해 정보은닉이 가능해짐 정보은닉 : private, package, protected, public - 추상화 실체에서 공통되는 속성이나 관심있는 부분만 추출하여 모델링 하는 개념 상속 : 상위 클래스의 속성과 메소드를 상속해서 새로운 클래스를 생성하는 기법 추상화된 클래스를 구체화 시키는 방법으로 사용 - 다형성 동일한 이름의 오퍼레이션이 각 클래스마다 다른 사양으로 정의될 수 있다는 것을 말함 하나의 클래스 안에서 사용되는 오버로딩과 상속관계의 클래스에서 사용되는 오버라이딩이 대표적 오버라이딩은 슈퍼클래스 타입으로 하위클래스에서 오버라이딩 한 메소드에 접근 할 수 있다는 점에서 강력 객체지향 설계의 OCP, LSP, DIP를 구현하기 위한 필수 요소이고, 다형성의 핵심이며, 다양한 디자인 패턴에서 사용 *스크립트 언어 소스코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어를 말함 주로 다른 응용 프로그램에 삽입되어 인터프리터를 통해 해석되고 동작함 인터프리터만 ...

django 설치 방법

django 설치 방법 Node.js의 npm PHP의 Composer가 있다면 Python에는 pipenv가 있습니다. 파이썬에서 패키지관리를 할때 사용하는 것에는 pip와 virtualenv가 있다. 하지만 이 둘은 각각 장단점을 가지고 있다. pip는 여러가지 패키지가 있지만 파이썬의 패키지 버전의 변화에 따라 프로잭트 환경이 변할 수 있다. virtualenv는 파이썬 버전과 라이브러리의 공간을 나누어 pip단점을 보완할 수 있다. 하지만 여러개의 requirements 파일들을사용해야 from http://h0n9670.tistory.com/46 by ccl(A) rewrite - 2020-03-25 01:20:08

2020년 1분기 회고록

2020년 1분기 회고록 2년 4개월 정도 다녔던 회사를 그만 뒀다. 다니면 다닐수록 기술력이 퇴보하는 것 같기도 하고, 프로젝트 진행도 안하고. 오래 있어봤자 괜찮은 개발 이력이 추가될 것 같지도 않았다. 이 회사를 그만둔 것은 지금 생각해도 후회는 없다. 복지가 좋긴 했지만. 하지만 이후에 꽤 인지도 있다고 생각한 비트코인 회사에 입사를 했는데,, 기대했던 개발은 뒷전이고 데브옵스 쪽 업무를 더 많이 해서 퇴사를 고민 중이다.. 기대치않았던 회사의 면접 합격으로 앞뒤 생각 안하고 단순히 호기심에 회사를 지원한 내 잘못인 것 같기도 하다. 도대체 어디서 부터 잘못되었을까.. 사실 지원했던 회사들의 면접이 떨어지고 난 그제서야 내 위치를 알았는데 회사에서 했던 프로젝트나 실무 경력을 중시하는 개발자 세계에서는 아무리 내가 개인 프로젝트를 많이 했어도 도움이 되지 않았던 것 같다. 본인은 뭔가 개념을 설명하는 것 보다도 실제 서비스를 운용하는 것에 더 관심이 많았다. 코드이그나이터를 기반으로 gulpJs(vanillaJS, SCSS)와 웹소켓(go)을 이용해서 실제로 운영까지 한 지역기반 커뮤니티 사이트. github pages 를 활용한 jekyll 블로그와 vueJS 페이지. 커스터마이징 한 티스토리 블로그 모두 도움이 안됐다.. 지금 다시 어렴풋이 생각해볼 땐 1. 문서화가 되지 않았다는 것 2. 실제 업무에 어떻게 적용이 될 것인지 에 대한 것이 부족하지 않았나 싶다. 올 해엔 재취업 목적으로 스프링부트를 활용한 프로젝트(간단한 MSA?)와 라라벨(+VueJS+웹소켓) 을 해보고 깃허브에 올린 후 README.md 를 작성하고 이후 미뤄뒀던 VueJs+Typescript (Glider-kr) 프로젝트를 진행해 볼까 한다. 특히 이번엔 부족했던 문서화에 좀 더 집중 해보고 싶긴 하다. 배포 프로세스(젠킨스, CI/CD) 와 AWS 활용도 해봐야 될 숙제인데.. 퇴사하고 좀 쉬면서 느긋...

Maria DB ↔ PHP ↔ Android 연동하기 - 5. 어플에서 php로 데이터 전송

Maria DB ↔ PHP ↔ Android 연동하기 - 5. 어플에서 php로 데이터 전송 Maria DB ↔ PHP ↔ Android 연동하기 - 4. JSON 파싱하기를 안보셨다면 먼저 보시는 것을 추천드립니다. 전 포스팅에서는 connect.php로 DB 테이블의 모든 값을 읽어 json 형식으로 되어있는 것을 어플에서 불러오는것을 해보았습니다. 이제 EditText로 원하는 값만 select하여 불러오는 것을 해보겠습니다. 안드로이드 코딩을 하기 전 새로운 php 파일을 만들어주겠습니다. 파일명은 select.php로 해주겠습니다. tree_name이라는 변수에 어플로부터 받아온 값을 넣어주게 됩니다. $row[0],'카테고리'=>$row[1],'키워드'=>$row[2],'보유수량'=>$row[3], '주당가격'=>$row[4],'위치'=>$row[5],'특이사항'=>$row[6],'수고'=>$row[7], '근원직경'=>$row[8],'흉고직경'=>$row[9],'수관폭'=>$row[10],'수관길이'=>$row[11], '지하고'=>$row[12],'육종방법'=>$row[13],'입력시간'=>$row[14])); } echo json_encode(array("Tree"=>$result), JSON_UNESCAPED_UNICODE); mysqli_close($con); ?> 전포스팅과 마찬가지로 Manifest.xml에 인터넷 사용허가와 usesCleartextTraffic="true"를 추가해줍니다. layout_main.xml 입니다. EditText로 나무 이름을 입력 후 버튼을 클릭...

5일통계 블로그 방문자수 확인하는 php소스

5일통계 블로그 방문자수 확인하는 php소스 - 좋아요 "; $j=$j-1; } } 5일통계 블로그 방문자수 확인하는 php소스 정말 너무 어렵다 . 괜히 반복문으로 엄청나게 뻘짓했다. from http://goodclickad.tistory.com/21 by ccl(A) rewrite - 2020-03-24 16:20:09

[MYSQL] MYSQL 복구

[MYSQL] MYSQL 복구 회사 직원의 실수로 Mysql 을 특정 DB를 날렸다. 결국 복구는 했지만 백업화일을 만들어 두지 않아서 나름 귀찮고 힘든 과정이었다. 그래서 mysql 를 날렸을때 복구하는 방법을 간단하게나마 설명하고자 한다. root 계정으로 작업하고 /usr/local/mysql 을 기본 디렉토리로 본다는 가정하에.. ^^ mysqldump를 이용한 백업화일이 존재하는 경우 /usr/local/mysql/bin/mysql -u root -p 가장 쉽게 복구하는 방법이다. 하지만 이 경우 문제점이 있다. Cron 등의 프로그램으로 매일 백업을 받는다고 하더라도... 백업받은 시점과 DB를 날린 시점에서의 데이터는 다를수 있기 때문이다. 그런 부분을 커버 할수 있는것이 binlog 이다. 원래 binlog는 replication 을 위한 것인데... replication 이 아닌 복구용도로도 훌륭한 데이터이다. /etc/my.cnf 에.. log-bin 라는 부분이 주석처리 되어 있지않으면.. mysql 은 기본적으로 /usr/local/mysql/data 디렉토리에 Host명-bin.000001 Host명-bin.000002 .... 과 같은 형식으로 만들어 질것이다. mysql을 재시작할때마다 Host명-bin.0000001 에서 숫자부분이 늘어난 화일이 생성되며 그 화일에 새롭게 기록한다. ※ mysql binlog 디렉토리 설정 my.cnf 에서 log_bin = /usr/local/mysql/data/mysql-bin.log bin 로그에는 기본적으로 DDL(Create, Alter, Drop)문과 DML중 Insert Update Delect 문등이 기록되는데.. 이 기록들은 기본적으로 데이터에 변화를 주는 SQL문들이다.. bin 로그를 보려면 log의 데이터를변환해야한다. binlog는 기본적으로 바이너리로 되어 있기에 텍스트 형태로 푸는 과정이 ...

태글(Taggle) 기업 정보

태글(Taggle) 기업 정보 태글(Taggle)은 넷플릭스 초기투자사 SOSV로부터 투자받은 한국 최초의 S/W 스타트업으로서 모바일 사진/영상 공유 앱 분야에 도전하는 글로벌 스타트업입니다. 전 세계 스마트폰의 '사진 갤러리 앱'은 과거의 폴더/앨범 방식에서 벗어나지 못하고 혁신이 정체되어 있습니다. 저희 태글은 엄청나게 빠른 속도로 늘어나고 있는 스마트폰으로 찍히는 사진들을 #해시태그로 손쉽게 분류하고 검색하고, 그리고 공유를 통해 여러 사용자들과 갤러리 컨텐츠가 확장되는 새로운 개념의 갤러리 서비스를 개발하였습니다. 우리는 기존 #태그 기반 갤러리 서비스에서 소셜과 공유 기능을 강화하고 초기에 스타와 팬을 연결하는 서비스로서 "피퍼(Peeper)"를 런칭하였습니다. 이를 통해 "사진을 기반으로 한 새로운 커뮤니케이션"으로 확장하여 사진 기반 소셜 플랫폼으로 발전시켜 나가고 있습니다. 이를 통해 사진 관리와 보관 뿐만 아니라 소셜미디어, SNS 성격의 사진 공유와 라이브 채팅 서비스까지 아우르는 새로운 모바일 플랫폼으로 고도화 하고 있습니다. . 사진을 찍고 분류하고 친구들에게 보여주고, 또 다운로드를 받게 하기 위해 전송하는 모든 과정에 있어서 수 많은 앱으로 흩어져있는 것이 현재의 실정입니다. 그러나 우리는 '갤러리' 라는 컨셉으로 갤러리의 일부를 공개하여 다른 친구들이 자신의 갤러리를 방문해 엿볼 수 있게 함으로서, 기존의 자랑/과시 사진 공유나 텍스트 위주 채팅과는 다른 '모바일 사진'에 대한 새로운 재미를 경험할 수 있도록 하기 위해 다양한 시도를 하고 있습니다. 회사의 서비스의 주요 수익 모델은 어떻게 되나요? 회사는 유저 성장에 집중하고 투자 기반으로 성장에 집중을 하는 구조입니다. 하지만 금번에 업데이트 되는 신규 서비스가 안정화 된 이 후에는 사용자수가 적더라도 바로 수익 모델이 탑재될 예정입니다. 첫번째 BM은 '포인트 캐...

2020년 3월 24일 보안정보 스크래핑

2020년 3월 24일 보안정보 스크래핑 3월 24일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - Microsoft Windows, Windows Server에 영향을 미치는 RCE 취약점 경고 1. Microsoft Windows, Windows Server에 영향을 미치는 RCE 취약점 경고 Microsoft는 현재 지원되는 모든 Windows 및 Windows Server 운영 체제 버전에 영향을주는 Adobe Type Manager Library의 원격 코드 실행 취약성을 해결하기위한 보안 권고를 발표 - https://www.us-cert.gov/ncas/current-activity/2020/03/23/microsoft-rce-vulnerabilities-affecting-windows-windows-server ==================================================================== + 취약점 - Joomla! com_hdwplayer 4.2 - 'search.php' SQL Injection 1. Joomla! com_hdwplayer 4.2 - 'search.php' SQL Injection Exploit type: SQL Injection - https://www.exploit-db.com/exploits/48242 ==================================================================== + 보안이슈 - 50억 건 기록이 저장된 DB, 설정 오류로 고스란히 노출 외 2건 1. 50억 건 기록이 저장된 DB, 설정 오류로 고스란히 노출 50억 개가 넘는 기록이 저장된 DB가 노출되어 있었음. 어도비, 트위터 등 유명 회사들의 과거 유출 사고와 관련 ...

CSS(Client Side Script)

CSS(Client Side Script) WEB Language - WEB 서비스를 위한 Data(Hyper Text)를 생성 → HTML - Client와 Server의 동작을 제어(동적 기능 구현)  Client → CSS (JavaScript, VBScript, Jscript …)  Server → SSS (ASP, PHP, JSP … ) - Database를 생성하고 제어 및 관리 → SQL(MY-SQL, MS-SQL, ORACLE … ) • WEB Language 참고 - https://www.w3schools.com/ • W3C (World Wide Web Consortium) - 팀 버너스 리를 중심으로 1994년 설립 된 WEB을 위한 표준을 개발하고 장려하는 조직  웹 표준과 가이드라인 개발 - https://www.w3.org/ - 각 국가에 사무국을 두고 있음  우리나라 → http://w3c.or.kr/ HTML - Tag를 이용하여 WEB Data(Hyper Text 문서)를 생성하기 위해 사용되는 프로그래밍 언어 - HTML 기본 Tag  http://www.w3schools.com/html/default.asp • HTML 문서 생성 - 텍스트 편집기 또는 전용의 프로그램을 이용 함  Notepad, 에디트 플러스(Edit Plus), 아크로 에디터(Acro Editor), 크림슨 에디터(Crimson Editor) … - HTML 확장자  html로 구성된 파일은 .htm 또는 .html 확장자를 사용 함 • HTML 주석 HTML 구성 - Elements(엘리먼트, 요소)  HTML문서를 구성하는 모든 명령어(Tag) 모음 제목 문단 - Tag(태그)  Elements의 일부로서 지정된 하나의 기능을 수행하는 명령어  시작태그, 종료태그로 구성 됨 → 태그의 종류에 따라 종료 태그가 ...

✅ IIS에 PHP 7 설치하기

✅ IIS에 PHP 7 설치하기 🕋 PHP란? PHP는 프로그래밍 언어의 일종이다. 원래는 동적 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해 PHP로 작성된 코드를 HTML 소스 문서 안에 넣으면 PHP 처리 기능이 있는 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성한다. 근래에는 PHP 코드와 HTML을 별도 파일로 분리하여 작성하는 경우가 일반적이며, PHP 또한 웹서버가 아닌 PHP FastCGI Process Manager을 통해 실행하는 경우가 늘어나고 있다. (위키백과 - PHP) 🕋 IIS 설치 🐱‍💻Installing IIS Components Windows 10 를 참고해 주세요. 🕋 IIS에 PHP 설치 IIS에서 우측에 "새 웹 플랫폼 구성 요소 가져오기" 를 누릅니다. 만약 설치되있지 않다면 사이트로 연결될 겁니다. 그냥 설치 누르시면 됩니다. 설치하는거 정말 쉽습니다 (next.... next.... next... next.... 끝 ) Web Platform Installer 에 들어가셔서 우측 검색창에 'PHP' 라고 검색합니다. PHP 7.4.1 (x86)(Korean) 버전을 추가 눌러줍니다. 그리고 하단의 설치 버튼을 눌러줍니다. 동의함 버튼을 누르시고 넘어가줍니다. 이제 설치가 될겁니다. 설치가... 됬죠? 마침을 눌러줍니다. 이제 IIS를 껏다 켜주시면 처리기 매핑 이라는 항목이 생깁니다. 여기 들어가 줍니다. 처리기 매핑 항목의 우측에 "모듈 매핑 추가" 를 눌러줍니다. 요청 경로에는 *.php 를 입력해주고요 모듈 에는 FastCgiModule 을 찾아서 눌러줍니다. 실행 파일에는 ... 버튼을 누르셔서 C드라이브 - Program Files (x86) - PHP - v 7.4 폴더의 php-cgi.exe 를 선택합니다. 이름은 ...

php array sum

php array sum 1 2 3 4 5 6 7 8 9 10 11 12 from http://anko3899.tistory.com/431 by ccl(A) rewrite - 2020-03-23 19:20:08

[Linux] php 메모리 부족 (PHP Fatal Error: Allowed memory size of)

[Linux] php 메모리 부족 (PHP Fatal Error: Allowed memory size of) 서버 램이 넉넉잡아 16기가 정도 남았다고 해봅시다. memory_limit이 128MB(기본값)이라면 섬네일 생성이 필요한 페이지를 동시에 100명이 요청해도 됩니다. (128MB × 100 = 12.8GB) memory_limit이 512MB이라면 섬네일 생성이 필요한 페이지를 동시에 50명만 요청해도 서버가 다운됩니다. (512MB × 50 = 25.6GB) 즉 서버에서 안정적으로 처리할 수 있는 동접수에 큰 차이가 생기고, 악의를 가진 사용자가 일부러 대용량 이미지를 첨부한 후 동시에 다수의 섬네일 생성을 요청하여 서버를 마비시킬 수 있는 취약점도 발생합니다. PHP Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 37065440 bytes) in classes/db/DBMysql.class.php on line 356 위 에러는 메모리가 부족한경우이다 /etc/php.ini에 memory_limit 파라미터를 수정해주면된다 위 파라미터 기본값은 128M이다 ※메모리 무제한으로 풀기 ini_set('memory_limit','-1'); 공유하기 글 요소 저작자표시 from http://serverstudy.tistory.com/141 by ccl(A) rewrite - 2020-03-23 16:20:09

How to create RESTAPI using DreamFactory

How to create RESTAPI using DreamFactory 드림팩토리를 통해 자동으로 RESTAPI를 생성해보자. [드림팩토리 설치] 드림팩토리를 설치하기 위해 먼저 설치되어야할 소프트웨어들이 있다. PHP 7.2 이상 Git 웹서버 데이터베이스(드림팩토리 자체에서 사용할 용도) Composer https://github.com/dreamfactorysoftware/dreamfactory.git에서 클론을 받는다. 드림 팩토리는 PHP Laraval Framework를 통해 개발된것을 볼 수 있으며 composer를 통해 패키지를 설치해준다. artisan 커맨드를 통해 드림팩토리에서 사용할 데이터베이스의 정보 및 사용자 정보를 입력한다. RESTAPI에 연결한 DB 정보가 아닌 드림팩토리 자체에서 사용할 DB정보를입력 드림팩토리 계정 정보 환경설정이 완료되었으면 서버를 시작한다. host 옵션을 주지않으면 디폴트로 127.0.0.1로 서버가 열리는데 내부에서만 접근 가능하므로, 0.0.0.0으로 서버를 열고 방화벽 정책을 통해 화이트리스트 기반으로 접근제어하는게 좋겠다. 드림팩토리를 리눅스에 설치해야하는데 리눅스에서 웹브라우저로 서비스를 이용해도 괜찮다면 127.0.0.1로 열어도 괜찮다. 설치가 정상적으로 이루어지면 기존에 생성한 계정을 통해 로그인한다 [RESTAPI 만들기] 로그인 후 메인화면 먼저 Services 탭에서 서비스를 생성한다. 서비스 생성시 Config탭에서 연결할 DB의 정보를 입력한다. 이후 해당 서비스에 접근할 권한을 설정하기 위해 role 탭에서 해당 서비스 전용 role을 생성한다. 위 세팅은 sakila서비스에 있는 모든 프로시져에 대해 get과 post 메소드만을 허용한다는 의미이다. 이제 해당 권한을 적용할 어플리케이션을 Apps 탭에서 생성하고 위에서 생성한 role을 적용한다. 어플리케이션을 생성하면 위에서 생성한 서비스...

[ Lord of SQL Injection ] Gremlin

[ Lord of SQL Injection ] Gremlin php코드를 보면 GET방식을 통해 id와 pw값을 받는 것을 알 수 있다. 그리고 쿼리문을 날렸을 때 만족되는 값이 있으면 성공이다. select id from prob_gremlin where id='' or 1=1-- a' and pw='' 가 되게끔 url에 ?id='' or 1=1-- a라고 입력하면 문제 해결~! 여기서 --는 한 줄 주석처리를 의미하는데 이후 공백 문자 1칸이 반드시 필요하다. -- 뒷 부분이 주석처리 되면 구문은 select id from prob_gremlin where id='' or 1=1 이 되어 항상 참 값을 갖게 된다. from http://jeongminhee99.tistory.com/37 by ccl(A) rewrite - 2020-03-23 10:54:07

동적 메모리 할당_현재까지 내가 이해한 내용

동적 메모리 할당_현재까지 내가 이해한 내용 int *ptr = NULL; //포인터는 항상 선언해줄때 비워주자. ptr = (int*)malloc(sizeof(int));//int = 4 ptr에 인트 사이즈 만큼 비워달라고 한다. ptr = (int)malloc(sizeof(int)); 아무변수 = (자료형)malloc(sizeof(자료형)); *ptr=4; //ptr이 가르키는곳에 4 들어감. free(ptr);//메모리 공간을 비워줘야한다. ////////////////////////////////////////// 다른 케이스 int *dangling = NULL; dangling 이라는 포인터를 null로 선언해주고 dangling = ptr; //dangling 에 ptr 값을 저장했는데 free(ptr); //ptr만 풀어주면 dangling 값은 가르키는게 아무것도 없게됨. 접근할 수 없는 상태이기에 *dangling = ? //overflow //문제가 발생합니다. ///////////////////////////////////////// 이래서 배열도 선언할수 있다. ptr[i] //이런 식으로 배열 선언해주고 *(ptr+3)//ptr[3] //아니면 ptr+3 해줘도 된다. 참고 https://dojang.io/mod/page/view.php?id=319 from http://seongth.tistory.com/24 by ccl(A) rewrite - 2020-03-23 02:54:08

[워킹데드] 시즌10 1화

[워킹데드] 시즌10 1화 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 from http://zzcojoa.tistory.com/43 by ccl(A) rewrite - 2020-03-23 02:20:08

[워킹데드]시즌10 3화

[워킹데드]시즌10 3화 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 from http://zzcojoa.tistory.com/45 by ccl(A) rewrite - 2020-03-23 01:54:07

Maria DB ↔ PHP ↔ Android 연동하기 - 4. JSON 파싱하기

Maria DB ↔ PHP ↔ Android 연동하기 - 4. JSON 파싱하기 Maria DB ↔ PHP ↔ Android 연동하기 - 3. 외부 접속 설정하기 를 안 보셨다면 먼저 보시는 것을 추천드립니다. 전 포스팅에서 로컬에 있는 php 파일을 외부에서 접근할 수 있게 해 주었습니다. 이제 이 php 파일에 있는 JSON을 파싱 해서 사용하겠습니다. 먼저 인터넷을 사용해야 하기 때문에 Manifest.xml에 인터넷 사용허가 코드를 넣어줘야 합니다. 추가로 안드로이드 Pi 버전이상을 사용 중이라면 application 태그 안에 androidandroid:usesCleartextTraffic="true"도 추가해줘야 합니다. 추가하지 않으면 ava.io.IOException: Cleartext HTTP traffic to not permitted 에러가 발생하게 됩니다. 파싱 한 값을 저장할 클래스를 하나 만들어줍니다. public class Tree { String name; // 이름 String category; // 카테고리 String keyword; // 키워드 ... public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getKeyword() { return keyword; } public void setKeyword(String keyword) { this.keyword = keyword; } ... } get과 set은 일일이 입력하는 것보다 변수를 입력하고 드래그 후 Alt + Insert를 눌러 Getter and Setter를 눌...

laravel-3 send data to blade

laravel-3 send data to blade 다음과 같은 것도 가능하다. php에서는 이것이 기본 문법이지만 라라벨에서는 @형태로 간단히 쓸수 있다. *추가적으로 변수를 보낼때 with를 쓰는 방법도 있다. from http://h0n9670.tistory.com/45 by ccl(A) rewrite - 2020-03-23 00:54:07

🌐 티스토리 블로그 웹마스터 등록하기

🌐 티스토리 블로그 웹마스터 등록하기 오늘은 블로그를 운영하시는 분들을 위해서 구글과 네이버 웹마스터에 자신의 블로그를 등록하는 방법에 대해서 알려드릴까 합니다. 이 강좌는 티스토리 블로그를 기준으로 진행됩니다만, 티스토리 블로그가 아닌 분들도 충분히 하실 수 있습니다. 우선 네이버부터 시작하겠습니다. 웹마스터에 등록하기 위해서 우선 블로그를 준비 합니다. 전 이걸 하기 위해 옛날에 만들어두고 활동을 하지 않은 ReverNine 블로그를 준비했습니다. 우선 네이버 웹마스터 도구(네이버 서치어드바이저) 에 접속합니다. 네이버 서치어드바이저 상단에 "웹마스터 도구" 버튼을 클릭합니다. 자신의 블로그 주소를 사이트 등록 항목에 입력하고 엔터를 클릭합니다. (이 블로그로 안하는 이유가 이미 등록해둬서.....) 제가 그 블로그의 주인장(?) 이 맞는지 검증하는 항목인것 같네요. HTML파일을 업로드 하셔도 되는데... 도데체 뭐가 뭔소린지 모르는 분들이 많은 것 같아 아래에 "HTML 태그" 항목에 체크하고, 아래 있는 을 복사해서 자신의 티스토리 블로그 관리자 페이지로 갑니다. 좌측에 [꾸미기] 항목의 으로 이동해 줍니다. 들어가셔서 버튼을 클릭합니다. 이런식으로 상단에 한줄을 만드셔서 아까 복사한 내용을 붙여넣기 해줍니다. 그리고 상단에 "적용" 버튼을 누릅니다. 그다음에 다시 네이버 서치어드바이저 에 들어가셔서, 소유확인 버튼을 누릅니다. 제가 제일 싫어하는 보안문자 입력을 하면, 아래와 같이 뜰겁니다. 네이버는 성공했습니다. 근데 아직 해야할 작업이 있으니 네이버 서치어드바이저 탭은 종료하지 마세요. 그다음, 구글 서치 콘솔(Google Serach Console) 에 들어가줍니다. 우측 URL 접두어 부분에 URL 입력란에 자신의 블로그 주소를 https 까지 빠지지 않고 작성 합니다. 그리고 계속을 눌러줍니...

laravel-2 blade layout

laravel-2 blade layout resources/views에 3개의 파일을 만들고 web.php에 각각 주소를 할당해 주었다. contact를 누르면 주소가 127.0.0.1:8000/contact로 바뀌면서 내용이 바뀐것을 확인 할 수 있다. 하지만 여기서 위에 메뉴는 바뀌지 않고 코드가 중복되는 것을 확인 할 수 있다. 이럴때 필요한 것이 레이아웃이다. 레이아웃을 쓰기 위해선 첫번째로 layout.blade.php(레이아웃 페이지)를 만들고 기존의 코드를 넣는다. 그 후 페이지마다 바뀌는 부분에 @yield( ,)로 영역을 잡아놓는다. 두번째로 각페이지는 @extends('layout') 레이아웃페이지를 쓴다고 선언하고 마지막으로 @section( )과 @endsection( )을 잡고 그 내부에 @yield( ,)부분에 들어갈 코드를 입력하면된다. 레이아웃을 쓰게되면 중복을 삭제하여 코드의 가독성이 좋아지고 수정을 할때 한번에 처리할 수 있어 편리해진다. from http://h0n9670.tistory.com/44 by ccl(A) rewrite - 2020-03-22 23:54:07

[드라마 다시보기] 킹덤 시즌2 다시보기

[드라마 다시보기] 킹덤 시즌2 다시보기 [ https://discord.gg/49qcVvb ] [ Madico Movie 전용입니다 . 무단도용 제보받습니다 . 사례금 O ] 1화 : https://embed.dramacool.video/streaming.php?id=MTg5Nzc2&title;=Kingdom%3A+Season+2+episode+1&typesub;=SUB 2화 : https://embed.dramacool.video/streaming.php?id=MTg5Nzc3&title;=Kingdom%3A+Season+2+episode+2&typesub;=SUB 3화 : https://embed.dramacool.video/streaming.php?id=MTg5Nzc4&title;=Kingdom%3A+Season+2+episode+3&typesub;=SUB 4화 : https://embed.dramacool.video/streaming.php?id=MTg5Nzc5&title;=Kingdom%3A+Season+2+episode+4&typesub;=SUB 5화 : https://embed.dramacool.video/streaming.php?id=MTg5Nzgw&title;=Kingdom%3A+Season+2+episode+5&typesub;=SUB 6화[완] : https://embed.dramacool.video/streaming.php?id=MTg5Nzgx&title;=Kingdom%3A+Season+2+episode+6&typesub;=SUB 본 게시물에 게재된 내용은 인터넷 서핑을 통해 타사의 동영상 서비스에 대한 링크를 제공한 것이며 동영상을 직접 제작/업로드하지 않습니다. 모든 동영상정보에 대한 권리는 해당 저작권자에게 있으며 권리자의 요청이 있을 경우 관련게시물을 삭제함을 알려드립니다 from http://madicomovie....

laravel-1 라우트 & 뷰

laravel-1 라우트 & 뷰 Java에 Spring이 있다면 php에는 laravel이라는 프레임워크가 존재한다. 물론 php에는 laravel말고도 다른 framework가 존재하지만 그 중 많이 사용되고 있는 laravel에 대하여 지금부터 알아보자. laravel의 설치는 php와 따로 설치해도 되지만 php의 작업환경을 설정해주는 Bitnami를 설치한다면 개별적으로 설치할 필요없이 설치중 같이 설치 할 수 있다. 개인적으로는 Bitnami를 설치하면서 laravel을 같이 설치하였기 때문에 설치가 되있다는 가정하에 실행방법을 알아보자. cmd 창에서 laravel이 설치된 폴더로 이동한다. laravel실행법 더보기 php artisan serve, http://127.0.0.1:8000 폴더에서 php artisan serve를 입력하면 서버가 실행됬다는 문구와 함께 주소가 나오는데 그 주소를 복사해서 주소줄에 쓰면 다음과 같은 창이 뜨면 성공이다. 이제 어떤 식으로 프로그램이 실행됬는지 알아보자. 라라벨의 폴더 중 routes/web.php을 보면 get('/'에 주소를 받아서 view('welcome')으로 반환해주는 것을 볼 수 있다. 이것은 welcome.blade.php파일의 모습이다. 이것은 우리가 첫화면에서 보았던 laravel페이지의 소스인 것을 쉽게 알 수 있다. 즉; 127.0.0.1:8000/ 에서 마지막 '/'는 get('/' 에서의 /이고 view('welcome')은 view/welcom.blade.php를 의미한다. from http://h0n9670.tistory.com/43 by ccl(A) rewrite - 2020-03-22 22:54:07

[ Wargame.kr ] DB is really GOOD

[ Wargame.kr ] DB is really GOOD Challenge DB is really GOOD - 216p 코드를 한번 확인해 보자 admin이라고 입력하면 코드대로 dont access with admin이 뜬다. 아무 단어 hello를 입력해보면 다음과 같은 화면이 뜬다. 특수문자까지 입력해보다가 오류를 일으키는 문자가 /라는 것을 알아내었다. ./db/wkrm_(user).db 이런 형식으로 각 사용자의 데이터베이스 파일이 저장되는 것 같은데 /라고 치면 경로에 문제가 생겨서 그런 것 같다. -> ./db/wkrm_/.db 그래서 만약에 hello/라고 치면 ./db/wkrm_hello/.db가 되어 오류가 발생하는 것이다. admin에 대한 파일에 접근하기 위해서 ./db/wkrm_admin.db를 url에 입력해보면 다음과 같이 파일 하나가 다운로드가 된다. (입력창에 admin이라고 치면 코드에 의해 alert가 뜨므로 url에 입력해야 한다.) 워드 패드로 열어보니 ./dhkdndlswmdzltng.php 안에 플래그 값이 있다는 문자를 확인할 수 있었다. from http://jeongminhee99.tistory.com/35 by ccl(A) rewrite - 2020-03-22 21:20:08

Maria DB ↔ PHP ↔ Android 연동하기 - 3. 외부 접속 설정하기

Maria DB ↔ PHP ↔ Android 연동하기 - 3. 외부 접속 설정하기 Maria DB ↔ PHP ↔ Android 연동하기 - 2. JSON 형식으로 추출하기를 안 보셨다면 먼저 보시는 것을 추천드립니다. 전 포스팅에서 로컬에 있는 DB를 JSON 형식으로 볼 수 있게 해 주었습니다. 이제 안드로이드에서 JSON을 파싱해서 사용할 것인데 어플리케이션을 사용하면 내부 네트워크에서 사용하기보단 외부 네트워크에서 사용하는 경우가 더 많기 때문에 외부에서 로컬의 php 파일에 접근할 수 있게 해줘야 합니다. XAMPP를 실행 후 Apache를 Start 하면 Ports에 80, 443 포트를 사용한다고 나와있습니다. 주소에 본인의 아이피:80, :443을 입력했을 때 localhost를 입력했을 때와 같이 제대로 실행이 되는 포트를 확인해봅니다. 80 포트만 제대로 작동하니 80 포트를 사용하겠습니다. 다음으로 포트 포워딩을 해주겠습니다. 포트포워딩을 하는 방법은 링크 로들어가시면 보실 수 있습니다. 이제 규칙을 추가해주고 저장을 눌러줍니다. 이렇게 하면 외부 아이피:포트번호로 접속을 하면 접속이 돼야 하는데 어쩐 일인지 접속이 되지 않습니다. 그 이유는 윈도에서 사용 중이기 때문에 방화벽 설정을 해줘야 합니다. 제어판에서 Windows Defender 방화벽으로 들어와 줍니다. 좌측에 있는 고급 설정으로 들어갑니다. 그리고 좌측의 인바운드 규칙을 누르고 우측에 있는 새 규칙을 클릭합니다. 규칙 종류를 포트로 설정하고 다음을 눌러줍니다. TCP를 선택하고 특정 로컬 포트에서 Apache의 접속 포트를 입력해주고 다음을 눌러줍니다. 연결 허용을 선택하고 다음을 눌러줍니다. 기본으로 설정이 되어있는 상태로 다음을 눌러줍니다. 마지막으로 이름과 규칙을 넣고 마침을 눌러줍니다. 이제 외부 IP 주소:외부 포트번호/만들어놓은 php로 접속을 하면 제대로 접속이 되는 것을 확인할 수 있습니다. from...

[PHP] 파일 함수 (1) - fopen(), fclose(), fwrite()

[PHP] 파일 함수 (1) - fopen(), fclose(), fwrite() 파일 함수를 쓰면 파일을 생성한 후 텍스트 파일에 내용을 입력하고 읽을 수도 있다. fopen() : 파일을 여는 함수 파일을 읽거나 쓰기 위해서는 파일을 먼저 열어야 한다. 구성 fopen('파일 경로 및 파일명', '파일을 여는 옵션'); 파일을 여는 옵션의 종류는 다음과 같다. 옵션 의미 r 파일을 읽기 전용으로 열기 쓰기 불가능 w 파일을 쓰기 전용으로 열기 기존 파일이 있을 때 내용 지우고 작성 a 파일을 쓰기 전용으로 열기 기존 파일이 있을 때 뒤에 덧붙임 r+ 파일을 읽고 쓸 수 있도록 열기 기존 파일이 있을 때 내용 지우고 작성 a+ 파일을 읽고 쓸 수 있도록 열기 기존 파일이 있을 때 뒤에 덧붙임 fclose() : 파일을 닫는 함수 fopen() 함수를 이용하여 연 파일은 작업이 끝나고 파일을 닫아야 한다. 사용 방법 $file = fopen('파일명'); fclose($file); fwrite() : 파일에 내용을 작성하는 함수 사용 방법 $fp = fopen('파일 경로와 파일명', 'w'); $fw = fwrite($fp, '파일에 쓸 내용'); 파일에 내용을 쓰기 위한 목적이므로 fopen() 의 두 번째 아규먼트로 a또 또는 w 를 사용한다. Result 파일이 잘 만들어진 것을 확인할 수 있다. from http://youngdev57.tistory.com/50 by ccl(A) rewrite - 2020-03-22 18:20:11

<Form> 요소

요소 form 요소 웹 페이지에서는 form 요소를 사용하여 사용자로부터 입력을 받을 수 있습니다. 또한, 사용자가 입력한 데이터를 서버로 보낼 때에도 form 요소를 사용합니다. form 요소는 다음과 같은 문법으로 사용합니다. action : 사용자가 입력한 데이터를 받아 처리하기 위한 웹 프로그램(ASP, PHP, JSP… 등)의 페이지 지정 method : 웹 서버와 클라이언트 간의 통신 방법 지정(GET 방식, POST 방식) type : 폼의 모양과 기능 결정 name : 폼의 이름 결정 이렇게 전달받은 데이터를 처리하는 스크립트 파일을 폼 핸들러(form-handler)라고 합니다. 위에서 설명했던 것과 같이 method 속성은 입력받은 데이터를 서버에 전달할 방식을 명시합니다. 따라서 사용자가 form 요소를 통해 입력한 데이터는 action 속성에 명시된 위치로 method 속성의 방식을 통해 전달됩니다. method 속성 method 속성을 통해 명시할 수 있는 form 요소의 전달 방식은 GET 방식과 POST 방식으로 나눠집니다. Get 방식의 경우 주소 뒤에? key=value &항목=값 형태로 구성되며 Post 방식의 경우 보이지 않는 형태로 다음 페이지에 전송됩니다. 자세한 설명은 아래와 같습니다. GET 방식 URL 뒤에 파라미터를 붙여서 데이터를 전달하는 방식 사용자가 보내는 데이터는 이름과 값이 결합된 문자열 형태로 전달, 각 이름과 값의 쌍은 '&' 기호로 구분 서버로 보낼 수 있는 최대 글자수는 2,048자 URL을 보면 어떤 데이터를 전송하고자 하는지 알 수 있기 때문에 보안에 취약 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Get 방식 GET 방식으로 데이터 전송 이름 : 전공 : Colored by Color Scripter cs GET 방식은 주소에 데이터(dat...

코딩 시리즈_4 코딩의 종류

코딩 시리즈_4 코딩의 종류 최근 인기를 모으고 있는 블록 기반형 언어 스크래치는 블록 모양의 명령어를 쌓아 프로그래밍을 하는 것입니다. 반면, 우리가 아는 XML, PHP, HTML 등의등의 언어들은 텍스트 기반의 프로그래밍 언어입니다 텍스트 기반의 프로그래밍 언어들은 모든 프로그래밍 명령어를 직접 입력하는 방식을 말합니다. 직접 키보드로 입력해야 하다 보니 키보드 작업에 능숙해야 하고 구문도 복잡하며 오류에도 민감하다는 단점이 있습니다. 예를들어, 간단한 문장을 하나 만들 경우라도 10줄 이상의 명령어를 사용해야 합니다. 하지만 모든 텍스트 기반의 코드가 모두 길고 복잡한 것을 아닙니다. C언어의 경우 길고 복잡한 언어에 속합니다. 그에 반해 파이썬(Python)은 C언어로 수 백 줄을 해야 하는 코딩을 몇십 줄로 해결할 수 있습니다. 그렇다고 파이썬이 무조건 C언어보다 좋은 것은 아닙니다. 또 대부분 프로그래밍 언어들은 각 프로그램 또는 통합개발환경을 설치하여 각 언어에 맞는 코딩법을 익혀야 합니다. 그래서 텍스트코팅의 문제 해결 능력보다 프로그래밍 문법이 어려워 쉽게 도전하지 못하는 분이 계십니다. 그러나 종류는 달라도 다음과 같이 변수, 함수, 조건문, 반복문 등의 문법은 대부분의 언어가 거의 동일한 문법을 사용하고 있습니다. 그러므로 한 가지 문법을 다룰 줄 알면 다른 언어에는 금방 익숙해질 것입니다. 이러한 텍스트 기반의 프로그래밍 언어는 하드웨어를 제어하거나 애플리케이션을 개발할 용도로 많이 사용됩니다. 우리가 잘 알고 있는 구글 사이트나 크롬, 마이크로소프트사의 워드, 엑셀, 파워포인트 등이 C++ 언어로 개발되었습니다. 그러나 텍스트 기반 프로그래밍 언어가 아무리 중요하고 쉽다 하더라도 초보자에게는 시행착오가 많아 흥미를 잃게 하는 요인이 될 수 있는 것도 사실입니다. 그래서 코딩에 입문하시는 분이라면 블록 기반 프로그래밍 언어에서 텍스트 기반 프로그래밍 언어 순서로 시도해 보는 것을 추천해 드립니...

[PHP] 파일 함수 (2) - fread(), filesize(), file_exists()

[PHP] 파일 함수 (2) - fread(), filesize(), file_exists() [PHP] 파일 함수 (1) - fopen(), fclose(), fwrite() 앞의 포스팅에서 파일을 열고 닫고 작성했다면 이번엔 작성된 파일의 내용을 불러 오는 내용이다. fread() : 작성된 txt 파일의 내용을 불러오는 함수 구성 fread('fopen()', '불러올 용량'); 파일의 용량을 확인하는 함수는 filesize() 함수를 이용한다. 이 함수는 바이트 단위의 용량을 반환한다. 파일이 없을 때 발생하는 오류를 방지하기 위해서는 파일 존재 여부를 확인해주는 file_exists() 함수를 이용한다. 이 함수는 파일이 존재하면 true 를 반환하고 존재하지 않으면 false 를 반환한다. Result Hello World! I am a YoungDev. from http://youngdev57.tistory.com/51 by ccl(A) rewrite - 2020-03-22 16:54:07

라라벨에서 POST 전달하기

라라벨에서 POST 전달하기 # 라라벨을 사용중 라우터를 활용한 RESTful API를 적용하기위해 POST방식으로 전달을 연습 라라벨에서 POST방식 전달시에는 토큰이 반드시 필요하다! GET POST 방식에 대한 정보 라라벨을 프레임워크로 사용하면서 RESTfulAPI방식을 활용하기위해서 GET, POST방식을 연습 GET은 보통 읽기위한 정보, 즉 자주바뀌는 정보같이 게시판글이나 댓글같은 것들에 주로 활용하게 된다. 누군가에게 노출되어도 상관없기때문이다. 반면, POST는 주로 쓰기로 어떤 내용이 보이지않아야하고 숨겨져야만하는 정보다. 글쓰기를 작성하기위한 작성자 개인정보라던지 작성자가 알리지않고 싶어하는 정보들을 숨기는데 유용하게 쓸 수있다 아무튼 라라벨에서 POST방식을 활용하기위해서 POSTMAN을 활용하려고 했다. POSTMAN을 통한 POST전달 419 Page Expired가 뜨는데 라라벨환경에서는 CORS가 뜨게 되니까 반드시 버전에 맞는 CORS회피코드를 넣어줘야한다.. https://laravel.kr/docs/5.5/csrf 그렇기에 확인하기위해 POSTMAN을 사용할수 없었고 (방법을 알면 알려주십시오..) 제가 쓰는 버전은 5.5버전이기에 아래의 문장을 넣어줬다.( 라라벨홈페이지에서 버전에 맞게 확인해주세요) index페이지 //index.php //라라벨 5.5 버전에서는 CORS을 회피하기위해 아래의 코드를 작성해야한다. {{ csrf_field() }} POST값 확인페이지 // 라우터 routes/ web.php Route::post('info','userController@aa'); // userController 내부의 aa 함수 public function aa(){ //request()-> all은 모든 요청받은 값을 출력하는 코드이다. return request()->all(); } 위의 index.ph...

Paypal에서 발견된 HTTP Request Smuggling - 실습 환경 구축

Paypal에서 발견된 HTTP Request Smuggling - 실습 환경 구축 요즘 http request smuggling 공격에 대해 몇일간 공부 중이다. 몇달 전에 이 공격을 처음 접하게 되면서 이 공격에 대해 매우 흥미를 느꼈다. http request smuggling 공격에 대해 portswigger 라는 홈페이지에서 자료를 통해 공부를 했고 실습 환경을 만들어 공부 해보면 어떻까 라는 생각을 해서 이렇게 글로 정리를 해본다. 이 실습 환경 만든다고 개고생 했다.. 삽질한 것을 바탕으로 아래 글에 나와 있는데로 진행할 경우 성공할 것이라고 생각한다. 필자가 참고한 사이트는 아래 Reference에 있으니 참고 하길 바란다. # 1. Setting Practice Environment https://paper.seebug.org/1049 HTTP request smuggling 공격 환경을 만들기 위해서는 사용자와 메인 서버 사이에 proxy 서버가 필요하다. 필자는 Apache Traffic Server(ATS) 7.1.2 버전을 사용했다. ATS 7.1.2 보다 상위 버전은 이 공격에 대해 petch가 되어 있기 때문에 7.1.2 버전을 사용해야 한다. 또한 ubuntu 18.04 이상 버전에서 ATS 7.1.2 에 버그가 있어서 ubuntu 16.04 버전을 사용해야 한다. == Proxy Server == ubuntu 16.04 (버전 중요!) Apache Traffic Server 7.1.2 (버전 중요!) LNMP 서버와 LAMP 서버를 세팅해야 하는데, docker를 이용해서 이 두 서버를 생성할 계획이다. 아래는 LNMP와 LAMP 서버를 구축하기 위한 정보이다. == LNMP == docker-compose.yml web: image: fbraz3/lnmp ports: - "10000" == LAMP == docker pull mattrayner/lamp:lates...