knav4567의 등록된 링크

 knav4567로 등록된 네이버 블로그 포스트 수는 65건입니다.

SAP 분산(Multiple-Host) 시스템 [내부링크]

안녕하세요. 이번 포스팅에서는 SAP의 분산 시스템과 스케일 아웃 기법에 대하여 이야기해볼까 합니다. 우선, 스케일아웃을 설명하기 이전에 분산 시스템에 대하여 알아보겠습니다. 분산 시스템 SAP에서 제공하는 HANA 시스템은 확장성과 가용성을 위하여 여러 개의 호스트로 분리하여 설치할 수 있습니다. 이런 경우를 분산 호스트 또는 분산 시스템이라고 말하며 호스트가 한 개인 경우는 단일 호스트라고 합니다. 분산 시스템은 하나로 구성된 물리적인 서버의 하드웨어 성능을 극복할 수 있으며, 여러 개의 서버로 구성하여 부하를 분산시킬 수 있습니다. 또, 분산 시스템은 FailOver도 지원합니다. FailOver에 대한 자료 SAP 고가용성을 위한 전략들 안녕하세요. 이번 포스팅에서는 SAP 고가용성을 위한 방법에 대한 포스팅을 진행하려합니다. 고사용성이... blog.naver.com 멀티 호스트로 설치된 HANA 시스템은 [단일 시스템 아이디(SID)]로 구분합니다. 이 SID 덕분에 관리

안드로이드 버전별 특징 (2008 ~ 2022) [내부링크]

안녕하세요. 이번 포스팅에서는 2008년부터 2022년 까지 출시된 안드로이드 버전별 특징을 알아보도록 하겠습니다. Android 1.0 부터 Android 13까지 준비했으며 추후 자료조사를 통하여 부족한 부분을 더 채우도록 하겠습니다. 버전 코드명 특징 Android 1.0 Apple Pie 기본적인 모바일 운영체제 최초 사용기기 HTC G1 GMail, Google Map, YouTube 포함 Android 1.5 Cupcake 가상 키보드, 라이브 폴더, 음성 인식 지원 풀 스크린 위젯, 홈 스크린 기능 제공 최초 동영상 녹화 기능 추가 최초 한국어 지원 Android 1.6 Donut 다양한 화면 크기 지원 TTS(Text-To-Speech) 기능 추가 카메라와 캠코더, 갤러리 UI 업데이트 CDMA 네트워크 지원 Android 2.0.x ~ 2.1 Eclair 하드웨어 최적화, 블루투스 2.1 지원 음성 안내 네이베이션, 실시간 교통정보 Android 2.3.x Ginge

[Pi Node]포트포워딩 하는 방법 [내부링크]

안녕하세요. 이번 포스팅에서는 파이코인의 노드 프로그램에 사용되는 포트를 개방하기 위한 포스팅을 써보려고 합니다. 사진과 설명을 첨부할테니 잘 따라와주세요. 우선 Windows + S 키를 동시에 눌러 검색창에 [cmd] 를 쳐서 실행합니다. cmd 창에서 ipconfig 라는 명령어를 치고 엔터를 누릅니다. 여기서 [IPv4 주소]와 [기본 게이트웨이]를 메모장에 복사하시면 좋습니다. [기본 게이트웨이]에 적혀있는 IP(아이피)를 브라우져(크롬, 익스플로어 등)에 복사하여 붙여넣습니다. 저는 SK 브로드밴드 공유기를 사용하고 있어서 위와 같이 떴네요. SK 브로드밴드 공유기 초기 아이디는 admin이며 비밀번호는 공유기 뒷면에 적혀있는 MAC의 끝 6자리 _admin 입니다. 예시) MAC 번호 : AAAAA665432 비밀번호 : 665432_admin 이 글을 보시는 분들은 사용하시는 공유기에 맞춰서 로그인 하시면 됩니다. [NAT/라우터] 메뉴에서 [포트포워드]를 선택합니다.

SAP SYSTEM DB와 TENANT DB [내부링크]

안녕하세요. 이번 포스팅에서는 SAP HANA Database에서 말하는 시스템 DB와 테넌트 DB에 대해서 알아볼 예정입니다. 원문 URL Server Architecture of Tenant Databases | SAP Help Portal Server Architecture of Tenant Databases An SAP HANA database consists of multiple servers, for example, name server, index server, preprocessor server, and so on. The databases in an SAP HANA system run different combinations of these servers. The most important server is the index server. It contai... help.sap.com SAP HANA 데이터베이스는 네임서버, 인덱스서버, 전처리서버 등으로 구성되어있습

SAP Cockpit 도구 [내부링크]

안녕하세요. 이번 포스팅에서는 SAP HANA Cockpit 도구에 대하여 알아보려고 합니다. Cockpit 이란? HANA Cockpit은 시스템 관리, 모니터링, 유지보수를 위한 웹 기반 관리도구입니다. Cockpit은 데이터베이스 탐색기를 통하여 데이터베이스를 관리하거나 모니터링 할 수 있습니다. HANA 1.0 SPS 12 이상의 버전부터 리소스 관리를 할 수 있고, 단일 컨테이너 시스템에서 모니터링 할 수 있습니다. HANA 2.0 SPS 01 이상의 버전부터는 다중 컨테이너 모드에서 작동하는 특징이 있습니다. Cockpit의 유지보수 관리 방법에 더 많은 정보를 얻고 싶으시면 Note 2433181을 검색하셔도 됩니다. Cockpit의 주요기능 공식적으로 알려진 Cockpit의 주요기능은 9가지로 파악됩니다. 하지만, 오늘 설명드릴 주 기능은 6가지로 모니터링, 설정, 분석 및 진단, 성능 최적화, 비즈니스 연속성, 보안 입니다. 모니터링 모니터링 기능은 리소스의 사용량과

SAP HANA 데이터베이스 관리 제한 사항들 [내부링크]

안녕하세요. 이번 포스팅에서는 HANA 데이터베이스의 제한 사항(Limitations)에 관련된 정보들을 포스팅 해볼까 합니다. 제한 사항에 대해 알기 전에 M_SYSTEM_LIMITS 테이블에 대하여 말하겠습니다. M_SYSTEM_LIMITS는 시스템에 대한 정보를 제한하기 위해 만들어진 테이블입니다. 테이블의 정보(View)를 보면 다음과 같습니다. 열 이름 데이터 형식 설명 CATEGORY VARCHAR(128) 시스템 제한에 대한 카테고리는 조정이 가능합니다 NAME NVARCHAR(256) 시스템 제한 사항 이름 VALUE VARCHAR(256) 시스템 제한 사항에 대한 값 TYPE VARCHAR(128) 값의 데이터 타입 UNIT VARCHAR(256) 값의 단위 COMMENT VARCHAR(2000) 시스템 제한 사항에 대한 추가적인 설명 그럼 제공되는 제항 사항에 대하여 알아볼까요? 제한 사항 제한 범위 M_SYSTEM_LIMITS에서 사용되는 이름 데이터베이스의 크기

SAP 고가용성을 위한 전략들 [내부링크]

안녕하세요. 이번 포스팅에서는 SAP 고가용성을 위한 방법에 대한 포스팅을 진행하려합니다. 고사용성이란? 고가용성이란 영어로는 High Availability(HA)라고하며, 서버와 네트워크 또는 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 장애 없이 정상 운영이 가능한 성질을 의미합니다. 즉, 장애없이 얼마나 오랫동안 지속이 가능한가를 뜻하는데요. 대부분의 장애는 장비 오작동, 소프트웨어나 전산오류로 발생하며, 화재나 갑작스러운 정전이나 건설 사고같은 큰 재난으로 인하여 기존의 데이터 센터가 정상적으로 작동하지 않을 수 있습니다. 예를 들면 이번에 발생한 카카오 데이터 센터 화재같은 경우를 들 수 있어요. 이렇게 장애가 발생한다면 정상적으로 재기동하기 위한 절차 중 하나인 장애 복구(Fault Recovery)를 진행해야 됩니다. 그리고, 이러한 재난을 예방하기 위해선 막대한 비용과 오랫동안 데이터 백업을 필요로 하며 이는 매우 복잡합니다. SAP에서는 대표적으로

SAP HANA Database 라이선스 키 [내부링크]

안녕하세요. 이번 포스팅에서는 HANA 데이터베이스에서 사용되는 라이선스 키에 대한 정보를 알려드릴려고 합니다. SAP에서 권고하는 사항으로 HANA 시스템을 사용하기 위해서는 적어도 한 개 이상의 라이선스 키가 필요합니다. 라이선스 키는 시스템 데이터베이스에 설치되어야 하며, [임시 라이선스]와 [영구 라이선스] 키 두 가지로 되어있습니다. 임시 라이선스 키 90일 동안만 유요한 임시 라이선스 키는 HANA 시스템의 시스템 데이터베이스에 자동으로 설치되며 모든 테넌트 데이터베이스에서 적용됩니다. 이 90일의 기간동안에 영구 라이선스 키를 요청하고 설치해야 합니다. 영구 라이선스 키 임시 라이선스 키를 영구 라이선스 키로 변경하려면 SAP Support Portal에서 진행할 수 있습니다. 영구 라이선스 키는 미리 정의된 만료일이 있는데 이 만료일까지는 계속 사용할 수 있습니다. 시스템 데이터베이스에서 영구 라이선스 키가 만료되면 28일 동안만 유요한 임시 라이선스 키가 자동으로 설

SAP 테넌트 데이터베이스의 서버 아키텍처 [내부링크]

안녕하세요. 이번 포스팅에서는 테넌트 데이터베이스의 서버 아키텍처에 대한 이야기를 해볼까합니다. SAP에서 사용되는 데이터베이스는 크게 두 가지로 나누어 볼 수 있습니다. 시스템 데이터베이스와 테넌트 데이터베이스 입니다. 데이터베이스에 대한 정보 SAP SYSTEM DB와 TENANT DB 안녕하세요. 이번 포스팅에서는 SAP HANA Database에서 말하는 시스템 DB와 테넌트 DB에 대해... blog.naver.com 이런 데이터베이스들은 여러 개의 서버로 구성되어있습니다. 예를 들면 네임 서버, 인덱스 서버, 전처리 서버 등이 있습니다. 이 중 가장 중요한 서버는 [인덱스 서버] 입니다. 인덱스 서버 모든 테넌트 데이터베이스가 실행됨 데이터 전처리를 하는 엔진을 포함 실질적인 데이터를 저장하는 역할 담당 테넌트 데이터베이스는 오로지 인덱스 서버에만 요청을 보냄 네임 서버 모든 시스템 데이터베이스가 실행됨 테넌트 데이터베이스들에 대한 정보가 있음 모든 시스템에 대한 정보가

SAP 설치 시 유의사항 [내부링크]

안녕하세요. 이번 포스팅에서는 SAP 설치 시 도움이 될 만한 정보를 가지고 왔습니다. 우선 SAP 설치 방법은 OS에 따라서 많이 다른데요. 윈도우 기반에서는 데이터베이스를 먼저 설치하고 SAP를 설치하는 반면에 유닉스에서는 SWPM을 이용하여 설치를 하다가 Installer가 데이터베이스를 설치하라고 할 때 데이터베이스를 설치해야 합니다. SID SAP의 SID는 2가지 원칙이 있습니다. 첫째는 SID는 무조건 알파벳으로 시작하는 세글자로 이루어져야 합니다. 둘째는 데이터베이스 SID와 SAP의 SID가 일치해야한다는 점입니다. (하지만 이 경우 달라도 작동은 합니다.) 셋째는 이미 예약된 SID는 사용을 못합니다. 아래 표는 예약된 SID 목록입니다. 예약된 SID Status Description ADD SWPM으로 부터 보호됩니다. SQL 키워드 ADM SWPM으로 부터 보호됩니다. SQL 키워드 ALL SWPM으로 부터 보호됩니다. 예약된 SQL 키워드 AMD ERP 6.

SAP Client Copy [내부링크]

안녕하세요. 이번 포스팅에서는 SAP Client Copy에대해 알아볼 예정입니다. 우선 Client Copy는 총 3가지로 분류가 됩니다. 첫 번째는 Local Client Copy로서 같은 시스템 내에서 복사를 합니다. 두 번째는 Remote Client Copy로서 서로 떨어진 시스템 간에 RFC(Remote Function Call)를 이용하여 복사합니다. 세 번째는 Export/Import 하는 방식으로 복사합니다. 이 방식은 Source Client에서 Export를 하여 Target Client에 Import를 하는 것입니다. SAP 클라이언트 복사하기 전 알아야 될 용어가 있습니다. 소스(Source)는 복사를 할 대상입니다. 타깃(Target)은 복사되어 신규로 생성될 클라이언트입니다. 아래는 방식에 따른 T-Code와 Cross Client 포함 여부입니다. 방식 T-Code 방법 Cross Client 포함 Local Copy SCCL 동일 물리적 서버 내에서 N

오라클 백그라운드 프로세스들 [내부링크]

안녕하세요. 이번 포스팅에서는 Oracle에서 돌아가는 모든 Background Process들을 알아볼 예정입니다. 일단 오라클의 데이터베이스 구조는 크게 세 부분으로 나눌수 있습니다. Process, Memory Area, Database Files 로 구성이 되어 있습니다. 오늘 우리가 중점으로 둘 구조는 Process 입니다. Processes에는 Oracle의 Background Processes라고 불리는 여러 개의 Process와 쉐도우(Shadow) 프로세스라고 불리는 프로세스가 있습니다. 쉐도우 프로세스란 SAP 시스템에서 적절한 과정을 거쳐 데이터베이스의 접근이 필요할 때 Oracle의 서버 프로세스와 SAP의 Work Process가 연결되는 것을 이야기 합니다. 오라클 백그라운드 프로세스들의 상세 역할은 다음과 같습니다. (양이 매우 많습니다...) 이름 Full Name 설명 ABMR Auto BMR Background Process 프로세스가 ABMR에 Bl

Windows 복구 명령어 [내부링크]

안녕하세요. 이번 포스팅에서는 윈도우 복구 명령어에 대해서 알아보겠습니다. 가끔씩 윈도우를 업데이트 한 후에 윈도우 창이 안열리는 증상이 있는데요. 이를 해결하기 위한 방법이 있습니다. 첫번째로 할 일은 CMD(명령 프롬프트)를 관리자 권한으로 엽니다. Windows + R 을 누르고 CMD 입력해도 됩니다. 두번째로 할 일은 아래 명령어를 CMD에 칩니다. sfc /scannow 이 명령어를 실행하는데 몇 분이 소요될 수 있으니 차분히 기다려주세요. 세번째로 할 일은 아래 명령어를 CMD에 칩니다. dism /online /cleanup-image /restorehealth 두번째랑 마찬가지로 100% 완료될 때까지 차분히 기다립니다. 위에 모든 것을 다하신 분들은 네번째로 재부팅을 해주시면 됩니다. 1) Windows Key + R => CMD 2) sfc /scannow 3) dism /online /cleanup-image /restorehealth 4) 재시작

C#으로 위상정렬(Topological Sort) 구현하기 [내부링크]

안녕하세요. 이번 포스팅에서는 위상정렬에 대해서 알아보겠습니다. 먼저 위상정렬이란? 순서가 정해져 있는 일련의 작업들을 차례대로 수행할 때 사용합니다. 사이클이 없는 방향 그래프의 모든 노드를 방향성에 위배되지 않도록 순서대로 나열하는 것입니다. 위상 정렬의 특징은 사이클이 없는 방향 그래프(DAG : Direct Acyclic Graph)에 대해서만 수행할 수 있습니다. 위상정렬로 정렬을 하면 답이 여러가지로 나올 수 있습니다. 하나의 방향 그래프에는 여러가지의 위상 정렬이 가능합니다. 위상 정렬의 과정에서 선택되는 정점의 순서를 위상 순서(Topological Order)라고 한다. 모든 원소를 방문하기 전에 큐가 비어버리게 된다면 사이클이 존재한다고 판단할 수 있습니다. 참고로 위상정렬을 찾으시는 분들 중에 Kahn의 알고리즘이랑 헷갈리시는 분들이 있는데 Kahn의 알고리즘은 위상정렬 알고리즘 중 하나이지 Kahn이 위상정렬인것은 아닙니다. 구현 방법으로는 in_degree를

SAP OS AIX에서 Linux로 업그레이드 [내부링크]

안녕하세요. 이번 포스팅은 AIX 기반 OS에서 Linux로 업그레이드 하는 방법이 나와있는 블로그를 소개시켜드릴까 합니다. 총 5개의 포스팅으로 구성되어 있으며, 아쉽지만 언어는 영어입니다. 제가 나중에 번역을 하여 재포스팅을 하도록 하겠습니다. 테이블 전처리 방법 AIX에서 DB를 Export 하는 법 ASCS 설치법 Linux에서 DB를 Import 하는 법 업그레이드 후 프로세스 URL은 하단에 순차적으로 링크를 걸어놓았습니다! https://blogs.sap.com/2019/10/31/sap-os-upgrade-from-aix-to-linux-part1/ SAP OS Upgrade from AIX to Linux – Part1 | SAP Blogs Skip to Content Home Community Blogs Ask a Question Write a Blog Post Login / Sign-up Technical Articles Satish Reddy October 31

파이코인 노드 운영하는 방법 [Pi Node] [내부링크]

안녕하세요. 이번 포스팅에서는 파이코인 채굴을 위한 노드 운영법을 알려드릴려고 합니다. 들어가기에 앞서 파이코인 노드는 포트포워딩이 되어있어야 합니다. [Pi Node]포트포워딩 하는 방법 안녕하세요. 이번 포스팅에서는 파이코인의 노드 프로그램에 사용되는 포트를 개방하기 위한 포스팅을 써보... blog.naver.com 우선 노드 운영에 필요한 프로그램을 다운받기 위해 파이코인 홈페이지에 접속을 합니다. https://node.minepi.com/node/ Pi Network Home Pi Node Mobile app Platform Team FAQ How Pi Works Pi Node - one step closer to user centric decentralization Access Pi App from desktop and run Pi Node to start contributing to the security of the network. Mac Windows Latest

Windows hosts 파일 변경이 탐지되었습니다. [내부링크]

안녕하세요. 이번 포스팅은 Windows에서 발생하는 hosts 파일 변경 탐지 오류인데요. 저는 이런 오류가 뜨는건 처음이라 보고 매우 당황했습니다. 갑자기 Windows hosts 파일 변경이 감지되었습니다. 악성코드에 의한 hosts파일이 변경되었을 수 있습니다. 라고 떴습니다. 저 메시지를 본 후 설마 해킹당한거 아냐!? 하면서 부랴부랴 hosts 파일을 찾는데 당최 찾을수가 없더라구요...ㅠㅠ 이 포스팅을 보는 분들은 금방 찾으시길 바라며 포스팅을 해봅니다. 컴퓨터에 익숙하신 분들을 위한 hosts 파일의 위치 C:\Windows\System32\drivers\etc\hosts 익숙하지 않으신 분들은 아래 설명을 따라하시면 됩니다. 먼저, 내 컴퓨터 폴더를 켜주세요! 내 컴퓨터 화면 로컬 디스크(C:)로 진입합니다. C 드라이브 Windows 폴더로 들어갑니다. Windows 폴더 System32로 들어갑니다. System32 폴더 dirvers 폴더로 들어갑니다. driv

SAP의 멀티플렉싱 [내부링크]

이번 포스팅에서는 SAP GUI 창에서 Dialog 요청이 들어왔을 때 멀티플렉싱 기술로 요청이 어떻게 처리가 되는지에 대하여 알아보겠습니다. 설명하기에 앞서 다이얼로그 요청에 대해 알아보겠습니다. Dialog Request란 사용자가 GUI 창에서 일련의 행동을 하면 생성되는 요청입니다. 일반적으로 SAP 프로그램(GUI)에서는 Dialog 요청이 들어오면 Dialog Work Process에 할당이 됩니다. 이 다이얼로그 워크 프로세스는 여러 명의 사용자가 여러 개의 GUI 창으로 요청을 하면 순차적으로 요청을 처리합니다. 또한, 다이얼로그 요청은 하나의 다이얼로그 워크 프로세스에 할당이 되므로, GUI 창을 여러 개 띄워 각기 다른 요청을 보내면 각각의 워크 프로세스들이 개별적으로 움직입니다. 그런데, 하나의 워크 프로세스에서 실행이 되다가 다른 워크 프로세스가 이를 할당받아 처리할 때가 있는데요 우리는 이러한 작업을 Work Process Multiplexing 이라고 부르기

SAP 패치 관련 툴 [내부링크]

안녕하세요. 이번 포스팅에서는 SAP에서 패치를 위한 툴에 대하여 알아보겠습니다. 사실 SAP에서는 패치라는 용어보단 Note, Support Package, Support Package Stack 등의 용어를 더 많이 사용하는데요. 이 중 Note 같은 경우는 하나의 오브젝트에 대한 수정을 이야기 합니다. 여러 개의 오브젝트를 수정하기 위해서는 Support Package가 필요합니다. 서포트 패키지의 경우에는 여러개의 노츠들이 모여있는 것입니다. 마지막으로 서포트 패키지는 하나의 소프트웨어 컴포넌트(Software Component)라고도 하는데 이 컴포넌트들이 여러 개 쌓이면 서포트 패키지 스택이라고 합니다. Note -> Support Package(Notes) -> Support Package Stack(Support Packages) 그럼 이제 패치에 대한 툴을 알아볼까요? 참고로 SAP는 ABAP과 JAVA 버전이 있는데, JAVA 같은 경우는 웹 기반 환경이기 때문에

키워드 검색량 조회 사이트 2곳 [내부링크]

블로그 애드포스트 수익을 위하여 여러가지 고민을 하다보면 꼭 필요한 사이트가 있습니다. 바로 키워드 검색량 조회 사이트인데요. 이렇게 키워드를 입력하면 입력된 키워드와 관련된 연관 키워드의 PC 검색량과 모바일 검색량을 확인 할 수 있습니다. 하나 꿀팁을 드리자면 현재 안드로이드 검색 결과 코틀린과 코틀린강의가 있는데 코틀린의 경우 PC는 1290, 모바일은 1370인 반면에 코틀린 강의의 경우 PC는 50, 모바일은 10 밖에 안되는 결과를 얻을 수 있습니다. 그렇다면 코틀린 강의에만 집중할 것이 아니라 코틀린에 관한 포스팅을 하는게 더 많은 블로그 유입을 불러올 수 있으므로 코틀린에 관한 포스팅을 하는 것이 좋습니다. 링크는 하단에 있습니다. 또 다른 곳도 있습니다. 이 사이트는 특이하게도 검색한 블로그의 포스팅이 검색이 되는지 안되는지 감별까지 해줍니다. 또한 메뉴에서 키워드 검색을 하면 해당 키워드로 검색했을 때 PC, 모바일 검색량, 조회수, 문서수 뿐만 아니라 상위 블로그

코틀린 널 안정성 [내부링크]

안녕하세요. 이번 포스팅에서는 Kotlin의 Null 안정성에 대하여 알아보겠습니다. 들어가기에 앞서 널(Null)이란 객체가 선언되었음에도 불구하고 초기화되지 않은 상태를 이야기하는데요. 이렇게 이야기하면 이해하기 어려울까봐 다음 예제를 준비하였습니다. 예제 1 val data_one : String = "First" val data_two : String? = null 위와 같은 코드를 코틀린에서 구현을 하게 되면 data_one에는 "First"라는 데이터가 있으며 이 변수를 불러올때 이 문자열 데이터가 저장된 주소를 불러와서 데이터 처리를 하게됩니다. 하지만 data_two의 경우 null 값이 들어있으므로, 문자열 데이터가 저장된 주소를 찾을 수가 없습니다. 이러한 경우에는 변수가 선언되었더라도 활용은 못하는 사태가 벌어집니다. 또 Null 값은 아무곳이나 할당할 수 있는게 아닙니다. 아래 예제를 볼까요? 예제 2 var data_one : String = "Example"

SAP Notes 모음 AIX/Oracle [내부링크]

안녕하세요. 이번 포스팅은 AIX OS 기반에 Oracle을 설치하실때 도움이 될만한 정보들을 소개시켜 드릴려고 합니다. 보기 편하도록 Notes 번호와 대략적인 내용을 간추려 놓았습니다. 우선 AIX에 관련된 Notes를 아래 표에 정리하였습니다. Note Description 1780629 - AIX: Minimal OS Requirements for SAP Kernel AIX OS를 설치하기 위한 SAP Kernel의 최소사양 2947755 - IBM AIX requirements for SAP Kernel 7.81 Kernel 7.81위한 AIX 요구사항 1972803 - SAP on AIX: Recommendations AIX 기반의 SAP 권장사항들 1541935 - Using SAP systems with AIX 7.1 AIX 7.1에 대한 정보들 1458918 - Support for AIX 7.1 AIX 7.1의 기본 정보들과 설치 조건들 2267287 - Using

Docker 시작 시 오류 [내부링크]

안녕하세요. 이번 포스팅에서는 Docker 시작 시 뜨는 오류로 인하여 안켜지는 문제를 해결해볼 예정입니다. 제가 갖고온 오류 코드는 다음과 같습니다. Docker.Core.DockerException: Failed to start at Docker.Engines.LinuxkitDaemonStartup.<WaitAsync>d__5.MoveNext() in C:\workspaces\4.12.x\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxkitDaemonStartup.cs:line 54 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.Hand

Pi Network [내부링크]

안녕하세요. 이번 포스팅에서는 파이 네트워크를 시작하는 방법에 대해 알아보도록 하겠습니다. 들어가기에 앞서 파이네트워크란, 스텔라 합의 프로토콜(SCP) 기반으로 하는 암호화폐입니다. SCP의 장점은 누구나 스텔라 네트워크에 합류하여 노드를 운영할 수 있다는 점이 있습니다. 24시간에 한 번 씩만 누르면 정해진 코인이 채굴되는데, 2022년 10월 11일 기준으로 채굴에 들어가는 비용이 전혀 없습니다. 현재 3500만명이 다운로드를 받아 진행 중이며, 테스트 넷 에서 메인 넷으로 넘어가는 중에 있습니다. 지금 채굴하시면 하루에 약 5개 정도 채굴이 가능합니다! 다운로드는 아래에서 받으시면 됩니다. 파이코인 추천인 : aisk16 추천인을 등록하시면 채굴 부스터를 얻으실 수 있습니다. https://minepi.com/aisk16 Pi Network Pi is a new digital currency being developed by a group of Stanford PhDs. Fo

SAP Port [내부링크]

안녕하세요. 이번 포스팅에서는 SAP에서 사용되는 포트들을 이야기해보겠습니다. 일단 2022년 10월 11일 기준으로 SAP에서 사용되는 포트는 총 252개입니다. 이 많은걸 제 포스팅에 담으면 좋겠지만 아쉽게도 그럴 수는 없어서 많이 쓰이는 포트만 정리해보았습니다. ABAP Dispatcher 32NN ABAP Gateway 33NN ABAP Message Server 36NN ABAP ICM 80NN JAVA HTTP 5NN00 JAVA Message Server HTTP 81NN JAVA P4 5NN04 JAVA Telnet 5NN08 SAPinst 21212 SAP Management Console HTTP 5NN13 더 많은 자료를 보고싶으시다면 아래에 표기된 URL을 타고 가시면 됩니다. https://help.sap.com/docs/Security/575a9f0e56f34c6e8138439eefc32b16/616a3c0b1cc748238de9c0341b15c63c.htm

SAP의 계정 타입(User Types) [내부링크]

SAP에서는 총 5가지의 계정 유형이 존재한다. Dialog (A) System (B) Communication (C) Service (S) Reference (L) 이번 포스팅에서는 각 유형의 특징을 알아볼 예정이다. Dialog 다이얼로그 사용자는 한 명의 사용자만 모든 로그온 유형에 사용됩니다. 다이얼로그를 사용하여 로그인을 하면 시스템은 해당 계정의 초기 패스워드나 유효한 패스워드인지 확인합니다. 또한, 해당 유저는 패스워드를 바꿀수 있습니다. 다중 다이얼로그 로그인은 로그인 시 확인되고 기록됩니다. System 시스템 유저는 다이얼로그가 없는 대화방식을 사용하거나 백그라운드 프로세싱을 사용하여 시스템 내부적으로 실행되는 프로세싱에 사용됩니다. 시스템 유저는 ALE 와 같은 다양한 어플리케이션에서 RFC 유저로 사용됩니다. 하지만 시스템 유저는 SAP GUI를 통한 로그인을 불가능합니다. 초기 비밀번호를 설정했다면 비밀번호는 만료되지 않고 계속 사용할 수 있습니다. Commu

SAP 잠금 관리(Lock Management) [내부링크]

SAP에서는 특정 데이터를 잠궈 데이터를 보호하는 기능이 있다. 이번 포스팅에서는 Lock Management에 대해 알아보기 위한 실습 과정을 소개한다. SAP 시스템에 접속하여, 계정 데이터를 바꿔보기 a) 실험을 위한 A라는 계정 데이터를 바꾸기 위해 SU3 트랜잭션 코드를 호출한다. b) SU3에서 System -> User Profile -> Own Data 메뉴에 진입하면 SAP 시스템 레벨로 인하여 해당 데이터가 잠긴다. 2. 새로운 세션을 열고 잠긴 엔트리에 대하여 확인 a) 새로운 세션을 연다. b) SM12 트랜잭션 코드를 호출한다. c) 기본 값을 변경하지 않고 Enter 키를 누른다. d) 잠긴 엔트리는 테이블 USR04에 저장된다. 3) 다른 세션에서 유저 데이터를 변경 시도 a) 두번째 세션에서 SU03을 호출한다. 그렇다면 다른 유저에 의해서 이미 변경 중이라는 메세지가 화면에 뜰 것이다. 하지만, 잠긴 데이터는 언제나 보거나 읽을 수 있다. 왜냐하면 SU

안드로이드 버전과 API 레벨 (2008 ~ 2022) [내부링크]

이번 포스팅은 2008년 부터 2022년 까지의 출시된 안드로이드 버전들을 모아놓은 표를 알아보겠습니다. Android 1.x의 x는 하위 버전이 있다는 뜻입니다. 버전 코드명 API 레벨 출시 연도 Android 1.0 Apple Pie 1 2008 Android 1.1 Petit Four 2 2009 Android 1.5 Cupcake 3 2009 Android 1.6 Donut 4 2009 Android 2.0.x ~ 2.1 Eclair 5 ~ 7 2009 Android 2.2.x Froyo 8 2010 Android 2.3.x Gingerbread 9 ~ 10 2010 Android 3.x Honeycomb 11 ~ 13 2011 Android 4.0.x Ice Cream sandwich 14 ~ 15 2011 Android 4.1.x ~ 4.3.x Jelly Bean 16 ~ 18 2012 Android 4.4.x KitKat 19 ~ 20 2013 Android 5.x L

안드로이드 컴포넌트 종류 [내부링크]

이번 포스팅은 안드로이드 컴포넌트 종류에 대해서 알아보겠습니다 안드로이드는 클래스로 컴포넌트를 개발합니다. 하나의 클래스가 하나의 컴포넌트 라고 봐도 무방합니다. 컴포넌트는 총 4개로 분류할 수 있습니다. 액티비티, 서비스, 콘텐츠 프로바이더, 브로드캐스트 리시버가 있습니다. 이 컴포넌트들은 앱이 실행될 때 각기 다른 기능을 합니다. 액티비티 화면을 구성하는 컴포넌트입니다. 우리가 어플리케이션을 사용하면서 보는 화면은 액티비티입니다. 고로 앱의 화면을 만드려면 액티비티를 만들어야 하며, 액티비티에 작성한 코드들이 화면에 출력됩니다. 서비스 백그라운드 작업을 하는 컴포넌트입니다. 액티비티와는 달리 화면 출력 기능이 없으므로 서비스가 실행되더라도 화면을 볼 수는 없습니다. 서비스 컴포넌트는 보이는 것과 상관없이 백그라운드에서 실행해야 할 업무를 담당합니다. 콘텐츠 프로바이더 앱의 데이터를 공유하는 컴포넌트입니다. 간편한 예시로는 카카오톡 앱에서 프로필을 변경할 때 갤러리 앱의 사진을 이

코틀린(Kotlin)의 탄생배경과 장점 [내부링크]

이번 포스팅에서는 코틀린의 탄생배경과 장점에 대해 알아보도록 하겠습니다. 탄생배경 Kotlin는 JetBrains 의 오픈소스 그룹에서 개발이 되었으며, 처음 출시 때 부터 안드로이드 프로그래밍에서 사용할 수 있다는 점에서 주목을 받았습니다. 그러나 이때까지만 해도 안드로이드 개발 언어로는 Java가 대세였습니다. Java에서 Kotlin으로 넘어온 계기는 다음과 같습니다. 원래 Java는 제임스 고슬링이라는 사람이 창시 했었고, 이후 썬 마이크로 시스템즈가 오라클에 인수되었으며, 고슬링이 떠나게 되자 전적으로 Oracle이 Java를 관리하게 되었습니다. 이때 부터 Oracle은 Java JDK에 대해서 유료화 정책을 펼쳤고, 이전부터 Java JDK를 통해 안드로이드의 핵심 프레임워크와 여러 서비스를 개발한 Google에게 많은 돈을 요구하였습니다. Google은 이 일을 계기로 Java 언어를 대체할 수 있는 Kotlin으로 눈을 돌렸고 결국에는 Google에서 공식적으로 Ko

SAP 작업 프로세서(Work Processes) [내부링크]

이번 포스팅은 ABAP 기반에서 작동되는 SAP의 작업 프로세스에 대하여 알아보겠습니다. ABAP 어플리케이션 서버는 ABAP Dispatcher와 다량의 워크 프로세스를 포함하고 있습니다. 디스패처는 요청을 각 워크 프로세스에게 할당해주는 역할을 합니다. 작업 프로세스는 총 5가지로 분류가 됩니다. Dialog Background Update Spool Enqueue 그럼 각 프로세스들이 하는 역할을 알아보도록 할까요? Dialog Work Processes 다이얼로그 워크 프로세스는 유저가 발생시킨 모든 요청을 수행합니다. 모든 디스패처는 적어도 두 개 이상의 다이얼로그 워크 프로세스를 요구합니다. Background Work Processes 백그라운드 작업 프로세스는 사용자와 상호 작용하지 않고 작동되는 프로그래을 실행합니다. 각 SAP 시스템에 대해 최소 2개의 백그라운드 작업 프로세스가 필요합니다. 디스패처는 둘 이상의 백그라운드 작업 프로세스를 구성할 수 있습니다. Up

안드로이드 TV 알림 제거 [내부링크]

안드로이드 TV를 이용하다보면 아래와 같은 메시지가 뜨면서 화면을 방해한적이 한 두번씩은 있는거 같습니다. Android R는 인공 지능을 이용하여 보다 다양한 것을 제공합니다... 이제부터 TV에 나온 메세지 없애는 방법을 알려드리겠습니다. 설정 -> 기기환경설정 -> 전시모드에서 가정모드로 전환 안드로이드 티비 메인에서 설정(우측 최상단 톱니바퀴 모양) 버튼을 누르고 기기 환경 설정 버튼을 찾아서 누릅니다. 그 후 하단으로 내리다 보면 전시모드가 보이실껀데요. 여기로 들어가 가정모드로 바꿔주면 해당 메시지가 안뜨는 것을 확인 할 수 있습니다. 가정모드는 가정에서 사용할 때 사용하는 환경이고, 전시모드는 매장에서 안드로이드 티비를 홍보하기 위해 깔아놓은 모드라서 해당 메시지가 출력되는 것으로 확인됩니다.

노트북에 저장된 와이파이 비밀번호 찾아내기 [내부링크]

안녕하세요. 이번 포스팅에서는 한 번이라도 와이파이에 연결한 적이 있어서 비밀번호가 윈도우에 저장되어 있을 때 그 비밀번호를 찾아내는 방법에 대하여 알아볼 예정입니다. 필시 한 번이라도 연결한 적이 있어야 합니다. 우선 실행(Win + R)창을 켜서 CMD(명령프롬프트)를 관리자 권한으로 실행해줍니다. 그러면 검은색 화면이 보일텐데요. 그 화면에 다음 명령어를 칩니다. netsh wlan show profile 그러면 여태까지 접속했었던 와이파이 프로필들이 전부 보일것입니다. 여기에서 필요한 비밀번호가 있는 프로필을 복사합니다. 저는 Mia2F2를 찾아보도록 하겠습니다. 아래의 명령어를 한 번 더 쳐주세요. netsh wlan show profile 프로필이름 key=clear 예시 ) netsh wlan show profile Mia2F2 key=clear 그러면 이렇게 키 콘텐츠에 비밀번호가 보이게 됩니다. 자 이렇게 윈도우에 저장된 와이파이 비밀번호를 찾는 방법을 알아보았습니다

AI 알고리즘의 일반적인 유형 [내부링크]

AI 모델의 목적은 하나 이상의 알고리즘을 사용하여 결과를 예측하거나 다양한 유형의 여러 입력 간의 관계를 이해하려고 노력하여 의사 결정을 내리는 것입니다. 이러한 작업에 접근하는 방식은 AI 모델마다 다르며, AI 개발자는 여러 알고리즘을 배포하여 목표나 기능을 달성할 수 있습니다. 선형 회귀는 종종 단순한 선 그래프로 표시되는 하나 이상의 X 입력값과 Y 출력값 간의 선형 관계를 매핑합니다. 로지스틱 회귀는 이진 X 변수(예: 참 또는 거짓, 있음 또는 없음)와 Y 출력값 간의 관계를 매핑합니다. 선형 판별 분석은 시작 데이터가 별도의 범주 또는 분류로 나뉘는 경우를 제외하고 로지스틱 회귀와 같이 작동합니다. 의사 결정 트리는 의사 결정 트리가 결론에 도달할 때까지 입력 데이터 세트에 로직의 분지 패턴을 적용합니다. Naive Bayes는 시작 입력값 간에 관계가 없을 것이라고 가정하는 분류 기법입니다. K 근접 이웃은 상관 관계를 그래프로 표시할 때 유사한 특징을 가진 각각의

Module: ':app' platform 'android-32' not found. [내부링크]

Intellj에서 나온 오류이다. 빌드 후 나오는 오류인데 이는 SDK가 누락되었기 때문에 나오는 것으로 보인다. 우측 상단에 돋보기 모양을 누르고 refactor을 검색하면 Refactor This가 나온다. Migrate to AndroidX를 누른뒤 혹시 모를 상황에 Backup을 해두고 Migrate를 진행한다. 그 후 빌드 버튼인 Ctrl+F9를 누르면 뭔가 작업중인게 나온다. 성공적으로 문제가 해결된다.

Android Studio로 첫 어플리케이션 만들기 - 1 [내부링크]

1안녕하세요. 오늘을 Android Studio로 예제 어플리케이션을 만드는 과정을 소개 할 것입니다. 우선 Android Studio가 필요하므로, Android Studio를 다운로드 받겠습니다. 아래에 있는 사이트로 가서 다운을 받으실 수 있습니다. https://developer.android.com/studio?hl=ko Download Android Studio & App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. developer.android.com 우선 다운로드 받으셨다면 설치를 진행해주시고 실행 시키면 다음과 같은 화면이 나옵니다. 상단의 New Project를 클릭하여 새로운 프로젝트를 만들어봅시다. 저

Android Studio로 첫 어플리케이션 만들기 - 2 [내부링크]

안드로이드 스튜디오를 이용하여 어플리케이션을 만들기 전에 알아야 될 정보를 가지고 왔습니다. 우선 Activity 화면 전환과 관련된 내용입니다. Activity란 앱의 단일 화면을 나타내는 단어입니다. Intent는 안드로이드 기본 구성 요소(컴포턴트) 끼리 통신을 위해 사용되는 메세지 객체입니다. 안드로이드의 4대 구성요소는 다음과 같습니다. Activity : 화면에 표시되어 사용자와 상호 작용을 하는 컴포넌트 Service : 백그라운드에서 실행되는 컴포넌트 Broadcast receiver : 시스템에서 보내는 메시지를 수신하기 위한 컴포넌트 Content Provider : 앱간의 데이터 공유를 위한 컴포넌트 그러면 Activity를 생성해보도록 하겠습니다. 먼저 안드로이드 프로젝트를 열어주시고 다음과 같이 좌측의 패키지에서 우측 마우스를 눌러 New > Acitivity > Empty Activity를 클릭합니다. 그러면 다음과 같은 화면을 볼 수 있습니다. 이 상태에서

Android Studio로 첫 어플리케이션 만들기 - 3 [내부링크]

저번 시간에는 새로운 화면을 추가하는 방법을 사용했는데, 이번 시간에는 기존 Activity를 수정하는 방법을 설명하겠습니다. 우선 Android Studio를 실행시키고, 새로운 프로젝트를 만듭니다. Basic Activity로 하겠습니다. Basic Activity는 3개의 코틀린 파일들이 존재합니다. 또한, res => 리소스 폴더가 보이는데 이 안을 들어가보면 layout에서 xml 파일로 화면을 조정할 수 있습니다. fragment_fisrt 화면입니다. 상단에는 텍스트 박스 하나와 하단에 있는 next 버튼이 있는데, 이 부분을 수정하도록 하겠습니다. 우측에 Code 버튼을 눌러봅시다. <TextView android:id="@+id/textview_first" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="첫번째 어플리케이션" app:layout_constrain

Android Studio로 첫 어플리케이션 만들기 - 4 [내부링크]

이번 시간에는 새로운 Activity를 추가하는 방법을 알아보겠습니다. 일단 Basic Activity에서는 첫번째 화면에서 버튼을 눌러 다음 페이지로 가고 있습니다. 버튼을 잠시 봐볼까요? override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding.buttonFirst.setOnClickListener { findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment) } } buttonFirst를 클릭하면 setOnClickListener가 실행됨을 알 수 있습니다. R.id.action_FirstFragment_to_SecondFragment가 실행되면 다음 이벤트로 가는것을 볼수 있으니 R.id.action_FirstFragment_to_Second

SAP GUI에서 요청이 들어왔을 때 [내부링크]

사용자가 SAP GUI 창을 통하여 로그인을 진행한다는 가정하에 이야기를 해보겠다. 로그인은 두 가지로 나눠 볼 수 있는데 첫번째는 메세지 서버(로드 밸런싱)를 통한 로그인이고, 두번째는 ABAP 디스패처에 직접 로그인하는 방법이 있다. 로그인을 할 시에는 3-Layer(Presentation, Application, Database)에서 각각의 다른 프로세스들이 움직인다. 1. Presentation 계층에서 요청을 디스패처로 전송한다. 2. Application 계층에서 디스패처에서 워크프로세스를 할당한다. 3. Database 계층에서 스키마계정을 통하여 해당 유저 정보를 가져온다. 4. Application 계층에서 데이터를 Buffer에 덧씌우며, 해당 워크프로세스를 해제한다. 5. Presentation 계층에서 가져온 데이터를 GUI 창에 보여준다. 추가 설명 ABAP 디스패처는 ABAP 어플리케이션 서버의 중앙 프로세스이다. 이 프로세스는 각 운영 체제와 연계하여 AB

SAP 트렌젝션 4대 속성 [내부링크]

SAP Transaction 속성은 총 4개이다. Atomic Consistent Isolated Durable Atomic(원자성) Atomic의 뜻은 한국어로는 원자입니다. 원자는 더 이상 쪼갤 수 없다는 규칙이 있죠. 트랜잭션도 마찬가지로 더 이상 쪼갤 수 없는 업무 처리 단위를 나타냅니다. (번역) 트렌잭션 내에서 실행한 작업들이 완전히 성공 했거나 아무런 영향을 가질 수 없음을 나타냅니다. 만약에 트랜잭션 지향 시스템이 내려간다면 일관성을 확인해야하며, 데이터가 부분적으로 저장되지 않도록 해야합니다. Consistent(일관성) 트렌젝션은 일관성 있는 데이터 베이스 상태를 유지해야 합니다. (번역) Consistent의 뜻은 시스템의 상태가 비즈니스 측면에서 정확하고 일관된 상태를 의미합니다. Isolated(격리성) 동시에 실행되는 트렌젝션들이 서로에게 영향을 미치지 않도록 해야합니다. (번역) Isolated의 뜻은 트랜잭션 내에서 이루어진 변경 사항을 최종 확인 후에

SAP의 TMS [내부링크]

SAP는 보통 3가지의 클라이언트 형식으로 운영한다. 개발(Dev), 품질(QaS), 운영(Prd) 보통은 개발에서 개발한 프로그램을 Export하여 품질, 운영에서 Import 하는 것이 순리이며, 이러한 과정을 이관 작업이라고도 한다. 이관 작업에 사용되는 Export와 Import에 대하여 알아보는 시간을 갖기로 해보겠다. 해석 개발자의 입장에서 개발 프로젝트가 완료되면 관련된 Task를 배포하게 됩니다. 오브젝트를 Task에 옮기는 이전 행위는 Transport request로 부터 시작됩니다. 모든 개발자가 Task를 배포한다면 개발 프로젝트 리더는 Transport Request를 배포할 수 있다. 따라서, Transport Request는 개발 프로젝트 내에서 생성되거나 변경된 개체 또는 리포지토리 개체를 커스터마이징하여 결합합니다. Transport Request는 전송을 하거나 로컬로 내보낼 수 있습니다. Transport Organizer는 전송 요청에 포함된 개체

C#에서 문자열 위치 찾기 [내부링크]

C# 에서 문자열 내에서 문자를 찾는 방법은 IndexOf라는 함수를 사용하여 쉽게 찾을 수 있다. private void button1_Click(object sender, EventArgs e) { string str = "ABCDEFG"; string index = "C"; int IndexValue = str.IndexOf(index); MessageBox.Show(Convert.ToString(IndexValue)); } ABCDEFG 라는 문자열에서 C는 3번째 위치 하므로 2가 메세지로 출력이 된다. 결과 화면 Convert.ToString()은 해당 값을 String 형태로 바꿔주는 역할을 한다.

백준 1003번 [내부링크]

피보나치 함수 성공 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.25 초 (추가 시간 없음) 128 MB 163886 46635 36459 31.551% 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 0을 출력하고,

Winform 여닫이 버튼 만들기 [내부링크]

Winform을 이용하여 좌측의 패널 만들기를 진행해볼 예정이다. 우선 빈 폼을 만든다. 이후 도구상자에서 Panel을 찾는다. 이렇게 Panel을 폼 위에 추가를 해주면 된다. 추가한 뒤로는 속성을 만져야한다. Dock 스타일을 Left로 설정한다. 패널 위에 도구상자에서 Button을 꺼낸다. Button의 Dock 스타일은 Top으로 설정해준다. 이후 Button 아래에 Panel을 하나 더 추가해준다. 이 Panel은Button과 마찬가지로 Dock 스타일을 Top으로 설정한다. Panel 안에는 원하는 수 만큼 Button을 채워준다. 이제 소스코드로 넘어갈 차례다. public partial class Form1 : Form { public Form1() { InitializeComponent(); HideButton(); } private void HideButton() { panel2.Visible = false; } private void ShowButton(Pane

C# Panel위에 Form 올리기 [내부링크]

panel1.Controls.Clear(); Window_Hunt wh = new Window_Hunt(); wh.TopLevel = false; panel1.Controls.Add(wh); wh.Show(); 게임을 만들다가 발견한 방법이 있어서 가지고 와봤다. 우선 Panel을 생성하고 동적으로 새로운 Contorl을 만들어서 올리는 기법이다. 이때, 중요한 점은 TopLevel = false로 설정하지 않으면 Error가 난다는 것이다. 아무래도 폼을 올리다 보니 상태바가 같이 나오는 경우가 있는데 FormBorderStyle을 None으로 놓으면 해결이된다.

C# 폼간 데이터 전송하기 [내부링크]

부모 폼 private void btn_hunt_Click(object sender, EventArgs e) { pnl_game.Controls.Clear(); Window_Hunt wh = new Window_Hunt(); wh.TopLevel = false; pnl_game.Controls.Add(wh); wh.Show(); wh.textSend += new Window_Hunt.page_sub_EventHandler(sub_getText); } public void sub_getText(string text) { string data = text; switch (data) { case "다람쥐": Hunter(1, data); break; case "토끼": Hunter(2, data); break; case "너구리": Hunter(3, data); break; case "비둘기": Hunter(4, data); break; } StatusUpdate(); } 자식 폼 pub

C# 메모장 쓰기 [내부링크]

여러가지 방법이 있는데 첫번째는 System.IO.File.WriteAllText(@"주소", 내용); 주소 란에는 저장할 위치를 넣으면 된다. 내용 란에는 저장할 컨텐츠를 넣으면 된다. 두번째는 덮어쓰기 방법이다. StreamWriter writer; writer = File.CreateText(주소); writer.WriteLine(내용); writer.Close(); 세번째는 이어쓰기 방법이다. StreamWriter writer; writer = File.AppendText(주소); writer.WriteLine(내용); writer.Close();

C# 메모장 읽기 [내부링크]

System.IO.File.ReadAllText(파일위치); 메모장 파일의 모든 구절을 읽을라면 위 명령어를 사용한다. StreamReader SR = new StreamReader(파일 위치); string line; string result = ""; while ((line = SR.ReadLine()) != null) // 내용이 없을때까지 반복 { result += line; result += "\r\n"; } textBox1.Text = result; SR.Close(); StreamReader를 이용한 한줄 씩 읽기 방법이다. StreamReader를 사용할 때 주의점은 꼭 Close를 해야된다. 안그러면 백그라운드에서 계속 돌아가기 때문이다. StreamReader SR = new StreamReader(파일 위치); string result = ""; result = SR.ReadToEnd(); textBox1.Text = result; SR.Close(); Strea

서브넷이란? [내부링크]

서브넷이란 하나의 네트워크가 분할되어 나눠진 작은 네트워크이다. 네트워크를 분할하는 것을 서브네팅이라고 하고, 서브네팅은 서브넷 마스크를 통하여 수행할 수 있다. 탄생하게된 배경은 클래스 단위로 네트워크를 분류하다보니, 어떤 기업에서는 적은 양의 호스트 주소가 필요한데, B Class 네트워크를 할당받아서 IP 주소에 여유가 생기고 어떤 기업에서는 많은 양의 호스트 주소가 필요한데, C Class 네트워크를 할당받아서 IP주소가 부족해지는 현상이 생기게 되었다. 결국 클래스로만 분류하는 것은 비효율적이라는 결론이 나오고 서브넷이 탄생하게 되었다.

객체 지향 [내부링크]

객체 지향 프로그래밍이란? 우리가 실생활에서 쓰는 모든 것을 객체라고 합니다. 그래서 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 이야기 합니다. 객체 지향 모델링은 기능이 아닌 객체가 중심이 되며 "누가 어떤 일을 할 것인가?"가 핵심이 됩니다. 대형 프로그램의 경우 많은 기능을 수반하기 때문에 절차 지향보다는 객체 지향이 적합합니다. 객체 지향 프로그래밍의 특징 추상화 객체들의 공통적인 특징을 도출하는 것 객체지향적 관점에서는 클래스를 정의하는 것을 추상화라고 할 수 있다. 캡슐화 실제로 구현되는 부분을 외부에 드러나지 않도록 하여 정보 은닉 객체가 독립적으로 역할을 할 수 있도록 데이터와 기능을 하나로 묶어 관리하는 것 데이터를 보이지 않고 외부와 상호작용을 할 때는 메소드를 이용하여 통신을 한다. 상속성 하나의 클래스가 가진 특징을 다른 클래스가 그대로 물려받는것

백준 1000번 [내부링크]

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 642517 267656 189624 41.922% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 1 2 예제 출력 1 3 Python 코드 A, B = input().split() print(int(A)+int(B)) C# 코드 int A, B; string su = Console.ReadLine(); A = int.Parse(su.Split(' ')[0]); B = int.Parse(su.Split(' ')[1]); Console.Write(A+B); C++ 코드 #include <stdio.h> int main(){ int A,B; scanf("%d %d",&A,&B); printf("%d",A+B); return 0; }

백준 1001번 [내부링크]

A-B 성공 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 266845 186260 159553 71.378% 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A-B를 출력한다. 예제 입력 1 3 2 예제 출력 1 1 Python 코드 A, B = input().split() print(int(A)-int(B)) C# 코드 int A, B; string su = Console.ReadLine(); A = int.Parse(su.Split(' ')[0]); B = int.Parse(su.Split(' ')[1]); Console.Write(A-B); C++ 코드 #include <stdio.h> int main(){ int A,B; scanf("%d %d",&A,&B); printf("%d",A-B); return 0; }

백준 2557번 [내부링크]

Hello World 성공 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 731376 296192 214338 39.899% 문제 Hello World!를 출력하시오. 입력 없음 출력 Hello World!를 출력하시오. 예제 입력 1 예제 출력 1 Hello World! Python 코드 print('Hello World!') C# 코드 Console.WriteLine("Hello World!"); C++ 코드 #include <stdio.h> int main(){ printf("Hello World!"); return 0; }

백준 1010번 [내부링크]

다리 놓기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.5 초 (추가 시간 없음) 128 MB 55596 25633 20978 48.330% 문제 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원이는 다리를 최대한 많이 지으려고 하기 때문에 서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 다리끼리는 서로 겹쳐질 수 없다고 할 때 다리를 지을 수 있는 경우의 수를 구

백준 11727번 [내부링크]

2×n 타일링 2 성공 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 49606 29694 23630 59.309% 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 예제 입력 1 2 예제 출력 1 3 예제 입력 2 8 예제 출력 2 171 예제 입력 3 12 예제 출력 3 2731 Python 코드 s = [0, 1, 3] for i in range(3, 1001): s.append((s[i - 2] * 2) + s[i - 1]) n = int(input()) print(s[n] % 10007) C# 코드 using System; class dp{ static void Main(){ in

순서도 기본 기호 [내부링크]

순서도를 그리기 위해서는 순서도의 기본 기호에 대하여 알 필요가 있습니다. 지금 올라오는 기호들은 모두 Power Point에서 기본 도형과 순서도 탭으로 표현이 가능한 기호들을 모아봤습니다. 각 기호는 다음과 같습니다. 처리 : 모든 처리를 나타내기 위한 기호이다. 입출력 : 일반적인 입력과 출력을 나타내기 위한 기호이다. 흐름선 : 작업의 흐름 방향을 나타내기 위한 기호이다. 설명 : 순서도의 내용을 구체적으로 설명하기 위한 기호이다. 연결자 : 흐름이 다른 곳으로 연결됨을 나타내기 위한 기호이다. 페이지 연결자 : 흐름이 다른 페이지로 연결됨을 나타내기 위한 기호이다. 단말 : 순서도의 시작과 끝을 나타내기 위한 기호이다. 판단 : 비교 판단을 나타내기 위한 기호이다. 준비 : 프로그램에서 필요한 초기값을 설정하기 위한 기호이다. 정의된 처리 : 미리 정의된 부프로그램을 호출하기 위한 기호이다. 서류 : 출력장치를 통한 출력을 위한 기호이다. 펀치 카드 : 펀치 카드를 통한 입

[개인공부] 네트워크의 접속 형태 - 토폴로지(트리형, 링형) [내부링크]

오늘의 토폴로지는 뭘까요? Topology란, 네트워크 물리적 연결 형태를 의미하는 용어입니다. 자세히 말하면 통신에 참여하는 컴퓨터와 리피터, 라우터, 허브와 같은 네트워크 장비들이 어떤 형태로 연결되어있는지 의미하는 것입니다. 네트워크 토폴로지에는 크게 성형, 버스형, 링형 등이 있습니다. 바로 트리형과 링형 입니다. 각 토폴로지의 장단점을 알아보도록 해요. 트리형( Tree )은 성형의 변형으로, 중앙에 있는 전송제어장치에 모든 장비를 연결한 것이 아니라 트리 형태의 노드에 전송제어장치를 두어 노드들을 연결하는 형태입니다. 장치 대부분은 중앙 허브가 아닌 중앙 허브에 연결된 2차 허브에 연결되어있으며, 트리의 최상위 노드에 허브가 위치하는데, 하위의 다른 노드들을 제어합니다. 트리의 장점은 다음과 같습니다. 제어가 간단하여 관리나 네트워크 확장이 쉽습니다. 각 장비 간의 데이터 전송 거리를 늘릴 수 있습니다. 여러 컴퓨터를 분리하거나 우선순위를 부여할 수 있습니다. 트리의 단점

[개인공부] 네트워크 전송매체 [내부링크]

전송매체란 송신 측과 수신 측 사이를 상호 연결하는 물리적 선로를 말합니다. 전송매체는 크게 두가지로 분류하게 되는데 유선 전송매체와 무선 전송매체에 대해서 알아보는 시간을 갖도록 합시다. 유선 전송매체는 한 노드에서 다른 노드로 전송되는 통로를 제공하는데, 크게 동축 케이블, 꼬임선, 광섬유 케이블 등이 있습니다. 동축 케이블과 꼬임 선은 전류 형태로 신호를 받고 금속성 도선을 사용하는 반면에 광섬유 케이블은 빛의 형태로 신호를 받고 유리나 플라스틱 케이블을 사용하게 됩니다. 무선 전송매체는 라디오 방송, 마이크로파 등이 전파되는 진공, 공기, 해수 등이 있습니다. 동축 케이블 ( Coaxial Cable ) 동축케이블은 케이블 TV 시스템에서 사용하는 케이블 방식과 유사합니다. 두 개의 전도체로 구성이 되어 있으며, 하나는 케이블 가운데 있는 와이어이고, 다른 하나는 와이어를 감싸는 차폐용 그물망입니다. 절연체는 이들 중간에 있습니다. 동축 케이블은 10BASE-5 규격의 굵은

네이버 음식점 크롤러 - 1 (시작) [내부링크]

오늘은 네이버 음식점 크롤러를 만들어 보았다. 아직 많이 미흡한 실력이라 코드도 중구난방이고 큰 오류가 하나 있지만 잘 다듬어 나가려고 한다. 네이버 음식점 같은 경우에는 총 3가지로 나눌 수 있다. 첫번째는 이미지와 텍스트로 구성된 리스트 형식 두번째는 텍스트로 구성된 리스트 형식 세번째는 이미지와 텍스트, 버튼으로 구성된 리스트 형식이다. 이 3가지를 한꺼번에 크롤링을 하는 것을 목표로 두고, 다음과 같은 코드를 생성하였다. 모든 코드는 C# 과 Selenium을 이용하였습니다. using System; using System.Threading; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Support.UI; namespace 음식점_찾기_크롤러 { class Program { static protected ChromeDriverService _driverService = null; sta

[개인공부] 네트워크 통신 방식 [내부링크]

오늘은 LAN에서 통신하는 방식을 알아보려고 한다. 기본적으로 LAN에서 통신하는 방식은 유니캐스트, 브로드캐스트, 멀티캐스트가 있다. 유니캐스트 방식은 네트워크에서 가장 많이 사용되며, 서버와 클라이언트간의 일대일 통신방식을 말한다. 이 과정에서 통신하려는 두 기기는 서로의 맥 어드레스를 알아야한다. 수신자 각자에게 일일이 정보를 보내지 않고 둘 이상의 다른 수신자들에게 동시에 전송하는 멀티캐스트 방식과 대응하는 개념이다. 브로드캐스트는 로컬 LAN에 있는 모든 네트워크 단말기에 데이터를 보내는 방식으로 서버와 클라이어느 간에 일대모두로 통신하는 데이터 전송 서비스다. 멀티캐스트는 전송하려는 특정 그룹에게만 한 번에 전송할 수 있기 때문에 유니캐스트처럼 반복해서 보낼 필요가 없고, 브로드캐스트처럼 전송받을 필요가 없는 컴퓨터에 보내지 않아도 된다. 사용자가 100명인 네트워크에서 80명에게만 똑같은 데이터를 동시에 전송한다고 가정해보자. 일대일로 통신하는 유니케스트에서는 80명에게

SAP Basis [내부링크]

구글은 SAP Basis를 “the system administration platform for SAP environments from SAP R/3 through SAP S/4HANA. Its purpose is to make sure that all SAP systems in the environment run smoothly and consistently”이라고 정의한다. 즉, SAP를 위한 시스템 관리자 플랫폼을 뜻한다. 이 플랫폼을 관리하는 사람을 BC 라고하며, BC는 "Business Connector"의 약자이다. BC의 업무는 보안, DB, 서버, 네트워크 등 사내의 모든 하드웨어 자원을 관리하기도 한다. 자세하게는 아래와 같다. SAP app server 모니터링, ABAP 복사, 시스템 로그분석 성능 향상 : 튜닝 DB 유지보수 및 백업과 복구 작업 R/3, Netweaver, solution manager 등 SAP 프로그램 설치 SAP 라이센스 유지보수 SA

SAP DA-PASS [내부링크]

다패스는 Direct Access Private Key Aceess Service for SAP 의 약자이다. 다패스의 기대효과는 다음과 같다 보안강화 : SSO Ticket 및 RSA Key를 이용한 암/복호화 방식으로 보안상 안전 강화 업무 효율성 증대 : SSO 인증을 통한 단일 접속환경 구성으로 사용자 업무 편의성 증가 최적의 접속환경 구성 : Proxy, WebService, AD 인증 방식 등 다양한 접속환경 지원 DA-PASS 솔루션은 아래와 같은 소프트웨어 구성을 필요로함. 솔루션 연계 방식으로는 Proxy, Web-Service, Active Directory 방식이 있다. 3가지 방식 전부 DA-PASS로부터 정보를 넘겨받아 별도의 로그인 절차가 없다는게 가장 큰 메리트이다. DA-PASS 적용 기업은 신한은행 및 금호 석유화학, NH 농협생명, IKIET가 있다.

[개인공부] 네트워크의 형태 - 근거리 네트워크 [내부링크]

근거리 네트워크(LAN, Local Area Network)란 가까운 거리에 위치한 컴퓨터의 네트워크를 뜻한다. 통신 방법은 유선 케이블, 적외선 링크, 무선 송수신기등을 이용하며, 한 건물 또는 인접한 건물군 내에 있는 네트워크는 하나의 근거리 네트워크로 간주한다. 주로 사용되는 곳은 집에서 인터넷을 이용할 때나 PC방, 사무실 등 작은 규모로 컴퓨터를 연결할 때 LAN을 사용한다. LAN의 전송방식은 베이스 밴드(기저대역전송) 방식이 있으며, - 디지털 형태로 표시되는 컴퓨터나 단말기의 출력신호를 변조하지 않고 그대로 전송하는 방법 - 근거리 통신에 적합하고 주변기기간의 통신 등에 사용 - 데이터의 이동속도 빠르고, 비용이 비교적 저렴 - 양방향 전송이 가능 - 주로 데이터의 전송에 이용 - 일반적으로는 단일 채널 - 정보손실이 크고, 장거리 데이터 전송에 부적합한 단점이 존재 브로드 밴드(광대역 전송) 방식은 - 하나의 전송매체에 여러채널의 데이터를 담아 동시에 전송하는 방법

[개인공부] 네트워크의 접속 형태 - 토폴로지(성형, 버스형) [내부링크]

네트워크 기초적인 토폴로지에 대하여 알아보는 시간을 갖도록 하겠습니다. Topology란, 네트워크 물리적 연결 형태를 의미하는 용어입니다. 자세히 말하면 통신에 참여하는 컴퓨터와 리피터, 라우터, 허브와 같은 네트워크 장비들이 어떤 형태로 연결되어있는지 의미하는 것입니다. 네트워크 토폴로지에는 크게 성형, 버스형, 링형 등이 있습니다. 그럼 토폴로지 종류에 대하여 알아볼까요? 성형( Star )은 전화망에서 유래된 네트워크 접속 형태입니다. 특징으로는 가장 일반적인 네트워크 구성이며, 허브가 네트워크 중앙에 위치하여 다른 모든 노드를 연결합니다. 또한 모든 노드가 중앙에 허브에 연결되어 통신하므로 통신망의 처리 능력과 신뢰성은 허브가 좌우합니다. 링형이나 버스형 접속 형태처럼 한 노드가 고장이 나도 네트워크 전체가 다운되는 문제는 발생하지 않습니다. 각 장치는 서로 직접 연결되어 있지 않기 때문에 직접적으로는 통신이 불가하나 중앙에 있는 허브가 교환 역할을 합니다. 네트워크 통신은