STS 4.0 에서 ctrl space(content assist) 동작하지 않는 경우

Posted by HULIA(휴리아)
2019. 7. 13. 14:01 호스팅_서버_툴/툴

STS 4.0에서

Window - Preferences -> Java -> Editor -> Content Assist -> Advanced 메뉴에서 restore defaults 버튼 클릭

 

파이썬 아나콘다 배포판 조사

Posted by HULIA(휴리아)
2019. 4. 29. 01:30 백엔드개발/파이썬

이번에 파이썬 관련 수업을 듣게 되면서 아나콘다를 설치하게 되어서 조사하였다

아나콘다란

아나콘다(Anaconda)는 수학과 과학 분야에서 사용되는 여러 패키지들을 묶어 놓은 파이썬 배포판으로서 SciPy, Numpy, Matplotlib, Pandas 등을 비롯한 많은 패키지들을 포함하고 있다.
Anaconda는 특히 최근에 데이타 사이언스와 머신 러닝 분야에서 파이썬을 사용하기 위해 기본적으로 설치하는 배포판이 되었다(데이터 과학 및 기계학습을 수행하는 가장 쉬운 파이썬 배포판이다)

Anaconda는 패키지 관리자, 환경 관리자, Python / R 데이터 과학 배포판 및 1,500 개 이상의 오픈 소스 패키지 모음입니다

구성된 패키지

  • 라이브러리 관리

    • Conda
  • 시각화

    • Matlpotlib, Bokeh, Datashader, HoloViews
  • 데이터 분석

    • Numba, pandas, DASK, numPy, sciPy
  • 기계학습

    • TensorFlow,
  • Jupyter

  • spyder

  • H2o.ai

아나콘다 구성요소

4개의 구성요소

  • 아나콘다 네이게이터
  • 아나콘다 프로젝트
  • 데이터 사이언스 라이브러리
  • Conda(라이브러리, 종속성 및 환경 관리)

Data Science 라이브러리는 (a) Jupyter와 같은 IDE 개발도구, (b) Numpy, SciPy 같은 과학 분석용 라이브러리, (c) Matplotlib 같은 데이타 시각화 (Data Visualization) 라이브러리, (d) TensorFlow 같은 머신 러닝(Machine Learning) 라이브러리 등을 포함하고 있다.

Anaconda Navigator는 UI 클라이언트로서 하부 컴포넌트를 쉽게 사용하도록 한 데스크탑 포털 기능을 담당한다. 예를 들어, Jupyter나 Spyder 같은 개발도구를 이곳에서 Launch할 수 있다.

주피터 노트북

주피터 노트북(Jupyter Notebook)은 웹 브라우저에서 파이썬 코드를 작성하고 실행해 볼 수 있는 개발도구이다. 일반적으로 아나콘다(Anaconda)를 설치하면 Jupyter Notebook이 함께 설치되어 Jupyter를 사용할 수 있다. 물론 Anaconda를 사용하지 않는 경우 pip 을 통해 Jupyter 패키지를 설치할 수도 있지만, 통상 Anaconda를 설치해서 사용할 것을 권장한다.

Anaconda가 설치된 후, Anaconda 메뉴중 Jupyter Notebook을 선택하거나 Anaconda Navigator에서 Jupyter Notebook 메뉴를 선택하면 Jupyter를 실행할 수 있다.

Anaconda 메뉴중 Jupyter Notebook을 선택한 경우, Jupyter Notebook 서버 (콘솔 프로그램)와 클라이언트로 사용되는 웹 브라우저 등 2개의 프로그램이 실행된다. Notebook 서버 프로그램은 백그라운드에서 실행되는 파이썬 프로그램으로 웹 브라우저 클라이언트가 접속하는 서버 프로그램이며 실제 파이썬 코드 실행은 여기에서 일어난다. 그리고, 웹 브라우저는 파이썬 코드를 입력받고, 실행해 볼 수 있는 UI를 제공하는 클라이언트로서 코드를 Notebook 서버에 보내 결과를 다시 웹 브라우저에 뿌려 주게 된다.

Anaconda Navigator에서 Jupyter Notebook 메뉴를 선택한 경우에는 윈도우즈의 경우 Notebook 서버 콘솔 프로그램이 백그운드 프로세스로 실행되어 화면에 보이지 않으며, 클라이언트인 웹 브라우저만 화면에 나타난다. 하지만, 동작 방식은 기본적으로 동일하다

주피터노트북스공유사이트

파이썬 배우는 이유 특징 활용

Posted by HULIA(휴리아)
2019. 4. 28. 22:11 백엔드개발/파이썬

파이썬 왜 배워야 하는가?

  • 생산성이 높기 때문(빠르게 개발이 가능하다)
  • 먼저 개발하라 그리고 나서 성능을 개선하라

파이썬의 특징

  • 인터프리터 언어
  • 동적인 데이터 타입 결정 지원
  • 플랫폼 독립적 언어
  • 개발 기간 단축에 초점을 둔 언어
  • 간단하고 쉬운 문법
  • 고수준의 내장 객체 자료형 제공
  • 메모리 자동 관리
  • 쉬운 유지 보수
  • 많은 수의 라이브러리 제공
  • 짧아지는 코드
  • 높은 확장성

파이썬의 활용

  • 시스템 유틸리티
  • GUI
    • wxpython, tkinter
  • 게임 프로그래밍
    • 파이썬 게임엔진 : PyOpenGL, PySDL, PyGame, Kivy, PyOgre, Panda3D, Cocos2D, PySoy
  • 웹 프로그래밍
    -django 프레임워크
  • 수치 프로그래밍
    • nextworkx 모듈
  • 데이터베이스 프로그래밍
  • 데이터분석(빅데이터)
    • pandas 모듈

파이썬으로 만들어진 프로그래밍
파이썬으로 할 수 있는 것들

파이썬 장점

  • 들여쓰기를 강조한 언어(가독성을 높여준다)
  • {}괄호를 넣지 않았기 때문에 프로그램을 좀 더 깔끔하게 만들어 준다

마크다운 정의 장단점 사용법 정리

Posted by HULIA(휴리아)
2019. 4. 28. 20:00 뒷이야기들/스터디히스토리강의

최근에 파이썬을 스터디 하면서 JUPYTER NOTEBOOK에서도 마크다운을 지원하고

티스토리 블로그에도 마크다운을 지원해서

앞으로 마크다운을 잘 쓰면 좋겠다는 생각에서 정리해 보았습니다

 

마크다운(Markdown)

:텍스트 기반의 마크업 언어로 2004년 존그루버에 의해 만들어짐

:쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하며 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하며 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식가능

:마크타운이 각광받는 이유는 github.com 때문이다 github의 저장소의 대문 역할을 하는 README.md가 마크다운 형태로 작성되어져야 하기 때문

:장점-간결, 별도의 도구없이 작성가능, 텍스트파일이기때문에 버젼관리시스템을 통해 변경이력관리가능, 다양한 형태로 변환 가능

:단점-모두 HTML 마크업을 대신하지 못함

 

마크다운 사용법

1)헤더

-----------

2)제목글자(1~6종류)

#

##

###

####

#####

######

3)블럭인용

>

>>

>>>

4)목록

1.

2.

3.

5)단계별로 목록(*, -, +등 사용가능)

* 대한민국

  * 서울

     * 종로구

       * 을지로

6)수평선

* * *

***

*****

- - -

---------------------------------------

7)링크

[표시문구](실제URL)

<실제URL>

8)강조

*이탤릭 문구*

_이탤릭 문구_

**강조할 문구**

__강조할 문구__

~~취소문구~~

8)코드블럭

한줄사용시 : ` `

여러줄 사용시에 언어별로

```python

```

 

 

 

참조링크(티스토리 마크다운 문서)

https://tistory.io/entry/%ED%8B%B0%EC%8A%A4%ED%86%A0%EB%A6%AC-%EA%B8%80%EC%93%B0%EA%B8%B0-%EA%B0%80%EC%9D%B4%EB%93%9C-%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4%EB%AC%B8%EB%B2%95

파일입출력 기본 - 파이썬

Posted by HULIA(휴리아)
2019. 4. 28. 19:59 백엔드개발/파이썬

파이썬 파일 입출력

open()과 close()는 파이썬 내장함수라서 모듈 import없이 사용가능

open(filename, mode);
close();

파일 처리 모드

r : 읽기모드(모드를 쓰지 않으면 기본모드)
w : 쓰기모드
a : 파일에 맨뒤에 추가모드
rb : 이진 파일 읽기모드
wb : 이진 파일 쓰기모드
ab : 이진 파일 맨뒤에 추가모드
w+ : 읽기쓰기모드

현재 디렉토리 위치 출력(os모듈)

import os
print os.getcwd();

파일 쓰기 예시

s = """hello
hi
korea."""
f = open('t.txt', 'w')
f.write(s)
f.close()

파일 읽기 예씨

f = open('t.txt', 'r') #open('t.txt') 같은 의미다
s = f.read()
print s
f.close()

라인 단위로 파일 읽기

총 4가지 방식이 있음
1)for문을 이용하는 방법

f = open('t.txt')
i = 1
for line in f:
    print i, ":", line,
    i +=1
f.close()

2)readline() : 한번에 한줄씩 읽는다

f = open('t.txt')
line = f.readline()
i = 1
while line:
    print i, ":", line,
    line = f.readline()
    i +=1
f.close()

3)readlines() : 파일 전체를 라인 단위로 끊어서(개행문자까지 한번씩 읽어드림) 리스트에 저장한다

f = open('t.txt')
print f.readlines()

f.seek(0) #파일 맨 앞으로 이동
i = 1
for line in f.readlines():
    print i, ":", line,
    i +=1
f.close()

4)xreadlines() : readlines()와 유사하지만 파일 전체를 한꺼번에 읽지 않고, 상황별로 필요한 라인만 읽는다. 대용량의 파일을 for문 등으로 라인 단위로 읽을 때 효율적이다

f = open('t.txt')
print f.xreadlines()

f.seek(0) #파일 맨 앞으로 이동
i = 1
for line in f.xreadlines():
    print i, ":", line,
    i +=1
f.close()

1), 4)방법을 추천함

라인 단위로 파일 쓰기

lines = ['first line\n','second line\n','third line\n']
f = open('t1.txt','w')
f.writelines(lines)
f.close

# 파일 내용 확인
f = open('t1.txt')
print f.read()
f.close()
lines = ['first line','second line','third line']
f = open('t1.txt','w')
f.write('\n'.join(lines))
f.close

# 파일 내용 확인
f = open('t1.txt')
print f.read()
f.close()

파일내에 존재하는 단어의 수

f = open('t.txt')
s = f.read()
n = len(s.split()) # split() -> 공백문자를 기준으로 문자를 잘라 list 화
print n
f.close()

기존 파일에 내용 추가 예시

f = open('t.txt', 'a')
f.write('forth line\n')
f.close()

# 파일내용 확인
f = open('t.txt')
print f.read()
f.close()

파일 내 임의 위치로 접근

seek(n) : 파일의 첫번째 위치에서 n번째 바이트로 포인터 이동
tell() : 파일 내 현재 포인터 위치를 반환

f = open('t.txt', 'w+')
s='02121222022'
f.write(s)


# 파일내용 확인
f.seek(5)       # 시작부터 5바이트 이동
print f.tell()  # 현재위치 알려줌
print f.read(1) # 1문자 읽기

f.close()

Mysql 컬럼의 줄바꿈, 공백, 캐리지리턴 tab 제거하고 select하기

Posted by HULIA(휴리아)
2019. 3. 10. 23:29 백엔드개발/데이터베이스

1. 라인피드 제거하고 select하기

select replace(컬럼명, char(10), '') from 테이블명;


2. 캐리지리턴 제거하고 select하기

select replace(컬럼명, char(13), '') from 테이블명;


3. tab 제거하고 select하기

select replace(컬럼명, char(9), '') from 테이블명;


4. 개행문자 제거하고 select하기

select replace(컬럼명, '\r\n', '') from 테이블명;


5. 하이픈(-) 제거하고 select하기

select replace(컬럼명, '-', '') from 테이블명;


6. 공백 제거하고 select하기

select replace(컬럼명, ' ', '') from 테이블명;

안드로이드 스튜디오에서 SQLilte DB 백업하기 확인하는 프로그램 설치

Posted by HULIA(휴리아)
2019. 2. 25. 22:16 프론트엔드/안드로이드

안드로이드 스튜디오에서 SQLlite DB 백업하기



1) 안드로이드 스튜디오 View->Tool Windows -> Device File Explorer를 실행





/data/data/확인하고 싶은 패키지 명/databases

폴더 내부의 파일들이 DB파일들이다

-journla이라고 붙은 파일이 아닌 파일이 DB파일들이다




해당파일에서 마우스 오른쪽 버튼을 누르면 나오는 Save AS라는 메뉴를 통해서 자기 컴퓨터에 백업을 받는다



그리고 백업 받은 파일의 내용을 보는 방법은


https://sqlitebrowser.org/


위의 링크를 통해서 다운을받고 설치를 합니다

설치를 안해도 되는 Portable버젼이 있으니 그걸로 설치해도 됩니다



데이터베이스 열기를 해서 DB파일을 열거나

데이터베이스 구조 텝에 DB파일을 끌어다 놓아도 열립니다




그리고 나서 테이블에서 마우스 오른쪽 메뉴를 통해서 명령이 가능합니다



테이블을 보기를 하면 컬럼에 그에 맞는 데이터가 나옵니다^^





티스토리 구글애널리틱스 not provided 말고 유입 검색어 다 보이게 하기

Posted by HULIA(휴리아)
2019. 1. 14. 23:24 호스팅_서버_툴/애드센스_애널리틱스

티스토리 블로그와 구글 애널리틱스 연동을 했는데 캠페인의 자연 키워드에 대부분인 not provided가 궁금했습니다...





구글 애널리틱스 책을 최근에 보았는데요

그 책에서는 구글의 Search Console을 이용해서 not provided를 없애는 방법을 추천하더라고요

그래서 저도 완료해보고 이 글을 쓰게되었습니다


1)구글 애널리틱스 계정으로 접속합니다


2) 획득 메뉴 하위의 Search Console메뉴 화면에서 Search console 데이터 공유 설정을 클릭합니다

아래의 화면으로 이동하는데 스크롤을 내려서 Search Console 조정을 클릭합니다



또는 관리 메뉴 하위의 모든 제품메뉴를 클릭하면 나오는 제품중에서 Search Console을 클릭합니다





3) 추가를 클릭합니다 그리고 로그인을 합니다


4) Search Console에 사이트 추가를 클릭합니다


5) 연결된 페이지에서 시작하기를 클릭하고 자신의 블로그 주소를 입력합니다 그리고 속성 추가를 클릭합니다


6) 소유권 확인에 관련된 여러가지 방법이 뜨는데 티스토리에는 HTML 태그가 가장 편한 것 같습니다~


HTML 태그를 누르면 

<Meta name ......./> 이런 글자가 뜰텐데 <부터 >까지를 드래그 해서 복사를 합니다


7) 자신의 티스토리 블로그 관리자에 들어가서 스킨 편집 메뉴의 html편집으로 들어갑니다


7) 아까복사했던 부분을 붙여넣습니다

</head> 바로 위에 붙여넣어야 합니다

추가적으로 표시하기 위해서

<!-- 구글 서치 콘솔 -->

이런주석을 넣었습니다~

적용버튼을 클릭합니다



8) 복사를 했던 화면에 가서 확인을 클릭합니다


9) 그러면 인증 확인중이라는 표시가 뜨면서 결국 소유권이 확인됨이라는 표시가 뜹니다

완료를 클릭합니다



10) 4번의 화면으로 이동한 후 새로고침을 눌러 화면을 업데이트 시킵니다

그러면 다음과 같이 소유권이 확인된 블로그가 뜨게 됩니다


11) 라디오 버튼을 클릭하고 저장을 클릭합니다

그러면 다음과 같이 창이 뜹니다

확인을 클릭합니다

12) 블로그가 등록된 화면이 뜹니다

13) 구글 애널리틱스로 가서 완료버튼을 클릭합니다


14) 관리메뉴의 모든 제품하위에서 Search Console이 연결되었습니다라는 메시지를 확인할 수 있습니다


15) 구글 애널리틱스에서 방문페이지의 페이지가 바뀔 것을 확인할 수 있습니다


검색어 메뉴에 가서도 검색어가 뜨는 것을 확인할 수 있습니다^^




구글애널리틱스

https://analytics.google.com


구글Search Console

https://search.google.com/search-console


구글웹마스터

https://www.google.com/webmasters/tools/home?hl=ko&action=save

MYSQL DDL 쿼리 CREATE ALTER

Posted by HULIA(휴리아)
2018. 12. 16. 21:06 백엔드개발/데이터베이스

CREATE TABLE `BANK_SMS_PARSING` (

  `ID` int(11) NOT NULL AUTO_INCREMENT,

  `BANK_NAME` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `SMS_ADDRESS` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `DELIMITER` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `LEN_ACCOUNTNUM` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `POS_DATE` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `POS_ACCOUNTNUM` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  `POS_PRICE` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

  PRIMARY KEY (`ID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;




ALTER TABLE `easywhooing`.`CARD_SMS_PARSING` 

CHANGE COLUMN `ID` `ID` INT(11) NOT NULL AUTO_INCREMENT ;

자바 spring 개발 환경 설정을 할때는 STS를 이용하세요

Posted by HULIA(휴리아)
2018. 12. 16. 20:24 호스팅_서버_툴/툴

https://spring.io/tools

이클립스 설치하고 플러그인 설치를 하지 말고 한번에 해결하세요


이외에 자바설치만 하시면 되세요^^



자바 Spring 개발 환경을 설치할때

Eclipse를 다운받고

STS 플러그인 설치하고

그러는데


STS설치를 하면 이 모든 것을 한번에 설치됩니다