본문 바로가기

분류 전체보기54

웹시스템의 구성요소 "웹서버, 운영 애플리케이션, 데이터베이스 서버" 자체적으로 웹사이트나 블로그, 쇼핑몰을 운영(웹서비스)하려면 웹서버와 이 서버를 통해 인터넷 공간에 웹사이트가 보이도록하는 도메인과 호스팅이 필요하다. 우선, 웹서버가 포함되어있는 웹시스템의 구성요소에 대해 알아보자. 🌱 웹시스템의 구성요소 웹사이트를 만들 때 필요한 웹시스템을 구성하는 요소는 웹서버, 운영 애플리케이션, 데이터베이스 서버이다. 🌱 웹서버 인터넷에 직접 만든 웹사이트를 보여주려면 웹서버가 필요히다. 웹서버는 직접 만든 웹사이트를 온라인안에서 보이도록 네트워크 통신을 처리하는 프로그램이다. (ex: Apache) 🌱 운영 애플리케이션 웹사이트의 페이지, 논리적인 구조나 동작 등 웹사이트를 이루는 모든 것을 포함 하는 프로그램 웹서버에 실시간으로 변동하는 콘텐츠를 전달 주로 PHP, Java.. 2021. 4. 29.
[ORACLE] 오라클 새 계정추가, 권한부여, 권한삭제, 계정 PASSWORD 변경, 계정삭제 SYS 계정으로 접속이 되어있어야 계정생성, 권한부여, 삭제 등이 가능하므로 SYS 계정으로 접속하자. DEFAULT 로 설정되어있는 SYS 계정은 아래와 같이 접속한다. SQL> connect sys/nds0102$ as sysdba Connected. 이제 새 계정을 추가하여 보자. CREATE USER 새계정이름 IDENTIFIED BY 비밀번호; SQL> create user user_name identified by user_password; User created. 새로 만든 계정으로 접속을 시도하면 아래와 같이 오류가난다. 권한이 부여되지 않았기 때문이다. SQL> conn user_name/user_password; ERROR: ORA-01045: user USER_NAME lacks CR.. 2021. 2. 28.
SELECT CASE 를 사용해서 DB의 특정 값을 다른값으로 표현하기 DB Table의 특정 컬럼에서 특정 값이 왔을 때 표현을 달리하고 싶다면? 예를 들어, callType 이라는 컬럼에는 숫자형으로만 값이 들어오는데 SELECT 하여 조회할 때 1은 '발신', 2는 '착신'으로 표시되게 해야 하는 경우를 보자. call_test라는 테이블에 데이터가 아래와 같이 들어있다. 여기서 CALLTYPE의 자료형이 숫자라 값이 숫자로만 들어오는데 1은 '발신', 2는 '착신'을 뜻한다. 이때 1을 '발신'으로 2를 '착신'으로 그 외 나머지 값을 들어오는 숫자 그대로 표현되게 하고 싶다면? 아래와 같이 SELECT CASE 문을 사용하면 된다. select seq, stime, callType, (case 컬럼이름 when 1 then '발신' else (case 컬럼이름 wh.. 2021. 2. 18.
Git 잔디가 안심어 진다면? git config의 user.email 확인 개인 노트북으로 Git commit, push를하면 Git의 잔디가 심어졌는데, 회사 노트북으로 Git commit, push를 하니 Git repository에 commit로그와 수정사항은 반영이 됐는데 초록색으로 잔디가 안심어졌다. 며칠을 그냥 빈 땅으로 두다가 방법을 찾았다. Git config의 user.email이 나의 Git에 등록된 email과 같아야한다!! 우선 나의 Git에 등록된 email을 확인하자. 아래의 1번 Emails 을 클릭하고 2번 두개를 확인하자. 2번에 적혀있는 이 Email이 잔디가 심어지는 email이다. 2번에 적힌 Email 확인이 끝났다면 Git config에서 나의 email이 어떻게 설정되어 있는지 확인하자. 프로젝트가 있는 폴더로 들어가 우클릭 후 Git .. 2021. 2. 4.
[SpringBoot] build.gradle 설정 Springboot에서 build.gradle의 기본 설정에 대해 알아볼게요 😄 우선 제일 먼저 들어갈 설정은 아래와 같습니다. buildscript { // ext : build.gradle 에서 사용하는 전역변수를 설정하겠다는 의미 ext { springBootVersion = '2.1.9.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { // 스프링부트 그레이들 플러그인의 2.1.9.RELEASE를 의존성으로 받겠다는 뜻 classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } buildscript는 project의 플러그인 의.. 2020. 9. 18.
SNMP GETBULK, SUBTREE 시간 성능 Test Switch 하드웨어 정보관리 Agent 개발을 어느 정도 마무리하고 기존에 GetBulk로 각각의 OID에서 데이터를 가져오던 것을 성능개선을 위해 Test 해보았습니다. 💡 기존방식 (GETBULK로 24개씩 데이터 받기) 예를 들어 24 포트짜리의 Switch라고 가정하였을 때, 하나의 OID 1.3.6.1.2.1.2.2.1.2에 대하여 각 24개의 포트 데이터를 GetBulk를 사용하여 한번에 24개를 가져왔습니다. JAVA 코드단에서 작성된 코드 사이사이에 시간을 측정하여 확인해본 결과 1개의 OID에 대하여 24개의 데이터를 조회해오는데 0.1~0.2초 의 시간이 걸렸으며, 원하는 데이터 정보가 들어있는 총 14개의 OID에 대하여 24*14 = 336 개의 데이터를 조회하는 데는 1.3~1... 2020. 9. 16.
[JAVA] Date(), System.currentTimeMillis()를 SimpleDateFormat사용하여 원하는 형태로 날짜 출력 개발을 하다 보면 성능의 한 측면에서 시간이 얼마나 걸리는지 테스트를 정말 정말 많이 하게 되는데요😂 우선 현재시간을 아는것이 기본이겠죠? 현재시간을 알 수있는 방법에는 아래와 같이 Calendar.getInstance().getTime(), new Date(), System.currentTimeMillis() 이렇게 3가지가 있어요. import java.util.Calendar; import java.util.Date; public class SimpleDateFormat_Sample { public static void main(String[] args) { System.out.println(Calendar.getInstance().getTime()); System.out.println(new Da.. 2020. 9. 15.
사용중인 port의 PID 및 프로세스 확인 (Something is already running on port 3000.) node.js를 설치하고 React 공식 홈페이지에 나온 my-app 프로젝트를 따라 하던 도중 터미널 창에서 npm run start 를 했는데 아래와 같이 "Something is already running on port 3000."이라는 문구가 나왔어요😥 제 로컬 환경 어디선가 이미 3000번 포트를 사용하고 있다는 뜻이랍니다. 위 문제를 해결하기 위해서는 3000번 포트를 찾아서 죽이거나 node.js의 포트를 수정하는 방법 두 가지가 있어요. 우선 3000번 포트의 PID(프로세스ID) 를 찾아서 무엇인지 확인 후 죽일지 말지 결정하도록 해요. "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 사용 중인 port의 PID 확인 방법 터미널 창을 열어 n.. 2020. 9. 9.
[JavaScript] let(Mutable), const(Immutable) 언제 사용할까? 예를 들어 Java에서 숫자는 int, 문자는 char, 문자열은 String, 참 거짓은 boolean 이렇게 선언하는 것과 달리 JavaScript 에서는 let과 const 크게 이 두 가지로 변수를 선언합니다. 이 let, const 의 가장 큰 차이는 Mutable, Immutable이라는 단어가 등장하는데요 Mutable은 변할 수 있는 값을 뜻하며, Immutable은 변하지 않는 값을 뜻합니다. let은 Mutable 특성으로 계속해서 변하는 값을 정의할때 let 변수를 사용하며, const는 Immutable 특성으로 변하지 않는 값을 정의할 때 사용합니다. 물론 모든 변수를 let으로 정의해도 되겠지만, 웬만하면 한번 데이터를 할당한 뒤에는 변하지 않는 값. 즉, const를 사용도록 .. 2020. 9. 6.
script 태그의 async, defer 속성의 차이 HTML 태그 중 script 태그에는 async 속성과 defer. 이렇게 두 가지 속성이 있습니다. 이 두가지 속성은 어떤 특징이 있으며 두 가지 중 어떤 속성을 사용하는 것이 좋은지 알아보도록 할게요! async 속성 컴퓨터가 HTML 코드를 처음부터 읽어내려오다가 script 태그를 만나면 HTML을 읽는 것과 병렬로 위치하며 script 태그에 쓰인 파일을 다운로드합니다. 파일 다운로드가 완료되면 해당 파일(js)을 실행하게 되는데요. 이때, HTML을 읽는 것은 파일이 실행되는 동안 멈추게 됩니다. 그러고 파일 실행이 완료되면 다시 script 태그 아래의 나머지 HTML을 읽기 시작하게 되는 것이죠 😉 이렇게 script 태그에 async 속성을 사용했을 때 장점과 단점! 장점 : body .. 2020. 9. 6.