일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- database
- Windows
- nodejs
- MySQL
- dbeaver
- log4j2
- tibero
- springboot
- docker
- JPA
- intellijIDEA
- nginx
- sapfiorielements
- react
- gradle
- Java
- Linux
- BPMN
- IntelliJ
- VSCode
- LOG4J
- gson
- JavaScript
- NCP
- Git
- maven
- mybatis
- useEffect
- Kubernetes
- Today
- Total
목록분류 전체보기 (260)
두 손끝의 창조자
Formatter를 Prettier 사용하고 있다는 전제하에 settings.json 파일 열기 VS Code에서 cmd + shift + p 를 눌러서 커맨드 창을 연뒤 open settings(json)를 선택해서 settings.json 파일을 연다. 설정추가 아래 설정을 추가한다. "vetur.format.defaultFormatterOptions": { "prettier": { "singleQuote": true } } 세미콜론 자동 추가도 끄자 "vetur.format.defaultFormatterOptions": { "prettier": { "singleQuote": true, "semi": false } }

1. 프로젝트 생성 vue-cli 3.X vue create '프로젝트 명' vue-cli 2.X vue init webpack '프로젝트 명' 2. 프로젝트 구조 vue-cli 3.X vue-cli 2.X
gradle의 install task는 artifact를 로컬 캐시에 저장한다. install task를 사용하기 위해서는 plugin에 'maven' 을 추가하면 된다. apply plugin: 'maven' 로컬 캐시를 저장소처럼 사용하면 여러 프로젝트를 동시에 개발할 때 유용하게 쓸 수 있다. 사용하려면 repotitories에 'mavenLocal()' 을 추가한다. repositories { mavenLocal() mavenCentral() }

Start Event 트리거 마커 설명 None 정의된 트리거가 없음 Message 메시지가 참가자로부터 도착하여 프로세스를 시작. 메시지 플로우로 연결하면 어느 참여자가 메시지를 보냈는지 표시할 수 있음 Timer 프로세스 시작을 트리거하는 특정 시간 날짜 또는 특정주기 (예 : 매주 월요일 오전 9시)를 설정할 수 있음 Conditional 조건이 만족되면 트리거됨. 이벤트에 대한 조건식은 반드시 이벤트가 다시 트리거되기 전에 false가되어야함. "조건부 시작 이벤트"의 "조건식"은 프로세스 인스턴스가 아직 작성되지 않았기 때문에 프로세스의 데이터 컨텍스트 또는 인스턴스 속성을 참조해서는 안됨. 대신 환경의 정적 프로세스 속성 및 엔티티 상태를 참조 할 수 있음 Signal 다른 프로세스에서 브로드..
이벤트 유형에 따라 Publication, Direct resolution, Propagation, Cancellations, Compensations과 같이 트리거를 이벤트 잡기에 전달하는 다양한 전략이 있습니다. 공개된 이벤트는 대화로 그룹화되고, 여러 대화에 참여할 수 있습니다. 메시지는 트리거이며, 게시된 풀 외부에서 생성됩니다. 일반적으로 다른 풀의 다른 프로세스 간 B2B 통신을 설명합니다. 메시지가 특정 프로세스 인스턴스에 도달해야 하는 경우 상관관계는 특정 인스턴스를 식별하는 데 사용됩니다. 신호는 게시된 풀에서 생성된 트리거입니다. 일반적으로 프로세스 내, 프로세스 간, 풀 및 프로세스 다이어그램 간 브로드 캐스트 통신에 사용됩니다. 타이머 및 조건부 트리거는 암시 적으로 발생합니다. 이..

Event는 처음, 중간, 끝이 있다 Event는 Process의 어느 위치에서 사용하느냐에 따라서 시작(Start), 중간(Intermediate), 종료(End) 3가지로 나눌 수 있다. Start Process 나 Choreography 의 시작을 표시 Intermediate Start와 End Event 사이에 존재한다. Process나 Choreography 의 흐름에 영향을 주지만 이 이벤트가 시작이나 프로세스의 종료를 의미하지는 않는다. End Process 나 Choreography 의 종료를 표시 Event 도 종류가 있다 시작과 중간 이벤트는 이 이벤트가 발생한 원인(Trigger)을 정의할 수 있다. 예를 들어 메시지를 수신했거나, 타이머가 동작했거나 하면 이 시작 또는 중간 이벤트가..

BPMN Element Flow Objects 비즈니스 프로세스의 동작을 정의하는 메인 오브젝트 Event Activity Gateway Data Data Object Data Input Data Output Data Store Connecting Object Sequence Flows Message Flows Associations Data Associations Swimlane Pool Lane Artifacts 프로세스에 대한 추가적인 정보를 제공하기 위해 사용 Group Text annotation BPMN Element Notation Element 기호 설명 Event Process, Choreography 에서 무언가 "발생하는 것"을 표현할 때 사용한다. 즉, 원인과 결과를 표현한다. 원 ..

비즈니스 프로세스 모델링은 광범위한 정보를 다양한 대상에게 전달하는 데 사용한다. BPMN은 다양한 유형의 모델링을 포괄하도록 설계되었으며 엔드 투 엔드 비즈니스 프로세스를 만들 수 있다. 엔드-투-엔드 BPMN 모델에는 세 가지 하위 모델이 있다. Process(Orchestration) 비실행 내부 비즈니스 프로세스 실행 내부 비즈니스 프로세스 공개 프로세스 Choreography Collaboration Process 내부 비즈니스 프로세스 조직 내부 프로세스라고 하고 일반적으로 워크플로우 또는 BPM 프로세스라고 한다. 내부 프로세스에는 실행 가능한 것과 불가한 것이 있다. 비실행은 문서화하기 위한 용도이기 때문에 조건식이 실행에 필요한 정보는 일반적으로 포함하지 않는다. 내부 프로세스를 Swim..

한 Activity가 분기 조건 없는 Sequence Flow(이하 S.F)를 가지고 있을 때 어떻게 동작할까? Activity가 완료될 때 모든 S.F로 토큰을 전달한다. 즉 병렬로 동작한다. 이를 게이트웨이 요소로 표현하면 아래와 같다. 토큰은 프로세스의 요소들과 S.F를 통과하는 이론적인 개념이다. 게이트웨이는 게이트웨이가 토큰을 평가해서 명시적으로 어떤 S.F로 가야 하는지 정하지만, 이 경우는 모든 S.F를 평가하고 True에 해당하는 모든 S.F로 토큰을 통과시킨다. 만약 True 인 S.F가 없다면 디폴트 S.F로 통과시킨다. 원문 The nature and behavior of Sequence Flows is described in “Sequence Flow” on page 97. But ..
단일 사용자만 애플리케이션에 로그인 할 수 있는 제약사항을 두려면 xml.xml에 리스너를 추가하고 org.springframework.security.web.session.HttpSessionEventPublisher 스프링 시큐리티 설정에 최대 세션수를 지정합니다. 이렇게하면 사용자가 여러번 로그인 할 수 없습니다. 두 번째 로그인으로 첫 번째 로그인이 무효화됩니다. 만약 두 번째 로그인을 막으려면 error-if-maximum-exceeded 속성을 지정합니다. "rejected"은 form-login을 사용하는 경우 사용자가 authentication-failure-url 로 지정한 인증 실패 URL로 리다이렉션 됩니다. "remember-me"와 같은 다른 비 대화식 메커니즘을 통해 두 번째 인..
LDAP (Lightweight Directory Access Protocol) 공용 인터넷이든 회사 인트라넷이든 관계없이 누구나 네트워크에서 파일, 장치와 같은 조직, 개인 및 기타 리소스를 찾을 수 있도록하는 디렉토리 서비스 프로토콜입니다. TCP / IP 스택 위의 계층에서 실행됩니다. LDAP은 인터넷 디렉토리에 연결, 검색 및 수정하는데 사용되는 메커니즘을 제공합니다. LDAP 디렉토리 서비스는 클라이언트-서버 모델을 기반으로합니다. LDAP의 기능은 기존 디렉토리에 액세스 할 수있게하는 것입니다. LDAP의 데이터 모델 (데이터 및 네임 스페이스)은 X.500 OSI 디렉토리 서비스의 데이터 모델과 유사하지만 자원 요구 사항은 더 낮습니다. 연관된 LDAP API는 인터넷 디렉토리 서비스 응용..
일반적인 웹 애플리케이션에 접속해서 인증을 받는 절차를 한번 상상해 보자. 자원요청 : home 페이지에 접속을 해서 열어보고 싶은 링크를 클릭한다. 요청자원인식 : 링크를 클릭하면 요청이 서버로가고, 서버는 사용자가 요청한 자원이 보호된 자원이라고 인식한다. 요청자원 제공 불가 알림 : 사용자가 인증되지 않은 상태라면, 서버는 사용자에게 인증, 즉 로그인을 하라고 알려준다. 이때 로그인 페이지로 이동될 수도 있고 아니면 그냥 에러 페이지를 띄울수 있다. 인증 인터페이스 : 인증 메커니즘에 따라서 ID와 패스워드를 입력하는 폼이 뜰수고 있고, 브라우저가 BASIC 인증 다이얼로그 박스나, 쿠키나, X.509 인증서 등을 뒤져서 신상을 파악한다. 인증요청 : 브라우저는 입력된 ID, 패스워드를 서버로 보내..
핵심 Interface PlatformTransactionManager getTransaction() commit() rollback() TransactionDefinition 트랜잭션 4가지 속성 구현체 DataSourceTransactionManager TransactionAPI를 이용해서 관리 트랜잭션을 적용할 datasource가 빈으로 등록되어 있어야 함 JDBC과 SqlMap으로 만든 DAO에 적용가능함 트랜잭션을 적용할 DAO가 사용하는 것과 동일한 datasource를 빈으로 제공해야 함 Datasource를 getConnection()이 호출될때마다 매번 새로운 Connection을 돌려줘야 함 ThreadLocal 등을 이용해 트랜잭션을 저장해두고 돌려주는 특별한 기능을 가진 DataS..
JavaScript Array에서 Element 하나를 지울 때 delete Operator를 사용하여 지울 수 있습니다. 이 명령어로 삭제를 했을 때 해당하는 index는 undefined로 바뀌고 Array의 길이는 변하지 않습니다. var fruits = ["Banana", "Orange", "Apple", "Mango"]; delete fruits[1];위 구문 실행 후 fruits의 상태는 원하는 결과 : ["Banana", "Apple", "Mango"] 처리 결과 : ["Banana", undefined, "Apple", "Mango"] 이렇게 되어 원하는 결과를 얻지 못하는데요, 원하는 결과를 얻기 위해서는 splice() Method를 사용 해야합니다.fruits.splice(1, 1);..
1. SW공학 수업의 핵심 주장: SW is not a function but a dynamic sytem(state transition machine) dynamic system의 구성요소 a. 초기자원 b. 상태변환규칙들 c. 최종상태 변환방식 옛날 방식 specification -> 프로그램 -> 자바 코드 새로운 방식 specification -> 프로그램 -> 상태변환 기계 [C interpreter or Java or prolog...] 2. Why linear logic is important. 계발시간이 짧아진다. ex) sum(n) = 1+2+3+ ... + n을 프로그램하시오. 상태변환기계.. 초기자원 : 변환규칙 : -> linear logic programming: sum(1,1)...
semantic web : 핵심 idea : web 정보를 사람이 처리하는 것이 아니라, 컴퓨터가 자동으로 처리 web page in English = program but not a good program. 웹은 프로그램의 자격은 있지만 좋은 프로그램이 아님. =>자연어 처리가 요구되기 때문에 효율성이 떨어짐. ==> 자연어 대신에 linear logic을 사용 ex) in Korean 부산에서 제일 좋은 대학교는 동아대이다. in English The best university in Busan is Dong-a University. in C or Java,etc.. bestuniv(busan) = donga. Korean에서 C로 옮길 때 많은 정보를 잃어 버렸다. 따라서 자연어에서 다른 언어로 옮..
단계 1. 사용자 요구 분석 - 사용자가 개발자에게 줘야 할 정보 = what(specification language(명세언어:어떤것을 정의할 때 쓰는 언어, 종류:petrinet, finite state mechine, logic),) - 개발자가 사용자에게 줘야 할 정보 = how(c, java) 2. 설계 - 모듈(또는 객체)로 분할하여 공략 3. 구현 - 모듈의 인터페이스를 실제 구현 4. 테스팅 today's topic : specification ex1) tree를 일반인에게 설명 -> 아주 쉽지도 어렵지도 않다. ex2) Given two list L1 and L2, define L1 = L2 두 개의 리스트 L1, L2가 있을때 L1, L2가 같다는 개념을 정의하고 싶다. 두 개의 리스트..
첫번째 실패로부터 10일... 아무리 생각해도 LED가 Wii Remote로 향하고 있지 않으면 안된다는 결론을 내렸다. 사실 LED 앞에 거울을 달아서 반사를 시킬까, 뭐 이런저런 말도 안되는 생각도 많이 했지만 가장 확실한 방법으로 가기로 했다. 단순하게 펜의 팁 부분을 고정하지 말고 유연하게 움직이도록 하는게 나을거 같았다. 화면에 글을 쓸때는 쓰더라도 일단 카메라가 적외선을 인식을 해야하니까.;; 그리고 한가지 걱정이 생겼다. 아무리 생각해도 이건 너무 거저 먹는든 한 작품이었기 때문. ㅡㅡ;; 만든거라곤 코딩한줄 안하고(명색이 컴퓨터 공학과 대횐데..;;) 펜하나 덜렁 만들면 쫌 이상해서.;ㅋ 그래서 결론은 펜 하나로 프레젠테이션을 멋지게 할 수 있도록 무선포인터 기능을 같이 하기로 했다. 뭐 ..
약 6달전? 친구가 동영상 하나를 보여줬다. 가히 충격적인 동영상(아래 동영상) 위리모트 컨트롤러 하나로 여러가지 미친짓을 하고 있었다. 뭐 또 천재님 한명이 작품하나 만드셨군 하며 그땐 그냥 넘어갔다. 그로부터 한달쯤뒤? 우리학교 NEXT 사업단에서 무슨 공모전을 한다는 소식을 듣고 그 내막을 알아보니, 연구기간별로 100만원 80만원 등등을 지원해준다는 내용이었다. 귀찮아서 걍 안할려다가 저 돈이면... 하고 또 암흑에 늪으로 발을 들이기로 했다.. 작품명은 저비용 인터렉티브 화이트보드! 그렇다. 저 아저씨가 시연한걸 똑같이 만들어서 그냥 내고 돈만 받아 챙기는거다..ㅎㅎ 어차피 소스도 그대로 있고 펜도 만들기 쉽고. 꿀이네!! 작품연구기간은 5개월. 하지만 만드는데 걸리는 시간은 펜만 만들면 끝....
언어 홍수 현재 세계적으로 수천 종의 프로그래밍 언어들이 존재하고 있고, 새로운 프로그래밍 언어들이 계속 개발 중입니다. 지금 이 순간에도 어느 대학, 어느 기관에서 프로그래밍 언어를 만들었을지 모를 정도로 다양한 패러다임 속에서 만들어지고 있습니다. 유행따라 코딩 수많은 언어들 속에서 우리는 고민에 빠지게 됩니다. 도대체 어떤 언어가 개발하기 가장 쉬운 언어인가? 어느 언어가 개발 효율성이 좋은가? 원하는 결과를 얼마나 빠르게 얻을 것인가? 결정 장애를 가진 우리는 문제해결에 가장 적합한 언어가 아니라 주변에서 쉽게 접할 수 있는 언어를 사용하려는 경향이 생기게 됩니다. 이것은 결코 바람직한 현상이 아니며, 많은 추가적인 문제들을 야기하게 됩니다. 어떻게 적합한 언어를 고를까? 이 문제를 해결하기 위해..