728x90

https://www.educba.com/functional-programming-vs-oop/

함수형 프로그래밍과 OOP의 주요 차이점

1. 함수형 프로그래밍은 고정된 데이터 값에 다양한 연산을 하기위해 사용됩니다. (병렬형)

  OOP는 다양한 형태의 값에 공통적인 적은 연산을 하기 위해 사용됩니다. 


2. 함수형 프로그래밍은 형태가 보존되지 않는 프로그래밍 모델을 갖고

  OOP는 형태가 보존되는 프로그래밍 모델을 갖습니다. 


3. 함수형 프로그래밍에서는 state(상태)가 존재하지 않고

OOP는 state(상태)가 존재합니다. 


4. 함수형 프로그래밍은 함수가 기본조작단위이고

OOP는 Object가 기본조작단위입니다. 


5. 함수형 프로그래밍에서 함수는 다중프로세서에 실행되는 코드에 영향이 없습니다. 

OOP에서 method는 다른 코드에 영향을 줄수 있고, 다중 프로세서에도 영향을 미칠 수 있습니다. 


6. 함수형 프로그래밍에서 주요 초점은 "우리가 하는 일"

OOP에서 주요 초점은 "우리가 어떻게 하고 있는가"


7. 함수형 프로그래밍은 주로 데이터에 대한 추상화, 동작에 대한 추상화를 지원합니다. 

OOP에서는 주로 데이터에 대한 추상화만 지원합니다.  (동작은 정해져 있음)


8. 함수형 프로그래밍은 응용 프로그램에 대한 대용량 처리시 높은 성능을 제공합니다. 

OOP는 대용량 데이터 처리에는 좋지 않습니다. 


9. 함수형 프로그래밍은 조건문을 지원하지 않습니다. 

OOP는 if-else문과 switch문 처럼 조건문을 사용할 수 있습니다. 







728x90

알고리즘 문제풀기 시작.

그냥 그렇다고하는거 시간을 재면서 써보니까 좋네^^




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Backjoon1000_DrEngineer
{
    public static void main(String[] args) throws IOException
    {
        //메모리 13024KB 시간:92ms
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String inputValue;
        String[] numbers = new String[2];
        while ((inputValue = bufferedReader.readLine()) != null)
        {
            numbers = inputValue.split(" ");
 
            System.out.print(Integer.valueOf(numbers[0]) + Integer.valueOf(numbers[1]));
        }
 
        /*        // 메모리 14408   112
        Scanner scanner = new Scanner(System.in);
        int A = scanner.nextInt();
        int B = scanner.nextInt();
        if (!(0 >= A || B >= 10))
            System.out.print(A + B);
        scanner.close();*/
        /*        // 메모리 14440 시간  112
        Scanner scanner = new Scanner(System.in);
        int A = scanner.nextInt();
        int B = scanner.nextInt();
        if (0 < A && B < 10)
            System.out.print(A + B);
        scanner.close();*/
    }
}



cs




728x90



자바의 미래 'JVM, JDK 이원 생태계'

https://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=092&aid=0002149464



Java 유료 논쟁, Oracle JDK와 OpenJDK의 차이 정리

http://jsonobject.tistory.com/395  


  • Oracle JDK 바이너리에 적용되던 BCL 라이센스가 2018년 7월 부로 Java SE Subscription라는 이름의 년 단위 유료 구독형 라이센스로 새롭게 개편되었다.
  • 새로운 라이센스는 2018년 9월 출시 예정인 Oracle JDK 11 바이너리부터 적용된다. 또한, 오직 라이센스 구독자 만이 LTS 업데이트 지원을 받을 수 있다. (다음 LTS 지원 버전의 출시는 3년 뒤로 Oracle JDK 17이 된다.)
  • 기존 Oracle JDK 8 바이너리의 경우 2019년 1월 이후 업데이트부터 라이센스 구독을 요구한다.


728x90

amp  : 엑셀레이티드 모바일 페이지 : 오픈소스 이니셔티브(OSI) : 로딩시간 단축 

         C++  처음 속도 빠름..... Javascript 쓸수 없음... 거기에서 제공한것만 씀... 속도는 빠름. 

PWA : 프로그래시브 웹 앱스 : 앱 수준과 같은 사용자 경험을 웹 에서 제공하는 것이 목적. 

        서비스 워커로 불리는 새로운 API를 활용, 웹앱의 충요한 부분 캐싱.... 

         사용자에게 푸시 알림보내고, 네트환경 좋지 않아도  빠르게 구동

        중국 알리 익스프레스 대표 사례...

https://medium.com/@MadeDesignbyMe/%EA%B5%AC%EA%B8%80%EC%9D%98-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%A0%88%EC%8B%9C%EB%B8%8C-%EC%9B%B9-%EC%95%B1%EC%8A%A4%EB%A5%BC-%EC%95%84%EC%8B%AD%EB%8B%88%EA%B9%8C-8116f2766004

         



AMP is an open-source library that provides a straightforward way to create web pages that are compelling, smooth, and load near instantaneously for users. AMP pages are just web pages that you can link to and are controlled by you.

AMP builds on your existing skill sets and frameworks to create web pages. AMP is supported by many different platforms, and it's compatible across browsers.

AMP's ecosystem includes 25 million domains, 100+ technology providers, and leading platforms, that span the areas of publishing, advertising, e-commerce, local and small businesses, and more!

--> https://www.ampproject.org/learn/overview/

PWA

https://developers.google.com/web/progressive-web-apps/


'For Real > Java & Spring' 카테고리의 다른 글

functional programming vs OOP 번역 1  (0) 2018.12.11
open JDK vs oracle JDK  (0) 2018.11.07
nas  (0) 2018.08.06
returned status code 143: 젠킨스  (0) 2018.07.23
Failed to obtain pooled item  (0) 2018.07.19
728x90

NAS

[Network-Attached Storage]

요약 컴퓨터 네트워크에 연결된 파일 수준의 컴퓨터 기억장치로, 서로 다른 네트워크 클라이언트에 데이터 접근 권한을 제공한다.
--> 네트워크 연결 해서 쓰는 외장하드....

NAS, 즉 네트워크 결합 스토리지 시스템은 네트워크에 연결된 파일 수준의 데이터 저장 서버로, 네트워크 상의 다른 기기들에게 파일 기반 데이터 저장 서비스를 제공한다. NAS 시스템 상에 다른 소프트웨어를 구동시킬 수도 있지만 일반 서버처럼 사용되지는 않기 때문에 키보드나 디스플레이를 가지고 있지 않으며 네트워크를 통해 제어 및 설정 작업을 수행한다. 

NAS 기기를 위해서는  완전한 형태의 운영체제는 필요 없으며, 핵심 혹은 최소한의 기능을 탑재한 운영체제(stripped-down OS)가 사용된다. 예를 들면 FreeNASNAS4Free와 같은NAS 기반의 오픈소스 리눅스와 FreeBSD 배포판이 사용된다. NAS 시스템은 한 개 이상의 하드 드라이브를 포함하며, 논리적으로 연결되어 RAID 형태로 구성되기도 한다. NAS는  일반적으로 NFS(Network File System), SMB(Server Message Block)/CIFS(Common Internet FileSystem) 혹은 AFP(Apple Filing Protocol)와 같은 네트워크 파일 공유 프로토콜을 사용해 접근을 제공한다. 

1980년대 NovellIBMSun, 3Com등의 회사들이 원격 파일 서버를 개발하기 시작했고, 이 시스템들의 성공에 힘입어 1990년대 초 3Com은 데스크톱 환경을 위한 최초의 NAS 시스템을, Auspex System은 유닉스 시스템을 위한 NFS(Network File System) 서버를 개발하였다. Auspex의 개발자들은 이후 분사하여 Windows와 유닉스 계열을 모두 지원하는 NAS 시스템인 NetApp Filer를 개발하였으며, 이후 NAS 기기의 시장은 NetApp과 EMC에 의해 주도되고 있다. 2000년대 이후에는 데이터와 메타데이터를 분산 저장 시키는 분산 파일 시스템인 클러스터 NAS 기술이 상용화 되고 GlusterFSLustreFSPanasas 등과 같은 클러스터 NAS 솔루션이 등장하였다. 

다른 저장 구조와 비교해 볼때, 숫자와 종류 및 수준이 다양한 DAS(Direct-Attached Storage) 또는 내장형 스토리지는 파일 공유가 어렵고 확장성이 제한적이다. 또한 SAN(Storage Area Network)의 경우 파일 시스템 기능은 클라이언트 측에 일임하고 블록 기반 저장장치 기능만을 제공하기 때문에 관리 소프트웨어가 별도로 필요하다. 반면 NAS 장비는 설치와 관리가 용이하고 구축이 저렴하기 때문에 소규모 파일 공유 환경에서 인기를 얻고 있다.

[네이버 지식백과] NAS [Network-Attached Storage] (두산백과)


'For Real > Java & Spring' 카테고리의 다른 글

open JDK vs oracle JDK  (0) 2018.11.07
PWA & AMP  (0) 2018.09.19
returned status code 143: 젠킨스  (0) 2018.07.23
Failed to obtain pooled item  (0) 2018.07.19
has value '1.8', but '1.7' is required.  (0) 2018.07.11
728x90

https://stackoverflow.com/questions/45012293/jenkins-git-fetch-returned-status-code-143


'For Real > Java & Spring' 카테고리의 다른 글

PWA & AMP  (0) 2018.09.19
nas  (0) 2018.08.06
Failed to obtain pooled item  (0) 2018.07.19
has value '1.8', but '1.7' is required.  (0) 2018.07.11
IE 에서 설정한 에러페이지가 안나올떄  (0) 2018.07.05
728x90

Application : 응용 계층 7계층 : "최종 사용자에게 가장 가까운 계층"  

7층에서 작동하는 응용프로그램은 사용자와 직접적으로 상호작용한다. 

ex) 구글 크롬, 파이어폭스, 사파리등 의 웹브라우저

  스카이프, 아웃룩, 오피스 등의 응용 프로그램. 

Presentation : 표현 계층 6계층 : 응용프로그램, 네트워크위해 데이터 "표현"

 ex) 데이터를 안전하게 전송하기 위해 암호화  복호화 

Session : 세션 계층 5계층 : 컴퓨터와 서버간(2대의 기기)에 "대화"가 필요

이 계층에서는 설정, 조율(세스템 응답 대기시간), 세션 마지막에 응용프로그램 간의 종료등의 기능필요

Transport : 전송계층 4계층 : 최종 시스템& 호스트간 데이터 전송 조율

보낼 데이터의 용량, 속도, 목적지 등을 처리 

ex) 전송제어 프로토콜(TCP) TCP 는 인터넷 프로토콜(IP) 위에 구축되는 데 흔히 TCP/IP 로 알려져 있다. 기기의 IP 주소가 여기서 작동한다. 


 Network : 네트워크 계층 3계층 : (여러 라우터를 통한) 라우팅을 비롯한 패킷 전달을 담당. 

ex) 보스턴에 있는 컴퓨터가 캘리포니아에 있는 서버에 연결하려고 할 떄 그경로는 수백만가지... 이 계층의 라우터가 이 작업을 효율적으로 처리함. 

일반적인 가정용/소형 오피스용 라우터의 모습. ADSL 전화선 및 이더넷네트워크 케이블 연결부가 보인다.

라우터(router[a]문화어: 경로기) 혹은 라우팅 기능을 갖는 공유기는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다.https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%84%B0









Data Link : 데이터링크 계층 2계층: 네트워킹 세계에서 대부분 스위치는 2계층에서 작동

 두개 직접 연결된 노드 사이의 노드간 데이터 전송을 제공하며, 물리 계층의 오류도 수정처리  2개의 부계층도 존재 

- 매체접근 제어 계층(MAC)

- 논리적 연결제어 (LLC)

Physical: 물리계층 1계층 : 시스템 전기적, 물리적 표현 

ex) 케이블 종류, 무선 주파수 링크, 핀 배치, 전압, 물리 요건... 문제시 케이블연결, 라우터 , 스위치 , 전원 확인













출처 http://www.ciokorea.com/news/36536: 









728x90

SSH 파일 전송 프로토콜 (Secure FTP 및 SFTP라고도 함)은 원격 파일 시스템의 파일을 액세스하고 관리하기위한 컴퓨팅 네트워크 프로토콜입니다. 또한 SFTP는 SCP 프로토콜과 마찬가지로 호스트 간 파일 전송을 허용합니다.

--> 환경설정이 잘못됐거나... 환경이 바뀐것  --> 방화벽 확인!!!


ERROR o.s.i.handler.LoggingHandler – org.springframework.integration.MessagingException: Failed to obtain pooled item
at org.springframework.integration.util.SimplePool.getItem(SimplePool.java:170)
at org.springframework.integration.file.remote.session.CachingSessionFactory.getSession(CachingSessionFactory.java:83)
at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.synchronizeToLocalDirectory
(AbstractInboundFileSynchronizer.java:143)
at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizingMessageSource.receive
(AbstractInboundFileSynchronizingMessageSource.java:146)
at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:111)
at org.springframework.integration.endpoint.AbstractTransactionSynchronizingPollingEndpoint.doPoll
(AbstractTransactionSynchronizingPollingEndpoint.java:67)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:146)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:144)
at 


출처 : https://www.latestarticlesonline.com/failure-to-create-sftp-session/

+ Recent posts