728x90

분류 전체보기 68

[ORACLE] LIMIT

MySQL을 사용해봤다면, Limit이라는 기능이 있는 것을 알고 있을 것이다!🤓 Limit은 가져오는 데이터 수에 원하는 만큼 제한을 둘 수 있는 기능인데, Oracle에서는 Limit과 같은 기능이 따로 없어 ROWNUM을 사용하여 MySQL의 Limit 처럼 사용이 가능하다. 아래와 같이 사용할 수 있다. ▶ 데이터를 5개만 가져오는 경우 -- MySQL SELECT * FROM DEMO_TABLE LIMIT 5; -- ORACLE SELECT * FROM DEMO_TABLE WHERE ROWNUM

💾DB 2023.11.13

[OPCUA] OPC(2)

왜 OPC 인가? 왜 OPC를 도입해야 할까? 일단 아래의 그림을 보자. 다소 복잡해보이지만 천천히 살펴보면 결론은 간단하다. 같은 통신 방법으로 하위에서 상위까지 모두 같은 프로토콜로 통신이 가능하다는 것이다. 이것을 상호운용성을 확보했다라고 표현하고, 이렇게 통합하기 위해 OPC를 구성한다라고 이해하면 된다. 시스템을 구성해본 경험이 있다면 알겠지만 프로토콜이 통합된다는 것은 투입되는 시간과 자원을 줄일 수 있고, 확장성 측면에서도 유용하다. 이러한 통신을 조금 더 유용하게 하기 위해 OPC에서는 다양한 기능들을 제공해주고 있다. OPC 기능 Classic OPC 표준을 통해 DA(Data Access), AE(Alarm & Events), HDA(Historical Data Access)의 세가지 ..

🏭IIOT 2023.10.26

[React] Element Rendering

Element? 먼저 Element란 React에서의 가장 작은 단위로 화면에 표시할 내용을 기술한다. const element = Hello, world; 브라우저 DOM Element와 달리 React Element는 일반 객체이며, 쉽게 생성할 수 있다. 더 널리 알려진 개념인 Component와 Element가 혼동될 수 있지만, Element는 Component의 구성요소이다. DOM에 Element Rendering HTML 파일 어딘가에 가 있다고 가정해보자. 이 안에 들어가는 모든 Element를 React DOM에서 관리하기 때문에 이것을 Root DOM 노드라고 부른다. React로 구현된 Application은 일반적으로 하나의 Root DOM 노드가 있다. React Element를..

⚛️React 2023.10.10

[React] JSX?

JSX? 아래의 희한한 변수 선언은 문자열, HTML도 아닌 JSX문법이다. const element = Hello, world!; 좀 낯설긴 하지만, JSX에 대해 한번 알아보자! 🤔 JSX란 쉽게 말해 HTML 문법을 JavaScript 코드 내부에 쓴 것JavaScript eXtension의 약자로 JavaScript의 확장 버전이다. 외관상으로는 HTML같은 마크업 언어를 리터럴로 입력하는 것 처럼 보이지만, 빌드 시 Babel에 의해 JavaScript로 변환된다. JavaScript 코드를 HTML처럼 표현할 수 있기 때문에, 용이한 개발이 가능하다. JSX 문법 1. 반드시 부모 요소 하나가 감싸는 형태여야 한다 Virtual DOM에서 Component 변화를 감지할 때 효율적으로 비교할 ..

⚛️React 2023.10.06

[React] React? React!

React는 Facebook에서 제공해주는 Front-End 라이브러리로 SPA(Single Page Application)나 모바일 어플리케이션 개발 시 토대로 사용될 수 있다. 즉, 현재 웹/앱의 View를 개발할 수 있도록 하는 인기있는 라이브러리이다. (프론트 원탑 아닌가..?🤔) React를 사용하지 않더라도, HTML, CSS, JS를 이용해서 웹 페이지를 만들수는 있지만, React를 사용하면 사용자와 상호작용할 수 있는 동적인 UI를 쉽게 만들 수 있다. 이번 포스팅에서는 React의 특징을 간단히 알아보고, React에 대한 보다 자세한 내용은 앞으로의 포스팅에서 알아보자🤓 1. Data Flow React는 데이터의 흐름이 한 방향으로만 흐르는 단방향 데이터 흐름을 가진다. Angula..

⚛️React 2023.09.26

[OPCUA] OPC (1)

OPC? OLE for Process Ceontrol의 약자로, OPC Foundation에 의해 관리되고 있는 표준화된 통신 프로토콜이다. 기존의 약자를 따르는 통신이 OPCDA(OPC - Data Access) 즉, OPC Classic이라고 한다. 이후 OPCUA로 발전하면서 Open Platform Communications Unified Architecture로 변경되었다. ※ OLE (Object Linking & Embedding) - 윈도우의 각각의 객체를 응용 프로그램에서 다양하게 사용할 수 있도록 하는 기능 ※ 통신프로토콜 - 통신을 원하는 서로 다른 시스템이 어떻게 통신할 것인가를 정하는 규범으로, 어떤 데이터를 언제 최대 얼만큼 주고 받을 것인지 등을 정해놓는다. 최초 OPC Cla..

🏭IIOT 2023.09.25

[ORACLE] MERGE INTO

쿼리를 작성하다보면 하나의 쿼리문으로 INSERT, UPDATE, DELETE 작업을 해야 하는 경우가 있다. 이런 경우 MERGE 문을 사용하여 간단하게 쿼리를 작성할 수 있다. MERGE 문은 ORACLE 9i 부터 지원하고, MERGE문에 DELETE 절은 10g부터 지원한다. 단일테이블 단일테이블에 MERGE문을 사용하기 위해서는 USING 절에 테이블 대신 DUAL을 사용하면 된다. MERGE INTO EMP USING DUAL ON (A.EMPNO = 7788) WHEN MATCHED THEN UPDATE SET A.DEPTNO = 20 WHEN NOT MATCHED THEN INSERT (A.EMPNO, A.ENAME, A.DEPTNO) VALUES (7788, 'SCOTT', 20); JO..

💾DB 2023.07.13

[C#] Hashtable vs Dictionary

🐶🦶을 하다보면 Key - Value를 사용하여 자료를 저장해야 하는 경우가 종종 있다. C#에서 제공되는 타입은 2가지가 있는데 Hashtable과 Dictionary이다. 이 두가지 타입의 사용법과 장단점에 대해 알아보자! Hashtable Hashtable의 경우 Non-Generic 타입으로 Key와 Value 모두 Object를 입력 받는다. Non-Generic 타입이므로 Boxing과 UnBoxing이 일어난다. 즉, Generic을 이용하지 않고 Object를 사용하기 때문에 모든 데이터 타입을 다 받고 처리할 수 있는 장점이 있지만, 자료 입력에 내부적으로 Boxing이 일어나고 사용하는 곳에서 다시 UnBoxing을 해줘야 사용이 가능하다. Hashtable ht = new Hashta..

🪟C# | .NET 2023.06.23

[ORACLE] GROUP BY ROLLUP

GROUP BY 구문의 결과에 소계, 합계 정보를 같이 보고 싶을 때 어떻게 할까? 이번에 알아 볼 ROLLUP 함수를 사용하면 복잡한 과정 없이 간단한 구문만으로 쉽게 구할 수 있다. 실습은 https://livesql.oracle.com/ 에서 진행하였고, SCOTT 계정의 EMP 테이블을 사용하였다. 일반적으로 사용하는 GROUP BY 문으로 DEPTNO, JOB별 급여의 합을 구해봤다. 위의 GROUP BY 절에 ROLLUP을 추가하여 DEPTNO, JOB별 급여 합 뿐 아니라 전체 급여의 합과 부서별 급여의 합도 같이 구할 수 있다. 그러면, 여기서 전체 급여의 합 또는 부서별 급여의 합 중 하나만 보여 줄 수 있나요? 🙋‍♂️ 이게 되네...?🤔 자, 그러면 ROLLUP이 어떤 원리로 위의 예..

💾DB 2023.06.20

[ORACLE] NVL, NVL2, NULLIF, COALESCE

ORACLE의 NULL 관련 다양한 함수들을 알아보자! 🙋‍♂️ NVL NVL함수는 NULL 값을 다른 값으로 바꿀 때 사용 가능하며, 모든 데이터 타입에 적용 가능하다. SELECT DEPT_CODE , NVL(MGR_EMP_NO, 0) AS MGR_EMP_NO FROM DEPT DEPT_CODE MGR_EMP_NO --------- ---------- 110 230606011 120 0 130 220504092 NVL2 NVL2 함수는 NVL 함수와 DECODE 함수의 개념을 합쳤다고 볼 수 있다. VNL2(EXP, EXP1, EXP2) 형식으로 사용 가능하고 EXP의 값이 NULL이 아닌 경우 EXP1 반환하고, NULL인 경우 EXP2 를 반환한다. SELECT DEPT_CODE , NVL2(MG..

💾DB 2023.06.19
728x90