smart-factory-lee-joon-ho의 등록된 링크

 smart-factory-lee-joon-ho로 등록된 티스토리 포스트 수는 262건입니다.

Discovering the Best Hotels in Bangkok: A Guide to Finding Your Perfect Stay [내부링크]

Bangkok is a great city for foreigners to travel for several reasons: Cultural Diversity: Bangkok is a melting pot of cultures and traditions, which makes it a fascinating place to visit. From the vibrant street food scene to the historic temples and palaces, you'll find a rich tapestry of cultural experiences waiting for you in Bangkok. Shopping: Bangkok is a shopper's paradise, with everything..

How foreigners rent cars in Jeju Island [내부링크]

Renting a car in Jeju Island is a popular option for foreign tourists as it allows for greater flexibility and convenience when exploring the island. Here are some steps to follow to rent a car in Jeju Island: Get an International Driver's Permit: To rent a car in Jeju Island, you'll need to have an International Driver's Permit (IDP) in addition to your regular driver's license. An IDP is a tra..

Experience the Ideal Weather of Jeju Island, South Korea [내부링크]

"Experience the Ideal Weather of Jeju Island, South Korea: A Guide for Tourists" Jeju Island, located off the southern coast of South Korea, is a popular tourist destination known for its mild and subtropical climate. In this guide, we'll give you an overview of the weather on Jeju Island based on 10 years of weather data, so you can plan your trip accordingly. Spring (March to May): Spring on J..

A Guide to Winter Weather in Busan, South Korea + Korea Four Seasons Weather [내부링크]

Winter Weather in Busan February and March are both winter months in Busan, South Korea. During this time, the weather is usually cold and dry, with average temperatures ranging from 4C to 10C (39F to 50F). There can be occasional snow or sleet, but these events are rare. The days are generally shorter and the skies are often cloudy, but there can also be clear, sunny days during this time. ..

[조코딩]앱 개발 이렇게 쉬웠나? React Native로 크로스 플랫폼 웹뷰앱 만들기 [내부링크]

https://www.youtube.com/watch?v=yjPl8Injlbw 쥰내 쉽네 ㅋㅋㅋ 웹뷰란 무엇인가? 웹뷰(WebView)란? 웹뷰(WebView)란 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)의 형태로 앱에 임베딩하는 것을 말한다. 즉, 앱 안에 HTML iframe을 넣어놓은 것이다. 즉, WebView는 앱 내에 웹 브라우저를 넣는 것이다. 웹 페이지를 보기 위해서 혹은 앱 안에서 HTML을 호출하여 앱을 구현하는 하이브리드 형태의 애을 개발하는데에도 많이 사용된다. 하이브리드 앱 장점 하이브리드 앱은 안드로이드 네이티브 앱 개발에 비해서 개발이 비교적 쉽다. 특히 기기간의 호환성을 해결하기가 상대적으로 편하다. 타 웹 사이트 링크로 가는 기능등을 지원하기 위해서 많이 ..

[Node.js] BackEnd에서 메일 전송하기 (with Nodemailer & Gmail) [내부링크]

https://www.npmjs.com/package/nodemailer nodemailer Easy as cake e-mail sending from your Node.js applications. Latest version: 6.9.1, last published: 10 days ago. Start using nodemailer in your project by running `npm i nodemailer`. There are 5765 other projects in the npm registry using nodemailer. www.npmjs.com npm i nodemailer https://nodemailer.com/about/ Nodemailer :: Nodemailer Nodemailer..

[Node.js]CoolSMS를 사용하여 api로 문자 발송 [내부링크]

https://www.npmjs.com/package/coolsms-node-sdk coolsms-node-sdk CoolSMS SDK for Node.js(Server Side Only). Latest version: 2.0.1, last published: a year ago. Start using coolsms-node-sdk in your project by running `npm i coolsms-node-sdk`. There are 3 other projects in the npm registry using coolsms-node-sdk. www.npmjs.com npm install 를 꼭 해주셔야합니다. CoolSMS를 사용하여 api로 문자 발송을 해볼려고합니다. 회원가입을 해줍니다. 체..

동기 /비동기 [내부링크]

동기 : 여러 일을 한 업무가 끝나면 실행 될 다음 업무 존재 -> 작업 순서가 중요 함 ->게시판 글 작성 후 게시판 목록 조회 비동기 : 동시에 여러 일 할 때 사용 -> 순서 보다는 동시 다발적으로 작업이 진행 되고 작업이 마무리 되어야 함 -> 메인 웹 페이지 or 게시판 목록 or 게임 다운 받으면서 카톡 작업 Javascript는 기본적으로 동기 방식 ! -> axios or fetch -> 비동기 (default) const data = axios.get ("https://www.naver.com") -> 백엔드 요청 ->DB ----> 위 코드 라인 진행 시 data 값이 아직 안들어 왔어도 다음 코드 진행 ----> 도중에 const data -> 출력 시 "Promise" 로 출력 됨 ..

How to create a Google Chrome extension program with ChatGPT(ChatGPT로 구글 크롬 확장 프로그램 만드는 방법) [내부링크]

https://openai.com/blog/chatgpt/ ChatGPT: Optimizing Language Models for Dialogue We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. ChatGPT is openai.com 회원 가입 후 실행해줍니다. TRY CHATGPT 버튼 클릭 ! 프롬프트에 이와 같이 입력 ..

[내부링크]

https://youtu.be/uJkOeB7-UWY Introduction The United States of America is considered one of the world's largest and most influential democracies. At the heart of American democracy are the values of freedom and equality, which are enshrined in the country's founding documents, such as the Constitution and the Bill of Rights. Two of the most important principles of American democracy are democrac..

Chatbots: The Future of Customer Service [내부링크]

Chatbots are rapidly gaining popularity as the go-to solution for businesses looking to improve their customer service. With the ability to handle an endless stream of queries 24/7, chatbots are transforming the way we interact with businesses online. In this post, we'll discuss why chatbots are the future of customer service and how you can get started with them. Why Chatbots are the Future of ..

ChatGPT 전세계에서 난리난 인공지능 챗봇 사용법 (How to use ChatGPT) [내부링크]

ChatGPT 란 ? ChatGPT는 OpenAI가 개발한 프로토타입 대화형 인공지능 챗봇이다. ChatGPT는 대형 언어 모델 GPT-3의 개선판인 GPT-3.5를 기반으로 만들어졌으며, 지도학습과 강화학습을 모두 사용해 파인 튜닝되었다. ChatGPT는 Generative Pre-trained Transformer(GPT)와 Chat의 합성어이다. ChatGPT는 2022년 11월 프로토타입으로 시작되었으며, 다양한 지식 분야에서 상세한 응답과 정교한 답변으로 인해 집중 받았다. 다만, 정보의 정확도는 중요한 결점으로 지적되고 있다.[1] ChatGPT - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ChatGPT는 OpenAI가 개발한 프로토타입 대화형 인공지능 챗봇이다. Ch..

Apollo Server를 사용하여 GraphQL 서버 구현 해보자 ! [내부링크]

https://www.apollographql.com/docs/apollo-server/ Introduction to Apollo Server Introduction to Apollo Server Apollo Server is an open-source, spec-compliant GraphQL server that's compatible with any GraphQL client, including Apollo Client. It's the best way to build a production-ready, self-documenting GraphQL API that can use data f www.apollographql.com https://graphql.org/learn/ GraphQL | A ..

[Javascript] ...rest 파라미터 사용법 [내부링크]

//REST 파라미터 ?? const child5 = { name: "철수", age: 8, school: "다람쥐초등학교", money: 2000, hobby: "수영", } //delete child.money -> 원본을 건들이는 명령어 //how to use ...rest const { money, hobby, ...rest } = child5; //...rest = {name , age, school} console.log('rest', rest) 변수 이름은 자유 ! ...aaa , ...bbb , ...ccc 아무거나 적어도 상관 없다. spread 연산자과 구조분해할당 합쳐서 구현

[Javascript] 얕은 복사 (spread연산자) / 깊은 복사(JSON메서드) : 백엔드 [내부링크]

//얕은 복사 -> spread ... 문법 사용 const child1 = { name: "철수", age: 13, school: "다람쥐초등학교" } const child2 = { ...child1 } child2.name = "영희"; console.log('child1', child1) console.log("child2", child2) //깊은 복사 -> JSON 문법사용 or lodash -> 공부 const child3 = { name: { first: "김", last: "철수" }, age: 13, school: "다람쥐초등학교" } const child4 = JSON.parse(JSON.stringify(child3)); //완전 새로운 객체 child4.name.first = "최"..

[Javascript] ...변수 : 스프레드 연산자(spread) [내부링크]

Spread Operator 기본 문법 스프레드 연산자를 사용하면 배열, 문자열, 객체 등 반복 가능한 객체 (Iterable Object)를 개별 요소로 분리할 수 있습니다. // Array var arr1 = [1, 2, 3, 4, 5]; var arr2 = [...arr1, 6, 7, 8, 9]; console.log(arr2); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] // String var str1 = 'paper block'; var str2 = [...str1]; console.log(str2); // [ "p", "a", "p", "e", "r", " ", "b", "l", "o", "c", "k" ] 스프레드를 안쓰고 이렇게 하는건 안되나 ? var arr1 = [1,..

<img> 태그 확대 CSS [내부링크]

https://homzzang.com/b/html-55 홈짱닷컴 홈페이지 제작, 그누보드 강의, 웹코딩, HTML, CSS, JAVASCRIPT, JQUERY, PHP, SQL homzzang.com css .img3 img { display: block; width: 100%; height: auto; transition: transform 0.25s ease-in-out; } .img3 img:hover { transform: scale(1.2); } html

구조분해할당(Destructing) -javascript [내부링크]

구조분해할당 = 비구조화할당 const child = { name: "준호", age: 30, school: "USC", createdAt: "2021-03-15", } // const name = "joonho" // const age = 30 // const school = "서라벌초등학교" // const createdAt = "2020-01-01" const { name, age, school, createdAt } = child getWelcomeTemplate({ name, age, school }); function getChild() { return { namec: "철수", agec: 13, schoolc: "다람쥐초등학교", } } const { schoolc } = getChild()..

웹 백엔드 학습 No.1 : Token 만드는 코드 -> Farcade Pattern [내부링크]

PAD padStart와 padEnd 함수는 ES8(ES2017)에 새롭게 추가된 기능이다. pad는 좌우에 특정한 문자열로 채우는 기능이다. 좀더 자세히 얘기하면 첫번째 파라미터인 maxLength를 받아 문자열의 길이가 maxLength보다 작을 경우 나머지를 특정한 문자열로 채워주는 기능이다. 이때 두번째 문자열을 넘겨주지 않으면 빈 공백으로 문자열을 채운다. const result = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); console.log('result', result) Token console.log("안녕하세요 !") function getToken(num) { const result = String(Math.flo..

[Next.js] [내부링크]

https://cocoon1787.tistory.com/714

[Next.js] error - unhandledRejection: MongoServerError: user is not allowed to do action [find] on [test.users] [내부링크]

error - unhandledRejection: MongoServerError: user is not allowed to do action [find] on [test.users] at Connection.onMessage (C:\Users\leejoonho) at _write (node:internal/streams/writable:330:10) at MessageStream.Writable.write (node:internal/streams/writable:334:10) at TLSSocket.ondata (node:internal/streams/readable:754:22) at TLSSocket.emit (node:events:527:28) at addChunk (node:internal/str..

[React.js] useReducer [내부링크]

import "./App.css"; import { useState, useReducer } from "react"; function App() { // useState const [count, setCount] = useState(0); function down() { setCount(count - 1); } function up() { setCount(count + 1); } function reset() { setCount(0); } // useReducer function countReducer(oldcount, action) { if (action === "UP") { return oldcount + 1; } else if (action === "DOWN") { return oldcount - ..

[Next.js] how to transform HTML to JSX for Next.js : html 파일을 next.js에 사용하는 방법 ! [내부링크]

https://www.youtube.com/watch?v=eHB6hMiv0lw html로 대부분 작업된 웹 개발 환경을 너무너무너무 react 환경으로 바꾸고 싶은데 나는 프론트앤트 , 퍼블리셔가 아니라서 html을 react로 치환하고 있을 시간이 없어 해당 방법을 알아보았다 그렇다고 멋진 백엔드도 아니니까 결국 게을러서 ...... 코딩 is 심플 .... 일단 위의 방법을 따라하면 상용된 HTML 또는 현재 사용중인 웹 페이지에서 해당 html을 가져온다 https://bubble.io/templates Templates for Bubble Buy and sell Bubble template to speed up app development. Bubble is a visual programing l..

java.util.zip.ZipException: invalid END header (bad central directory offset) : 해결방법 [내부링크]

java.util.zip.ZipException: invalid END header (bad central directory offset) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:112) at java.util.jar.JarFile.(JarFile.java:117) at java.util.jar.JarFile.(JarFile.java:55) at org.apache.catalina.loader.StandardClassLoader.addRepositoryInternal(StandardClassLoader.java:1216) at org.apache.catalina.loader.StandardCla..

Error creating bean with name 'exceptionTransfer' defined in file : (해결 방법) [내부링크]

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'exceptionTransfer' defined in file -> https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000019137 묻고 답하기 | 표준프레임워크 포털 eGovFrame 처리중입니다. 잠시만 기다려주십시오. www.egovframe.go.kr 안녕하세요. 표준프레임워크센터 입니다. 첨부하신 로그에 보면 다음 부분이 확인이 됩니다. nested exception is java.lang.ClassNotFoundException 샘플 프로젝트인..

[node.js] express route 사용 방법 ! [내부링크]

app.get("/tech", (req, res) => { res.sendFile(__dirname + "/public/html/02_tech.html"); }); app.get("/perform", (req, res) => { res.sendFile(__dirname + "/public/html/03_perform.html"); }); app.get("/field", (req, res) => { res.sendFile(__dirname + "/public/html/04_field.html"); }); app.get("/contact", (req, res) => { res.sendFile(__dirname + "/public/html/05_contact.html"); }); 이렇게 줄줄이 적힌 app.g..

[Node.js] ERROR : Refused to apply style from 'http://localhost:5000/resource/css/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. ( [내부링크]

일단 간단한 html + css 파일 덩어리 ! 퍼블리셔에게 넘겨 받아서 node.js server에 올릴 목적으로 작업을 진행하였다. 매우 간단하다고 생각하였는데 문제가 발생했다. const express = require("express"); const port = process.env.PORT || 5000; const app = express(); app.use(express.json()); app.use(express.urlencoded()); //api routes app.get("/", (req, res) => { res.sendFile(__dirname + "/public/index.html"); }); app.post("/post", (req, res) => { console.log(re..

Next.js -How to use Dynamic Routes [내부링크]

Defining routes by using predefined paths is not always enough for complex applications. In Next.js you can add brackets to a page ([param]) to create a dynamic route (a.k.a. url slugs, pretty urls, and others). 사전에 정의된 경로를 사용하는 라우팅은 복잡한 어플리케이션에 항상 적합하지 않습니다. Next.js 에서는 {}을 사용하여 동적인 라우팅이 가능하게 합니다. import { useRouter } from 'next/router' const Post = () => { const router = useRouter() const { pi..

[Ubuntu] Screenr : 우분투를 위한 스크린샷 프로그램을 소개 합니다. [내부링크]

우분투를 위한 스크린샷 프로그램을 소개 합니다. 윈도우 , 맥OS, 리눅스 OS 모든 곳에서 설치 및 사용이 가능합니다. ScreenRec is a free screenshot program to take annotated screenshots in one click and share them instantly. Get started in 60 seconds Annotate your screenshots Auto-save screenshots to the cloud Free private cloud storage No annoying watermarks Super lightweight and fast https://screenrec.com/screenshot-tool/#download Free Scree..

<DBever> HOW to Migration MySQL to PostgreSQL [내부링크]

대표님이 말씀하신 방법중 하나라고 생각 됩니다. [dbeaver] : 여러 가지 DBMS를 하나의 툴로 통합 관리해주는 어플리케이션 1. Mysql , postgresql 을 해당 통합 DBMS로 연동 기존 Mysql , Postgresql 두 개 모두 관리자 비밀번호 설정을 해주는게 좋습니다 . How to Mysql mysql> ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경 비밀번호'; How to Postgresql postgres>- create user '계정' with encrypted password '패스워드'; postgres>- alter user '계정' with encrypted password ..

리눅스 우분투에서 원도우 원격 접속하기 (rdesktop, remmina) [내부링크]

[rdesktop] https://ko.wikipedia.org/wiki/Rdesktop rdesktop - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org rdesktop은 마이크로소프트의 원격 데스크톱 프로토콜(RDP)의 클라이언트 소프트웨어 구현체이다. rdesktop은 GNU 일반 공중 사용 허가서(GPL-3.0 이상)의 요건에 종속되는 자유-오픈 소스 소프트웨어이며 리눅스, BSD, 마이크로소프트 윈도우용으로 이용이 가능하다. 2013년 9월 기준으로 rdesktop은 RDP 5 프로토콜의 큰 부분 집합을 구현한다. 현대 버전의 윈도우의 원격 데스크톱 연결과는 달리 rdesktop은 윈도우 NT 4.0 터미널 서버 에디션과 윈도우 2000 서버에 ..

[Node.js] node.js Test api 만드는 쉬운 방법 [내부링크]

https://www.youtube.com/watch?v=pN49Lnlyuao https://github.com/typicode/json-server GitHub - typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously) Get a full fake REST API with zero coding in less than 30 seconds (seriously) - GitHub - typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously) github.com -> Ge..

[Node.js] 백엔드 간단한 api 서버 구축 방법 [내부링크]

https://velog.io/@ywoosang/Node.js-%EC%84%A4%EC%B9%98 우분투 Node.js 설치및 npm 환경구축 우분투 20.04에 Node.js 를 설치하는 세 가지 방법, npm 환경 구축과 REPL 을 이용한 실행 velog.io 1.$sudo apt-get install -y curl 2.$ sudo apt update 3.$ sudo apt install nodejs 4.$ nodejs -v -> v12.22.9 5.$sudo apt install npm node .js 설치 완료 npm install [package] npm init -> 패키지 정렬 ! npm uninstall [package] -> 삭제 npm i express -> 웹 페이지 프레임 워크 설치..

[Node.js] Nodemon 로 편하게 서버 재 실행 [내부링크]

나는 우분투 사용자이다 Nodemon 설치 시 발생했던 문제점 적어보았다. 1. npm install nodemon -> 설치 위 명령어로 설치를 하게 되면 nodemone : 명령을 찾을 수 없습니다 해당 에러를 마주하게 된다 . -> npm uninstall nodemon 으로 삭제를 해주고 -> npm install -g nodemone -> 설치 -g : 이건 컴퓨터 전역에서 해당 모듈을 사용할 수 있도록하는 명령어이다. npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories,..

[Ubuntu] hMailServer 대체 메일 서버 : MailCow 음메에~~~~ 우분투에 설치하기 [내부링크]

새로 회사에 구축한 우분투 서버에 hMailServer 대체품인 MailCow 설치 하는데 어려움이 있어 글을 남긴다 이게 설치할 때 버전 문제도 많이 생기는거 같아 도움이 될지 모르겠다. https://wiki.crowncloud.net/How_to_Install_Gitea_on_Ubuntu_18_04?How_to_install_Mailcow_Server_on_Ubuntu_18_04 How To Install Mailcow Server On Ubuntu 18 04= wiki.crowncloud.net https://www.youtube.com/watch?v=H4z-5zB7WHk 일당 이 두개를 제일 많이 참고 했는데 hostnamectl set-hostname mail.example.com 일단 이와 ..

[Docker] : Docker-compose.yml [내부링크]

https://gist.github.com/egoing/b62aa16573dd5c7c5da51fd429a5faa2 docker-compose.md GitHub Gist: instantly share code, notes, and snippets. gist.github.com docker network create wordpress_net 워크프레스 네트워크를 생성해 줍니다. $ docker \ > run \ > --name "db" \ > -v "$(pwd)/db_data:/var/lib/mysql" \ > -e "MYSQL_ROOT_PASSWORD=123456" \ > -e "MYSQL_DATABASE=wordpress" \ > -e "MYSQL_USER=wordpress_user" \ > -e "MY..

[Docker] : dockerfile 작성-> image 생성 -> Container 생성 및 운영 그리고 DockerHub에 push 마무리 @@@ [내부링크]

const express = require('express'); const app = express(); app.get('/',(req,res)=> { res.send(" CentumJoonho in Docker !!"); }); app.listen(8088,() =>console.log("server is running")); -> express 통해서 간단하게 서버를 운영해보았다. docker 사용법 Dockerfile 생성 -> 물론 그전에 Visual Studio Code -> extension -> Docker 설치해야함 FROM node:16-alpine # 사용할 베이스 이미지 WORKDIR /app # 이미지 안에서 어디 경로로 어플리케이션을 복사해 올 것인지 # 레이어 시스템 : 순..

1일차 처음 만드는 인공지능 모델링 [내부링크]

더보기 강사 : 장은진 스마트 시티란? 1. 다양한 데이터가 공유 및 분석되어 사용자의 필요에 맞게 제공되는 도시 2. 예시 (국내) : 교통정보시스템은 서울시의 전체적인 교통정보를 제공하는 플랫폼 (TOPIS) 디지털 트윈 환경 : 서울시의 가시권을 미리 확인해 볼 수 있는 시스템 공유주차 시스템은 민간과 공공주차장을 통합하고 예약 및 결제를 원스톱으로 처리해주는 공유주차 시스템 (모두의 주차장) 3. 예시 (해외) : 태양광 패널 스마트 쓰레기통(Bigbelly Bins)은 비슷한 크기의 다른 쓰레기통 보다 최소 8배 쓰레기 처리 가능 뚜껑에 있는 쓰레기 감지 센서가 쓰레기가 어느 정도 차면 미화원에게 알람을 보냄 코펜하겐 스트리트 랩(Street LAB)은 도시 내의 주차 정보 , 쓰레기 처리 , ..

WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/aaa/bbb/dddddd.do] in DispatcherServlet with name 'action' [내부링크]

1. web.xml 에서 DispatcherServlet 선언이 제대로 되어있는지 확 appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:ㄴㄴㄴㄴ.xml 1 appServlet / action org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/springmvc/dispatcher-servlet.xml 1 action *.do rest org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/confi..

Javascript +JQuery 메일 [보내는 사람] 전체 목록 삭제하기 [내부링크]

https://cofs.tistory.com/270 javascript 중복 submit 방지 / 다중 클릭 방지 / 중복 클릭 방지 javascript 중복 submit 방지 / 다중 클릭 방지 / 중복 클릭 방지 웹 페이지에서 form submit 이벤트나 버튼의 클릭 등 이벤트가 여러번 발생하면 곤란할 때가 있다. 예를 들어 글을 등록할 때 등록버튼 cofs.tistory.com 참고하였습니다. var TodoubleSubmitFlag = 0; function TodoubleSubmitCheck(){ if(TodoubleSubmitFlag == 1 ){ return TodoubleSubmitFlag; } else if(TodoubleSubmitFlag=0) { TodoubleSubmitFlag = ..

ajax로 DB 데이터 가져와서 화면에 뿌리기 ! [내부링크]

https://genesis8.tistory.com/214 DAO / VO / DTO란? 원본 출처 : http://lbass.tistory.com/entry/DAO-%EB%9E%80 http://choijaehyuk.com/128 http://everyit.tistory.com/4 DAO란 Data Access Object의 약어로서 실질적으로 DB에 접근하는 객체를 말한다. DAO의.. genesis8.tistory.com DAO =DTO ? /* 메일 주소록 조회 : mailDAO.selectCompanyGroupUserList */ SELECT AA.USER_NM , AA.EMAIL , ISNULL(AA.GROUP_NM, '-') AS GROUP_NM , AA.MAIL_GRP_IDX , AA.GR..

java spring gradle server error [내부링크]

https://mchch.tistory.com/164 Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl 오류 Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl 에러 자꾸 뜸 근데 뒤에 url 이름이 내가 설정한 maria db url이 아님 내가 사용하는 profile : real application-real-db-properties에 database.. mchch.tistory.com https://dev-yujji.tistory.com/49 Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set Sp..

전자정부프레임워크 프로젝트 환경 설정 ! [내부링크]

전자정부 프레임워크에 대해 지식은 없으며 해당 프로젝트 소스를 내 개발 컴퓨터로 옮겨오면서 발생한 문제들을 적어 보았다. 아직 작동은 되나 무슨 원리인지 잘 모르겠다. 정전임이 쓰던 전자정부프레임워크 v3.7 사용 -> 드라이브 c 에 놀렸다 톰켓도 정전임님이 쓰던거 사용 apache-tomcat-7.0.91 서버 실행 해봄 -> 나오는 에러들 확인 1. Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener -https://cheezred.tistory.com/167 3. [Error] The method getTextContent..

REACT.JS 웹앱만들기.no1 [내부링크]

react.js 환경 설정 -> 물론 node.js 환경이 다 설치 되어 있어야 함 ! npm install -g create-reat-app create-react-app . npm start 이렇게 바로 실행 된다. -> react의 매우 좋은 기능을 보여준다. 동일한 코드가 엄청 많게 되면 이를 정리 정돈해야지 개발자가 쉽게 볼 수 있다. react 는 태그를 만들 수 있다 -> 이름표를 붙이는 것 subject라는 태그를 만들 수 있다. 이렇게 동일한 코드를 를 통해 아주 쉽게 반복적으로 사용 가능하다. 모든 내용들을 다 테그로 만들어서 나열 가능 !! 테그에 속성을 넣을 수 있다. !! 영어 그대로 key 값이 필요하단다 이렇게 작성하면 된다. 고유한 값을 주게 되면 react 가 가져다 쓴다 ..

-사업 아이디어- [내부링크]

- 당근 마켓 어플이 성공한 이유- -> 중고 사기를 직접 거래를 통해 막을 수 있다는 이유 - 단점- -> 중고거래를 할 수 있는 바운더리(지역) 제한되어 있다. -> 내가 원하는 물건이 해당 지역에 없는 경우 기다려야한다. -방안- -> 중고거래의 범위를 늘리면 된다. -필연적인 문제- -> 중고사기를 당근 마켓 내에서도 존재하며, 어떻게든 방식을 찾는다. -최소한의 해결방안- ->중고거래의 한 방법인 택배 거래에 대한 문제점 --> 프로그램 개발을 통해 해당 문제에 대한 예방 및 방지책이 없을까 ---> 꼭 직거래만이 예방 방법일까 ? : 위 문제를 해결하면 당근 마켓을 뛰어 넘는 플랫폼을 만들 수 있다. : 코로나 이슈 전망 - 여행 가능구역 -코로나 상황 -내전 상황 -비행기 항공권 금액 - 입..

window.open 중앙 정렬 및 오른쪽 정렬 [내부링크]

https://juyeol.tistory.com/9 window.open 중앙 정렬 및 오른쪽 정렬 안녕하세요 오늘은 window open 중앙정렬 및 오른쪽 정렬에 대해 알아보겠습니다. 일단 window open의 옵션은 - channelmode=yes|no|1|0 : 전체화면으로 창이 열립니다. ( IE에서만 동작) - directories=yes|no|1.. juyeol.tistory.com

Node.js & MySQL : 연동 /MySQL로 홈페이지 구현 [내부링크]

-- -- Table structure for table `author` -- CREATE TABLE `author` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `profile` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ); -- -- Dumping data for table `author` -- INSERT INTO `author` VALUES (1,'egoing','developer'); INSERT INTO `author` VALUES (2,'duru','database administrator'); INSERT INTO `author` VALUES (3,'taeho','data..

DATABASE MySQL - MySQL 설치 방법 2가지 (wamp , cloud IDE) [내부링크]

https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com 이렇게 바로 내 피씨에 Mysql을 설치해도 되지만 이런게 있다 Mysql 설치 경로 확..

Node.js -web : sanitize-html [내부링크]

C:\>npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help init` for definitive documentation on these fields and exactly what they do. Use `npm install ` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (nod..

Node.js-.JavaScript-객체-데이터와 처리 방법을 담는 그릇으로서 객체 [내부링크]

자바스크립트는 다른 객체 언어와는 양상이 다르다. var v1 = 'v1'; //1000 codes v1 = 'egoing'; var v2 ='v2'; var p = { v1 : 'v1', v2 : 'v2', f1 : function (){ console.log(this.v1); }, f2 : function (){ console.log(this.v2); } } p.f1(); p.f2(); 함수는 값이다. 변수 안에 넣을 수 있다. 함수를 객체화 한 코드이다. //Node.js import -> 크롬의v8엔진을 외부에서도 사용할 수 있게 runtime 프로그램 var http = require('http'); var fs = require('fs'); var url = require('url'); // ..

node.js_web개발 [내부링크]

var http = require('http'); var fs = require('fs'); var url = require('url'); // 모듈 (node.js) var qs = require('querystring') function templateHTML(title , list , body, control){ return ` WEB1 ${list} ${control} ${body} `; } function templateList(filelist){ var list = ''; var i = 0; while (i 보낸 데이터 값을 다시 페이지에 리 다이렉 response.writeHead(302,{Location:`/?id=${title}`}); response.end("success"); }) }..

pm2 - 사용 방법 [내부링크]

https://pm2.keymetrics.io/ PM2 - Home Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance. pm2.keymetrics.io npm install pm2 -g 해당 명령어로 설치를 해준다. 웹페이지가 적절히 잘 운영되고 있다. 내가 임의로 서버 연결을 끊어도 다시 붙여서 웹페이지가 유지 되도록한다. pm2를 멈출 때는 pm2 stop main 해당 명령어로 멈춘다. 아래 명령어는 코드를 변경했을 때 리로드만 하면 웹페이지에 수정 사항이 적용되도록 해준다. pm2 star..

node.js NPM (Node.js Package Manager) feat. npm Error: Class extends value undefined is not a constructor or null [내부링크]

https://engineering.linecorp.com/ko/blog/pm2-nodejs/ PM2를 활용한 Node.js 무중단 서비스하기 - LINE ENGINEERING 자바스크립트는 가장 널리 사용되는 클라이언트 측 프로그래밍 언어이자 프론트엔드 웹 개발 언어 중 하나입니다. 그리고 Node.js는 Chrome의 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타 engineering.linecorp.com 싱글 스레드의 문제를 보완해 준다. Node.js 의 버전 충돌에 의해 이와 같은 에러가 발생했다. 처음에는 당황했지만 Node.js 버전은 cmd에서 확인되는걸로 봐서 단순 npm 문제라고 생각했다 . 나의 경우 그냥 단순하게 nodejs를 전부 지웠다. https://programmera..

nodejs file list in directory - 파일 리스트를 어떻게 노드 js로 가져 오나? [내부링크]

var http = require('http'); var fs = require('fs'); var url = require('url'); // 모듈 (node.js) var app = http.createServer(function(request,response){ var _url = request.url; var queryData = url.parse(_url, true).query; var pathname = url.parse(_url, true).pathname if (pathname == '/') { if (queryData.id== undefined) { fs.readdir('./data', function(error, filelist){ console.log(filelist); }) var ..

Node.js 웹 어플리케이션 -> 동적으로 만드는 방법 공부 [내부링크]

웹 서버 만드는 코드 입니다. https://www.tutorialsteacher.com/nodejs/create-nodejs-web-server Create Node.js Web Server Node.js Web Server In this section, we will learn how to create a simple Node.js web server and handle HTTP requests. To access web pages of any web application, you need a web server. The web server will handle all the http requests for the web applicatio www.tutorialsteacher.com 이렇게 구글링 ..

파이썬 셀레니움 이미지 크롤링 (여러 검색어 한 번에 크롤링 추가 코딩)feat. 조코딩 [내부링크]

1. 파이썬 가상 환경 세팅 2. Selenium 설치 및 브라우저 세팅 3. 구글 이미지 크롤링 코드 작성 1. 파이썬 가상 환경 세팅 -> ? 파이썬의 다양한 버전이 각각 다르게 요구되는 경우가 있다. 여러개의 파이썬 버전을 다양한게 설치해 놓고 그때 그때 필요한 상황에서 가져와서 사용 venv 를 사용 한다 가상환경이 생성 된다. 터미널 창에서 명령어를 입력하여 -> 가상의 환경으로 들어가 줍니다. C:\Users\leejoonho\Desktop\crawling\selenium\Scripts 해당 루트로 들어가 activate 명령으로 입력하여 활성화 시켜줍니다. 가상 환경이 활성화 되면 (selenium) 이 생깁니다. (selenium) C:\Users\leejoonho\Desktop\crawl..

pip : 'pip' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. [내부링크]

pip : 'pip' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + pip install pygame + ~~~ + CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException VS Code studio 에서 terminal 창을 통해 pip 명령어가 작동하지 않는 경우 CMD 관리자로 실행해서 설치 진행

- Eclipse 자주 쓰는 단축키 - [내부링크]

- Eclipse 자주 쓰는 단축키 - ----- 실행 ----- Ctrl + F11 : 바로 전에 실행했던 클래스 실행 ----- 소스 네비게이션 ----- Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때 Alt + Left, Alt + Right : 이후, 이전 Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때 F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다. ----- 문자열 찾기 ----- Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다. Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감. Ctrl + J : 입력하면서 찾을 수 있음. Ctrl + Shift +..

모바일 어플 만들어 부자 되기 프로젝트 2 : 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)-> 클릭 이벤트 ! [내부링크]

drawable 파일에 준비된 사진을 drag and drop 을 하고 해당 이미지를 불러 오는 ImageView 태그를 사용하여 res와 연결해준다 . 기존 태그를 사용해줘도 되지만 강의에서는 LinearLayout 태그로 바꿔주고 사용하였다. 그러면 미리 준비해줬던 bts 맴버 사진이 이렇게 올라온다. 그럼 여기서 사용하는 LinearLayout 태그란 무엇이냐 ? 알아서 빈 공간을 착착착 채워주는 Layout이다. 그래서 그냥 버튼을 생성하면 옆으로 순차적으로 적절한 공간에 생성해 준다. 첫 좌표 기준으로 생성되는 버튼 등등 동일한 위치에 생성이 된다. 그래서 사용자기 위치를 직접 지정해줘야 한다. 레이아웃을 이렇게 두줄을 만들기 위해서 한 줄에 세개씩 이렇게 코딩을 해도 이렇게 바뀌는게 없다 코드..

Error : Installation did not succeed.The application could not be installed [Android studio] : 해결 방법 [내부링크]

잘 공부하고 있던 코드를 다시 불러와서 안드로이드 스튜디오에서 실행을 했더니 에러가 발생했다. 무엇인가 싶었는데 알 수 없는 에러에 설치가 실패한단다. 우짜스까.... 난또 내가 컴퓨터 정리하다가 패키지나 관련 파일을 지웠나 싶어서 복구하고 있었는데 그런게 아니였다. 이래저래 검색을 했는데 다행이 있었다. https://devshin93.tistory.com/38 [안드로이드 - 에러] Installation did not succeed.The application could not be installed Installation did not succeed. The application could not be installed. Installation failed due to: '-26' 애뮬레이터를 돌..

모바일 어플 만들어 부자 되기 프로젝트 1 : 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin) [내부링크]

https://www.inflearn.com/course/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%BD%94%ED%8B%80%EB%A6%B0-%EB%AA%A8%EB%B0%94%EC%9D%BC%EC%95%B1/lecture/79868?tab=curriculum [왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin) - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 안드로이드 스튜디어 설치 방법 다운로드 설치 https://recipes4dev.tistory.com/53 안드로이드 스튜디오 설치하기. (Installing Andro..

Java-Spring : HOW TO USE BASICS [내부링크]

스프링 부트가 톰캣을 내장하고 있다 서버 붙었다는 뜻 웹페이지 잘 뜬다 -> 에러라고 뜨지만 이건 단순히 html 에 아무것도 안 올려서 그런거다 라이브러리 살펴보기 엄청 많은 기본 라이브러리를 당겨 와서 웹페이지를 만든다 요즘은 라이브러리 간에 의존관계를 다 관리해준다. 인텔리제이 IDE에서 저 버튼이 중요하다 !! -> 활용 잘하면 편함 ! 임베디드 라이브러리 실행만해도 웹서버가 뜨고 모든 라이브러리가 다운 받아진다. 시대가 많이 바뀌었단다 꼰머........ View 환경 설정 thymeleaf 템플릿 엔진 thymeleaf 공식 사이트: https://www.thymeleaf.org/ 스프링 공식 튜토리얼: https://spring.io/guides/gs/serving-web-content/ 스..

[책]혼자 공부하는 머신러닝 / 딥러닝 _정말 혼자 공부하는 AI_구글 코랩 사용법 [내부링크]

노트북 코랩은 구글이 대화식 프로그램이 환경이 주피터를 커스터마이징한 것 입니다. 파이썬 지원으로 시작한 주피터 프로젝트는 최근에는 다른 언어도 지원합니다. 주피터 프로젝트의 대표 제품이 바로 노트북입니다. 코랩 노트북은 구글 크라우드의 가성 서버를 사용합니다. 화면 오른쪽 산단에 있는 RAM ,디스크 아이콘에 마우스를 올리면 상세 정보를 알 수 있습니다. 코드를 실행하기 전이나 연결이 끊어진 상태에서는 아이콘 대신에 연결 버튼이 활성화 됩니다. 이 노트북은 구글 클라우드의 컴퓨터 엔진에 연결되어 있습니다. 이서버의 메모리는 약 12기가이고 디스크 공간은 100기가입니다. 개인 컴퓨터의 사양에 구애 받지 않고 머신러닝/ 딥러닝을 진행할 수 있습니다. 코드 셀을 실행 시킬려면 Ctrl + Enter를 누르..

2021-10-02 경성대학교 세미나 [내부링크]

https://wingnim.tistory.com/53 t-SNE(t-distributed stochastic neighbor embedding) 설명 t SNE는 High Dimension Data (고 차원의 데이터) 를 Low Dimension Data (저 차원의 데이터) 로 거리 관계를 유지하며 임베딩 시키는 알고리즘이다. 임베딩(Embedding) 고차원을 저차원으로 임베딩한다는 것에 wingnim.tistory.com https://lovit.github.io/nlp/representation/2018/09/28/tsne/ t-Stochastic Neighbor Embedding (t-SNE) 와 perplexity t-Stochastic Nearest Neighbor (t-SNE) 는 ve..

2021-09-11 경성대학교 세미나 [내부링크]

t-SNE https://ratsgo.github.io/machine%20learning/2017/04/28/tSNE/ t-SNE · ratsgo's blog 이번 글에서는 데이터 차원축소(dimesionality reduction)와 시각화(visualization) 방법론으로 널리 쓰이는 t-SNE(Stochastic Neighbor Embedding)에 대해 살펴보도록 하겠습니다. 단어 벡터와 같이 고차원 데이터를 ratsgo.github.io https://hongl.tistory.com/139 Dimension Reduction - t-SNE (1) t-SNE (t-distributed Stochastic Neighbor Embedding) 는 2008년에 Laurens van der Maate..

KISA 프로젝트 개발 : 값 그래프 GUI -> 한글 파일 [내부링크]

https://ghostweb.tistory.com/956 [WPF] Window 창을 추가하고 새 창을 여는 방법 (모달/모달리스, Show(), ShowDialog(), how to add window) 이번에는 WPF에서 Window 창을 추가하고 새 창을 여는 방법에 대해서 알아보도록 할게요. 1. 창 추가하기 우선 프로젝트의 솔루션 탐색기에서 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭하세 ghostweb.tistory.com 팝업 창 띄우기 https://wpfstory.tistory.com/16 WPF - Chart 구현하기 WPF에서 MSChart를 Window Form Host로 구현을 하기도 했었습니다. Window Form을 WPF에 붙이다보니 여러모로 좋지 않더군요. WPF 기반의..

blender : python (블랜더 파이썬으로 코딩하여 플러그인 개발하기) no.2 [내부링크]

[블렌더/파이썬] 나만의 기능을 만들자 - 오퍼레이터 기본 심플 스크립트를 수정하는 것을 통해 나만의 기능을 만들 수 있다 . import bpy def main(context): context.object.location.x += 1 class MyOperator(bpy.types.Operator): """Tooltip""" bl_idname = "test.my_operator" bl_label = "My Test Operator" @classmethod def poll(cls, context): return context.active_object is not None def execute(self, context): main(context) return {'FINISHED'} def register(..

blender : python (블랜더 파이썬으로 코딩하여 플러그인 개발하기) no.1 [내부링크]

https://www.youtube.com/watch?v=bHHJ8OUc5Gg&list=PLMMbr17RbOxVWRRvIuGTQMq6mJEvM6Oez&index=2 코딩을 통해 블랜더를 조정하는 방법은 두가지가 있다 위 tool kit에 있는 scripting 화면에서 스크립팅을 통해 진행하거나 아니면 파이썬 콘솔화면에서 진행 할 수 있다. https://docs.blender.org/api/blender2.8/bpy.types.BlendData.html#bpy.types.BlendData 블랜더 기능들을 사용하기 위해서는 종속된 클래스에 대해서 알아야 한다. 해당 내용은 위 링크로 들어가서 찾아 볼 수 있다. 해당 클래스를 호출해 보면 3가지 객체에 대한 리스트 정보를 얻을 수 있습니다. 블랜더 영상에..

간단하고 빠른 웹 개발 feat. 우리 집 강아지도 할 수 있다. /netlify [내부링크]

https://www.youtube.com/watch?v=LnGgndT308Q 공짜 템플렛을 찾아 봅니다. 마음에 드는 팜플렛을 찾으면 다운로드를 하고 압축파일을 풀어 index.html 파일을 확인해 줍니다. html 파일을 더블클릭해서 열어주면 해당 웹 화면을 확인할 수 있습니다. html 수정을 위해서 사용하고 계신 편집기로 html 파일을 열도록 합니다. 요기 문구를 바꿔 보도록 하겠습니다. -> Ctrl + F 만국 공통 단축키를 사용하여 동일한 문구를 찾아 줍니다. 위 문구랑 동일한 문장이 적힌 영역을 찾을 수 있습니다. 해당 내용을 바꿔 줍니다. 이렇게 동일하게 변경됩니다. 이 사이트를 업로드 해 보겠습니다. 해당 사이트는 쉽게 말해 공유 서버 역할을 하는 AWS / 네이버 클라우드와 동일한..

블랜더 Blender 영상 합성 방법 (How to make a compositing video in Blender) [내부링크]

Blender Tool을 사용하여 영상에 연기 합성하는 방법 영상 합성 방법은 해당 유투브를 참고하여 제작하였습니다. https://www.youtube.com/watch?v=43RpGoA-KNU 영상 합성하는 건 생각보다 쉽습니다. 블렌더에서 제공하는 노드라는 개념의 기술을 사용하여 손쉽게 눈으로 확인하면서 합성이 가능합니다. 하지만 워낙 다양한 방법과 기술이 들어가 있어 여기서는 위 유투브 영상에서 나오는 부분의 일부분만 소개하고자 합니다. 블랜더 프로그램을 실행했을 때 나오는 기본 화면에서 Compositing 을 눌러서 합성 화면으로 넘어 갑니다. 화면 전환 후 라디오 박스를 클릭하면 2개의 노드 박스가 생성됩니다. 여기서 우리는 렌더 레이어가 필요 없기에 연결된 선을 제거하고 삭제해 줍니다. 연..

블랜더 Blender 가상 3D 불 + 연기 만들기 [내부링크]

Blender Tool을 사용하여 연기 제작 방법 https://pepepien.tistory.com/312 블렌더 #K 단축키 모음 블렌더를 하면서 유용한 단축키들을 모아봤습니다. 공부하면서 메모했던 것을 다시 다듬었지만.. 아직 블린이라서 잘못된 부분이 있을 수 있습니다. 추가할 점이 있다면 언제든지 댓글 부탁드 pepepien.tistory.com 시스템 요구 사항 지원 플랫폼 : 윈도우 XP이상, 맥 OSX 10.6이상 그리고 리눅스 CPU : 32Bit 듀얼 코어 2GHz 이상 RAM : 2GB 이상 그래픽 카드 : CUDA, OpenGL를 지원하는 그래픽 카드 / 256MB이상 최소 권장 최적 CPU 32Bit듀얼코어 2GHz 64Bit 쿼드코어 64Bit 옥타코어 RAM 2GB 8GB 16G..

Java (Spring boot): Tomcat 에러 [The following method did not exist: org.apache.tomcat.util.modeler.Registry.disableRegistry()] [내부링크]

자바 스프링 부트 공부를 하는데 시작 부터 막힌다 계속 에러가 발생하는데 이놈의 자바 에러는 콘솔창에 너무 장황하게 써 놔서 에당초 보기도 싫게 만든다. 부트를 실행했을 때 나오는 에러다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.4.5) 2021-04-20 22:47:29.229 INFO 16316 --- [ main] co..

Java (Spring) : 의존 객체 자동 주입 [내부링크]

의존 객체 자동 주입 스프링 설정 파일에서 의존객체를 주입할 때 또는 테그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존대상 객체를 찾아서 의존대상 객체가 필요한 댇체에 주입해 주는 기능이다. 구현 방법은 @Autowired @Resource 어노테이션을 이용해서 쉽게 구현할 수 있다. 짧은 명령어를 통해서 의존 객체를 설정해 줄 수 있다 . @Autowired 주입하려고 하는객체의 타입이 일치하는 객체를 자동으로 주입한다. 객체 타입을 확인한다. 이름은 상관이 없다 . 필요한 객체 타입을 찾는다 , 맞는 객체 타입을 찾으면 자동으로 대려온다. 생성자 에 @Autowired를 사용할 경우 바로 생성자 위에 기재해주면 되지만 메서드나 프로퍼티를 묶기 위해서 @Autowired를..

Java (Spring) : 빈의 범위 (bean) [내부링크]

빈의 범위 (bean) 싱글톤 : 스프링 컨테이너에서 생성된 빈 객체의 경우 동일한 타입에 대해서는 기본적으로 한 개만 생성이 되며, getBean() 메소드로 호출될때 동일한 객체가 반환된다. 프로토타입 : 싱글톤 범위와 반대의 개념도 있는데 이를 프로토타입 범위라고 한다. 프로토타입의 경우 개발자는 별도의 설정을 해줘야하는데, 스프링 설정 파일에서 빈 객체을 정희할 때 scope정의를 명시해주면 된다. 폴트 값으로 빈은 항상 싱글톤 기능을 가진다. 컨테이너에 한번 생성해둔 객체를 계속 호출해서 쓰는 방식이다. 하지만 프로젝트가 커지다 보면 별도의 메모리를 점유하는 객체를 만들어야한다. 결과가 같은 객체를 호출하고 있음을 보여주고 생성자는 한번만 생성된다. ! 이렇게 생성자는 2번 생성되고 객체는 다른..

Java (Spring) : maven project 생성 [내부링크]

일단 메이븐 프로젝트를 생성합니다. 당근 기존 자바 프로젝트와 동일하게 메인 클래스와 사용할 클래스를 생성합니다. Maven 이란 ? [코딩 -> 컴파일 -> 빌드 ]의 과정으로 진행 된다. 스프링에서 빌드하는 툴로 Maven을 사용한다. 여기서 중요한 xml 파일 ! 경로 밑에 만들어 줘야 된다. 빈이라는 테그가 존재하는데 이것이 바로 컨테이너 안에서 존재하는 객체 bean이다. 메모리를 할당한다. atoz-develop.tistory.com/entry/Spring-%EC%8A%A4%ED%94%84%EB%A7%81-XML-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC-%EC%9E%91%EC%84%B1-%EB%B0%A9%EB%B2%95-%EC%A0%95%EB%A6%AC 기존 자바는 ..

Java (Spring) : 스프링 개요 -> IoC 컨테이너에 대하여 [내부링크]

프레임 워크란? 개발자들이 개발을 하기위한 업무를 추상적으로 정의해놓은 틀 어떤 작업을 하기위한 아무런 도움없이 개발하는 방법과 어떤 틀이 있어서 해당 틀안에서 작업을 하는 것 작업에 대한 효율 자동차 -> 서울 -> 거제도 네비게이션이 없으면 직접 찾아야한다. 스프링 프레임 워크 추상적인 틀을 가지고 구현 모듈 spring-core : 스프링 핵심인 DI와 IoC를 제공 spring-aop spring -jdbc spring -tx spring-webmvc 스프링 프레임워크에서 제공하고 있는 모듈을 사용할려면 모듈에 대한 의존설정을 개발 프로젝트에 XML파일 들을 이용해 개발자가 직접하면 된다. 스프링 컨테이너 ! 스프링에서 객체를 생성하고 조립하는 컨테이너로 컨테이너를 통해 생성된 객체를 빈(BEAN..

나만의 업무 웹 /픽슬러(포토샵) / 어파월소프트(워터마크 리무버)/CVAT(데이터 어노테이션) /코너스톤.JS(어노테이션 개발 오픈소스) [내부링크]

www.apowersoft.com/image-watermark-remover Online Image Watermark Remover - Remove Watermark from Images free Online Image Watermark Remover is a free tool to batch remove watermark from image online. It supports various image formats, including JPG, JPEG, PNG and more. www.apowersoft.com tools.cornerstonejs.org/ Introduction · cornerstone-tools Introduction Cornerstone Tools is a JavaScript lib..

HTML : 다시 한 번 기초 복습 겸 (태그 공부) [내부링크]

안녕 안녕하세요 안녕하세요 안녕하세요 안녕하세요 안녕하세요 굵은 글씨 기울은 글씨 안녕하세요 저는 스팩 이준호입니다 구글 페이스북 이름 나이 제니 1살 위니 3살 --> 워니 제니 워니 제니 상단 중단 하단 좋아요 구독 댓글 텍스트 체크박스 라디오 색깔 여러문장 드랍다운 워니 제니 로그인

JavaScript : 자바스크립트 생성자의 자유도, 상속에 대하여 [내부링크]

객체지향 프로그래밍 언어 var person = { }; 중괄호로 선언한 변수를 자바스크립트에서는 객채라고 부른다. person.name 은 객체 안에 들어 있는 name이라는 변수로 속성(프로퍼티)라고 칭한다. person.introduce 는 객체 안에 들어 있는 함수로 메서드라고 부른다. 기존 c언어와는 명칭이 유사하지만 차이가 있는거 같다. 자바와 c#의 경우 생성자는 클래스에 종속되어 있다. 하지만 자바스크립트에서 생성자는 하나의 함수일 뿐이다. 종속되지 않는다. 우선 클래스라는 개념이 자바스크립트에 없다. 그래서 함수를 만들고 함수를 호출하기 위해서는 생성자를 선언하면 된다. 생성자에서 this 예약어는 어떤 존재인가. 이 코드를 보면 this가 어디를 가리키는지 확인할 수 있다. 일반적인 객..

JavaScript : 자바스크립트의 관대함 (this, argument) [내부링크]

C 언어와는 다르게 매개 변수를 함수에 넣어 줄 때 꼭 정확하게 개수를 맞출 필요가 없다. 약속어 처럼 사용 하는 arguments는 알아서 배열 기능도 가지고 있어 원하는 인자를 넣어 주기만 하면 알아서 배열도 되었다가 단일변수도 되었다가 마법을 부린다. C 언어에서 말하는 객체와 속성 함수 메서드의 개념도 쫌 차이가 있다. 속성에 함수가 들어 있다면 그걸 메소드라고 부른다. 함수가 가지는 메서드에는 APPLY , CALL 등을 가지는 데 APPLY를 사용해 보았다 . APPLY이는 이렇게 사용하는데 SUM(1,2) = SUM(NULL,[1,2]) 같은 값이 나온다. 그러면 왜 쓰는 걸까 ? THIS라는 예약어와 연관이 있다. NULL이였던 자리에 사용하고자하는 객체 변수를 넣어주면 var this =..

JavaScript : 함수는 값이다 ? 잉? [내부링크]

C# 기반의 개발 및 공부만 해온 나에게는 너무 신선한 충격이다. 강의를 들으면서도 계속 이게 된다고? 생각하면서 코드를 쳐 놓고도 들여다 보기를 반복하고 있다. 그리고 이 부분이 자바스크립트 언어 만의 강력한 장점이 될 수 있겠다는 생각이 들었다, 함수를 객체화 할 수 있는건 다른 언어에서도 가능하지만 변수 안에 넣을 수 있는 값으로 인식을 하니 활용 범위가 무궁무진해진 느낌이다. 그냥 간단한 예제 위주로 작성해 보았다, 이렇게 선언한 변수 안에 바로 익명 함수를 작성할 수 있다. 자바스크립트에서는 다른언어에서는 딕션너리라고 명칭하는 문법을 객체라고 하던데 함수가 값으로서 기능을 하다 보니 이미지와 같이 키값 안에 함수를 바로 작성할 수 있다. 만든 함수의 인자로 함수를 받을 수도 있고 함수 안에 변수..

JavaScript : 라이브러리 사용 맛 보기 [내부링크]

웹 , 앱 개발을 위해 자바와 자바스크립트를 집중적으로 공부하게 되었다. 웹과는 인연이 닿지 않을 줄 알았는데 너무 기쁘고 앞으로의 여정이 기대 된다. 웹 개발은 해보고 싶었지만 늦은 시작에 경쟁력이 떨어 진다 생각하여 제조업 윈폼 개발에 집중하고자 하였지만 예상처럼 째든 IT에 뛰어드니 접할 기회가 생겼다. 해보니 기초 문법은 C 와 JAVA 의 틀과 비슷하여 거부감이 없으나 역시 라이브러리를 가져오니 잉? 이렇게 된다고? 서울 사람이 부산에서 지내다가 갑자기 토박이 제주도 할머니와 대화하는 느낌이랄까 종잡을 수가 없다. 일단 교제보다는 유투브 강의가 당장에 언어에 익숙해지는데 도움이 된다고 생각하여 공부하고 있다. 오늘은 간단하게 라이브러리를 맛만 보도록 하자 jQuery 사이트에 가면 해당 개발 j..

Docker에 대하여 [내부링크]

예시) 프로듀싱하는 사람이 이사람은 마다 계약건 마다 현장을 옮겨서 복잡한 장비들을 조립하고 설치하는 일에 힘들어하고 있었음 어떤 사람 : 당신의 복잡한 장비들을 손쉽게 설치한 모양 그대로 들고 다니면서 내가 그때 그때 설치해주겠소 도커 허브라는 곳에 업로드 해 놓아서 인터넷 연결된 곳이면 어디에서든 바로 복제가 가능하다. 장비들을 설치할 때 다른 장비들과 간섭이 날 수 있는데 이를 예방 할 수 있게 컨테이너라는 개념이 존재한다. 컨테이너로 장비를 감싸 버전이 다른 장비들과 문제가 발생하지 않도록 보호해준다. 노트북을 사서 학교 프리젠테이션만 할라고 해도 이것 저것 프로그램을 설치해야한다. 서버 돌리는건 더 어렵다 여러가지 버전 신경써서 설치해야 하며 조금만 문제가 있어도 서버 전체에 문제가 생긴다. 서..

CVAT 오픈소스 구축 방법 : Docker 세팅, Git [내부링크]

openvinotoolkit/cvat Powerful and efficient Computer Vision Annotation Tool (CVAT) - openvinotoolkit/cvat github.com goddaehee.tistory.com/251 [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window10 도커 설치 ] 입니다. : ) 도커 설치하기 1. 도커란? 도커 설치와 관련된 포스팅 이기. goddaehee.tistory.com 윈도우 상에서 도커 설치하는데는 이블로그의 도움을 많이 받았다. 도커를 설치했다고 바로..

블록체인 기반 의료 영상 ,이미지 처리 개발 기본 자료 [내부링크]

의학 영상 검사를 분석하기 위한 딥러닝 기반의 인공지능 알고리즘을 구축하고 이를 실제 의학 검사의 분석에 적용하여 알고리즘의 정확도를 확인하고자 하며 , 최종적으로 영상 데이터 셋 구축을 통하여 진단을 지원하는 솔루션 개발을 지향하여 보다 효율적인 진단이 가능하게 할 수 있다. 연구대상 : 뇌 질환 환자 환자 선별 당 연구는 2가지 방법에 의한 환자의 선별로 수행할 것이며, 그 분류는 환자의 동의를 받은 영상과 오직 영상 분석만을 목적으로 환자의 정보를 배제한 영상으로 나뉜다. 전향적 연구 방법 : 환자 동의서 작성 환자에게 연구의 취지와 목적을 춘부하게 설명하고 그에 부합하는 개인 정보 활용에 대한 동의를 득한 후 영상에 대한 연구를 진행한다. 후향적 연구 방법 : 환자 정보 삭제 뇌질환 분석을 위한 ..

데이터 어노테이션(Data Annotation) :데이터 라벨링 [내부링크]

메타데이터 : 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터이다. 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다. 어떤 데이터 즉 구조화된 정보를 분석, 분류하고 부가적 정보를 추가하기 위해 그 데이터 뒤에 함께 따라가는 정보를 말한다. 데이터 셋 : 데이터의 집합 . 동일한 정보를 가징 데이터의 덩어리 6가지 바운딩박스 : 영상 또는 이미지 가장 자리에 딱 맞춰 박스를 그리는 기법 : 자율 주행 차량 개발에 사용 빠르고 간단하게 객체를 구분할 수 있지만 또 해당 박스 안에 원치 않은 객체의 픽셀이 들어 갈 수 있다는 단점이 존재 폴리곤 : 이동하는 객체 등 규칙적이지 않은 객체를 정밀하게 구분할 수..

PYTHON : 다양한 출력 포멧 / 파일 입출력/PICKLE/WITH/QUIZ [내부링크]

다양한 출력 포멧 # 빈자리는 빈공간으로 두고 오른쪽 정렬을 하되 , 총 10자리 공간을 확보 print("{0: >10}".format(500)) # 양수일 때 + 로 표시 , 음수일 땐 - 으로 표시 print("{0: >+10}".format(500)) print("{0: >-10}".format(-500)) print("{0: >+10}".format(-500)) # 왼쪽 정렬하고 빈간으로 _로 채움 print("{0:_

PYTHON : 표준 체중을 구하는 프로그램을 작성하시오 [내부링크]

QUIZ) 표준 체중을 구하는 프로그램을 작성하시오 * 표준체중 : 각 개인의 키에 적당한 체중 (성별에 따른 공식) 남자 : 키(M) X 키(M) X 22 여자 : 키(M) X 키(M) X 21 조건1 : 표준 체중은 별도의 함수 내에서 계산 * 함수명 : std_weight * 전달값 : 키(height), 성별(gender) 조건2 : 표준 체중은 소수점 둘째자리까지 표시 (출력예제) 키 175cm 남자의 표준체중은 67.38kg 입니다. gender = ["남자","여자"] def std_weight(height ,gender): for g in gender: if g == "남자": std_weightM =round((height*height*22/10000),2) print("키{0}cm {1..

프로그래머스 level 1 코딩테스트(두 개 뽑아서 더하기) [내부링크]

두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbersresult [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 ..

그리드 데이터 변경 및 입력시 즉시 DB 반영 코딩 [내부링크]

클릭 이벤트로 버튼을 만들어서 진행 그리드 데이터 소스를 -> 데이터 테이블에 올리고 라인 데이터 테이블 [번호] 컬럼의 모든 정보를 배열로 추출하여 lnoArray에 넣어줬다. (LINQ를 사용하였다 :한줄의 짜릿함이란) 데이터테이블이 NULL이 아니라면 해당 테이블이 가진 로우의 갯수 만큼 cmd.commandText를 실행하면 된다.

PDA 프로그램 업그래이드 (PDA 접수 번호 스캔 시 해당 되는 Row 그리드 최상단으로 올리는 코딩) [내부링크]

선과 작업 리스트를 확인할 수 있는 데이터 그리드 뷰를 윈폼에 띄웠다. 해당 농가의 접수 번호가 포함된 QR코드를 PDA를 통해 스캐닝하여 ERP 시스템 상에서도 작업 시작 예정인 농가가 그리드 최상단에 위치 할 수 있도록 프로그램을 개발 하였다. 이와 같은 프로그래밍을 통해 업 다운 버튼의 필요성을 없에 UI이를 더욱 깔끔하게 개선할 수 있다. UI는 데모 버전으로 만든거라 못생겨도 이해 부탁드립니다. 중점을 둔 것은 바코드 리딩을 하면 해당 접수 번호를 가진 농가의 데이터로우가 최상단에 올라 올 수 있게 만들었다 . 예외 사항들을 조건문을 통해 리턴해주고 바코드 스캐닝을 통해 읽어들인 작업 번호와 현재 그리드에서 최상단에 위치한 작업 번호를 스트링 변수에 담아 준다. 담은 두 작업 번호를 비교하여 동..

데이터그리드뷰 열 값 없는 경우 경고 메세지 창 띄우기 (DataTable이 Null일 경우) [내부링크]

그리드 상에 올라온 데이터베이스가 없음에도 프로그램 시작 버튼을 누르면 생기는 예외 에러메세지 이다. 간단하게 if 문으로 조건을 걸어 알림 메세지 박스를 띄워 주면 된다. DataTable dt = this.Grid_List.DataSource as DataTable; int checkDBcnt = dt.Rows.Count; if (checkDBcnt ==0) { MessageBox.Show("등록된 선과 작업이 없습니다. 선과 지시를 등록하세요","알람!",MessageBoxButtons.OK,MessageBoxIcon.Information); this.Grid_List.Refresh(); return; }

MSSQL - 저장프로시저 /트리거 생성 [내부링크]

--저장프로시저 --매번 회원 테이블 당탕이의 정보와 제품 테이블의 냉장고 정보를 동시에 조회한독 가정하자. SELECT * FROM memberTbl WHERE memberName ='당탕이' SELECT * FROM productTbl WHERE productName ='냉장고' --저장프로시저 CREATE PROCEDURE myProc AS SELECT * FROM memberTbl WHERE memberName='당탕이' SELECT * FROM productTbl WHERE productName ='냉장고' GO --저장프로시저 실행 EXECUTE myProc --저장프로시저 삭제 DROP PROCEDURE myProc --트리거 : 트리거는 테이블에 부착되어 테이블에 INSERT나 UPDATE..

PYTHON: 파이썬 간단 문법으로 문제 풀기 (for문 /if문) [내부링크]

당신은 cocoa 서비스를 이용하는 택시 기사입니다. 50명의 승객과 매칭 기회가 있을 떄 총 탑승 승객 수를 구하는 프로그램을 작성하시오. 조건1 : 승객별 운행 소요 시간은 5분 ~ 50분 사이의 난수로 정해집니다. 조건2 : 당신은 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 합니다. from random import * cnt =0 for i in range(1,51): time =randrange(5,51) if 5

C# Winform 개발(자동 전산 파일 삭제 프로그램 ) [내부링크]

1. 매일 생성되는 엑셀 파일을 주기적으로 삭제할 수 있는 프로그램이 필요하다. 2. 삭제는 작업이 이루어 지지 않는 새벽 시간에 삭제가 되어야한다.(윈도우 스케줄러 사용) 3. 사용자가 UI를 확인했을 때 삭제된 사실을 확인 할 수 있어야 한다. 4. 현재 날짜 기준으로 하루 전 원하는 루트 안에 생성된 파일를 삭제한다. 5. 작업자 및 현장 인원이 임의로 프로그램을 작동하는 일이 없어야 한다. UI는 직관적일 수 있도록 최대한 간단하게 만들었다. 타이머 Tick 이벤트를 사용하였다. 우선 지울 파일의 루트를 선언하였고 DateTime 을 사용하여 현재 날짜를 담을 변수를 선언하였다. 해당 변수를 담을 deleteOldfiles(deleteOldfiles(excelFolderPath, nowTime);..

<nvarchar 값 '4.5'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.> [내부링크]

선과 지시 등록 및 선과 작업 조회 버튼 클릭시 에러 메세지 발생 확인 필요 프로시저 USP_GET_LIST_MGR_SELLORD_SUM USP_GET_LIST_MGR_SUNGUAPROCESSORD 4.5 중량 nvarchar -> int로 변환이 안되어서 에러 메세지 발생 CONVERT로 형변환 가능한데 실수형으로 형변환 예외처리 메세지 박스 안 띄우니까 에러 메세지도 안뜨네... 그러면 해보고 안되면 그냥 트라이 케치문에서 메세지 박스를 없에는걸로 진행 CAST 가 전부다 INT로 되어 있어서 TEST DB에 FLOAT로 바꾸고 있다. this.SetGrid_Ord(); this.SetGrid_Line(); this.SetGrid(); this.SetGrid_Complete(); this.SetGri..

큐 공간 또는 버퍼가 부족하여 소켓에서 해당 작업을 진행하지 못했습니다. [내부링크]

SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 엑세스 할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오 (provider, error .0 - 큐 공간 또는 버퍼가 부족하여 소켓에서 해당 작업을 진행하지 못했습니다.) 어떻게 하면 해당 에러 메세지 안나오게 할 수 있는 방법이있을까 고민중인데. 아무래도 tcpconnection과 연관이있어 보이는데 적제적소에 close를 해주면 되는 문제 인가? 구글링해 봐도 별 내용이 없다. 우선 프로그램을 종료하고 다시 시작하면 버퍼 문제가 청소 되는거 같은데 운영중에 이런 에러 메세지가 발생하면 프로그램이 멈추기 때문에 해결 ..

PYTHON: 파이썬으로 중복되지 않는 Random수 뽑아 내기! [내부링크]

randint 함수는 1~100까지 정수를 랜덤으로 가져 온다. 일단 랜덤 수를 담을 배열 변수를 만든다. for 문을 사용 하여 10 번의 랜덤 수를 만들어 배열에 append 함수를 사용하여 담는다. range(10)은 for문의 반복 횟수를 의미한다. 이제 여기 서 중요한, 중복되는 수를 걸러내기 위하여 while 반복문을 사용한다, while a in alist : 의 뜻은 alist 배열 안에 a 변수가 있는지 확인 -> 참이라면 다시 randint(1,100) 함수가 작동된다. 그 후 append 함수를 사용하여 리스트에 추가 !

PYTHON: 파이썬 기초 문법(replace / find/ 형변환/len ) [내부링크]

# 예) http://naver.com # 규칙1 : http:// 부분 제외 # 규칙2 : 처음만나는 점(.) 이후 부분은 제외 # 규칙3 : 남은 글자 중 처음 세자리 + 글자갯수 + 글자내 e갯수 + "!"로 구성 # 예) 생성된 비밀번호 : nav51! # 비밀번호 생성 로직 Domain = "http://naver.com" print(Domain) cutDomain = Domain.replace("http://","") print(cutDomain) cut2Domain = cutDomain[0:-4] print(cut2Domain) # cut2Domain = cutDomain[:cutDomain.index(".")] password = cut2Domain[0:3] +str(len(cut2Doma..

C# Thread 동기화 ! (lock 키워드/Monitor 클래스 사용) [내부링크]

동기화 란 ? 작업들 사이의 수행 시기를 맞추는 것 -> 다수의 스레드가 동시에 공유 자원을 사용할 때 순서를 정하는 것 복수의 스레드가 있을 때 문제가 된다. 지금 작업하고 있으니까 너는 대기해 이런식으로 순서를 정하는 것을 동기화라고 합니다. 동기화 키워드와 클래스 lock : 동기화 키워드 Monitor Mutex Interlocked AutoResetEvent ManualResetEvent 동기화 대상 * 공유 자원에 대한 접근이 예상되는 스레드 * 한 객체를 다수의 스레드가 사용되는 때 lock 형식 private object obj = new object(); lock( obj ) { 임계(경계) 영역 (critical section) } lock 주의할 점 *lock(this) *lock(t..

C# Thread(스레드) 주요 속성과 메서드 ! [내부링크]

스레드 주요 속성과 메서드 ! MSDN을 보는게 도움이된다. 스레드의 속성 *Name :스레드의 명칭 지정 *IsAlive :bool형 스레드가 살이있는지 죽었는지 확인 *IsBackground : foreground : 주스레드의 종료와 상관없이 독립적 작동하는 부스레드 background : 주스레드의 종료와 연계하여 같이 종료하는 부스레드\ public bool IsBackground { get; set; } thread.IsBackground = true ; 넣어 보았습니다. 스레드 기능이 신기하여 이렇게도 코딩해 보았다. 스레드 속성 CurrentThread public static Thread CurrendThread{ get ;} 스레드는 독립된 아이디를 가진다. Thread.CurrentT..

C# TCP 네트워크 공부 (에코 시스템 모듈 프로그래밍) [내부링크]

서버 클라이언트 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using System.Net; namespace ConsoleApp1 { class Program { static void Main(string[] args) { TcpListener tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1") ,13); tcpListener.Start(); Console.WriteLine("서버"); TcpClient tcpClient = tcpListene..

c# 네트워크 공부 2(클래스 활용) [내부링크]

TcpListener *서버와 클라이언트를 구분할 수 있는 클래스 클라이언트 연결을 대기(대기 상태) 서버는 항상 대기하다가 클라이언트의 요청에 의해 데이터 전송 *생성자 서버 ip주소와 포트 번호 설정 public TcpListener(IPAddress local , int port) public TcpListener(IPEndPoint local) TcpClient *특징 서버와 클라이언트 모두 사용 *역할 서버와 클라이언트 연결 요청 TcpClient 생성자 ip주소와 포트 설정 -> 연결 통로 설정 public TcpClient (string hostname, int port) 서버 ! 클라이언트 !

c# 네트워크 공부 (IPAddress 클래스 / Dns클래스) [내부링크]

네트워크 기본 개념 : 인터넷 상에서 컴퓨터 간의 데이터를 주고 받기 위한 약속된 형식 -> 통신규약 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 구분하여 규정 -> 프로토코을 기능별로 구분 *응용 프로그램 계층 *프리젠테이션 계층 *세션 계층 *전송 계층 *네트워크계층 *데이터 링크 계층 *물리계층 -> 라우터, 렌케이블, OS 영역 이미 처리 되어 있다. 서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 또는 프로그램 -> 24시간 전력 공급이 안정적이여야한다. -> 고 성능의 서버용 컴퓨터를 사용해야한다. 클라이언트 : 네크워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램 또는 사용자 컴퓨터 *전송계층 : 데이터를 주고 받는 것 ..

How to use workbook.saveas with automatic Overwrite [내부링크]

stackoverflow.com/questions/36542088/overwrite-existing-file-excel-vba overwrite existing file excel vba open_book.SaveAs Filename:="E:\MF\data\" & com_tick_ask & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False This is my code to save a file as xlsx but I want to overwrite an exis... stackoverflow.com Sorry friends for trouble. I got an answer. I just have to put this line of code im..

2021-01-02 오피스 2007 , 2019 중첩 설치 중 발생한 프로그램 에러/ xslm 확장자 엑셀 파일 생성 불가 [내부링크]

에러 발생 더보기 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오. ************** 예외 텍스트 ************** System.InvalidCastException: 'Microsoft.Office.Interop.Excel.ApplicationClass' 형식의 COM 개체를 인터페이스 형식 'Microsoft.Office.Interop.Excel._Application'(으)로 캐스팅할 수 없습니다. 유형 라이브러리/DLL 로드 오류입니다. (예외가 발생한 HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 오류로 인해 IID가 '{000208D5-0000-0000-C00..

EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 ! [내부링크]

조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 . 단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.com/..

라디오 버튼과 그룹 박스 사용법 [내부링크]

여러개의 항목 중 한가지의 항목을 선택할 때 라디오 버튼을 사용합니다. CheckedChanged 이벤트를 사용해 보겠습니다. 물론 이벤트를 사용 안 하고도 동일한 프로그래밍을 할 수 있습니다. 우선 윈폼은 이렇게 만들었습니다. 버튼 클릭 이벤트 => 버튼 .Checked - bool값으로 프로그래밍 가능 CheckedChanged 이벤트 매서드를 통한 프로그래밍 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using S..

LINQ 연습 !! [내부링크]

이 코딩을 LinQ를 통해서 재 구현 해보도록 한다. FROM / WHERE /ORDERBY / SELECT를 사용해 보았다. 문제를 풀어 보자 //data 리스트에서 20 보다 큰 짝수를 내림 차순으로 정렬하여 저장 //이값을 2씩 곱합여 오름 차순으로 정렬하여 저장 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp15 { class Program { static void Main(string[] args) { List vs = new List { 12, 3, 42, 1, 41, 2, 53, 4, 123, 15..

이름이 없는 델리게이트 ( Anonymous Delegate) [내부링크]

말 그대로 이름이 없는 델리게이트다 이는 자주 사용하지 않는 델리게이트 메소드를 대신할 때 사용 한다. 한 두번 밖에 쓰지 않으면 바록 작성해 주는게 코드 리딩에 용이하기 때문이다. 이 델리게이트 메서드를 따로 생성하지 않고 델리게이트 변수를 선언하고 익명의 델리게이트를 Count 메서드에서 바로 작성해주면 된다. Count 메서드의 return 값은 int 형 타입니다. int 형 변수를 선언하여 Count 메서드의 리턴 값을 받아 준다. memberTest 자리에 익명의 델리게이트를 넣어준다. 익숙하지 않아 어려울 수 있지만 델리게이트에서 이름만 없고 이름 없어서 내용을 채워준다고 생각하면된다. delegate(int a) {return a % 2 ==0;} delegate(int a) {return..

Delegate의 기본 , 배열에서 홀수와 짝수 찾기 [내부링크]

배열에서 짝수 홀수 갯수 찾는 메서드 만드는건 생각 보다 간단하다. 여기에서 델리게이트 사용하는 방법을 적용해보고자 한다. 델리게이트 사용하는 방법이 헷깔리면 이 해당 코딩을 반복 학습하면 이해하기 쉬울 것이다. 우선 int 배열을 선언해 준다. 그리고 짝수 홀수를 콘솔클래스를 통해 출력해 줄 것이다. 우선 카운트 메서드를 작성해보자 이렇게 만들면 된다. int 배열을 인수로 받아서 해당 배열을 foreach로 검열한뒤 if 조건문으로 짝수에서 카운트 해주면 된다. 홀수 카운드는 해당 빨간팬 부분만 다르게 해주면 갯수를 리턴할 수 있다. 이는 결국 비슷한 메서드를 두개 만드는 일을 하게 된다. 이런 코드의 낭비를 줄여주고 긴 코드에 간섭이 안생기도록 해주며 코딩 해석이 쉽게해 주는 것이 delegate ..

PDA 프로그램 개발 [내부링크]

감귤 물류센터 선과 입고증 리딩을 위한 PDA 프로그램을 만들어 보았다 . 실제 개발은 비주얼 스튜디오 2008 버전에서 Window CE 장치에서 진행하였으나 코딩 기록을 위해서 비주얼 스튜디오 2019버전에 다시 작성하였다. 실제 화면은 이와 같이 진행되며 로그인 화면을 Panel로 만들어 로그인 접속시 visible - false 상태로 전환 시켰다. 우선 로그인 클릭 이벤트는 이와 같이 작성하였다 . try 문에서 디비를 오픈해주고 실행 여부를 점검할 수 있는 불형 변수를 if문에 넣어 실행시 Panel을 Visible을 false로 바꾸었다. seGride 메서드 *완료된 선과 작업에 대한 정보를 디비 프로시저에 추가 한다. *해당 데이터를 데이터 그리드 뷰에 담아 준다. PDA가 리딩한 바코드..

시퀀스 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.CSharpPhrase.Extension; namespace 시퀀스 { class Program { static void Main(string[] args) { string[] names = new string[] { "Seoul", "New Delhi", "Bangkok", "London", "Paris", "Berlin", "Canberra", "Hong Kong" }; var query = names.Where(s => s.Length ToArray / ToList Con..

LINQ_to_Objects의_기초 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LINQ_to_Objects의_기초 { class Program { static void Main(string[] args) { var names = new List { "Seoul", "New Delhi", "Bangkok", "London", "Paris", "Berlin","Canberra","Hong Kong" }; IEnumerable Query = names.Where(s => s.Length IEnumerable 인터페이스를 구현하고 있는 형이면 //Where메서드를 해..

List 클래스와 람다식의 조합 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace List클래스와_람다식의_조합 { class Program { static void Main(string[] args) { List vs = new List { "SEOUL", "NEWDELI", "BANGKOK", "LONDON", "PARI", "BERLIN", "CANBERRA", "HONGKONG" }; var exist = vs.Exists(s => s[0] == 'A'); Console.WriteLine(exist); var name = vs.Find(a => a.Leng..

람다식과 LinQ기초 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 람다식과LinQ기초 { class Program { public static int Count(int[]array,int num) { //이 메서드는 배열이 고정 되어 있다. 다른 배열에도 동일하게 사용하기 위해서 //배열을 인수로 받아들이도록 변경을 해보겠습니다. //var numbers = new [] { 5, 3, 9, 6, 7, 5, 8, 1, 0, 5, 10, 4 }; //int[] vs = new int[] {1,2,3,4,5 }; int count = 0; foreach..

인터페이스 개념 및 연습 C# [내부링크]

인터페이스 정의 *추상 메서드와 같이 메서드 선언부만 포함하는 형식 *클래스와는 구분됨. 다중 상속 가능 *인스턴스화 될 수 없음 *인터페이스를 상속한 클래스는 반드시 인터페이스에서 선언된 메서드를 구현해야함 *속성도 포함될 수 있음 *사용 목적 : 표준화 규격화 계약 등등의 의미 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace exam10 { abstract class Figure :IFigurable// :추상 클래스 { abstract public Double Area(); //width ,height 사각형 //반지름 Ph..

Visual Studio 2008 C# PDA 개발 하는 방법 [내부링크]

필수 프로그램 1. Visiual Studio 2008 // http://download.microsoft.com/download/a/1/3/a13e22b4-b06a-4256-98e6-7e37f2c49e08/VS2008ProEdition90DayTrialKORX1435989.iso 해당링크를 통해 설치를 하도록 한다. 2. Window Mobile 6 Professinal Edition SDK www.microsoft.com/en-us/download/details.aspx?id=6135 Windows Mobile 6 SDK Refresh The Windows Mobile 6 SDK Refresh adds documentation, sample code, header and library files, e..

Abstract 추상 클래스 /메서드 [내부링크]

추상 클래스의 정의 *하나 이상의 추상 메서드를 포함하는 클래스 *Abstract Method : 선언부만 존재 구현은 자식 클래스에서 *Abstract Class : 인스턴스화 될 수 없음 사용 목적 : 상속 받은 클래스들이 반드시 제공해야 하는 메서드를 정의 abstract승용 class-> abstract 시동method;-> override ->소나타class.start() / 그랜저class.시동method 소나타.start()이렇게 만들면 개발자에게 혼돈이 온다. 그래서 이름은 무조건 시동 !! 규격만 정해주는거 시동거는건 표준화가 되어있다. 어떤 메서드의 시그니처를 정해주는 역할 이렇게 생긴 메서드를 만들어 본인은 개념 레벨이기 때문에 인스턴스를 생성할 수 없어 해당 abstract 클래스를..

C# ADO.NET으로 DB(MSSQL) 연결하기 / DB프로시저 개념 /Excel 참조하는 방법 [내부링크]

Data Provider 데이터 공급자 DB접속 / 읽기/ 조작에 관여 **연결형 중요한 클래스** sqlConnection sqlCommand sqlDataReader -> 데이터 뷰어 Data Set(데이터 셋) 비연결형의 메모리형 데이터 베이스 **비연결형 중요한 클래스** sqlConnection : 공통점 -> DataSet DataTable DataAdapter DataSet에 데이터 저장 상속 계층구조 System.Data.SqlClient.SqlConnection SqlConnection 연결 *생성자를 통해 연결 SqlConnection(string) *생성자 + ConnecrionString SqlConnection() *연결문자열 만들기 -대소문자 구분하지 않음 -MSDN참조 -기본적..

MSSQL QUERY 문 : ALTER [내부링크]

ALTER TABLE memeberTbl ADD mem_point int null GO ALTER *새롭게 추가된 컬럼은 자동적으로 테이블의 맨 마지막 컬럼이 된다. *추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다. **추가시 내가 임의적으로 컬럼의 위치를 지정할 수 는 없다. **그럼 컬럼의 순서나 위치를 변경하고 싶다면? -> 안하는게 훨씬 좋다. -> 기본적으로는 업무 파악을 잘해서 중간에 변경되지 않도록 함. -> 가장 좋은 방법은 애플리케이션이나 쿼리 수준에서 하는 것. -> 즉 쿼리로 반환된 열에서 순서를 지정하는게 좋다. 데이터 존재시 열 삭제 만약 해당 컬럼에 데이터가 조재할 시 삭제가 될까? -데이터가 있거나 없거나 모두 삭제 가능하다. -따라서 매우 주의해야 한다. 삭제된 컬..

BASLER CAMERA /COGNEX IN-SIGHT CAMERA 사용법 -점보프레임 [내부링크]

바슬러 카메라의 경우 동글이라는 코그넥스 라이센스가 pc 상에 설치 되어 있어야 코그넥스 in-sight explorer를 통해서 영상 전송이 가능하다. 라이센스가 없는 경우 pylon viewer 라는 프로그램으로 영상 전송이 가능하다. 이더넷의 ip 주소와 카메라의 ip주소를 맞춰 줘야지 연결이 가능하다. 인터넷 프로토콜 버전 4 IP 주소 : 169.254.0.1 // 서브넷 마스크 255.255.0.0 2. ip 주소 확인 및 기가 바이트 : 제어판 ->네트워크 및 인터넷 설정 -> 어댑터 옵션 변경 ->이더넷 속성 ------>구성-->고급 -->점보패킷---> 값 9014 바이트 (메가 픽셀 값을 저장하기 쉽게 ) userbook.net/jumbo-frame/ 네트워트 패킷 전송의 점보프레임(..

PNP ,NPN 타입/ COM: 입출력접점/I/O통신/이더넷통신 [내부링크]

NPN은 주로 아시아에서 많이 사용하고 PNP는 유럽에서 많이 사용한다. 예를 들어 npn이 있으면 가운데있는 p (positive) 는 상시 공급 전력이라고 생각하면 된다. n (negative)로 스위치 역할을 한다. p (positiv) - 상시 공급 전력을 COMMON의 줄임말 COM이라고 부르는데 여기도 IN COM과 OUT COM이 존재한다. I/O 통신은 1개 접점으로 On,Off의 상태로 0,1을 나타낼수 있고, 이를 활용하여 여러개의 접점의 상태를 2진수로 표현하여 통신에 활용 할 수도 있음. 이더넷 통신은 전장 및 I/O 케이블 배선이 필요없고 전원, 이더넷 케이블 2개의 선으로 가능한 것이 장점이며, I/O방식으로 표현 불가능한 문자나 데이터를 다른 기기(Robot OR PLC)로 송..

IN-SIGHT EXPLORER /FindPatMaxPattern [내부링크]

총 3개의 함수를 일단 사용해야한다. FindPatMaxPattern : 패턴을 찾을 곳을 지정해 준다 . EditRegion : 영역을 변경 시켜 준다. TrainPatMaxPattern : 패턴을 학습시킨다. 3개를 모두 사용해야 한다 . EditRegion은 External Region 영역과 연관이 있음 IN 글자를 잡을거기 때문에 해당 영역을 설정해준다 . TrainPatMaxPattern 위의 수식을 다 넣어주면 이처럼 목표를 잘 잡는걸 볼 수 있다.

In-sight Explorer 처음 사용 하기 ! [내부링크]

실행하면 뜨는 화면 일반적인 엑셀 시트를 닮았다 . Cognex 사에서도 엑셀을 모방하여 만들어 누구나 코딩을 배우지 못한 사람도 손 쉽게 사용 할 수 있도록 만들었다. 한 픽셀 =8 byte 2^8 = 256 Gray level 0~ 255 0 -> 검은색 255-> 희색 1.sheet 에 extractblobs이라고 작성하면 됩니다. 2.sheet에 작성하면 설정 창이 팝업된다. 3.우선 Region으로 영역을 설정해준다. 촬영하는 제품의 범위를 정해주면 된다. 4.영역을 선택 해주고 다시 더블클릭하면 설정창으로 돌아온다. 5.external region = 0 6.Threshold =화이트에서 블랙으로 갈 때 Grey level 120 이상 검출(배경으로 부터 다른 부분을 분리하는 기준) 6-1. ..

머신비전 개론 ! (TEST용) [내부링크]

머신 비전이란 무엇인가 : 각종 제조 및 생산 장비 또는 공정들을 제어하거나 관련 정보를 얻기 위해서 실제의 영상 정보를 자동으로 취득후 분석하기 위하여 광학계 및 카메라 등을 이용하여 비 접촉으로 검사하는 것을 머신비전이라고 한다 -> 생산 제품들의 품질과 공정 제어를 위한 자동화 검사 시스템 머신비전의 응용 분야 (시험예상)Guidance : 부품의 정확한 위치를 로봇에 전달하여 위치 보정이 가능(위치 보정) /Wafer Processing /Die ProcessingInspection: Verify Quality and Assembly -> 제품의 품질 및 조립상태 /특정부품의 유무 판단과 부품의 위치 계산Gaging : 물체의 크기 또는 거리 직경 등의 계측에 사용합니다. 3개의 점을 통해 원을 ..

Devexpress / Grid 버튼 이벤트 추가 ! [내부링크]

DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraGrid.Views.Grid; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Show..

Devexpress Gridcontrol 사용하여 데이터 띄우기 ! [내부링크]

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraGrid; namespace dddeeevvv { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(obj..

String 문자열을 Enum으로 바꾸는 방법 /Trim(Char[])로 원하는 문자 제거 /구조체의 차이점 복습 [내부링크]

이런 Enum 들이 있다. 여기에 String으로 얻어온 문자를 추가할려면 이와 같은 코딩이 필요하다. (Grade)Enum.Parse(typeof(Grade), Grade) 입력 또는 추가된 string value -> enum 타입으로 변환하여 해당 (Grade):형변환 Enum으로 변환해준다! 3. Trim(Char[]), TrimStart(Char[]), TrimEnd(Char[]) 메서드의 정의와 사용법 많은 분들이 Trim()이 "공백"만 제거해주는 메서드로 알고 계시는데, 전혀 아닙니다. Trim() 메서드는 공백 뿐만 아니라 특정 char (들)을 앞뒤로 제거해주는 메서드로 얼마든지 변.신. 할수있습니다. 킹갓 Trim(). Trim(char), TrimStart(char), TrimE..

C# 클래스 생성자 this 사용법 공부 [내부링크]

클래스 생성자를 공부하면서 this를 사용해본적이 없보니 처음보는 this 구문에 혼란스러웠다. 생성자도 오버로딩이 가능하다. 그리고 오버로딩은 동일한 생성자명이 가능하며, this를 사용하면 알맞는 형태의 오버로딩된 다른 생성자를 호출할 수 있다. ! using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace lee { public class Student { private string _name; private string _address; public Student(..

CORONA- Log File Manager 라이브러리를 만들자 ! [내부링크]

[C#] 실행경로, 시작경로, 현제경로를 가져오는 방법 1. Application.StartupPath - 현재 application이 존재하는 경로 - winform 인 경우에만 사용가능 - 레지스트리 관계없이 실제 실행 파일 - Application.ExcutablePath 와 동일 - string filePath = Application.StartupPaht + @"\\testFile.txt"; 2. System.Environment.CurrentDirectory - 현재 작업 실행되는 경로 - winform 이외의 개발 환경에서도 사용가능 - winform 에서는 "C:\Windows\System32" 경로가 나옴 ( svchost.exe 를 통해 서비스가 등록 되기 때문 ) - System.IO..

CORONA- HTML /CSS [내부링크]

/*선택자(selector)*/ div#header-center { margin: 0 auto; width: 1080px; } /*자식태크 불러오기 */ div#header-search> h1 { width: 280px; } div#header-search h2 { display: none; } #header-search fieldset{ width: 520px; } /*자손태그 불러오기*/ /*#header-center h1{ }*/ CSS - CASCADING STYLE SHEET 조상태그의 기본CSS가 존재하고 자식 태그에도 자동으로 덮어씌어 진다. 이 기능을 잘 활용해야한다. 네이버를 시작페이지로 네이버 검색창 검색 검색 메일 카페 블로그 지식인 쇼핑 네이버페이 실시간 검색어 연합뉴스 충격) 이준..

CORONA -ASP.NET을 위해 HTML을 공부해보자 [내부링크]

HTML 이란? 하이퍼텍스트 마크업 언어(HyperText Markup Language, HTML, 웹 페이지를 위한 지배적인 마크업 언어다. HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다. 그리고 이미지와 객체를 내장하고 대화형 양식을 생성하는 데 사용될 수 있다. HTML은 웹 페이지 콘텐츠 안의 꺾쇠 괄호에 둘러싸인 "태그"로 되어있는 HTML 요소 형태로 작성한다. HTML은 웹 브라우저와 같은 HTML 처리 장치의 행동에 영향을 주는 자바스크립트와 본문과 그 밖의 항목의 외관과 배치를 정의하는 CSS 같은 스크립트를 포함하거나 불러올 수 있다. HTML과 CSS 표준의 공동 ..

CORONA-Queue<T>의 구현 [내부링크]

선입 선출 형태의 자료를 다룰 때는 큐를 사용합니다. 선착순으로 제일 먼저 들어온 자료가 제일 먼저 나가는 자료 구조입니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { class Node { internal T value; internal Node next; public Node(T value) { this.value = value; this.next = null; } } class MyQueue { internal Node first = null; internal Nod..

CORONA -STACK<T>구현 [내부링크]

후입선출의 형태의 자료를 다룰때는 스택을 사용합니다. 제일 나중에 들어온 자료가 제일 먼저 나가는 자료구조입니다. .NET 컬렉션에는 STACK강 있어 사용하면됩니다. 하지만 원리와 구조에 대해 알아보기 위해 직접 코딩해보겠습니다. namespace Stackimplementation { class Program { class MyStack { const int maxSize = 10; private T[] arr = new T[maxSize]; private int top; public MyStack() { top = 0; } public void Push(T val) { if (top0) { --top; return arr[top]; } else { Console.WriteLine("Stack Emp..

CORONA- 배열 /반복문/DATETIME으로 WINFORM UI 만들어 보기 [내부링크]

Customer class using System; using System.Collections.Generic; using System.ComponentModel.Design.Serialization; using System.Drawing; using System.Linq; using System.Security.Permissions; using System.Text; using System.Threading.Tasks; namespace AnimalShelter { public class Customer //같은 네임 스페이스에서만 사용 가능 밖으로 못가 ! { public string FirstName; public string LastName; private DateTime _Birthday; pr..

CORONA- ASP.NET 으로 웹 로그인 화면 만들기(MVC-모델-뷰-컨트롤러) ! [내부링크]

일단 ASP.NET 설치를 해야한다! 맴버쉽 컨트롤러( using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.VisualStudio.Web.CodeGeneration.Contracts.Messaging; using NetCore.Web.Models; namespace NetCore.Web.Controllers { public class MembershipController : Controller { public IActionResult Index() {..

CORONA -WINFORM 으로 계산기 만들기 /예외처리/enum사용법 [내부링크]

using System; using System.Diagnostics.Eventing.Reader; using System.Windows.Forms; namespace WindowsFormsApp2 { public enum Season { spring, summer,fall,winter} //계산기 연산의 경우 4가지로 정해 져있기 때문에 enum을 쓰면 좋을거 같다 public enum Operators {Add, Sub, Multi, Div} //인트형 데이터 타입인데. //우리가 스스로 타입을 정의할 수있다. public partial class Calculator : Form { public int Result = 0; public bool isNewNum = true; public Operato..

CORONA -LinkedList의 구현 [내부링크]

using System; using System.Collections.Generic; namespace ConsoleApp2 { class Node { internal int data; internal Node next; public Node(int data) { this.data = data; next = null; } } class LinkedList { Node head; internal void InsertFront(int data) { Node node = new Node(data); node.next = head; head = node; } internal void InsertLast(int data) { Node node = new Node(data); if (head == null) { h..

CORONA-Int.TryParse(string s , out int result) 사용해보기 [내부링크]

using System; using System.Windows.Forms; namespace WindowsFormsApp2 { public partial class Calculator : Form { public Calculator() { InitializeComponent(); } private void HellowLabel_Click(object sender, EventArgs e) { HellowLabel.Text = "Hello c#"; HellowLabel.Cursor = Cursors.Hand; int num1 = 1; int num2 = 2; int sum = num1 + num2; HellowLabel.Text = sum.ToString(); } private void btnSum_Clic..

CORONA - List<T>/ArrayList [내부링크]

using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Runtime.Remoting; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public List Customers = new List(); ..

SMART FACTORY -온습도 데이터베이스 C# 차트로 표현 가능! [내부링크]

서동우(교육), [16.09.20 18:22] # -*- coding:utf-8 -*- import mysql.connector; import Adafruit_DHT as Sensor from datetime import datetime import time Maria = mysql.connector.connect(host="localhost", user="root", passwd="너의암호", database="mydb"); Cursor = Maria.cursor(); while True : Humi, Temp = Sensor.read_retry(Sensor.DHT11, 4) d = datetime.today().strftime('%Y-%m-%d %H:%M:%S') Query = "INSERT INTO..

SMART FACTORY - C#람다식! [내부링크]

1. 개요[편집] 람다식, 또는 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다. 프로그래밍 언어학적으로 파고들면 이것만 한 달 이상 배우는 경우도 많으며, 실제로 여러 대학들에서 사용하는 프로그래밍 언어 교재에서도 꽤나 많은 분량을 차지하는 개념이다. 실무적으로는 코드의 간결함, 지연 연산을 통한 퍼포먼스 향상, 그리고 기존 이터레이션 관련 코드를 구현하는 데 있어 불필요한 부분들을 제거할 수 있다는 점에서 비교적 중요하게 다루어지고 있다. 람다식은 주로 고차 함수에 인자(argument)로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰인다. https://mrw0119.tistory.com/22 8장. 람다식 (Lamda Expre..

SMART FACTORY - CompareTo/List<>/Sort / 곱하기 -1 역순정렬/무명 델리게이트 [내부링크]

using System; using System.Collections.Generic; namespace ConsoleApp4 { class Program { class Product { public string Name { get; set; } public int Price { get; set; } } //static int ArraySortPrice(Product t1, Product t2) //{ // return t1.Price.CompareTo(t2.Price) * -1; //*-1을 통해서 역순 정렬 가능!! //} static int ArraySortName(Product t1, Product t2) { return t1.Name.CompareTo(t2.Name) ; } delegate int..

SMART FACTORY- 업그레이드 계산기 프로그램 (Feat.제곱가능) [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2020_09_16_01 { class Program { delegate int Facto(int t1, int t2); static Messagemap[] aMessagemap = new Messagemap[] { new Messagemap() { cmd = "더하기", Method = Add }, new Messagemap() { cmd = "빼기", Method = sub}, new Messagemap() { cmd = "곱하기", Method = mul }, new Mess..

제네릭 클래스 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp26 { class MyClass { private T[] ts; private int count = 0; public MyClass(int length) { ts = new T[length]; count = length; } public void Insert(params T[] args) { for (int i = 0; i < args.Length; i++) { ts[i] = args[i]; } ..

SMART FACTORY - 라즈베리파이에 온도 센서를 부착시켜보았다. /파이썬 -MySql DB연결 ! [내부링크]

github.com/adafruit/Adafruit_Python_DHT adafruit/Adafruit_Python_DHT Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi or Beaglebone Black. - adafruit/Adafruit_Python_DHT github.com 해당 파일을 깃에서 당겨서 설치해주고 해당 디렉토리로 진입해줍니다. sudo python setup.py install sudo rm -rf Adafruit_Python_DHT(제거) vi dht_test001.py 저장하고 나가기 :wq https://dojang.io/mod/page/view.php?id=2..

SMART FACTORY - XML! [내부링크]

www.kma.go.kr/wid/queryDFSRSS.jsp?zone=2623052000 공공기관 XML 데이터 ! 날씨 데이터 kimver2.tistory.com/13 XML이란? 1) XML 이란? - eXtensible Markup Language의 약자로 확장 가능한 마크업 언어라는 의미를 가짐. - W3C가 인간과 응용프로그램간, 혹은 응용프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포 kimver2.tistory.com

SMART FACTORY -MYSQL /C# 데이터 베이스 연동 [내부링크]

using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace QRcodeDBconn { public partial class Form1 : Form { string strConnString = "Data Source=127.0.0.1;Initial Catalog=QRCodeDB;Persist Security Info=True;User ID=sa;Password=p@ssw0rd!"; string mode ..

Array.Copy 와 CopyTo 메소드의 사용법 비교 /버블정렬 [내부링크]

using System; using System.Collections.Generic; using System.Diagnostics.SymbolStore; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp10 { class Program { static void Main(string[] args) { int[] a = { 5, 25, 75, 35, 15 }; PrintArray(a); int[] b; b =(int[]) a.Clone(); b = (int[]) a.Clone(); //Clone()메소드는 Object를 리턴하므로 (itn[]) 로 다시 케스팅 해줘야한다 int[] c = new in..

C# 기초 반복 연습/소수구하기 /이중 루프로 별표 피라미드 출력 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp6 { class Program { static void Main(string[] args) { int j; int primes = 0; for (int i = 1; i < 1000; i++) { for ( j = 2; j < i; j++) { if (i%j==0) { break; } } if (j==i) { primes++; Console.Write($"{i,5}",primes%15 ==0?"\n" :""); } } Console.WriteLine($"소수의 갯수..

팩토리얼 구하기/x의y승 구하기/무한 루프와 break문/합계가 10000이 넘는 순간 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp18 { class Program { static void Main(string[] args) { Console.WriteLine("n의 팩토리얼 값을 구합니다."); int n = int.Parse(Console.ReadLine()); int a = 1; for (int i = 2; i =1000000) { break; } } } } } using System; using System.Collections.Generic; using System.Linq; usin..

Switch /Object Boxing /UnBoxing/ if else 조건문으로 윤년(DateTime.IsLeapYear) /진수 추출시 Convert.Tostring() [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp15 { class Program { static void Main(string[] args) { Console.WriteLine("{0,5}{1,8}{2,5}{3,6}","10진수","2진수","8진수","16진수"); for (int i = 0; i < 129; i++) { Console.WriteLine($"{i,7}," + $"{Convert.ToString(i,2),10}," + $"{Convert.ToString(i,8),5 }," + $"{Convert..

Null조건 연산자(?) [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp3 { class Program { static void Main(string[] args) { string s = null; if (s!=null&&s.Length>1) { Console.WriteLine("사랑해"); } else { Console.WriteLine("싫어해"); } if (s?.Length>1) { Console.WriteLine("사랑해"); } else { Console.WriteLine("싫어해"); } } } } s != null && ..

String.Concat / String.Join/Contain /IndexOf [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { static void Main(string[] args) { string[] animals = { "mouse", "cow", "tiger", "rabbit", "dragon" }; foreach (var item in animals) { Console.Write(item+" "); } string s = string.Concat(animals); Console.WriteLine("\n"+s); s = string.Join(","..

STRING.SPLIT() 메소드 사용/ * 피라미드 중첩문으로 만들기 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp14 { class Program { static void Main(string[] args) { for (int i = 5; i > 0; i--) { //Console.WriteLine("*"); for (int j = i; j < 6; j++) { Console.Write("*"); } Console.WriteLine(); } for (int i = 1; i < 6; i++) { for (int..

SMART FACTORY-패킷 단위 출력 [내부링크]

using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; using System.Xml.Schema; using SharpPcap; using WindowsFormsApp4; namespace _20200826_001 { // 1. 설치 - 캡쳐 - 목록 - 선택 - 오픈 - 캡쳐 // 2. 캡쳐된 것을 요리하는 과정 public partial class Form1 : Form { public Form1() {..

SMART FACTORY-코딩 테스트 문자열 내림차순 리턴 [내부링크]

문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 Zbcdefg gfedcbZ public class Solution { public string solution(string s) { string answer = "Zbcdefg"; char[] a = s.ToCharArray(); System.Array.Sort(a); System.Array.Reverse(a); answer = new string(a); return answer; } } toCharArray() public c..

RANDOM 클라스 사용해보기/선형탐색과 이진 탐색 [내부링크]

← using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp4 { class Program { static void Main(string[] args) { Random random = new Random(); int[] vs = new int[50]; for (int i = 0; i < vs.Length; i++) { vs[i] = random.Next(1000); } Array.Sort(vs); PrintArray(vs); Console.WriteLine("검색할 숫자를 입력하세요"); int key = int.Par..

페킷단위 자르는 방법 공부해서 WIRESHARK 유사품 만들기 [내부링크]

using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using SharpPcap; namespace _20200826_001 { // 1. 설치 - 캡쳐 - 목록 - 선택 - 오픈 - 캡쳐 // 2. 캡쳐된 것을 요리하는 과정 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int Del_Button_Device(object sender) { int DeviceNum = Convert.ToInt32((sender as Button).Name.Su..

보안 공부 (스니핑) [내부링크]

using System; using System.Windows.Forms; using SharpPcap; namespace WindowsFormsApp3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { //MessageBox.Show(SharpPcap.Version.VersionString); CaptureDeviceList NicList = CaptureDeviceList.Instance; //장치 목록을 가져..

iComparable 상속 받아서 int IComparable.CompareTo(object obj)써보기! [내부링크]

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Fil..

무한루프와 브레이크문/BMI 계산기 만들기 /팩토리얼구하기/원주율 구하기 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 무한루프와_브레이크_문 { class Program { static void Main(string[] args) { int sum = 0; int days = 1; int money = 1000; while (true) { sum = sum + money; Console.WriteLine($"{days,3}일차 : {money,8:C}, sum = {sum,11:C}"); if (sum>=1000000) { break; } days++; money = money * 2; } Cons..

윈폼을 기초부터 하나씩 공부해보자 [내부링크]

디자이너 ! namespace WindowsFormsApp1 { partial class leejoonho { /// /// 필수 디자이너 변수입니다. /// private System.ComponentModel.IContainer components = null; /// /// 사용 중인 모든 리소스를 정리합니다. /// /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form 디자이너에..

20200818 정처기때문에 간만에 하는 C#코딩( GENERIC) [내부링크]

using System; class Program { static void ArrayPrint(FACT[] Num) { for (int Temp = 0; Temp < Num.Length; ++Temp) { Console.Write("{0} ", Num[Temp]); } Console.WriteLine(); } static void Main(string[] args) { int[] Numbers1 = { 1, 3, 5, 7, 9 }; double[] Numbers2 = { 1.1, 3.1, 5.1, 7.1, 9.1 }; string[] Numbers3 = { "일", "이" }; ArrayPrint(Numbers1); ArrayPrint(Numbers2); ArrayPrint(Numbers3); } 변수의..

InTouch 2 [내부링크]

On Startup : 키면 한번 무조건

InTouch 사용방법 [내부링크]

Legacy 로 생성해도 된다 ! 라이센스 인증 때문에 Ctrl + L 누르면 쉽게 스트링을 변경 가능하다. 페이지를 5개를 만들어서 번호를 입략 ctrl + d 로 복제가 가능하지만 그 showwindow는 페이지에 맞게끔 변경해줘야 한다. ctrl + t New를 눌라 테그를 만들 꺼예욤 descrete value로 들어 간다, 해도 엑셀하고 연동이 안된다 아마도 LIBRE 파일이라서 그런거 같다

쿼리 성능 최적화 [내부링크]

쿼리 성은 최적화는 데이터 입출력 애플리케이션읜 선능 향상을 위해 SQL코드를 최적화하는 것이다. *쿼리 성능을 최적화하기 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야하낟. APM : 애플리케이션읜 성능 관리를 위해 접속자,자원 현황,트랜잭션수행내역 ,장애진단 등 다양한 모니터링 기능을 제공하는 도구 입니다. *최적화할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL코드와 인덱스를 재구성한다. 옵티마이저: 옵티마이저는 작성된 SQL이 가장 효율적으로 수행 되도록 최적의 경로를 찾아 주는 모듈로 RBO와 CBO두 종류가 있습니다. 실무에서는 주로 CBO가 사용됩니다. CBO옵티마이저는 입.출력 속도 ,CPU사용량 ,쿼리의 블록 개수 ,쿼리에 사용되는 개체의 속성, 튜플의..

CPS(Cyber -Physical System) [내부링크]

A cyberphysical system (CPS) is a computer system in which a mechanism is controlled or monitored by computer-based algorithms. In cyber-physical systems, physical and software components are deeply intertwined, able to operate on different spatial and temporal scales, exhibit multiple and distinct behavioral modalities, and interact with each other in ways that change with context.[1] Examples ..

보안 및 API /배치 프로그램 /패키지 소프트웨어 [내부링크]

소프트웨어 개발 보안의 개요 소프트웨어 개발 보안 은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점으 최소화하여 보안 위협으로부터 안전한 소프트웨어를개발하기 위한 일련의 보안 활동을 의미한다. *소프트웨어 개발 보안은 데이터의 기밀성, 무결성 ,가용성을유지하는 것을 목표로 한다. *정보에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야할 보안 항목들을 점검한다. 소프트웨어 개발 보안 점검 항목 소프트웨어 개발 보안 점검 항목은 소프트웨어 갭랑릐 각 단계에서 점검되어야할 모안 항목들을 말한다. 세션통제 : *세션은 서버와 클라이언트의 견결을 말하며, 세션 통제는 세션의 연결과 연골로 인해 발생하는 정보를 관리하는 것을 의미한다. *보안 약점에는 불충분한 세션 관리..

트리거 (Trigger) 의 개요 /사용자 정의 함수 / DBMS 접속 기술/SQL테스트 [내부링크]

트리거는 데이터베이스 시스템에서 데이터의 삽입 갱신 삭제 등의 이벤트가 발생할 때마다 관련작업이 자동으로 수행되는 절차형 SQL이다 . *트리거는 데이터베이스에 저장되며 ,데이터 변경 및 무결성 유지 ,로그메세지 출력 등의 목적으로 사용된다. *트리거의 구문에는 DCL(데이터 제어어) 사용할 수 없으며 DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류가 발생한다. DCL : GRANT, REVOKE ,COMMIT, ROLLBACK ,SAVEPOINT 트리거에 오류가 있는 경우 트리거가 처리하는 데이터에도 영향을 미치므로 트리거를 생성 할 때 세심한 주의가 필요하다. 트리거의 구성 트리거는 선언 ,이벤트 , 시작 ,종료로 구성되면 ,시작과 종료 구문 사이에는 CONTROL , SQL, EXCEPTI..

논리 데이터 모델의 물리데이터 모델 변환 [내부링크]

테이블 : 테이블은 데이터를 저장하는 데이터베이스의 가장 기본적이 오브젝트이다. *테이블은 컬럼과 로우로 구성되며, 컬럼에는 지정된 유형에 따라 데이터가 저장된다. 로우 (Row) : 튜플, 인스턴스 ,어커런스라고도 한다. 컬럼 (Column) 각 속성 항목에 대한 값을 저장한다. 기본키 (Primary key) : 기본키는 후보키 중이 센택한 주키이다 . / 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 외래키 (Foreign key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. 한 릴레이션에 속한 속성 a와 참로 릴레이션의 기본키인 v가 동일한 도메인 상에서 정의 되었을 때 속성 a를 외래 키라고 한다. 엔티티 (Entity )를 테이블로 변환 -개체로 변환..

분산 데이터베이스 설계 / 데이터 베이스 보안 -암호화 [내부링크]

분산 데이터베이스 정의 *분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스를 말한다. *분산 데이터베이스는 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치 시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록한다. 분산 데이터베이스의 구성 요소 분산처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다. 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터 베이스로서 해당지역의 특성에 맞게 데이터베이스가 구성된다. 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록하는 통신 네트워크를 말한다. 분산 데이터베..

인덱스 설계 / 뷰 (View) 설계/클러스트 /파티션/데이터베이스 용량설계 [내부링크]

인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접급하기 위해 쌍으로 구성되는 데이터 구조이다. 인덱스 키 값의 경우 내림차순으로 정렬 되어있다. 그리고 연결되 포인터 값을 통해 레코드에 빠르게 접근 할 수 있다. *인덱스는 데이터가 저장된 물리적 구조와 밀접한 관계가 있다. *인덱스를 통해서 파일의 레코드에 대한 액세스를 빠르게 수행할 수 있다. *레코드의 삽입과 삭제가 수시로 일어나는 경우에는 인덱스의 개수를 최소로하는 것이 효율적인다. *인덱스가 없으면 특정한 값을 찾기 위해 모든 데이터 페이지를 확인하는 테이블 스켄이 발생한다. *기본키를 위한 인덱스를 기본 인덱스라고 하고 기본 인덱스가 아닌 인덱스들을 보조 인덱스라고 한다 대부분의 관계형 데이터 베이스 관리 시스템에서는 모든 기본 키에 대해서 자..

트렌잭션 분석/ CRUD 분석 [내부링크]

트랜잭션 (Transaction) 정의 트랜잭션은 데이터 베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야할 일연의 연산들을 의미한다. *트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업시 처리되는 작업의 논리적 단위로 사용된다, *트랜잭션은 사용자가 시스템에 대한 서비스 요구 시 시스템에 응답하기 위한 상태 변환 과정의 작업 단위로 사용된다. 트랜잭션의 특징 -다은은 데이터의 무결성 ( integrity)을 보장하기 위하여 DBMS의 트랜잭션이 가져야할 특징이다 원자성 :(Atomicity) - 트랜잭션의 연산은 데이터베이스에 모두 반영 되도록 완료 (commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 한다. -트..

데이터베이스 저장 공간 설계 [내부링크]

테이블 (Table) 테이블은 데이터 베이스의 가장 기본적인 개체로 로우(Row 행) ,와 컬럼 (Column,열)으로 구성되어 있다. *데이터베이스의 모든 데이터는 테이블에 저장된다. *테이블은 논리 설계 단계의 개체 (Entity)에 대응하는 객체이다. *DBMS 종류에 따라 테이블의 명칭과 기능 등은 약간씩 차이가 있다. *테이블의 종류에는 일반 테이블 ,클러스터 인덱스 테이블 ,파키셔닝 테이블, 외부 테이블, 임시테이블 등이 있다. 일반테이블 일반테이블은 현재 사용되는 대부분의 DBMS에서 표준테이블로 사용되는 테이블 형태이다. 테이블에 저장되는 데이터의 로우 위치는 속성 값에 상관 없이 데이터가 저장되는 순서에 따라 결정된다. 클러스터드 인덱스 테이블 (Clustered Index Table) ..

시스템 카탈로그 / 사전 조사 분석 [내부링크]

시스템 카탈로그 (System Catalog) 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다. *시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템테이블이다. *카탈로그들이 생성되면 데이터 사전 (딕셔너리)에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전이라고도 한다. 시스템 카탈로그 저장 저보 시스템 카탈로그에 저장된 정보를 메타 데이터(Meta Data)라고한다. 메타데이터의 유형 -데이터베이스 객체 정보 : 테이블(Table) , 인덱스(Index) ,뷰(View) 등의 구조 및 통계정보 -사용자 정보 : 아이디/ 페스워드/ 접근 권한등 ..

관계 대수 및 관계 해석 / 정규화(Normalization)/반정규화(Denormalization) [내부링크]

관계 대수의 개요 관계 대수는 관계형 데이터 베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적인 언어이다. *관계 대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다. *질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다. *관계대수에는 관계 데이터 베이스에 적용하기 위해 특별히 개발한 순수 관계 연산자와 수학적 집합이론에서 사용하는 일반 집합 연산자가 있다 . 순수 관계 연산자 : SELECT / PROJECT/ JOIN /DIVISION 일반 집합 연산자 : UNION(합집합) / INTERSECTION(교집합) /DIFFERENCE (차집합)/ CARTESIAN PRODUCT (교차곱) ..

관계형 데이터 베이스의 제약 조건 - 키 (key) /무결성 [내부링크]

제약 조건이란 데이터 베이스에 저장되는 데이터의 정확성을 보장하기 위하여 키를 이용하여 입력되는 데이터에 제한을 주는 것으로 대체 무결성 제약 , 참조 ,무결성 제약 등이 해당된다. 키의 개념 및 종류 키는 데이터 베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리 뷰트를 말한다. 키의 종류에는 후보키 기본키 대체키 슈퍼키 외래키 등이 있다 . 후보키 (Candidate Key) 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 ,즉 키본키로 사용할 수 있는 속성들을 말한다. *하나의 릴레이션 내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다. *후..

E-R 모델의 개요 /관계형 데이터 모델/ 관계형 데이터베이스의 구조 [내부링크]

E-R 모델은 개념적 데이터 모델의 가장 대표적인 것으로 1976년 피터 첸에 의해 제안되고 기본적인 구성요소가 정립되었다. *E-R 모델은 개체와 개체 간읜 관계를 기본 요소로 이용하여 현실세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법으로 많이 사용되고 있다. *개체 타입과 이들간의 관계 타입을 이용해 현실세계를 개념적으로 표현한다. *개체 ,관계, 속성으로 묘사 *특정 DBMS를 고려한것 X *다이어 그램으로 표현하며 1대1 1대N N대M등의 관계 유형을 제한 없이 나타낼 수 있다. *최초에는 개체 관계 속성과 같은 개념들로 구성되었으나 나중에는 일반화 계층 같은 개념들 이 첨가되어 확장된 모델로 발전했다 E-R 다이어 그램 다이어 그램은 E-R 모델의 기본 아이디어를 이해하기 ..

데이터 모델의 구성요소 -개체 (Entity)/ 속성(Attribute)/관계(Relationship) / 식별자(Identifier) [내부링크]

개체는 데이터 베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실세계의 대상체이다. *개체는 실세계에 독립적으로 존재하는 유형 , 무형의 정보로서 서로 연관된 몇개의 속성으로 구성된다. *파일 시스템의 레코드에 대응하는 것으로 어떤 종보를 제공하는 역할을 수행한다. *영속적으로 존재하는 개체의 집합니다. *독립적으로 존재하거나 그자체로서도 구별이 가능하다. *유일한 식별자에 의해 식별이 가능하다. *개체는 업무 프로세스에 의해 이용된다. *다른 개체와 하나 이상의 관계가 있다. 교수 개체 - 교수 번호 / 성명/ 전공/ 소속 교수 개체의 구성요소 * 속성 : 개체가 가지고 있는 특성 , 교수 번호 , 성명, 전공, 소속 *개체 타입 (Record): 속성으로만 기술된 개체의 정의 *..

데이터베이스 설계 / 데이터 모델의 개념 [내부링크]

데이터베이스 설계의 개념 데이터 베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터 베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다. 데이터 베이스 설계시 고려사항 *무결성 : 삽입, 삭제 ,갱신 등의 연산 후에도 데이터 베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야한다. *일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함 없이 일정해야한다. *회복 : 시스템에 장애가 발생했을 대 장애 발생 직전의 상태로 복구 할 수 있어야한다, *보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 한다. *효율성 : 응답시간의 단축, 시스템의 생산성..

연계 테스트의 개요 /인터페이스 구현 검증/인터페이스 오류 확인 및 처리 보고서 작성 [내부링크]

연계 테스트의 개요 연계테스트는 구축된 연계시스템과 연계시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동이다. 연계테스트는 연계 테스트 케이스를 작성 , 연계테스트 환경 구축, 연계테스트 수행 연계테스트 수행결과 검증 순으로 진행된다. 연계테스트 케이스 작성 연계케스트 케이스 작성은 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정이다. 송 수 신 용 연계 응용 프로그램의 단위 테스트 케이스 *송,수신용 연계 응용프로그램의 단위 테스트 케이스와 연계 테스트 케이스를 각각 작성한다. -송 수신 시스템에서 확인해야할 항목을 도출한다. -송 수신 시시템에서 단순 개별 데이터의 유효값을 확인하는 경우의 수와 데이터 간의 연관 관계를 확인하는 경우의 수로 구분하여 작..

SMART FACTORY - THREAD 원리 공부 [내부링크]

using System; using System.Threading; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Thread t1 = new Thread(theadFunc1); Thread t2 = new Thread(theadFunc2); Thread t3 = new Thread(theadFunc3); //기생충 껍데기 생성 //델리케이트! //프로세스 안에 만들어지는 프로세스 : 스레드(메서드) 몸안에 살고 있는 기생충 t1.Start(); //기생충이 활동을 시작 t2.Start(); //기생충이 활동을 시작 t3.Start(); //기생충이 활동을 시작 //아무 것도 없으므로 종료 Console.WriteLin..

SMART FACTORY - 금주 TEST : PYTHON을 이용하여 공공데이터를 불러오자 [내부링크]

https://andjjip.tistory.com/108 [Python] 공공데이터 api로 데이터 가져오기 공공 데이터 활용 공공데이터 신청하기 공공데이터 포털은 공공기관이 생성 또는 취득하여 관리하고 있는 공공데이터를 한 곳에서 제공하는 통합 창구이다. 파일데이터, 오픈API, 시각화 등 다 andjjip.tistory.com 여기를 참고하면 나보다 잘되어 있다 . from urllib.parse import urlencode, unquote import requests import json url = 'http://apis.data.go.kr/1360000/VilageFcstInfoService/getUltraSrtNcst' queryParams = '?' + urlencode( { "Service..

SMART FACTORY -HeidiSQL 설치하기 ! [내부링크]

prtable version 64bit 로 설치 하였다. 본인의 운영체제에 맞게 설치하면 된다. SELECT host, user FROM user; 현재 디비에서 로컬 호스트로는 로그인 가능하다 db = pymysql.connect(host='localhost', user='root', password='암호암호암호', db='my db', charset='utf8') 아이피 주소를 적으면 특정 아이피만 접속 가능 GRANT ALL PRIVILEGES ON *.* TO 'root'@'====IP 혹은 %(모든IP)===' IDENTIFIED BY '===암호==='; 주수홍강사, [31.07.20 10:40] GRANT ALL PRIVILEGES ON *.* TO 'root'@'====IP 혹은 %(모든..

인터페이스 테이터 표준의 개요 [내부링크]

인터페이스 테이터 표준의 개요 인터페이스 테이터 표준은 모듈간 인터페이스에 사용되는 데이터 형식을 표준화 하는것이다. *인터페이스 테이터 표준은 기존의 데이터 중에 공통 영역을 추출하거나 어느 한쪽의 데이터를 변환하여 정의한다. 확인 된 인터페이스 데이터 표준은 인터페이스 기능 구현을 정희하는데 사용된다. 모듈가 인터페이스 테이터 표준 확인 순서 1.데이터 인터페이스를 통해 인터페이스 데이터 표준을 확인한다. 2.인터페이스 기능을 통해 인터페이스 표준을 확인한다. 3.데이터 인터페이스와 인터페이스 기능을 통해 확인된 인터페이스 표준을 검토하여 최종적인 인터페이스 데이터 표준을 확인한다. 데이터 인터페이스 확인 *데이터 표준을 위해 식별된 데이터 인터페이스에서 입,출력 값의 의미와 데이터의 특성 등을 구체..

SMART FACTORY - 2020.07.30 C# TCPLISTENR/THREAD [내부링크]

using System; using System.Diagnostics; using System.Net; using System.Net.Sockets; using System.Text; namespace _20200730_c샵_공부 { class Program { static void Main(string[] args) { TcpListener tcp =new TcpListener(IPAddress.Any, 7000); tcp.Start(); Console.WriteLine("서버가 시작되었습니다..."); TcpClient atcpClient = tcp.AcceptTcpClient(); } } 이렇게 짐작을 해서 짠다 . using System; using System.Diagnostics; using ..

SMART FACTORY - 마리아(Maria) 데이터 베이스 활용하기 /그리고 Python 이랑 연결하기 완료 [내부링크]

리눅스가 원래 설치하는게 힘든게 무엇이였나면 패키지 개념으로 특정 파일을 설치할려면 기초가 깔려있어야 설치 할수 있었다. 데비안 apt-get 이 생기면서 설치하는게 쉬워졌다 무조건 문제가 안 발생하는 건 아니지만 그래도 꽤나 마리아 디비를 땡겨오면 최신 버전을 땡겨 옵니다 이말은 다른 버전도 최신 버전이여야 한다. apt -ge update sudo apt-get install masiabd-server mariadb-client 설치 sudo mysql -uroot 접속 show databases; 확인 마리아 디비도 DBMS 동일한 데이터 베이스 메니지 먼트 시스템이다 . 머 하다가 빠져 나올라면 Ctrl +D 위에 데이타 베이스 파일이 하나 더 생긴게 보인다. 컬럼(column)이란 관계형 데이터..

결함관리//애플리케이션 성능 분석 [내부링크]

결함의 정의 결함은 오류 발생 작동 실패 등과 같은 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과를 발생 되는 것을 의미한다. 결함 관리 프로세스 결함 관리프로세스는 애플리케이션 테스트에서 발견된 결함을 처리하는 것을 ㅗ처리 순서는 다음과 같다. 결함관리 계획 - 전체 프로세스에 대한 결함 관리 일정,인력엄무 프로세스 등을 확보하여 계획을 수립하는 단계 결함 기록 - 테스트는 발견된 결함을 결함 관리 DB에 등록한다 결함 검토 - 테스터 / 프로그램 리더/ 품질관리 담당자 등은 등록된 결함을 검토하고 결함을 수정할 개발자에게 전달한다. 결함 수정 - 개발자는 전달 받은 결함을 수정한다. 결함 재확인 - 테스터는 개발자가 수정한 내용을 확인하고 다시 테스트를 수행 결함 상태 추적 및 모니터..

SMART FACTORY - C# 네트워크 계속계속 /Socket/TCP소켓 [내부링크]

using System; using System.Net; using System.Net.Sockets; class Program { static void Main(string[] args) { //Socket Server - 어서 오십시오 하는 소켓 (밑에 소켓 하나 더있다) Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //한꺼 번에 건물을 올려주는 변수 선언 //1,2,3층을 한꺼번에 아우르는 기능이 들어 있다. Server.Bind(new IPEndPoint(IPAddress.Any, 7000)); //아이피와 포트를 확인하고 SOCKET과 같이 묶어주는게 Bind 기능 ! //I..

통합테스트/ 애플리케이션 테스트 프로세스/테스트 케이스/시나리오/오라클 [내부링크]

통합테스트 (INTEGRATION TEST) 통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법이다. *통합 테스트 방법에는 비 점진적 통합 방식과 점진적 통합 방식이 있다. =비점진적 통합방식 = +단계적으로 통합하는 정차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트 하는 방법으로 빅뱅 통합테스트 방식이 있다. +규모가 작은 소프트웨어에 유리하며 단시간 내에 테스트가 가능하다. +전체 프로그램을 대상으로 하기 때문에 오류 발견 및 장애 위치 파악 및 수정이 어렵다 . =점진적 통합방식= +모듈 단위로 단계적으로 통합하면서 테스트 하는방법으로 하향식, 상향식,혼합식 통합 방식이 있다. +오류 수정이 용이하고 인터페이스와 연관된 오류를 완전..

개발 단계에 따른 어플리케이션 테스트 [내부링크]

애플리테이션 테스트 소프트웨어의 개발 단계에 따라 단위 테스트/ 통합테스트/ 시스템 테스트/ 인수테스트/ 로 분류된다. 이렇게 분류 된 것을 테스트 레벨이라고 한다. *애플리케이션 테스트는 소프트웨어의 개발 단계에서 부터 테스트를 수행하므로 단순히 소프트웨어에 포함된 코드 상의 오류 뿐만 아니라 요구 분석의 오류 /설계인터페이스 오류 등도 발견할 수 있다. *애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것을 v 모델이라한다. (소프트웨어 개발 단계) (테스트 단계) 요구사항 인수 테스트 분석 시스템 테스트 설계 통합테스트 구현 단위 테스트 단위 테스트 *단위 테스트는 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 하는 것이다. - 단위 테스트에서 인터페이..

SMART FACTORY - 개인 공부 C#으로 완전수 구하는 코딩 [내부링크]

using System; namespace ConsoleApp8 {// 알고리즘_완전수: 자신을 제외한 약수의 합이 자신과 같이지는 수 class Program { static void Main() { int sum = 0; // 약수의 합계 int count = 0; // 완전수 의 건수 int max = 0; // 가장 큰 약수 int rem = 0; // 나머지 값 임시 보관 for (int i = 1; i

SMART FACTORY- C# 네트워트 통신 [내부링크]

소켓 통신 - 구글이나 다음에 접속할 때 보통 움직이는 쪽은 어디 쪽이예요 ? 보통 2개 있죠잉 벽쪽에 붙어 있는게 서버 클라이언트가 고개님 은행에서 서버용 소켓을 (암놈)을 준비해야하고 클라이언트 소켓 수컷을 준비해야한다. 서버는 대기 하고 클라이언트는 필요할 때 마다 와서 넣는다. 소텟이 종류가 몇종류가 있다 2종류가 있따 서버소켓이 클라이언트 소켓이 있다. 이 개념을 통해서 코딩해야한다. 인터넷에서 ip = 전화번호 소켓이 어디있냐 IP Address 네트워크 어댑터 -? 전화기 IP주소 -? 전화번호 도메인 이름 -? 사람이름 도메인 네임 서버 -? 전화번호부 DNS 서버 -> 정보를 모두 가지고 있는 곳 구글을 문의하면 IP 를 알려주고 IP를 문의 하면 구글을 알려준다. DNS 서버가 없으면 ..

SMART FACTORY - 뷰 함수 / HTML/ FLASK 웹서버 구축하기 [내부링크]

HTML 태크 : 줄 바꾸기 : 단락 바꾸기 : 가로줄 ... : 가운데 정렬 ... : 폰트 변경 ... ... : 순서없는 목록(동그라미) ... ... : 순서있는 목록(숫자) ... : 표 만들기 ... : 행 ... : 열 출처: https://yeolco.tistory.com/102 [열코의 프로그래밍 일기] https://www.codingfactory.net/10221 HTML / 문법 문법 Contents 위 모든 걸 요소(element)라고 합니다. 을 시작 태그, 을 종료 태그, 둘을 합쳐 태그(tag)라고 합니다. Contents는 내용입니다. 예를 들어 Lorem 는 p 요소라 www.codingfactory.net j = join 이라는 뜻으로 두 문장을 붙여준다 이거는 HT..

애플리케이션 테스트/애플리케이션 테스트의 분류 [내부링크]

애플리케이션 테스트의 개념 애플리케이션 테스트는 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차이다. 애플리케이션 테스트는 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation) 하고 소프트웨어가 기능을 정확히 수행하는지 검증(Verification) *애플리케이션태스트를 실행하기 전에 개발한 소프트웨어의 유형을 분류하고 특성을 정리해서 중점적으로 테스트할 사항을 정리 해야한다. 소프트웨어명 / 제공유형/기능 유형/사용 환경/ 개발 유형 /중점사항 오픈db구축/서비스 제공/ 산업특화 /Web /신규개발 /기능 구현시 사용자 요구사항의 누락여부 확인(Validation) : 사용자의 입장에서 개발한 소프트웨어가 고객의 요구 사항에 맞게 구현 되었는지를 확인하는 것입..

SMART FACTORY -C#으로 소수구하기 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp7 {// 정수 하나를 입력 받아 , 2부터 해당 수까지에 존재하난 모든 소수를 찾아서 출력 // 예 2~20까지의 정수 2,3,5,7,11,13,17,19 class PrimNumberCount { static void Main() { //Input var count = 0; //소수 개수 var sw = true; //소수(true)인지 학인하는 스위치 변수(flag) var number = 0; Console.WriteLine("수 입력 : ") ; numbe..

SMART FACTORY - 다시 C# / 가변 매개 변수 : Params [내부링크]

더보기 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { static int Add(params int[] values) { int result = 0; for (int i = 0; i < values.Length; i++) { result = result + values[i]; } return result; } private static void PrintAll(params object[] values) { f..

SMART FACTORY - 발광 다이오드와 저항으로 라즈베리를 해보자 [내부링크]

V =IR LED 는 20mA ~50mA 이 전류량을 넘어가면 LED가 타 버린다! v(전압) I(전류) r(옴) = 저항 3.3 0.02 165 3.3 0.05 66 5 0.02 250 5 0.05 100 vi gpio.py cp gpio.py gpio_led.py vi gpio_led.py ? 왜하는 거지 ? GPIO가 먼지 ? 프로그램에의해서 소프트웨어에 의해서 기능을 마음대로 바꿀 수 있는 하드웨어 적으로 고정이 되어 버리면 변경할 수 없는데 개발자가 마음대로 구현할 수 있는 것이 GPIO이다. PWM SPI https://bulkywebdeveloper.tistory.com/11 리눅스 vi 비정상 종료시 .swp 삭제 위의 해당 파일 수정 중 비 정상 종류 후 수정할때마다 위와 같은 메세지가 ..

SMART FACTORY -NO.12 소프트웨어 버전등록/ 소프트웨어 버전 관리 도구 /빌드 자동화 도구의 개념 [내부링크]

소프트웨어 패키징의 형상관리 형상관리 - 소프트웨어 개발 단계의 각과정에서 만들어지는 프로그램 ,프로그램을 설명하는 문서 ,데이터 등을 통칭하는 말 sofrware configuration management 형상관리 는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다. 소프트웨어 변경의 원인을 알아내고 제어하면 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보 형상관리는 소프트웨어 개발의 전단계에 적용되는 활동이며 유지 보수단계이서도 수행된다. 형ㅎ상관리는 소프트웨어 개발의 전체 비용을 줄이고 개발 과정의 여러 방해 요인이 최소화 되돌고 보증한느 것을 목적으로 한다. ***형상관리의 중요성 *지속적인 소프트웨어의 변경 사항을 체계적으로 추적하고 통제할 수 있..

SMART FACTORY -NO.10 소프트웨어 설치 매뉴얼의 개요 /소프트웨어 사용자 매뉴얼 작성 [내부링크]

소프트웨어 설치 매뉴얼의 개요 소프트웨어 설치 매뉴얼을 개발 초기에서 부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서이다. *설치 메뉴얼은 사용자 기준으로 작성한다. *설치 시작부터 완료할 때까지의 전 과정을 빠짐 없이 순서대로 설명한다. *설치 과정에서 표시 될 수 있는 오류 메세지 및 예외 상황에 관한 내용을 별도로 분류하여 설명한다. *소프트웨어 설치 메뉴얼에는 목차 및 개요 /서문/ 기본 사항등이 기본적으로 포함되어야 한다. *소프트웨어 설치 매뉴얼의 목차에는 전체 설치 과정을 순서대로 요약한 후 관련 내용의 시작 페이지를 함께 기술한다. *소프트웨어 설치 매뉴얼의 개요에는 설치 매뉴얼의 주용 특징 구성과 설치 방법 순서등의 내용을 기술한다. 서문 ..

SMART FACTORY -NO.11제품 소프트웨어 패키징/릴리즈 노트 작성 [내부링크]

제품 소프트웨어 패키징 소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 붂어 배포용 설치 파일은 만드는 것을 의미한다. *개발자가 아니라 사용자 중심으로진행한다. *소스 코드는 향후 관리를 고려하여 모듈화 하여 패키징한다. *사용자가 소프트 웨어를 사용하게 될 환경을 이해하여 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포형태로 패키징한다. *사용자를 중심으로 진행되는 작업이므로 사용자의 편의성 및 실행 환경을 우선적으로 고려해야한다. 패키징 고려사항 *사용자의 시스템 환경 즉 운영체제 /CPU/메모리 등에 필요한 최소 환경을 정의한다 *UI는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징한다. *소프트웨어는 단순히 패키징하여 배포하..

SMART FACTORY -C# Delegate -> 더욱 간단하게 유지 보수 가능한 방법 [내부링크]

using System; namespace ConsoleApp3 { delegate int CalcDelegate(int x, int y); delegate void WorkDelegate(char arg1, int arg2, int arg3); class MessageMap { public char opCode; public CalcDelegate calc; public MessageMap(char opCode, CalcDelegate calc) { this.opCode = opCode; this.calc = calc; } } public class Mathematics { MessageMap[] amessegemap; static int Add(int x, int y) { return x + y; }..

SMART FACTORY - PYTHON 을 조금 더 공부 해 볼깝쏘? / 오늘 수업 뒤죽 박죽이네 [내부링크]

aa =[30,10,20] print("현재의 리스트 : %s" %aa) aa.append(40) #배열을 추가할 수 있다. append: 덧붙이다. print("append 후의 리스트 : %s" %aa) aa.pop() #POP은 하나를 떠낸다. 후입 선출! print("pop 후의 리스트 : %s" %aa) aa.sort() #SORT 정렬 (오름 차순) 피라미드 떠올려라 print("sort 후의 리스트 : %s" %aa) aa.reverse() #REVERSE 역순으로 배치 print("reverse 후의 리스트 : %s" %aa) aa.insert(2,222)#2번의 위치에 222번을 넣어라 print("insert(2,222) 후의 리스트 : %s" %aa) print("20값의 위치 : %..

SMART FACTORY -NO.8 통합구현-단위 구현/단위 모듈 테스트/ 개발지원도구 [내부링크]

단위 모듈의 개요 단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현 *단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 부른다. *단위 모듈은 사용자나 다른 모듈로부터 값을 전달 받아 시작되는 작은 프로그램을 의미하기도한다. * 두 개의 단위 모듈이 합쳐질 경우 두개의 기능을 구현할 수 있다. *단위 모듈의 구성 요소에는 처리문 ,명령문, 데이터 구조 등이 있다. 단위 모듈은 독립적인 컴파일이 가능하며 다른 모듈에 호출되거나 삽입되기도 한다. *단위 모듈을 구현하기 위해서는 단위 기능 명세서를 작성한 후 입 *출력 기능과 알고리즘을 구현해야한다. 단위기능 명세서 -> 입출력 기능 구현 -> 알고리즘 구현 단위기능 명세 작성 *단위 기능 명세서는 설계 과정에..

SMART FACTORY - 리눅스 GIT CLONE /PYTHON 공부 /C# 델리게이트 [내부링크]

하기 전에 잠깐 네트워크 연결 하는 방법 오늘은 깃을 통해서 작업일 해볼꺼 도망 칠때는 :q! 의도해서 저장하고 싶을 때 wq apt-get 이용하기 apt : Advanced Package Tool 의 약자 루프 /설킷 압축! 파일을 하나로 묶는 작업을 tar이라고 한다. 리눅스에서 한개씩 압축하는건 gzip이라고 한다. 개별 압축 tar -cf 한개로 묶는거 +묶는이름 추가 tar -cf auto.tar // 하나하나 따로 다 적어도 되는데 안적으면 한꺼번에 압축 *쓰면된다. 하나로 묶어주는 거지 용량 압축을 해주는 것은 아니다 용량 압축을 해주는 건 gzip auto.tar 다시 압축을 푸는 방법 gzip -d auto.tar.gz 지우기 rm *png -v 혹은 --verbose 진행되는 파일의 ..

SMART FACTORY -NO.7 데이터 입.출력/ 절차형 SQL [내부링크]

데이터 입출려의 개요 *데이터 입출력은 단순 입력과 출력 뿐만 아니라 데이터를 조작한느 모든 행위를 의미하며 이와 같은 작업을 위해 SQL을 사용한다 *데이터 입출력을 소프트웨어에 구현하기 위해 개발 코드 내에 SQL코드를 삽입하거나 객체와 데이터를 연결하는 것을 데이터 접속(DATA MAPING)이라고 한다. *SQL을 통한 데이터 베이스의 조작을 수행할때 하나의 논리적인 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 트랜잭션이(TRANSACTION)라고 한다. SQL (STRUCTURED QUERY LANGUAGE) 1974 IBM - > SEQUEL -> SQL 관계형 데이터베이스(RDB) 지원하는 언어로 채택 *관계대수와 관계 해석을 기초로한 혼합데이터 언어이..

SMART FACTORY - NO.6 데이터저장소/데이터베이스/DBMS [내부링크]

데이터 저장소 데이터 저장소는 소프트웨어 개발 과정에서 다루어야할 데이터들을 논리적인 구조로 조직화하거나 물리적인 공간에 구축한것을 의미한다. 데이터 저장소는 논리 데이터 저장소 물리 데이터 저장소 로 구분된다. 논리 데이터 저장소는 데이터 및 테이터간의 연관성 제약 조건을 식별하여 논리적인 구조로 조직화 한것을 의미한다. -흔히 우리가 디비 조직화 할때 물리 데이터 저장소는 논리 데이터 저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한것을 의미한다. -걍 저장한거 논리 데이터 저장소를 거쳐 물리 데이터 저장소를 구축하는 과정은 데이터 베이스를 구축하는 과정과 동일하다. 데이터 베이스 통합된 데이터 (INTERGATED DATA): 자료의 ..

SMART FACTORY - C# 간만에 INDEXER (FEAT PROPERTY) [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp15 { class TESTINT { private int[] array = new int[6]; public int this[int index] { get { return array[index]; } set { array[index] = value; } } } class TEST { private string[] _array = new string[5]; public string this[int index] { get { return _array[index]; }..

SMART FACTORY - 리눅스 명령어 ! [내부링크]

커널! 커널에 전달 되는 명령 해석기가 있습니다. 직접 접근하는 방법조 존재 사람 - 유저 -> 바로 커널에 접속할 수 없다 ! 해석기 를 통해서 접근 가능 명령 해석기 : 쉘!! ( SHELL) :운영체제 (OS) 동일한 창을 하나 더 띄운다 EXIT 또는 CTRL + D를 통해 로그 아웃을 한다 . 꼭! . 파일 명 -> 숨긴 파일 실수 했다 싶으면 esc 두번 shift : 90 =-> d이동 적용하고 나올 때는 shift : wq enter 나와서는 source 처야지 적용된다. source .bashrc 다시 들어가서 수정할 때는 i # *.txt = a.txt 만 나온다. 윈도우는 이렇게 출력을 도스화면이 아닌 메모장에 할 수 있다 . 이걸 dir > a.txt MS -> DOS -> PC -..

SMART FACTORY- NO.6 자료구조 [내부링크]

자료구조의 정의 효율적인 프로그램을 작성할 때 가장 우선적인 고려사항은 저장 공간의 효율성과 실행 시간의 신속성이다. *자료구조는 프로그램에서 사용하기 위한 자료를 기억 장치의 공간 내에 저장하는 방법과 저장된 그룹내에 존재하는 자료 간읜 관계 처리 방법등 연구 분석하는 것을 말한다. 1.자료구조는 자료의 표현과 그것과 관련된 연산이다 2.자료구조는 일련읜 자료들을 조직하고 구조화하는 것이다. 3.어떠한 자료 구조에서도 필요한 모든 연산을 처리할 수 있따. 4.자료구조에 따라 프로그램 실행 시간이 달라진다. 자료구조 배열 $동일한 자료형들의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합 *배열은 정적인 자료 구조로 기억 장소의 추가가 어렵고 데이터 삭제시 데이터가 저장되어 있던 기억장소는 빈공간..

SMART FACTORY - NO.5 미들웨어 솔루션 명세 [내부링크]

미들웨어 의 개명과 종류 *미들웨어는 미들과 소프트웨어의 합성어로 운영체제와 해당 운영체제에서 실행 되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트 웨어이다. *미들웨어는 표준화된 인터페이스를 제공함으로써 시스템 간의 데이터 교환에 일관성을 보장한다. 미들웨어는 통신 제공 방법이나 기능에 따라 DB/RPC/MOM/TP -MONITOR/ORB/WAS DB * 데이터 베이스 베너에서 제공하는 클라이언트에서 원격의 데이터 베이스와 연결하기 위한 미들웨어이다. *DB를 사용하여 시스템을 구축하는 경우 2 -Tier 아키텍처 *ODBC /IDAPI /GLUE RPC (REMOTE PROCEDURE CALL) *원격 프로시저 호출은 응용프로그램의 프로시저를 사용하여 ..

SMART FACTORY -NO.4 인터페이스 방법 명세화/인터페이스 설계서 작성 [내부링크]

인터페이스 방법 명세화의 개념 인터페이스 방법 명세화는 내 외부 시스테밍 연계하여 작동할 때 인터페이스별 송 수신 방법 송수신 데이터 오류 식별 및 처리 방안에 대한 내용을 문서로 명확하게 정리하는 것이다. 인터페이스별로 송 수신 방법을 명세화 하기위해서는 시스템 연계 기술 / 인터페이스 통신유형/ 처리 유형/ 발생주기 대한 정보가 필요하다. 시스템 연계기술 시스템 연계 기술은 개발 할 시스템과 내 외부 시스템을 연계할 때 사용되는 기술을 의미한다. 1. DB LINK -> DB 에서 제공하는 DB LINK 객체를 이용하는 방식이다. 2. API/OPEN API -> 송신 시스템의 데이터 베이스에서 데이터를 읽어와 제공하는 어플리테이션 프로그래밍 인터페이스 프로그램이다. 3. 연계솔루션 -> EAI -송..

SMART FACTORY - NO.3 송수신 데이터 식별 [내부링크]

기억해야할것 :송수신 데이터를 정확히 식별해야 시스템 내부 및 다른 시스템과의 인터페이스에의해 전달되는 정보들의 변조 및 손실을 예방할 수 있습니다. 식별 대상 데이터 : 송수신 스시템 사이에서 교환되는 데이터로 규격화된 표준형식에 따라 전송 *인터페이스 표준 항목 /송 수신 데이터 항목/공통 코드 -> 교환되는 데이터 *인터페이스 표준 항목 : 송수신 시스템을 연계하는데 표준적으로 필요한 데이터 1. 시스템 공통부 -> 인터페이스 ID/ 전송 시스템 정보/ 서비스 코드 정보/응답결과 정보/장애정보 -시스템 간에 연동 시 필요한 공통 정보 2. 거래 공통부 ->직원 정보/ 승인자 정보 /기기정보 /매체정보 -시스템이 연동된 후 송 수신되는 데이터를 처리시 필요한 정보 *송수신 데이터 항목 -송수신 데이터..

SMART FACTORY 라즈베리파이 ! -리눅스 [내부링크]

리눅스 명령어 sudo apt-get update sudo apt-get upgrade sudo apt-get update: 업데이트할 패키지들을 파악합니다. sudo apt-get upgrade: 업데이트할 패키지들과 현재 보유하고 있는 패키지들을 비교하며 업데이트를 수행합니다. sudo apt-get dist-upgrade: 의존성 검사를 하면서 위의 upgrade에서 수행하지 못한 업데이트를 수행합니다. (잘 사용하지는 않습니다.) 윈도우에 원격으로 검색해서 사용 하고 라즈베리 아이피 주소 입력하면 라즈베리 창이 원격으로 확인된다. cd ~ 틸트 작성 해서 디렉터리 생성 https://wowcat.tistory.com/3045 뿌띠 PuTTY SSH 자동 로그인 접속 설정 1. 뿌띠 PuTTY 아이..

SMART FACTORY NO.2 인터페이스 시스템 식별 [내부링크]

기억해야할것 : 개발할 시스템 ----- 인터페이스-----연계할 시스템 ( 식별 ) 인터페이스별로 사용되는 송 수신 시스템을 구분 선행작업 새발한 시스템과 연계할 내 외부 시스템을 식별 각 시스템들의 환경 및 관리 주체 , 네트워크 연결 정보 개발 시스템 식별 내 외부 시스템 식별 내 외부 시스템을 식별 한느 것은 인터페이스 관련 자료들을 기반으로 개발할 시스템과 연계할 내 외부 시스템들의 상세 식별 정보를 정의하고 목록을 작성하는 것이다. 내 외 부 시스템 환경 및 관리 주체 식별 내 외부 시스템 환경은 연계할 시스템 접속에 필요한 IP URL PORT 정보등 시스템의 실제 운용 환경을 의미한다. 내 외부 시스템 관리 주체는 하드웨어를 실제적으로 관리한느 담당자를 의미한다. 인터 페이스 관련 자료들읠..

정보처리기사 공부 NO.1 시스템 인터페이스 요구사항 분석 [내부링크]

기억해야할 것 : 1. 요구사항에 명시 되어야 할 구성 요소 ! 2. 기능적인 요구사항 3. 비기능적인 요구사항 4. 요구사항을 분석하는 방법 시스템 인터페이스란? 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호작용하기 위한 접속 방법이나 규칙 시스템 인터페이스 요구사항 명세서 1. 인터페이스 이름 2. 연계 대상 시스템 3. 연계 범위 및 내용 4. 연계방식 5. 송신 테이터 6. 인터페이스 주기 7. 기타 고려사항 시스템 인터 페이스 요구사항 분석 시스템 인터페이스 요구사항 분석은 요구사항 명세서에서 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하고 조직화하여 요구사항 명세를 구체화하고 이를 이해관계자에게 전달하는 일련의 과정이다. 요구사항 명세서 -> 기능적요구사항 ->비기능적요구사..

SMART FACTORY -라즈베리파이 ! [내부링크]

www.raspberrypi.org/downloads/ 아 순서 뒤죽 박죽인데 귀찮으니까 Pass FAT = FILE ALLOCATION TABLE 파일의 위치를 나타내는 표 하드디스크를 요롷게 저롷게 잘랐을 때 그거의 위치 ! 0~42억 -> 32 비트 4G까지 디스크 0라는 의미 만져지는 것 (물리 드라이브) c -> (논리 드라이브) -> 파티션으로 나누어져 있다. boot 은 윈도우도 연결 가능 리눅스도 연결가능 ! 여기 까진 정상 아씨 또 거꾸로 이미지 업로드 nmap.org/download.html ->다운로드 주수홍강사, [20.07.20 12:36] 아이디 : pi 암호 : raspberry 주수홍강사, [20.07.20 12:36] 유닉스/리눅스는 로그인 시 암호의 입력 여부가 안 보임 ..

SMART FACTORY - 소수인지 아닌다 판별하는 알고리즘! [내부링크]

System.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //[?] 특정수를 입력받아서, 소수인지 아닌지 판별하는 프로그램 // - 5는 소수 : 1과 5만을 약수로 가짐 // - 6은 소수가 아님 : 1과 6만이 아닌 추가로 2와 3을 약수로 가짐 // - 2부터 해당 수 까지 나머지 값을 구해서 나머지 값이 0일때 나눈 수가 해당 수라면 그 때는 소수다 namespace _20200718_소수구하기 {/// /// 소수(Prime Number) : 자연수 중에서 1과 자신만을 약수로 가지는 자연수 /// class PrimeNum..

SMART FACTORY - 주말 공부 / 갯수 알고리즘 [내부링크]

System.Linq; //[?]1부터 1000까지의 정수중 13의 배수의 개수 using System.Linq; namespace ConsoleApp1 {/// /// 갯수 알고리즘(Count Algorithm) /// class CountAlgorithm { static void Main() { //[1]input var numbers = Enumerable.Range(1, 1000).ToArray(); System.Console.WriteLine(numbers); int count = 0; //개수를 저장할 변수는 0으로 초기화 //1부터 1000까지의 정수형 배열을 만들어준다. // var number 리턴 값은 인트형이고 배열이다. //[2]process for (int i = 0; i < nu..

SMART FACTORY - 데이터 형변환/프로퍼티 [내부링크]

주수홍강사, [17.07.20 16:50] using System; class Program { static void Main(string[] args) { int iNum1 = 100; Object aObject = iNum1; // Boxing int iNum2 = (int)aObject; // Unboxing Console.WriteLine(iNum1); Console.WriteLine(aObject); Console.WriteLine(iNum2); } } using System; namespace ConsoleApp12 { class Vehicle { } class Car : Vehicle { } class Program { static void Main(string[] args) { Vehicl..

SMART FACTORY - TRY 예외처리 복습 [내부링크]

아래의 화면은 사용자가 예외 처리를 하지 않았고 닷넷 플렛폼에서 예외를 처리한 화면이다. 빨간 칸의 글자가 문제가 확인된 곳이고 다시 역추척해서 원인을 찾아내는 화면이다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp10 { class Program { static void Main(string[] args) { int Num1; int Num2; double Num3; Console.Write("첫번째로 입력할 숫자 : "); Num1 = int.Parse(Console.ReadLine()); Console..

SMART FACTORY - Game 만들기 2 [내부링크]

using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { const int WtileSize = 16; const int HtileSize = 9; //하드 코딩이 될 수 밖에 없음! const string Title = " 볼드모트와 아츠카반의 죄수"; int Stage; char[][] MapReal; string[,] Map = { {"################", "#@ #", "### ### #", "# ## #", "# ## ##", "# ## #", "# # B . #", "# B. #", "##############..

SMART FACTORY-오버라이딩 /오버로딩/ 추상클래스,메서드/인터페이스-다중상속/ [내부링크]

오버라이딩 - > 상속에만 쓸 수 있다. 자체 클래스에는 완전한 동일한 메소드가 두개 존재 할 수 없다. class A { int i; } class B : A { int i; } B클래스에 i 변수를 선언 하는 것은 이유가 있어야 한다. 그렇지 않으면 쓸모 없는 메모리 낭비이다. 부모에게 있는 메소드를 인자를 추가 해서 미묘하게 다르게 해서 사용하는 것을 오버로딩 -> 상속일때도 쓰고 베이스 클래스에서도 쓴다. Car() Car(int a) -> 자신 Test() -> 부모 Test(int a) -> 자식 B obj = new B(); obj.i -> B에 접근 ! 이거는 오버라이딩 오리지날 메소드가 존재한다. 부모 클래스를 통하면 자식 클래스를 통하지 않고 모든 걸 다 관리 할 수 있는데 단점은 무조..

윈폼으로 게임 만들기 [내부링크]

NEW *2 -OLD = BOX 위치 공식임 강사님이 찾아냄 은 뻥이겠지 using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { const int WtileSize = 16; const int HtileSize = 9; //하드 코딩이 될 수 밖에 없음! const string Title = " 볼드모트와 아츠카반의 죄수"; char[][] MapReal; string[] Map; Image human; Image humanF; Image humanL; Image humanR; Image humanB; Image Wall; Imag..

SMART FACTORY - 초기화목록/상속/프로퍼티 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp4 { class Program { public class Car { string color; string vender; string name; //생성자에 대해 공부하자 ? //메소드이다 //클래스 이름과 같아야한다. // public Car() //디폴트 생성자 ! { Console.WriteLine("Car 디폴트 생성자 호출"); } /// /// 코드 중복을 제거하는 방법 this를 가져온다 초기화 목록 /// /// public Car(string nam..

SMART FACTORY -배열 정렬 [내부링크]

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _20200701_배열종류 { class ArraySort { static void Main(string[] args) { int i = 0; //배열선언 int[] SortArray = new int[5] { 15, 32, 11, 20, 43 }; Console.WriteLine("현재배열 출력 : "); for ( i = 0; i < SortArray.Length; i++) { Console.WriteLine(SortArray[i]); } Array.Sort(SortArray);..

SMART FACTORY - 가변인자 공부 [내부링크]

FOR문이 너무 중첩되면 IF 문으로 바꾸는게 코딩을 깔끔하게 할 수 있는 비결인가 ? using System; namespace _20200701_가변인자_우영이가한거 { class Program { public static void VarMethod(params object[] arr) { // 오브젝트 타입은 타입의 관계 없이 다 받는다. 예를 들어 : 문자형, 정수, 실수형 등등 Console.WriteLine($"가변 인자 개수 : {arr.Length}"); Console.WriteLine("[인자 전체] :"); foreach (object item in arr) { Console.Write(item + ""); Console.WriteLine(); Type t = item.GetType()..

SMART FACTORY -주말공부(GENERIC 공부) [내부링크]

Generic 문법에 대해 공부해보록하자 강사님이 설명해주 실 땐 이해를 못했는데 집에와서 다시보니 너무 쉽고 꼭 필요한 문법중 하나이다. 영어를 한국어로 표현하면 일반화 문법이다. 모든 컴퓨터 언어에서는 변수의 타입이 중요한다. 타입을 따지다 보면 코딩이 길어지게 된다. 이부분을 줄이고자 해당 문법을 사용한다. 위와 같이 클래스에서 메서드를 선언하고 출력 코딩을 해준다. 다른 클래스에서 객체 선언과 함께 해당 메서드를 호출하면 이와 같이 다른 클래스에서 메서드 호출이 가능하다. 하지만 변수 값으로 10을 집어 넣었는데 이는 앞서 선언한 int param에 맞추기 위해 정수 값을 입력하였다. 실수를 입력하기 위해서는 다른 타입을 입력해주면 되는데 그 때 마다 메서드를 따로따로 생성해줘야한다. 이 문제를 ..

SMART FACTORY - C#기초 주수홍 강사님 [내부링크]

radius의 형 :System.Double radius의 값 :3.14 name 값 :System.String radius의 값 :이효리 radius == name : False C:\Users\admin\source\repos\20200626_C++++기초\20200626_C++++기초\bin\Debug\netcoreapp3.1\20200626_C++++기초.exe(프로세 스 16584개)이(가) 종료되었습니다(코드: 0개). 이 창을 닫으려면 아무 키나 누르세요... using System; namespace _20200626_C____기초 { class Program { static void Main(string[] args) { double radius = 3.14; Console.WriteLi..

c#에 대한 개념을 잘 잡아야지 멀 배워도 배우지 [내부링크]

생성자 C#클래스에는 특별한 용도의 메서드가 있따 . 생성자 (CONSTRUCTOR) 생성자 메서드를 추가 객체가 생성되는 시점에 메서드가 자동으로 호출되는거 public (클래스명) { 메서드 작성 !!!! ----------------------> 이게 객체가 생성되는 시점에 작동 (클래스명) (객체명) = new (클래스명) (); } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _20200620_초심으로_돌아가서_다시_개념_잡기 { class Program { static void Main(string[] args) {..

SMART FACTORY - DB연결 계속 [내부링크]

namespace BookRentalShop20 { public partial class LoginForm :MetroForm { string strConnString = "Data Source=192.168.0.28;Initial Catalog=BookRentalshopDB;Persist Security Info=True;User ID=sa;Password=p@ssw0rd!"; public LoginForm() { InitializeComponent(); } /// /// 캔슬버튼 클릭이벤트 /// /// /// private void button2_Click(object sender, EventArgs e) { //Application.Exit(); //단점이 있다 정확하게 해제가 안되는 경우가 있다..

SMART FACTORY - C#200제 WINDFORM [내부링크]

3rd - party - company https://www.telerik.com/products/winforms.aspx https://www.devexpress.com/support/demos/ https://www.jetbrains.com/ko-kr/resharper/download/download-thanks.html?code=RSU&platform=windows ReSharper를 다운로드해 주셔서 감사합니다 Visual Studio 2019, 2017, 2015, 2013, 2012, 2010용 생산성 및 코드 리팩토링 플러그인. C#, XAML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, VB.NET 및 빌드 스크립트 지원 www.jetbrains.co..

SMART FACTORY /WINFORM 고오오오급 [내부링크]

namespace MenuStart { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void 열기OToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Text += 열기OToolStripMenuItem.Text + Environment.NewLine; } private void 붙여넣기VToolStripMenuItem_Click(object sender, EventArgs e) { } private void 새파일NToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Text +..

SMART FACTORY-WIND.FORM ADVANCED [내부링크]

PASCAL 표기법 파일명 의 앞자리를 대문자로 작성한다. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ButtonTestApp { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void BTNFLAT_Click(object sender,..

SMART FACTORY - C# 데스크탑 윈폼/GITHUB 사용법 [내부링크]

안녕하세요 이준호입니다. 깃 서버에서 나의 컴퓨터로 정보를 가져오는 것을 클론(CLONE)이라고 한다. 깃에서 가져온 클론을 내 컴퓨터에서 허용 해주는 것을 커밋!(COMMIT)! 깃 서버와 나의 컴퓨터가 같이 움직일 수 있도록 하는 것이 푸시 (PUSH) -변경되는 것을 깃 서버에 업로드하는 것 다른 사람이 작업을 해서 깃서버에 올리고 그것이 나의 컴퓨터와 동기화 되는 것을 풀(PULL) 제네릭이란? 변수의 형을 매개변수로 하여 클래스나 메소드의 알고리즘을 자료형과 무관하게 기술하는 기법 형 매개변수(type parameter) 클래스 내의 필드나 메소드 선언시 자료형으로 사용 '' 사이에 형 매개변수의 이름을 기술 : alt +enter 생성자 생성 자동으로 매개변수로 생성가능 fore +tab +t..

SMART FACTORY -MSSQL 복습 /SUM/GROUP_ID/GROUP BY/ROLLUP/HAVING/ORDER BY/WITH/IDENTITY/DEFAULT/GETDATE/PARTITION BY /ROW_NUMBER/ RANK/DENSE_RANK /PIVOT/UNPIVOT/INNER JOIN/OUTER JOIN/WITH구문 [내부링크]

DECLARE 로 변수를 선언한다, 그리고 속성 값을 정해준 뒤 SET 으로 해당 변수에 값을 넣어준다 순위함수 이전에 전체 순위가 아닌 각 지역별로 순위를 주고 싶은 경우를 생각해보자 즉 경기별 경남별 등 지역으로 나눈 후 에 키 큰 순위를 매기는 경우다. 이경우는 PARTITION BY 절을 사용한다 PIVOT / UNPIVOT 연산자 PIVOT연산자는 한열에 포함된 여러 값을 출력하고 이를 여러 열로 변환하여 테이블 반환 식을 회전하고 필요하면 집계까지 수행할 수 있다. 또한 UNPIVORT JSON 데이터 JavaScript Object Notation 은 현대의 웹과 모바일 응용프로그램 등과 데이터를 교환하는 개방현 표준 포맷 속성과 값으로 쌍을 이루어 구성된다. LEFT OUTER JOIN값에..

SMART FACTORY - SQL /cursor/trigger [내부링크]

커서의 기본 커서란? 일반 쿼리문은 WHERE 절을 만족하는 결과 집합을 보여주거나 WHERE 절을 만족하는 데이터에 대한 변경처리를 수행한다. 따라서 열 단위로 수행된다고 할 수 있다. 그런데 행 단위로 일을 수행하고 싶을 때는 어떻게 해야할까? 그 때 사용할 수 있는 것이 '커서'이다. 커서는 특정 조건을 만족하는 행을 추출하고, 행을 대상으로 특정한 처리를 해야 하는 경우에 사용한다. 출처: https://elandda.tistory.com/22 [E.LAND DA] 행의 집합을 다루는데 제공해주는 편리한 기능 SQL Server의 성능을 느리게 하는 요인이 될 수 있으므로 특별한 경우가 아니면 되도록 사용하지 않을 것을 권장함 커서의 작동순서 커서의 선언 커서의 열기 커서에서 데이터 가져오기 ..

SMART FACTORY - SQL No3 [내부링크]

인덱스의 개념 인덱스의 장단점 장점 검색은 속도가 무척 빨라질 수 있다. (물론 바드시 그런 것은 아니다.) 그 결과 시스템의 부하가 줄어들어서 결국 시스템 전체의 성능이 향상된다. 단점 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간이 필요해 진다 (대략 데이터 베이스의 10%내외의 공간이 추가로 필요하다) 인덱스를 생성하는데 많은 시간이 소요될 수있다. 데이터 변경 작업이 자주 일어날 경우에는 성능이 많이 나빠질 수 있다. 클러스터형 인덱스 ->영어사전과 비슷한 개념 비클러스터형 인덱스 -> 일반 책의 '찾아보기'와 비슷한개념 특징 클러스터형 인덱스는 테이블당 1개만 생성 비클러스터형 인덱스는 테이블당 여러개 생성 클러스터형 인덱스는 행 데이터를 인덱스를 지정한 열에 멎춰서 자동 정렬한다 제약조건..

SMART FACTORY - SQL No.3/뷰/INNER JOIN/LEFT,RIGHT OUTER JOIN/CASE/WHEN,THEN [내부링크]

조인 (INNER JOIN) 데이터의 중복의 최소화를 위해 관계형 데이터 베이스를 만든다. 데이블을 두개로 나누어서 사용하기 때문에 정보가 부족해서 양 태이블을 오가면서 봐야한다. 하지만 조인을 사용하면 한꺼번에 정보를 확인할 수 있다. 일번적인 조인은 다 인어 조인입니다. 무조건 인어조인이라고 쓰세요 조건은 온에다가 적습니다. 조인을 프롬에다가 테이블을 두개 다 적고 웨어절만 적으면된다. 기준에 되는 것은 프롬 테이블 뒤에 조인 테이블을 붙이는거다. 어떤 조인될 조건으로 온에다가 적습니다. 데이터는 풀로 다나와요 여기 서 웨어절로 필터링해서 필요한 정보만 추릴 수 있습니다. 인어 조인을 해도 슬렉트에서한다 그만큼 많이 쓴다. 조인의 개념 두개 이상의 테이블을 서로 묶어서 하나의 결과집합으로 만들어 내는..

SMART FACTORY -복습/DECLARE/SELECT INTO /INSERT INTO/SUB쿼리/TRUNCATE TABLE [내부링크]

복습! SELECT문 >> WITH절과 CTE 개념 WITH 절은 CTE 을 표현하기 위한 구문임 비재귀적 CTE 단순한 형태로 복잡한 쿼리문은 단순화 시키는데 적합 구문형식 WITH CTE_ 서브 쿼리 기본 형식 서브 쿼리는 또 같은 작업을 해야하면 가운데 값을 복사해서 다시사용 해야한다. 여러번 복사를 해야한다. 트랜잭션(Transaction) 값을 집어 넣었는데 잘 못 집어 넣어서 빼야되 이럴 떄 트랜잭션을 발생시킴 데이터의 수정 (UPDATE) UPDATE 테이블 이름 SET 열 1 = 값 1 WHERE 절은 필수이다. 없으면 큰일 난다. 사유서 쓴다 TRUNCATE TABLE 데이터이름 - 아이디도 싹다 지운다. DELETE 데이터이름 -- 아이디는 안지워진다! MERGE 구문 퉁처서 한번에 다..

SMART FACTORY -SQL Server NO.2/SELECT/AS/SUM/GROUP BY/HAVING/ORDER BY/TOP/COUNT/MAX/MIN/LIKE(N%)/IN [내부링크]

* 은 all을 의미하고 f5을 눌러 실행하면 위와 같이 결과 같이 나온다. 인덱스 인덱스란 대부분의 책에 붙어있는 찾아보기 (또는 색인)과 같은 개념 데이커들은 양이 적으면 이 인덱스가 있든지 없든지 큰 문제가 되지 않지만 수천 수억 건에 이르는 뎅이터에서 인덱스 없이 전체 데이터를 찾아본다는 것은 SQL Server 입장에서는 엄청나게 부담스러운 일이 될 것이다. 실제로 실무에서도 이 인덱스를 잘 활용하지 못해서 시스템의 성능이 전체적으로 느린 경우가 아주 흔하다. 실습 목표 : 인덱스의 사용법을 익힌다. 프라이머리 키를 지정하면 인덱스가 생성된다. 쿼리에서 예상계획 실행 데이터 베이스를 속도를 줄이는게 가능하다. 데이터베이스 개체의 활용>> 뷰 *뷰(VIEW)란 가상의 테이블 -보여주기 위한 테이블..

SMART FACTORY -SQL Server 시작! [내부링크]

SQL server 가 가장 많이 사용 하는 DBMS 제품 C#에 가장 특화된 제품 데이터 베이스의 중요한 특징 *데이터의 무결성 (Integrity) -한번 들어간 데이터는 변하면 안됨 *데이터의 독립성 *보안성(security) *데이터 중복의 최소화 -정교화 *응용프로그램 제작 및 수정이 쉬워짐 *데이터의 안전성 향상 DBMS개요 >>>데이터베이스의 발전 1.오프라인으로 관리 2.파일시스템의 사용 -메모장->엑셀-> 3.데이터베이스 관리 시스템 SQL server 가 가장 많이 사용 하는 DBMS 제품 C#에 가장 특화된 제품 데이터 베이스의 중요한 특징 *데이터의 무결성 (Integrity) -한번 들어간 데이터는 변하면 안됨 *데이터의 독립성 *보안성(security) *데이터 중복의 최소화 -..

SMART FACTORY - TEST(20200605) [내부링크]

ing _20200604_test; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Security.Permissions; using System.Text; using System.Threading; using System.Threading.Tasks; namespace _20200604_test { public class Person { public string name; public int age; public string dept; public Person(..

SMART FACTORY- 개인 복습 [내부링크]

어떤 타입을 실체화한 객체를 인스턴스라고 한다. 인스턴스를 달리 표현하면 new연산자를 거처서 메모리에 할당된 객체라고 할 수 있다. 바로 그 객체와 관련된 멤버를 인스턴스 멤버라고 하면 지금까지 설명한 필드, 메서드 ,생성자는 모두 여기에 속한다. 하지만 때로는 인스턴스와 관계없는 행동을 정의해야 할 때가 있다. 즉 개별 인스턴스 수준이 아닌 해당 인스턴스의 타입 전체에 걸쳐 전역적으로 적용되는 필드,메서드,생성자가 이런한 멤버를 정적 멤버라고 한다. 우리가 원하는 결과는 해당 클래스에 속한 인스턴스가 생성된 총횟수를 나타내는 것으로서 위에서는 마지막 값이 2가 되기를 기대 했을 것이다. 하지만 인스턴스 필드는 new로 할당 받은 객체마다 고유하게 메모리를 확보하기 때문에 클래서 전역적으로 값이 유지되..

SMART FACTORY - 프로퍼티 문법/상속 복습(0603) [내부링크]

프로퍼티 접근자/설정자 메서드를 둬서 필드 접근에 대한 단일 창구를 제공하는 것은 바람직하지만 호출을 위한 메서드 정의를 일일이 코드로 작성하자면 분명 번거로울 것이다. 이같은 단점을 보완하기 위해 c#에서는 특별히 프로퍼티라는 문법을제공한다. *아쉽게ㅔ도 프로퍼티도 속성으로 번역되는데 이경우 객체지향에서 말하는 속성과 혼동될 수 있다 ,즉 객체지향에서 말하는 속성은 c# 에서는 필드에 해당하고 속성은 접근자 설정자 메서드에 대한 편리한 구문에 해당한다. 경우에 따라 c# 의 프로퍼티는 보통 public으로 되는 경우가 많아 공용 속성이라고 구분해서 부르기도 한다. 프로퍼티 정의는 필드를 접근자/설정자 메서드로 정의하던 것과 비교하면 확실히 간단하다. namespace _20200603_복습에대한_의지가..

SMART FACTORY - Main메서드 [내부링크]

프로그램은 CPU에 의해 순차적으로 생행되는 특징을 지난다 C #으로 만든 프로그램도 역시 순서되로 명령어가 실행되는데 그렇다면 가장 처음 실행되는 명령어라 뭘까? 다른 말로 진입점 entry point 이라고도 하는데 c#은 다음과 같은 약속을 따르는 메서드를 최초로 실행될 메서드라고 규정한다. 1. 메서드 이름은 반드시 main이고 2.정적 메서드여야 하고 3.main메스드가 정의 된 클래스의 이름은 제한이 없다 하지만 2개 이사의 클래스에서 main메서드를 정의하고 있다면 c#컴파일러에게 클래스를 지정해야함 4.main메서드의 반환값은 void 또는 int만 허용됨 5. main메서드의 매개변수는 없거나 string배열만 허용됨 클래스 안에 행위가 있고 속성 행위는 메소드로 나타내고 속성은 변수로 ..

SMART FACTORY -생성자 /정적메서드 이어서 하기 (0531) [내부링크]

위의 클래스에서는 new를 통해 객체가 생성될 때 "영희" 라는 값을 생성자의 인자로 전달 받는다 이어서 생성자는 전달 받은 값을 맴버 변수인 _name에 보관해 두고 이후에 클래스의 다른 멤버 메서드에서 사용한다. 참고로 매개변수가 하나도 없는 생성자를 기본생성자라고 해서 매개변수를 받는 다른 생성자와 구분하기도 한다 그런데 한가지 주의 할 점은 개발자가 명시적으로 생성자의 정의 한경우 컴파일러는 기본 생성자를 추가하지 않는 다는 것이다 따라서 예저의 경우 다음과 같이 객체를 생성하면 컴파일 시점에 오류가 발생한다. Person person = new Person(); // r기본 생성자가 정의돼 있지 않아서 에러 발생 생성자를 여러개 정의 하는 것도 가능하다 예를 들어 book 클래서에 다음과 같은 ..

SMART FACTORY C# 필드개념 부터 다시 (0530) [내부링크]

필드 class Book 클래스의 정의로 속성만 포함하고 있는데 이렇게 정의된 속송을 c# 에서는 필드라고 한다 객체에 포함된 필드를 프로그램에서 사용할 때는 다음과 같은 구문을 따른다. class book // 틀 : 범주 타입 --- 걸리버 여행기 ,파피용 이런 각각의 책들은 객체 { string title // 타입 +변수명 ---- 필드 //여기에는 속성정의 와 행위정의를 기재할 수 있다. decimal ISBN13 // 지금은 속성행위만 기재 되어 있다 . string contents string author } 위를 보면 참조형 으로 정의된 타입만 기재 되어 있는데 여기서 Book 형 타입을 생성하기 위해서 는 우선 new연산자로 메모리 할당을 해야한다. Book gulliver =new Bo..

SMART FACTORY - 교육내용 정리 /STACK, HEAP/ARRAY.CLEAR/ [내부링크]

Stack vs Heap Stack은 메소드가 실행될 때 변수가 push(입력)되며 실행이 종료될 때 pop(해제)된다. heap은 new혹은 c에서는 malloc 될 때 만들어지며 자바는 가비지 컬렉션에 의해 사용되지 않을 때 자동으로 해제되고, c에서는 직접 관리해서 해제 해줘야 한다. 스택 스택이란 무엇입니까? 이것은 각 기능 (기능 포함)에 의해 생성 된 임시 변수를 저장하는 컴퓨터 메모리의 특별한 영역입니다 main(). 스택은 "LIFO"(last in, first out) 데이터 구조로 CPU에 의해 관리되고 최적화됩니다. 함수가 새 변수를 선언 할 때마다 스택에 "푸시 (push)"됩니다. 그런 다음 함수가 종료 될 때마다 해당 함수에 의해 스택에 푸시 된 모든 변수가 해제됩니다 (즉, 삭..

SMART FACTORY - 객체(OOP)/CLASS,STRUCT/배열,다차원배열/GETLENGTH/REVERSE/SORT/BINARYSEARCH/CLEAR [내부링크]

-객체- 이번 강좌에서는 강력한 기능을 제공하는 클래스에 대해서 배우기 전에, 객체 지향 프로그래밍(Object Oriented Programming, OOP)에 대해 알고 넘어가야 하기에 객체 지향 프로그래밍이 도대체 무엇인지에 대해서 설명을 해드리도록 하겠습니다. 우리가 알고있듯 C#은 객체 지향 언어입니다. C#에서의 객체(Object)는 핵심 중에 핵심이라 말할 수 있죠. 오로지 객체만을 다루는 책이 있을정도로 객체를 완벽히 이해하기에는 많은 어려움이 있습니다. 우리 주위에서 객체는 쉽게 찾아볼 수 있습니다. 눈에 보이는 모든 것이 객체가 될 수 있습니다. 지금 앞에 보이는 모니터, 마우스, 키보드, 프린터, 달력, 가방, 자동차 등과 같이 개념상으로 존재하는 것은 모두가 객체가 됩니다. 심지어 ..

SMART FACTORY - 복합대입연산자/ WHILE문/FOR문/중첩문METHOD/순서도 작성/METHOD 호출하는법/C#으로 소수 나열 하기 [내부링크]

A+=B --> A=A+BA-=B-->A=A-BA*=B-->A=A*BA/=B-->A=A/BA%=B-->A%B 이런 연산자는 별로 안 좋은 연산자이다. 왠만하면 쓰지 말자 상대방이 읽기 쉬운 코드가 좋은 코드이다. 하지만 상대방이 이딴식으로 짤 수 있기 때문에 알고는 있어야한다. 반복문(LOOP)WHILE문 FOR,FOREACH,WHILE,DO/WHILE 반복문을 제공하고 있다 5의 구구단작성하는 방법을 for문으로 간단하게 작성할 수 있다 . 중첩for문 for문을 중첩해서 쓰는 건 코딩에서 꼭 알아야 되는 부분이고 숙련이 되어야한다. 위에서 는 continue와 break를 써 보았다 간단하게 말하면 continue는 무시, break는 탈출 이라고 말할 수 있다.해당 코딩을 무시하고 넘어갈려면 con..

SMART FACTORY-C#언어 프로그래밍/float,double,decimal/5칙연산/if 조건절/디버깅/다양한 연산자 활용 프로그래밍 [내부링크]

1.컴퓨터는 소수점을 반올림 해주지 않는다. float -4byte/double-8byte/decimal-16byte 2.기존에 배웠다. int.Parse(Console.ReadLine()) 여기에서 int 만 double로 바꿔주면 정수대신 실수를 입력할 수 있다. 1.개발자의 사고방식이 필요하다. 컴퓨터는 3.5를 입력하면 반올림을 안하고 3이라는 정수를 알려주는데 여기서 어떻게 해야 3.5를 넣었을 때 4의 정수로 반올림을 하도록 설계할 수 있나. (dnum +0.5)이렇게 설정하면 된다. 나누기를 해보았다. 역시나 몫을 제외한 나머지는 날려버리는 컴퓨터! cpu는 정수와 실수를 사용하는 회로가 완전히 다르다 정수의 경우 몫과 나머지가 동시에 나온다. /를 사용하면 몫이나오고 %나머지가 나온다. 쓸..

SMART FACTORY-주말 개인 공부(C#)(0524) [내부링크]

1. 출력을 원하는 값 순서대로 나열하는 방법 2. 위 대문자 값을 입력하여 숫자 값을 원하는 값으로 변경할 수 있다. 이와 같이 값이 나온다 단순히 따라 해본거지만 X값이 그나마 신기했다. *여기서 복습 1.string V = Console.ReadLine(); 2.int Number = int. Parse(Console.ReadLine()) 1번의 경우 글자 숫자 다 넣을 수 있다. 2번의 경우 정수만 가능 그럼 그냥 1번만 써도 되는거 아닌가? 난 또 유효범위 값을 외워야 하는 줄 근대 이렇게 확인하는 방법이 있다. 이 유효값은 앞으로 컴퓨터 성능의 발전에 따라 언제든지 바뀔 수 있기 때문에 사용시 필요하다면 이렇게 조회해 보면 되겠네 ! 1.float - 꼭 f를 끝에 붙여야한다 ! 왜 이렇게 귀..

SMART FACTORY-교육내용정리(진법/불린형/형변환/.ReadLine()/.Parse /연산자/응용VS2019프로그래밍2(0522) [내부링크]

10진법 : 진법이 높을 수록 적은 공간으로 많은 정보를 담을 수 있다 ㅁ-(0~9) ex) 10진 2진 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 - 숫자8에서 2진법은 이미 4칸의 공간을 잡아 먹는다 16진법 : 2진법 수를 4자리씩 잘라서 표기 사용 이유: 20진법도 아니고 10진법도 아닌 어중간한 16진법을 컴퓨터 분야에서 사용하는 이유는 16진수 자릿수 하나가 24을 표현할 수 있기 때문이다. 전자 기기, 특히 컴퓨터에서 사용하는 이유는 자릿수 2개를 사용하면 28을 표현할 수 있는데, 28은 곧 1바이트이다. 간단히 1바이트의 값을 2진법을 사용해서 0101 1111 식으로 표기할 게 아니라 그냥 16진법으로 5F165층 아니다라고 표기해 버리면 많..

SMART FACTORY- 교육내용정리(2진법)/응용VS2019프로그래밍(0521) [내부링크]

1. . NET 이란? -닷넷 프레임워크(.NET Framework, 이전 이름: 닷넷)는 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경이다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다. 가상 머신 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 가상 머신(영어: virtual machine, VM)은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터를 에뮬레이션하는 소프트웨어다. 가상머신상에서 운영 체제나 응용 프로 ko.wikipedia.org 우리가 주로 사용하는 도메인 (ex daum.net / naver.com)은 숫자로 이루어진 IP..

SMART FACTORY-용어정리/VS2019설치/C#프로그래밍 기초(0520) [내부링크]

업무일지, 교육일지를 항상 기록할 것 ! - [미래를 위한 나의 재산] 1.용어정리 IC(integrated circuit) :집적 회로 -기판에 반도체 부품의 삽입에서 배선에 이르기까지를 집약적으로 제조한 것이다. VLSI(very large scale integration) : 초대규모 집적회로 - 집적도는 1칩당 논리회로로 1만개 ~ 100만개 기억용량으로 256KB정도이다. 프로세서의 소형.경량화,저가격화에 영향을 준다. OS(operationg system) : 컴퓨터의 하드웨어를 제어하고 응용소프트웨어를 위한 기반 환경을 제공하여, 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 해주는 프로그램 (iOS,LINUX,MACOS,WINDOWS) ASCII(American Standard Code ..