반응형

안녕하세요 제씨입니다!

원래라면 HTML을 구성하는 순서가 있겠습니다만, 누가 이걸 정주행을 하겠습니까? ^_^;

 

요즘은 생활코딩도 있고, 좋은 강의도 넘쳐나는 시대이니까요.

정말 코딩하기 좋은 시대라고 한 이고잉님의 말씀이 맞는 것 같아요.

 

아무튼 본론으로 들어가볼까요?

 

HTML 버튼 만들기 - Input Type

1) 먼저 HTML 기본 포멧

<!doctype html>

<html>
    <head>
       <meta charset="utf-8">
    </head>

    <body>

    </body>
</html>

그래도 헤더랑 바디는 있어야 하니까요 :)

 

2) 버튼 명령어 집어넣기

 

아래 명령어를 바디와 바디 사이에 집어 넣습니다.

<button type="button">Click Me!</button>

 

 

www.w3schools.com/tags/tag_button.asp

 

HTML button tag

HTML Tag Example A clickable button is marked up as follows:

Try it Yourself » More "Try it Yourself" examples below. Definition and Usage The tag defines a clickable button. Inside a element you can put text (and

www.w3schools.com

3) 결과 확인하기

 

생겼다! 버튼!

 

 


 

버튼을 왜 만들고자 했나면,

버튼을 통해서 이벤트를 발생시키려고 했거든요.

 

이벤트를 발생시켜서 기능적인 면들을 조금씩 테스트 해보고 싶었습니다.

 

오늘은 여기까지,

다음 포스팅까지 안녕히!

반응형
반응형

나는 시간이 없다.

 

C#이 주력 언어도 아니다. (언젠가 중요하게 쓰일 일이 있을지는 모르겠으나)

 

그래서 나는 속도전을 펼치기로 했다. 빠르고 실용적으로 바로 배울 수 있는 곳

 

바로 MSDN(docs.microsoft.com/ko-kr/dotnet)이다

 

이 웹사이트는 MS에서 공식적으로 지원하는 사이트이며 A-Z로 빠르게 C#코딩을 배울 수 있다.

 

시간을 절약해야 한다!

 

 

 

https://docs.microsoft.com/ko-kr/dotnet

 

반응형
반응형

안녕하세요,

Qlik으로 밥먹고 사는 제씨입니다.

 

대세는 Self-BI로 돌아선지 오래이고,

이미 시장은 Tableau와 Power BI, Qlik Sense 와 같은 제품들의 군웅할거가 진행되어 있습니다.

 

하지만 몇 해를 Qlik으로 여러 고객사에서 프로젝트를 해오면서,

고객들이 두 제품을 비교하다가 결국엔 QlikView로 돌아서는 것을 많이 경험했습니다.

 

세계적으로 대세가 Qlik Sense인데, 왜 한국에서만 QlikView를 선호하는 걸까요?

 

제가 경험을 바탕으로 아래와 같이 이유를 정리해보았습니다.

 

 

 

1. 정형화된 보고 방식

 

솔루션을 구매하는 기업은 보통 규모가 큰 편입니다.

제가 구축했던 기업은 모두 중견 이상은 되었던 것 같네요.

 

그런 기업들은 이미 자신들의 시스템이 어느 정도 구축되어 있으며,

보고체계와 방법들이 규칙처럼 정해져 있습니다.

 

하지만 Qlik Sense는 사용자가 직접 만들어서 사용하는 시각화 툴이죠?

그래서 정형화된 보고에는 맞지 않는 것입니다.

 

결국 정해진 포멧으로 결정된 툴에서 약간의 수정을 가미하는 것을 더 선호하겠죠

 

 

 

2. IT와 현업 사이의 현격한 간격

 

큰 기업일수록 IT 또는 전산팀이 잘 꾸려져 있는 것 같습니다.

 

그래서 경영관리 또는 각 현업들은 IT적인 부분에 있어서 이들의 지원을 받는 것을 더 선호합니다.

바꿔말하자면, 현업이 직접 IT 툴을 다루는 것을 아직 불필요하다고 생각하는 것 같습니다.

 

어쩌면 문과, 이과로 나누어 기계나 메커니즘이라면 자신의 것이 아니라고 생각하게 만든 교육환경도

무관하지 않다고 생각이 드네요.

 

어찌 되었거나 큰 기업에서 현업들에게 Qlik Sense는 자유로운 데이터의 놀이터라는 개념보다,

오히려 한 가지 업무의 추가의 개념인 것 같습니다.

 

 

 

3. 결국은 EIS

 

결국에 큰 기업은 EIS(Executive Information System)를 원합니다.

즉 임원에게 보고할 수 있는 자료를 만들 수 있는 툴, 그리고 회의를 할 수 있도록 지원하는 큰 화면,

짧은 간격으로 모니터링할 수 있는 간편하고 화면을 원하는 것 같습니다.

 

게다가 Qlik Sense는 섬세하게 만들고 싶다면, 디자인의 한계도 명확하다보니,

QlikView의 PPT같은 디자인 자유도를 더 선호하기도 합니다.

(임원들께서는 아름다운 그래프를 원하시는데(자신들의 입맛에 맞는) Qlik Sense는 그걸 다 맞추긴 어렵겠죠ㅠㅠ)

 

물론 Qlik Sense도 여타 개발 기술이 있다면 더욱 화려하게 만들 수 있겠으나,

추가적인 기술지원이 붙어야하므로 오히려 QlikView보다 어려울 겁니다.

 

 

 

 

이상으로 대한민국에서 QlikView가 더 선호되는 이유를 살펴보았습니다.

 

결국 대세는 Data Literacy를 성장시키는 방향으로 흘러가게 될 것입니다.

아마 QlikView를 사용하고 유지보수 하다가 보면,

자신들이 보고자 하는 화면을 자유롭게 만들 수 있는 Qlik Sense의 필요성을 느끼기도 하겠지요

 

결국 문화의 차이인 것 같습니다.

 

이상 제씨였습니다:)

감사합니다.

반응형

'Data > Qlik' 카테고리의 다른 글

QlikView - Performance 향상시키는 방법  (10) 2020.11.02
QlikView와 QlikSense의 차이  (0) 2020.03.22
Qlik이란 무엇인가?  (0) 2019.07.28
반응형

lapply()

  • 입력값으로 vector 또는 list를 받아 list를 반환한다.

즉 vector를 넣든, list를 넣든 결과값으로 list 형식의 자료형으로 return 해준다.

그리고 이 list자료를 다시 vector로 바꾸기 위해서는 unlist를 사용해주면 된다.

a <- lapply(1:10, function(x) x*2)
unlist(a)


> typeof(a)
[1] "list"

> typeof(unlist(a))
[1] "double"

 

 

Sapply()

  • lapply는 list를 반환하지만 sapply는 matrix 또는 vector로 반환한다.
> zz <- sapply(iris[,1:4], function(x){ x*5 })
> typeof(zz)
[1] "double"
> class(zz)
[1] "matrix"


> head(zz)
     Sepal.Length Sepal.Width Petal.Length Petal.Width
[1,]         25.5        17.5          7.0           1
[2,]         24.5        15.0          7.0           1
[3,]         23.5        16.0          6.5           1
[4,]         23.0        15.5          7.5           1
[5,]         25.0        18.0          7.0           1
[6,]         27.0        19.5          8.5           2


> zzz <- sapply(iris[1,1:4], function(x){ x*5 })
> typeof(zzz)
[1] "double"
> class(zzz)
[1] "numeric"

기본적으로 iris 데이터는 data.frame이지만, matrix형태로 반환해주는 것을 알 수 있다.

 

결론은, 반환하려는 자료형의 형태에 따라 lapply와 sapply를 다르게 사용해주면 된다.

반응형
반응형

typeof() : 원시 자료형 (R 에서의)

먼저 원시 자료형이라는 건, R에서 취급하는 일반적인 자료형의 모든 형태를 지칭한다.

예를 들어,

  • NULL: 데이터가 없는 경우
  • Logical: 불리언, 참 또는 거짓
  • Int: 정수
  • Double: 부동소수점 실수
  • Complex: 복소수
  • Character: 문자열
  • List: 리스트
  • Closure: 함수

이런 것들을 자료형이라고 부른다.

 

그래서 가장 기본적인 데이터인 iris의 type을 물어보면 다음과 같은 값이 return된다.

typeof(iris)
"list"

 

그러면 이건 Class()와 뭐가 다른 걸까?

 

 

class() : R 객체지향 관점에서의 자료형

 

R 에서 클래스는 변수가 가지는 속성의 하나이다. 따라서 자료형과 클래스는 같은 값을 가지지 않을 수도 있다.

특히 다음과 같은 점에 주의한다.

  • 부동소수점 실수의 자료형은 double 이지만 클래스는 numeric 이다.
  • 함수의 자료형은 closure 이지만 클래스는 function 이다.
  • matrix, data.frame 등의 클래스 객체나 사용자 정의 클래스의 자료형은 list 이다.

출처: https://datascienceschool.net/view-notebook/0a66597ee82f464b9e2015e41cff8205/

 

Data Science School

Data Science School is an open space!

datascienceschool.net

 

즉 흔히 헷갈릴 수 있는 게 list()나 data.frame이 같은 선상에 있는 자료형이라고 생각하는 것이다.

하지만 data.frame이나 matrix는 엄연히 말하면 객체이며 다음의 iris 예시에서 이렇게 확인할 수 있다.

 

class(iris)
"data.frame"

 

정리하자면, Iris는 list의 자료형을 가진 data.frame 객체이다.

반응형
반응형

Apply 공부를 하다보니, 이게 다양한 종류가 있는 함수라는 걸 알게 되었다.

 

정적으로 설명을 적자면,

  • apply() 제품군은 R 기본 패키지와 관련이 있으며 행렬, 배열, 목록 및 데이터 프레임의 데이터 조각을 반복적 인 방식으로 조작하는 함수로 채워져 있다.
  • 이러한 함수를 사용하면 여러 가지 방식으로 데이터를 교차시킬 수 있으며 루프 구문을 명시적으로 사용하지 않아도 된다.
  • 입력 목록, 행렬 또는 배열에서 작동하며 하나 이상의 선택적 인수와 함께 명명된 함수를 적용합니다.
  • apply () 함수는보다 복잡한 조합의 기초를 형성하며 아주 적은 코드 행으로 작업을 수행하는 데 도움이 된다.
  • 보다 구체적으로, 패밀리는 apply(), lapply(), sapply(), vapply(), mapply(), rapply() 및 tapply() 함수로 구성

그 중에서도 오늘은 Apply에 대해서만 집중해보자

 

Apply

 

  • Apply 함수는 특정 구조를 지니는 object 를 입력값으로 받아 인자별 및 그룹별로 함수를 적용하는 것이다.

 

https://www.datacamp.com/community/tutorials

 

 

x <- matrix(1:9, c(3,3))
x
# [,1] [,2] [,3]
# [1,]    1    4    7
# [2,]    2    5    8
# [3,]    3    6    9

# apply(array, 1 또는 2, 함수)
# 1:행, 2:열

y <- apply(x, 1, function(x) {5*x })
y
# [,1] [,2] [,3]
# [1,]    5   10   15
# [2,]   20   25   30
# [3,]  

 

반응형
반응형

# R에서 폴더를 생성하고 저장하는 방법

- dir.exists 는 폴더명이 존재하는지 여부를 T,F 형태로 리턴하는 함수

- dir.create는 작은 따옴표 안의 폴더명으로 폴더명 생성하는 함수 

- ifelse 구문으로 폴더명 확인 후 없으면 create하는 구문 실행

- write.csv로 해당 루트에 파일 저장

 

 

ifelse(dir.exists('폴더명'), F, dir.create('폴더명'))
write.csv('저장하고 싶은 파일,폴더명/저장할 파일명.csv')

ifelse 구문을 통해 전체 구ㅁ

반응형

'Data > R' 카테고리의 다른 글

R) Data Frame 다루기  (0) 2021.02.06
R) rvest와 httr 이용해서 네이버 실시간 증권 뉴스 크롤링  (0) 2021.01.05
R) lapply와 sapply의 차이  (0) 2020.04.23
R) class(), typeof()의 차이  (0) 2020.04.23
R) apply 정리  (0) 2020.04.22
반응형

 DB 사용하는 사람들 사이에서는 핫한 Client라고 해서 한 번 받아보기로 했다.

 

- 사용 후기 모음

https://okky.kr/article/631704

 

OKKY | DBeaver 무료 DB Client

요즘 Postgresql 작업을 하고 있는데, 적당한 클라이언트 찾다가 발견했습니다. eclipse plugin도 지원하고, 깔끔하고 좋습니다. https://dbeaver.io

okky.kr

 

 

 

<장점>

 

1. 무료에 오픈 소스라는점

 

2. 다양한 SQL과 연동하여 사용가능하다는 점(오라클, MS-SQL, MySQL, PostgreSQL, MariaDB 등)

 - Windows, Mac, Linux 의 환경에서 사용 가능

3. 비버가 귀여움

 

 

요즘은 마스크도 씌웠다... 커엽

 

 

 

 

 

 

<설치>

 

1. 사이트 접속 https://dbeaver.io/

 

DBeaver Community | Free Universal Database Tool

DBeaver Universal Database Tool Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase,

dbeaver.io

 

 

 

 

2. OS에 맞춰서 다운로드

나는 Windows 64 bit 버전으로 다운로드했다.

 

 

 

 

3. 원하는 SQL 연결

 - 나는 Postgre를 연결하기로 했으니 연결해본다.

DBeaver와 Postgre SQL 연결

 

 

4. DB를 깔 때 만들었던 비밀번호와 PortNumber를 쳐서 넣어준다.

 - 보통 포트넘버는 알아서 잡는 것 같다.

 - Postgre를 캡쳐하려고 했는데 이미 연결해서 ㅠㅠ 마리아DB 화면 캡쳐

 

 

5. 연결완료☆

 

 

 

확실히 UI도 깔끔하고 내 정서에 맞는다.

SQL Developer는 너무 딱딱한 느낌이 있어서 정감이 안가는데, 요녀석은 하얗고 아기자기한 게 개발할 맛이 나는 것 같다.

 

이상 DBeaver 포스팅 끝!

반응형

'Data > Postgre SQL' 카테고리의 다른 글

PostgreSQL pgAdmin 데이터베이스, 테이블 조회  (0) 2019.09.25
Postgre SQL pgAdmin 사용법  (0) 2019.09.25

+ Recent posts