전체 글

전체 글

    [PHP] APM이란?

    [PHP] APM이란?

    📕 APM 이란? php를 공부하기에 앞서, 먼저 환경설치를 해보겠습니다. A(Apache) : 웹서버 P(PHP) : 웹 프로그래밍 언어 M(MYSQL) : 데이터베이스 APM이란 위의 세가지가 연동되어 운영되도록 만든 환경을 말합니다. Apache와 MySQL이 PHP와 호환성이 좋기 때문에, 주로 세 프로그램을 묶어 사용합니다. 📕 APM 구동방식 클라이언트가 웹브라우저에서 URL을 입력하면, 80번 포트를 통해 서버에 Request를 합니다. 서버는 Response로 클라이언트에게 HTML, CSS 등의 웹사이트의 정보를 넘겨주게 됩니다. 클라이언트가 로그인 같은 서비스나 다른 정보를 서버에 Request 서버는 해당되는 정보를 주기 위해 PHP에게 스크립트 실행을 Request PHP는 미리 작..

    [CSS] 특정한 요소를 제외시키는 :not 선택자

    [CSS] 특정한 요소를 제외시키는 :not 선택자

    :not 선택자 이미 지정된 css스타일에서 특정한 요소를 제외시킬 경우 사용한다. 선택할 요소:not(제외시킬 요소){...} 예제 This is a normal paragraph. This paragraph has a "highlight" class and will not be affected. This is another normal paragraph. This is a third normal paragraph. 결과 HTML 삽입 미리보기할 수 없는 소스

    [PHP] $_SERVER: 현재 웹사이트의 URL 가져오기

    [PHP] $_SERVER: 현재 웹사이트의 URL 가져오기

    # 현재 웹사이트의 URL 정보를 담은 $_SERVER #header에서 자주 사용 $_SERVER['DOCUMENT_ROOT'] 현재 웹사이트가 위치한 서버 상의 위치 ex) /jiyoondev.tistory/www $_SERVER['HTTPS'] 현재 웹사이트가 HTTPS protocol을 사용한다면 비어있지 않은 값으로 나온다. 사용예제 isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ? 'https' : 'http'; $_SERVER['REMOTE_ADDR'] 현재 웹페이지에 접속한 사용자 IP 주소 $_SERVER['HTTP_USER_AGENT'] 현재 웹페이지에 접속한 사용자 환경 ex) Mozilla/5.0 (Windows NT 10.0; Wi..

    [HTML] 모바일웹에서 자동링크 해제하기 format-detection

    [HTML] 모바일웹에서 자동링크 해제하기 format-detection

    PC 개발자도구로 확인했을 땐 문제 없었는데 모바일에서 확인해보니 사업자번호에 '자동 전화 걸기'가 걸려있다. 대표번호에 걸려있는건 땡큐인데.. 대표번호의 '자동 전화 걸기' 는 살리면서 사업자번호에서는 해제하는 방법을 알아보겠다. 1. meta 태그로 '자동 전화 걸기' 기능을 해제 2. 전화번호에 '자동 전화 걸기' 기능 설정 대표번호 : 1234-1234 3. format-detection 속성 모바일 브라우저에서 특정 형식의 데이터를 자동으로 감지하고 처리하는 기능을 제어한다. content는 다음과 같은 값을 가질 수 있다. "telephone=no" : 전화번호 형식의 데이터 자동 감지 해제 "telephone=yes" : 전화번호 형식의 데이터 자동 감지 및 전화 걸기 링크 "telephon..

    [MyBatis] #{}과 ${}의 차이

    [MyBatis] #{}과 ${}의 차이

    #{} 파라메터가 작은따옴표 (')를 붙인 String 형태 쿼리 주입을 예방할 수 있다. ${} 받은 파라메터 그대로의 형태 쿼리 주입을 예방할 수 없다. (사용자의 입력을 전달할 때는 사용하지 않도록 한다.) 테이블이나 컬럼명을 파라메터로 전달할 때 사용한다.

    [자격증] SQLD-1. 두번째 시험응시까지..

    [자격증] SQLD-1. 두번째 시험응시까지..

    SQLD 첫 도전 바야흐로 2022년 3월.. 직장 내 SQLD 스터디를 꾸리려 했으나 잦은 야근으로 인해 파토나고😂 결국 개별적으로 공부해서 다같이 시험을 응시했다. SQLD는 노랭이책으로만 공부하면 된다는 말에 바로 요 노랭이책을 구매했다. 펼쳐보니.. 사이드 보충설명과 답안지의 해설로는 부족한 무언가가 있어서 SQLD 이론을 따로 서치하여 공부ㅎ..ㅏ다가 시험일자가 다가오는 탓에 급하게 노랭이를 폈다. 결과는 처참했다..라기보다는 총 점 2점이 모자라서 불합격.. 아깝지만 시험문제를 거의 찍다시피 보았기 때문에 불만족스럽지는 않은 결과였다. 합격기준 '총 점 60점 이상, 과목당 40% 이상의 정답률'(1과목 4문제/10문제, 2과목 16문제/40문제 + 10문제) SQLD 두번째 도전 시험접수 그..

    [MyBatis] 오류: java.util.LinkedHashMap cannot be cast to java.lang.String

    [MyBatis] 오류: java.util.LinkedHashMap cannot be cast to java.lang.String

    java.util.LinkedHashMap cannot be cast to java.lang.String 말 그대로 LinkedHashMap을 String으로 바꿀 수 없다는 오류다. LoginService에서 로그인 성공 시, 당일 해당 프로젝트에서 첫 로그인했을 경우를 가져오도록 했다. int isFirstLogin = Integer.parseInt((String)dao.selectObj("Statistics.historyLogRecent", userUpdateMap)); dao.selectObj("Statistics.historyLogRecent", userUpdateMap) 여기에서 LinkedHashMap을 return하고 있으므로, myBatis에서 returnType을 수정한다. //변경 전..

    [Vue2] 오류: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated:

    [Vue2] 오류: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated:

    [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "" 다음과 같은 오류가 발생했다. Vue warn이라 그런지 동작하는데 문제는 없지만, 그래도 이런 오류는 해결해주는게 인지상정😉 부모 component가 다시 렌더링되면 값이 overwritten되기 때문에 prop을 직접 변화시키는걸 피하라면서, data나 computed를 사용하라고 한다. Vue2의 공식문서에서 다음과 같이 설명..

    [MySQL] 재설치 후 오류모음

    [MySQL] 재설치 후 오류모음

    # which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by Error Code: 1055. Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'schema_name.table_name.column_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by0.000 s..

    안드로이드 스튜디오(Android Studio) 경로 변경해서 C드라이브 용량 확보

    안드로이드 스튜디오(Android Studio) 경로 변경해서 C드라이브 용량 확보

    C드라이브가 곧 터질 것 같아서 웬만한 프로그램들은 D드라이브로 옮기는 작업을 했다. 안드로이드 스튜디오도 용량을 많이 차지해서 옮겨보기로 하겠다. 구글링 중 아주 정리가 잘 되어있는 포스팅을 찾았다. 나 같은 경우는 안드로이드 스튜디오를 한참 안쓰다가 최근에 쓸 일이 생긴거라 지웠다가 D드라이브에 다시 설치했다. 안드로이드 스튜디오를 D드라이브에 설치해도 SDK나 AVD는 C드라이브 AppData폴더에 생긴다. SDK 경로 변경 먼저 우측 상단에 큐브모양 아이콘(SDK Manager)을 눌러 현재 SDK의 경로를 확인한다. 바꾼 뒤에 캡쳐한거라 이미 D드라이브이지만, 설치 후 기본 경로는 C:\Users\{username}\AppData\Local\Android\Sdk 이다. D드라이브로 이동 후, 기..

    [github] Invalid VCS root mappings

    [github] Invalid VCS root mappings

    Github에서 Repository를 clone 후 github Desktop에서 open in Android Studio로 열었더니 처음에 뜨는 오류창 Configure...을 누르거나 Settings>Version Control 에서 VCS에 빨간글씨로 뜨는 Directory를 으로 선택

    [기획] 목적과 목표의 차이

    [기획] 목적과 목표의 차이

    대학교 2학년 때 기획강의를 들을 때 부터 '목적'과 '목표'의 차이가 헷갈렸다. 시간적 여유가 있었던 탓인지 기획안을 쓰면서 또 궁금해졌다. 대체 '목적'과 '목표'의 차이는 뭘까? '목적' 슬라이드와 '목표' 슬라이드에 적힐 내용은 어떤 차이가 있어야 할까? 바로 구글링해봤다. 목적은 Goal, 목표는 Objective로 영단어에서도 목표가 좀 더 명확한 지표를 나타내는 듯한 느낌이 있다. 국립국어원에서도 다음과 같이 정의하고 있다. 목적(目的) 목표(目標) 「1」 실현하려고 하는 일이나 나아가는 방향. 목적을 달성하다/목적을 이루다/목적을 향해 나아가다/목적에 도달하다/뚜렷한 목적을 세우다/이 시험의 목적은 학생들의 학습 능력을 평가하는 데 있다. 「2」 『심리』실현하고자 하는 목표의 관념. 또는 ..