암호화관련 조사

Posted by HULIA(휴리아)
2021. 1. 26. 04:57 뒷이야기들/스터디히스토리강의

암호화의 분류

1. 대칭키 방식

2. 비대칭키 방식

3. HASH함수

1.대칭키 방식

암호화키와 복호화 키가 같은 암호화 방식(비밀키 하나만 존재)

장점:암호화/복호화 처리속도가 빠르다, 구현이 빠르다(쉽게 적용가능하다)

단점:키관리가 어렵다(노출되면 보안의 안정성이 쉽게 훼손됨)

종류:AES, DES, 3-DES, SEED 등등

 

2.비대칭키 방식

암호화키와 복호화 키가 다른 암호화 방식(개인키와 공개키가 존재)

장점:키교환이 용이하다

단점:암호화/복호화 처리속도가 느리다

종류:RSA. DSA 등등

3.HASH함수

임의의 길이를 가지고 있는 메시지를 받아들여 고정된 길이의 출력값으로 바꾸어 주는 함수

위의 방식과 다르게

1)단방향으로만 이용가능함 = HASH함수를 통해 나온 출력값을 HASH함수에 입력된 값으로 변환할수 없다는 뜻

2)키를 사용하지 않음 = 같은 입력에 대해서는 항상 같은 출력이 나옴

이런 특징을 가지고 있다

 

그래서 정보보안영역에서는

1. HASH함수를 통과하기 전의 입력값을 다시 알아낼수 없다는 점(복호화 어려움)

2. 아무리 긴 입력값이더라도 정해진 길의의 값으로 출력된다는 점(문서 축약)

3. 입력값의 아주 작은 변화가 출력값 전체를 변화시킨다는 점(위변조 여부 검증)

에 이용한다

종류:MD5, SHA-1, SHA-2, SHA-3 등등

 

그래서 솔트라고 해서 HASH함수를 보완해서 사용합니다~(아래는 괜찮은 블로그글이라서 첨부합니다)

st-lab.tistory.com/100

 

패스워드의 암호화와 저장 - Hash(해시)와 Salt(솔트)

'보안은 그 어느 시스템의 정보보다 가장 중요하며 가장 안전해야 하는 것이다' 필자가 "프로그래머로써 가장 중요하게 생각해야 할 것 하나만 뽑는다면?" 이라는 질문이 들어온다면 위와 같이

st-lab.tistory.com

 

코틀린이란

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

Do it 코틀린 프로그래밍 책에서 참고

 

자바가 있는데 왜 코틀린을 배워야 하나요?

코틀린은 자바에 없던 널검사, 코루틴, 고차함수나 람다식과 같은 기능을 제공합니다

이 기능들은 대부분 안전하고 효율적인 프로그래밍을 위해 만들어졌으며 대부분의 현대 언어가 가지고 있는 특징이므로 프로그래밍 실력 향상을 위해 꼭 공부하기를 권장합니다

 

자바로 작성한 안드로이드 애플리케이션을 코틀린으로 쉽게 바꿀 수 있나요?

코틀린은 자바와 완벽하게 호환됩니다. 그래서 코틀린으로 작성한 프로그램에 자바의 방대한 라이브러리를 그대로 추가할 수도 있습니다. 심지어 안드로이드 스튜디오에서는 자바를 코틀린으로 변환하는 기능도 제공합니다

 

코틀린을 상용 안드로이드 애플리케이션에 바로 도입해도 될까요?

코틀린은 에버노트, 트렐로, 코세라 등과 같은 여러 유명 기업의 안드로이드 애플리케이션에 적용되고 있습니다. 그만큼 안정성이 입증된 언어입니다. 또 구글이 코틀린을 안드로이드 공식 언어로 채택했으므로 앞으로 코틀린은 안드로이드 애플리케이션 개발 필수 언어가 될 것 입니다

 

코틀린은 인텔리제이 IDEA라는 통합개발환경으로 유명한 JetBrains에서 개발

구글의 안드로이드 스튜디오도 인텔리제이 IDEA기반이며 코틀린 언어를 공식으로 지원

 

코틀린의 용도(멀티 플랫폼 언어)

-Kotlin/JVM : 자바 가상 머신에서 동작하는 애플리케이션을 만들 수 있다

-Kotlin/JS : 자바스크립트로 웹 브라우저에서 동작하는 애플리케이션을 만들 수 있다

-Kotlin/Native : LLVM 컴파일러를 이용하여 여러 플랫폼을 타깃으로 하는 애플리케이션을 만들 수 있다

 

코틀린의 장점

1)자료형 오류를 미리 잡을 수 있는 정적 언어

코틀린은 프로그램이 컴파일될때 자료형을 검사하여 확정하는 정적 언어입니다. 즉 자료형 오류를 초기에 발견할 수 있어 프로그램의 안정성이 좋아집니다

2)널 포인터 예외로 인한 프로그램의 중단을 예방할 수 있습니다

널 포인터 예외(NullPointerException)는 프로그램이 실행되는 도중에 발생하기 때문에 언제 어디서 어떻게 발생할지 아무도 알 수 없습니다. 오랫동안 프로그래머의 골치를 아프게 만들었지만 코틀린에서는 예방할 수 있습니다

3)아주 간결하고 효율적입니다

코틀린은 여러가지 생략된 표현이 가능한 언어입니다. 그래서 다른 언어보다 훨씬 간결하고 효율적으로 코딩할 수 있습니다.

4)함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능합니다.

함수를 변수에 저장하거나 함수를 다른 함수의 매개변수로 넘길 수 있는 함수형 프로그래밍과 클래스를 사용하는 객체 지향 프로그래밍을 둘다 할 수 있습니다

5)세미콜론을 생략할 수 있습니다

코드를 작성할때 줄 마지막에 사용하던 세미콜론을 생략할수도 있습니다

 

 

리액티브 프로그래밍이란?

Posted by HULIA(휴리아)
2019. 8. 24. 22:46 뒷이야기들/스터디히스토리강의

코틀린 리액티브 프로그래밍 책(2019)에서 참고

 

 

리액티브 프로그래밍은 데이터 스트림과 변경 사항 전파를 중심으로 하는 비동기 프로그래밍 패러다임

간단히 말하면, 데이터와 데이터 스트림에 영향을 미치는 모든 변경사항을 관련된 모든 당사자들, 예를 들면 최종 사용자나 컴포넌트, 하위 구성요소, 또는 어떻게든 연결돼 있는 다른 프로그램 등에게 전파하는 프로그램을 리액티브 프로그램이라고 한다

 

예를 들어 엑셀에서 한셀에 식이 있고 다른셀에는 식에서 쓰는 값이 있을때 값을 바꾸면 식의 결과도 자동으로 바뀌는데 이것을 리액티브라고 한다

 

함수형 리액티브 프로그래밍을 적용해야 하는 이유

1)콜백 지옥의 제거

콜백은 미리 정의된 이벤트가 발생할 때 호출되는 메서드다. 인터페이스를 콜백메서드와 함께 전달하는 매커니즘을 콜백 매커니즘이라고 부른다.

2)오류 처리를 위한 표준 매커니즘

3)간결해진 스레드 사용

스레드를 코틀린에서 자바에 비해 더 쉽게 사용할 수 있지만, 여전히 복잡하다. 리액티브 프로그래밍을 통하면 한층 더 쉽게 사용할 수 있다

4)간단한 비동기 연산

스레드와 비동기 작업은 서로 연관돼 있다. 스레드 사용이 쉬워질수록 비동기 연산도 쉬워진다.

5)전체를 위한 하나, 모든 작업에 대해 동일한 API

리액티브 프로그래밍, 특히 RxKotlin은 간단하고 직관적인 API를 제공하는데 네트워크 호출, 데이터베이스 접근, 계산 또는 UI 연산 등 어느 곳에서나 어떤 것을 대상으로든 사용할 수 있다

6)함수형 접근

리액티브 프로그래밍을 사용하면 함수형 접근 방법을 취해서 가독성이 좋은 선언적 코드를 작성할 수 있다

7)유지 보수 가능하고 테스트 가능한 코드

가장 중요한 점으로 리액티브 프로그래밍을 올바르게 수행하면 프로그램의 유지보수와 테스트가 한층 더 쉬워진다

 

리액티브 선언(http://www.reactivemanifesto.org)은 네가지 리액티브 원리를 정의해 놓은 문서

 

The Reactive Manifesto

Responsive: The system responds in a timely manner if at all possible. Responsiveness is the cornerstone of usability and utility, but more than that, responsiveness means that problems may be detected quickly and dealt with effectively. Responsive systems

www.reactivemanifesto.org

리액티브 선언의 4원칙

1)응답성(Responsive)

시스템은 증각 응답해야 한다. 응답성 있는 시스템은 신속하고 일관성 있는 응답시간을 유지해 일관된 서비스 푸짐을 제공한다

2)탄력성(Resilent)

시스템에 장애가 발생하더라도 응답성을 유지해야 한다. 탄력성은 복제(replication), 봉쇄(containement), 격리(isolation), 위임(delegation)에 의해서 이루어진다. 장애는 각 컴포넌트 내부로 억제돼 각 컴포넌트들을 서로 격리시키는데, 그래서 하나의 컴포넌트에 장애가 발생하더라도 전체 시스템에 영향을 끼치지 못하게 된다

3)유연성(Elastic)

리액티브 시스템은 작업량이 변하더라도 그 변화에 대응하고 응답성을 유지해야 한다

리액티브 시스템은 상용 하드웨어 및 소프트웨어 플랫폼에서 효율적인 비용으로 유연성을 확보한다

4)메시지 기반(Message Driven)

탄력성의 원칙을 지키려면 리액티브 시스템은 비동기적인 메시지 전달에 의존해 컴포넌트들 간의 경계를 형성해야 한다

 

리액티브 스트림 표준 사양

http://www.reactive-streams.org 

 

http://www.reactive-streams.org

Reactive Streams Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. This encompasses efforts aimed at runtime environments (JVM and JavaScript) as well as network protocols. JDK9 java

www.reactive-streams.org

 

코틀린을 위한 리액티브 프레임워크

리액티브 프로그램을 작성하려면 라이브러리 또는 특정 프로그래밍 언어가 필요하다. 코틀린은 자바, 안드로이드와 완벽하게 상호 운용되며 멀티 플랫폼 애플리케이션을 위한 강력하고 유연한 프로그래밍 언어이기 때문에 코틀린을 리액티브 언어라고 볼 수는 없다(애초에 리액티브 언어라고 하는 프로그래밍 언어를 들어본 적이 없다)

 

그러나 도움이 되는 라이브러리가 있다

-RxKotlin

-Reactor-Kotilin

-Redux-Kotlin

-FunKTionale

-RxJava와 그외의 자바 리액티브 프레임워크도 코틀린과 함께 사용할 수도 있다(코틀린은 자바와 100% 상호 운용 가능하기 때문)

 

 

'뒷이야기들 > 스터디히스토리강의' 카테고리의 다른 글

암호화관련 조사  (0) 2021.01.26
코틀린이란  (0) 2019.08.24
마크다운 정의 장단점 사용법 정리  (0) 2019.04.28
react native 리액트 네이티브 스터디  (0) 2018.04.15
데브옵스(DEVOPS)란  (0) 2018.04.03

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

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

react native 리액트 네이티브 스터디

Posted by HULIA(휴리아)
2018. 4. 15. 17:46 뒷이야기들/스터디히스토리강의

react native는

react로 android와 ios로 동시에 native코드를 만들어주는 언어를 말한다

기존에 webview형식의 아이오닉과 phonegap과 비교되는 부분이다


개발환경

-nodejs

-npm을 통해서 설치를 하기 때문에 nodejs 설치를 기본적으로 해야 한다



https://facebook.github.io/react-native/docs/getting-started.html

리액트 네이티브 관련 정리 사이트(영문)

getting started로 테스트 진행하면 됨



getting started 방식은 두가지

1. expo를 이용해서 하는 방식(이 포스팅에서 활용한 방식)

2. 네이티브 code로 하는방식(이 포스팅에 기록하지 않음)



create-react-native-app 으로 프로젝트 생성시에 

npm-cli.js관련 오류나면

npm update후에 다시 진행하면 정상적으로 됨


만들어진 프로젝트에서 npm start를 하면 QR code가 뜨고 되고

expo.io에서 계정 생성후 스마트폰에서 expo관련 앱을 설치하고 앱에서 QR code를 찍으면 해당 페이지가 뜨게 된다


expo의 역할

-js파일로 빌드(리액트 네이티브 코드를 js파일로 변환)

-js파일을 웹페이지에 보여주는 역할(웹서버 역할)


리액트 네이티브 앱을 만들기 위해서 알아야 할 점

-반응형 웹관련

-css3 flex box layout로 검색해서 flex layout에 대해서 알아야 한다

정식명칭 css3 flexible box layout 

한글번역

:https://developer.mozilla.org/ko/docs/Web/CSS/CSS_Flexible_Box_Layout/Flexbox%EC%9D%98_%EA%B8%B0%EB%B3%B8_%EA%B0%9C%EB%85%90

https://developer.mozilla.org/ko/docs/Web/CSS/CSS_Flexible_Box_Layout

영어

:https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox

https://developer.mozilla.org/en-US/docs/Web/CSS/flex



*****쉽게 리액트 네이트브 앱을 실행할수 있는 방법(웹IDE로 리액티 네이티브 앱을 만들어 보기)

https://snack.expo.io에서 접속하면 웹 IDE가 생성되고 

run on device를 클릭하면 QR code가 뜨고

스마트폰에서 expo앱에서 QR code를 찍으면 실행된다

https://expo.io/snacks/@kimjaeeon


expo -> device 

https://docs.expo.io/versions/v27.0.0/introduction/project-lifecycle



무료 강의(영어)

https://academy.nomadcoders.co/courses/

https://programmers.co.kr/learn


리액트 네이티브 구조(한글 초보자용)

https://g6ling.gitbooks.io/react-native-tutorial-korean/content/chapter1.html


스위퍼 샘플소스

https://github.com/leecade/react-native-swiper



리액트 네이티브 한글 번역

https://seongbin9786.github.io/2018/02/10/%EB%A6%AC%EC%95%A1%ED%8A%B8%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%207%20(SPA%201)/


리액트 네이티브 코드 재사용법

https://github.com/seongbin9786/reusable-react-code-examples


리액트 네이티브 기본 설명

https://github.com/seongbin9786/react-basic



react native를 사용한 초간단 커뮤니티 앱 제작

https://www.slideshare.net/taggon/react-native



https://velopert.com/3631

리액트 라이프사이클


react native app.js components 관련으로 구글 검색


부트스트랩처럼 UI객체들을 쉽게 편하게 쓸수 있는 모음

https://react-native-training.github.io/react-native-elements/docs/card.html


라이더스앱 IOS 개발기

http://woowabros.github.io/experience/2018/05/19/build-app-by-react-native.html


리액트 패턴 정리사이트

https://reactpatterns.com/


import, export 관련 내용

https://github.com/seongbin9786/es6-modules


리덕스 관련 정리

https://docs.google.com/document/d/1XSKQ7F9KtgVbJj3YM9KhieHLKrS92hD79pixNJM0mR8/edit?usp=sharing


IOS스크린샷 생성툴

https://app.shotbot.io/#/project


naivecoin 변역사이트

https://newpouy.github.io/


goalPlan 1인개발 관련 히스토리 정리

https://m.blog.naver.com/PostView.nhn?blogId=hidejj79&logNo=221256652881&proxyReferer=http%3A%2F%2Fm.facebook.com


리액트에서 주로 사용하는 디자인 패턴

https://krasimir.gitbooks.io/react-in-patterns/content/


React.js관련

https://velopert.com/reactjs-tutorials


세미나 정리

https://trello.com/b/XNk2ruv5/%EC%A2%8B%EC%95%98%EC%9D%84%EA%B1%B8-%EB%A6%AC%EC%95%A1%ED%8A%B8

데브옵스(DEVOPS)란

Posted by HULIA(휴리아)
2018. 4. 3. 10:32 뒷이야기들/스터디히스토리강의
AWS사이트에 발췌

데브옵스는
애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다

데브옵스의 이점
-속도
작업속도가 빨리지므로, 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출가능
예)마이크로 서비스 & 지속적 전달
-신속한 제공
릴리즈의 빈도와 속도를 개선하여 제품을 더 빠르게 혁신하고 향상가능. 새로운 기능의 릴리즈와 버그 수정속도가 빨라질수록 고객의 요구에 더 빠르게 대응하여 경쟁우위를 강화가능
예)지속적 통합 & 지속적 전달
-안정성
최종 사용자에게 지속적으로 긍정적인 경험을 제공하는 한편 더욱 빠르게 안정적으로 제공할 수 있도록, 애플리케이션 업데이트와 인프라 변경의 품질을 보장합니다.
예)지속적 통합 & 지속적 전달 & 모니터링과 로깅
-확장가능
규모에 따라 인프라와 개발프로세스를 운영 및 관리
자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리가능
예)코드형 인프라
-협업강화
주인 의식과 책임 같은 가치를 강조하는 데브옵스 문화 모델에서 좀 더 효과적인 팀을 구축
개발자와 운영 팀은 긴밀하게 협력하고 많은 책임을 공유하며 워크플로를 결합
이를 통해 비효율성을 줄이고 시간을 절약
-보안
제어를 유지하고 규정을 준수하면서 신속하게 진행가능
자동화된 규정준수정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 데브옵스 모델을 도입가능


데브옵스 문화 철학
데브옵스로 전환하기 위해서는 문화와 사고방식으 변화가 필요
간단하게 말하면 데브옵스는 개발과 운영이라는 두 팀 간의 장벽을 허무는 일


데브옵스 방식
조직이 소프트웨어 개발과 인프라 관리 프로세스의 자동화 및 간소화를 통해 더 빠르게 혁신할 수 있도록 지원하는 몇가지 주요 방식이 있습니다.

기본방식 중 하나는 소규모 업데이트를 자주 수행
소규모로 자주 업데이트하면 각 배포의 위험을 줄어듭니다. 팀에서 오류의 원인이 되는 최근 배포를 확인할 수 있으므로 더 빠르게 버그를 해결할 수 있습니다. 업데이트 소요 시간과 규모는 다르지만, 데브옵스 모델을 사용하는 조직은 기본 소프트웨어 개발 방식을 사용하는 조직보다 훨씬 더 자주 업데이트를 배포합니다.

조직은 마이크로 서비스 아키텍쳐를 사용하여 애플리케이션의 유연성과 혁신의 속도를 높일 수 있습니다.
마이크로 서비스 아키텍쳐는 복잡한 대규모 시스템을 간단하고 독립적인 프로젝트로 결합 해제합니다
애플리케이션은 많은 개별 구성 요소(서비스)로 분할되며, 각 서비스는 단일 목적 또는 기능으로 한정되고 피어 서비스 및 전체 애플리케이션과 별개로 운영됩니다.
이 아키텍쳐는 애플리케이션 업데이트를 위한 조정 오버헤드를 줄이고, 각 서비스가  이를 담당하는 작고 민첩한 팀과 연결되면 조직이 좀 더 신속하게 움직일 수 있습니다.

하지만 마이크로 서비스와 릴리스 빈도 증가의 조합은 배포수를 현저히 늘려 운영 문제로 이어질 수 있습니다. 따라서 지속적 통합 및 지속적 전달과 같은 데브옵스 방식을 사용하면 이러한 문제를 해결하고 조직이 안전하고 안정적인 방식으로 신속하게 업데이트를 제공가능
코드형 인프라 및 구성 관리와 같은 인프라 자동화 방식은 잦은 변경에 대해 컴퓨팅 리소스를 탄력적이고 대응적으로 유지하는데 도움이 됩니다. 또한 모니터링과 로깅의 사용도 엔지니어가 애플리케이션 및 인프라 성능을 추적하여 문제에 신속하게 대응할 수 있게 하는데 도움이 됩니다.

-지속적통합
자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 소프트웨어 개발방식
지속적 통합의 핵심 목표는 버그를 신속하게 찾아 해결하고, 소프트웨어 품질을 개선하고, 새로운 소프트웨어 업데이트를 검증 및 릴리즈하는데 걸리는 시간을 단축하는 것

-지속적 전달
코드 변경이 프로덕션에 릴리즈할 수 있도록 자동으로 빌드, 테스트 및 준비되는 소프트웨어 개발 방식입니다.
빌드 단계이후의 모든 코드 변경 사항을 테스트 환경 및/또는 프로덕션 환경에 배포함으로써 지속적 통합을 확장합니다.
지속적 전달이 적절하게 구현되면, 개발자는 언제나 즉시 배포할 수 있고 표준화된 테스트 프로세스를 통과한 빌드 아티팩트를 보유하게 됩니다.

-마이크로 서비스 아키텍쳐
단일 애플리케이션을 작은 서비스의 집합으로 구축하는 설계 방식입니다.
각 서비스는 자체 프로세스에서 실행되고, 주로 HTTP기반 API라는 간편한 매커니즘을 사용하는 잘 정의된 인터페이스를 통해 다른 서비스와 통신합니다
마이크로 서비스는 비즈니스 기능을 중심으로 구축되며, 각 서비스는 단일 목적으로 한정되어 있습니다. 다양한 프레임워크 또는 프로그래밍 언어를 사용하여 마이크로 서비스를 작성하고 이를 독립적으로 단일 서비스는 또는 서비스 그룹으로 배포할 수 있습니다

-코드형 인프라
버전관리 및 지속적 통합과 같은 코드와 소프트웨어 개발 기술을 사용하여 인프라를 프로비저닝하고 관리하는 방식입니다
클라우드의 API 중심 모델을 사용하면 개발자와 시스템 관리자가 수동으로 리소스를 설정 및 구성할 필요없이 프로그래밍 방식으로 대규모로 인프라와 상호작용할 수 있습니다. 따라서 엔지니어는 코드 기반 도구를 사용하여 인프라와 인터페이스하고, 애플리케이션 코드를 다루는 방법과 유사한 방식으로 인플라를 다룰 수 있습니다. 인프라가 코드를 통해 정의되므로, 인프라와 서버를 표준화된 패턴을 사용하여 배포하고 최신패치와 버전으로 업데이트 하거나, 반복 가능한 방식으로 복제할 수 있습니다.

        1)구성관리
         개발자와 시스템 관리자는 코드를 사용하여 운영체제를 자동화하고 구성, 운영 작업등을 호스팅합니다. 코드를 사용함으로써 구성 변경을 반복하고 표준화 할 수 있습니다.이에 따라 개발자와 시스템관리자가 운영체제, 시스템 어플리케이션 또는 서버 소프트웨어를 수동으로 구성할 필요가 없어집니다

        2)코드형 정책
         인프라와 인프라 구성이 클라우드로 체계화된 조직은 규정 준수를 규모에 따라 동적으로 모니터링하고 적용할 수 있습니다. 따라서 코드를 통해 설명된 인프라는 자동화된 방식으로 추적, 검증 및 재구성할 수 있습니다. 이는 조직이 손쉽게 리소스 변경을 관리하고 보안 조치가 분산 방식으로 적절하게 적용될 수 있게 해줍니다.


-모니터링 및 로깅
조직은 지표와 로그를 모니터링하여 애플리케이션 및 인프라 성능이 제품의 최종사용자 경험에 어떤 영향을 미치는지 확인합니다. 조직은 애플리케이션과 인프라에서 생성되는 데이터 및 로그를 캡쳐하고 분류한 다음 이를 분석함으로써, 변경 또는 업데이트가 사용자에게 어떤 영향을 주는지 이해하고, 문제의 근본 원인 또는 예상치 못한 변경에 때한 통찰력을 확보합니다. 서비스는 연중무휴 24시간 사용할 수 있어야 하고 애플리케이션 및 인프라 업데이트 빈도가 증가함에 따라 적극적인 모니터링이 점점 더 중요해지고 있습니다. 이러한 데이터에 대한 실시간 분석을 수행하거나 알림을 생성하는 것도 조직이 좀 더 능동적으로 서비스를 모니터링하는 데 도움이 됩니다

-커뮤니케이션 및 협업
조직에서 커뮤니케이션과 협업이 증가하는 것도 데브옵스의 주요 문화적 측면 중 하나입니다. 데브옵스 도구 및 소프트웨어 제공 프로세스를 자동화를 사용하면 개발 및 운영의 워크플로와 책임을 물리적으로 합침으로써 협업이 이루어집니다. 해당 팀에서는 이 위에 채팅 애플리케이션, 문제 또는 프로젝트 추적 시스템, wiki를 사용하여 커뮤니케이션을 지원하고 정보를 공유하는 강력한 문화적 표준을 확립합니다.
이를 통해 개발자와 운영 그리고 마케팅이나 영업과 같은 다른 팀간에도 커뮤니케이션이 활발해지면서 조직의 모든 부분에서 목표와 프로젝트에 좀 더 가깝게 다가갈 수 있습니다


개발자로써의 앞으로 준비해야 할 일
-다양한 프로그래밍 알아야 함
-마이크로 서비스(API) 알아두기
-지속적 전달 툴(젠킨스) 알아두기

브라우저 동시 커넥션 갯수

Posted by HULIA(휴리아)
2018. 3. 1. 20:53 뒷이야기들/스터디히스토리강의

https://stackoverflow.com/questions/985431/max-parallel-http-connections-in-a-browser


Chrome34/32    6 10

IE9     6 35

IE10      8 17

IE11        13 17

Firefox27/26     6 17

Safari7.0.1     6 17

Android4      6 17

ChromeMobile18      6 16

IE Mobile9     6 60

The first value is ConnectionsPerHostname and the second value is MaxConnections.

OLTP ETL OLAP DSS

Posted by HULIA(휴리아)
2018. 2. 6. 23:41 뒷이야기들/스터디히스토리강의

요즘 정보시스템 관련으로 이야기를 들은게 있어서 정리를 하려고 한다


정보시스템 

단말(클라이언트) - OLTP시스템 - OLAP시스템


OLTP는 단말에서 직접적으로 연결되는 시스템

ex) 웹서버

OLAP는 OLTP에서 정보를 가지고 가공처리해서 관리자가 의사결정 할 수 있도록 해주는 시스템 

ex) 통계서버


ETL은 OLTP와 OLAP간의 데이터를 마이그레이션해주는 시스템을 말함


정규식관련 정보 및 테스트 사이트 및 예제 샘플

Posted by HULIA(휴리아)
2017. 9. 19. 09:43 뒷이야기들/스터디히스토리강의
정규식관련 설명 참고 하기(설명 넘나 잘 되어있음)
https://tuwlab.com/ece/25809

한글관련 문서 정규식도 나와있음
http://superfelix.tistory.com/70

정규식 도식화
http://regexper.com

주의사항
자바스크립트의 정규식과 자바에서의 정규식이 다르다


많이 쓰이는 정규식 표현
전화번호(02-123-4567)
/^\d{2,3}-\d{3,4}-\d{4}$/

이메일 주소(admin@gmail.com)
/^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/i

웹 페이지 url(http://google.com:80)
/^https?:\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/

그림 파일명(favicon.png)
/^.+\.(jpg|png|gif|bmp)$/

한글만
/^[가-힣]*$/

sms/mms 문자 구분


'뒷이야기들 > 스터디히스토리강의' 카테고리의 다른 글

브라우저 동시 커넥션 갯수  (0) 2018.03.01
OLTP ETL OLAP DSS  (0) 2018.02.06
코드 이그나이터 설치  (0) 2017.09.15
Headless broswer 리스트  (0) 2017.02.13
프로그래밍 언어 순위 현황 확인  (0) 2017.01.06

코드 이그나이터 설치

Posted by HULIA(휴리아)
2017. 9. 15. 18:38 뒷이야기들/스터디히스토리강의

코드 이그나이터 다운로드

https://codeigniter.com/download



코드 이그나이터 설치

download한 zip을 압축을 풀어서

설치하고자 하는 디렉토리의 위치에 업로드하면 된다



코드 이그나이터 한글 사용자 메뉴얼

http://www.ciboard.co.kr/user_guide/kr/installation/index.html


2.1.0

http://www.codeigniter-kr.org/user_guide_2.1.0/


3.0

http://www.ciboard.co.kr/user_guide/kr/