Microsoft Visual Studio, C 언어 지원 강화

Microsoft의 Visual Studio IDE는 C11 및 C17 C 언어 표준에 대한 지원을 추가하여 이전에 C11 및 C17에 대한 IDE의 제한적 지원을 확장했습니다. 수년 동안 Visual Studio는 C의 확장으로 빌드 된 C ++ 언어에 필요한 모든 것으로 C 지원을 제한했습니다. 이제 준수하는 토큰 기반 전처리 기가 컴파일러에 추가되었습니다. 두 컴파일러 스위치 /std:c11 및 /std:c17최신 ISO C 표준에 대한 적합성을 제공하기 위해 추가되었다. C11 및 C17 기능과 같은 지원 _Pragma, re

Homebrew 튜토리얼 : MacOS에서 Homebrew를 사용하는 방법

처음에는 명령 줄이있었습니다. 거의 모든 운영 체제에 해당되지만 그래픽 사용자 인터페이스가 컴퓨터의 "얼굴"이되는 과정에서 오래된 해커 나 입문자 만 명령 줄 콘솔이나 터미널을 여는 방법을 알고있었습니다. 많은 Mac 사용자는 Bash 셸에 명령을 입력하는 것보다 터미널 앱을 열지 않고도 놀라운 관리를 할 수 있습니다. Lightroom을 사용하여 스틸 이미지를 편집하는 데 하루를 보내는 경우 MacOS 명령 줄은 유용성이 거의 없습니다. 더 많은 기술 사용자, 특히 소프트웨어 개발자는 매일이 아니라면 적어도 가끔씩 쉘에서 작업해야합니다. 일부 Unix 또는 Linux 배경 지식을 가진 기술 사용자는 MacOS의 핵심이 BSD Unix 시스템 임에도 불구하고 공장에서 제공되는 모든 일반적인 유틸리티가 MacOS에 설치되는 것은 아니라는 것을 알게 될 것입니

C #에서 HashSet을 사용하는 방법

HashSet은 빠른 조회 및 고성능 집합 작업을 제공하는 정렬되지 않은 고유 한 요소의 최적화 된 모음입니다. HashSet 클래스는 .NET 3.5에서 처음 도입되었으며 System.Collection.Generic 네임 스페이스의 일부입니다. 이 기사에서는 C #에서 HashSet으로 작업하는 방법에 대해 설명합니다. 이 문서에 제공된 코드 예제를 사용하려면 시스템에 Visual Studio 2019가 설치되어 있어야합니다. 아직 복사본이없는 경우 여기에서 Visual Studio 2019를 다운로드 할 수 있습니다. Visual Studio에서 .NET Core 콘솔 애플리케이션 프로젝트 만들기 먼저 Visual Studi

Microsoft Visual Studio Code 1.50의 새로운 기능

Microsoft의 Visual Studio Code는 가장 인기있는 개발자 도구 중 하나가되었습니다. GitHub의 크로스 플랫폼 Electron 프레임 워크를 사용하여 구축 된 Visual Studio Code는 친숙한 C, C ++ 및 C #에서 Go와 같은 최신 언어에 이르기까지 다양한 프로그래밍 언어 및 프레임 워크를 지원하는 모든 기능을 갖춘 확장 가능한 오픈 소스 코드 편집기입니다. Rust 및 Node.js. Visual Studio Code는 Windows, MacOS 및 Linux에서 사용할 수 있습니다. Visual Studio Code 다운로드 위치 Windows, MacOS 및 Linux 용 편집기를 다운로드하려면 Microsoft의 Visual Code Studio 웹 사이트로 이동하십시오.  Visual Studio Code 1.

구글, 페이스 북 인수

편집자 주 : 다음 이야기는 2008 년 만우절의 가짜 뉴스 기능 패키지에서 가져온 것입니다. 사실이 아닙니다. 즐겨! 실리콘 밸리를 놀라게 한 움직임으로 구글은 인기있는 소셜 네트워크 페이스 북을 250 억 달러 상당의 현금과 주식 거래로 인수하겠다고 발표했다. 구글 CEO 에릭 슈미트 (Eric Schmidt)와 페이스 북 CEO 마크 주커 버그 (Mark Zuckerberg)는 서둘러 기자 회견을 열어 계약의 핵심 요소를 설명했다. 기술적으로 Zuckerberg는 구글이 페이스 북의 98.4 %를 구매하고 마이크로 소프트가 1.6 %의 소유권을 갖게되었다고 설명했다. "우리는 이것이 웹 2.0 경제에

초보자를위한 Android Studio, Part 4 : 디버깅 도구 및 생산성 플러그인

업데이트 : 2020 년 1 월. Android Studio는 내장 된 개발 도구의 풍부한 팔레트와 훨씬 더 풍부한 플러그인 생태계를 제공합니다. 이 시리즈의 처음 세 기사는 Android Studio로 간단한 모바일 앱을 설치, 설정 및 코딩하고 실행하는 데 중점을 두었습니다. 이제 Android 애플리케이션 코드의 품질과 생산성을 디버깅하고 개선하기위한 세 가지 기본 제공 도구와 세 가지 플러그인과 같은 고급 도구에 대해 알게 될 것입니다. 이 문서에서는 다음과 같은 Android Studio 용 도구를 소개합니다. 내장 디버깅 도구 Logcat 디버그

앱 제작자를위한 7 가지 최고의 와이어 프레임 및 프로토 타이핑 도구

최근에는 UI와 UX에 대해 많은 논의를했습니다. 아무도 이것에 대해 불평하지 않았기 때문에 앱 개발에 관련된 모든 사람들이 UI와 UX의 중요성을 인식하는 시점에 도달했다고 생각합니다. 훌륭한 앱 아이디어는 잘못 생각한 인터페이스와 경험으로 인해 쉽게 망가집니다. 그리고 현재 신속한 와이어 프레이밍 및 프로토 타이핑에 사용할 수있는 많은 도구가 있으므로 훌륭한 경험을 실행하지 않을 이유가 없어야합니다. 이 용어는 종종 함께 사용되지만 와이어 프레임과 프로토 타입 사이에는 분명한 차이가 있습니다. 와이어 프레임은 앱 구조의 기본 레이아웃입니다. 일반적으로 단순한 흑백과 같은 색상없이 수행되며 와이어 프레임은 텍스트, 이미지 및

Java는 새로운 javax.comm 패키지로 직렬 지원을받습니다.

Java Communications (일명 javax.comm) API는 통신 애플리케이션 작성자가 플랫폼 독립적 인 방식으로 통신 포트에 액세스하는 Java 소프트웨어를 작성할 수 있도록 제안 된 표준 확장입니다. 이 API는 터미널 에뮬레이션 소프트웨어, 팩스 소프트웨어, 스마트 카드 판독기 소프트웨어 등을 작성하는 데 사용할 수 있습니다. 좋은 소프트웨어를 개발한다는 것은 일반적으로 명확하게 정의 된 인터페이스를 갖는 것을 의미합니다. 이 그림에는 API 인터페이스 계층의 상위 수준 다이어그램이 나와 있습니다. 이 기사에서는 javax.comm을 사용하여 RS-232 기반 직렬 장치와 통신하는 방법을 보여줍니다. 또한 javax.comm API가 제공하는 것과 제공하지 않는 것에 대해서도 논의 할 것입니다. 이 API

Microsoft 이후의 GitHub : 변경된 방식

오랫동안 오픈 소스 개발의 주요 허브였던 GitHub는 2018 년 10 월 말에 Microsoft의 일부가되었습니다. 이제 한때 Xamarin CEO 인 Nat Friedman이 이끄는 클라우드 및 엔터프라이즈 소스 관리 플랫폼은 새로운 기능으로 손실 된 시간을 보충하고 있습니다. 새로운 가격 계획. 인수 프로세스 초기에 Microsoft는 GitHub가 회사의 나머지 부분과 협력 할 독립 자회사 인 자체 사업을 유지하도록 할 의도를 분명히했습니다. 이러한 접근 방식은 Microsoft에 새로운 것이 아닙니다. LinkedIn과 Minecraft의 Mojang

IIS에서 응용 프로그램 풀을 관리하고 구성하는 방법

응용 프로그램 풀은 IIS에서 응용 프로그램의 컨테이너 역할을합니다. 작업자 프로세스에서 제공 할 수있는 하나 이상의 URL 모음이며 격리를 제공합니다. 한 응용 프로그램 풀에서 실행되는 응용 프로그램은 다른 응용 프로그램 풀에서 실행되는 다른 응용 프로그램의 영향을받지 않습니다. 이 수준의 격리는 필요한 보호 경계를 제공하고 애플리케이션을 안전하게 만듭니다. IIS를 올바른 방법으로 구성하려면 응용 프로그램 풀이 무엇이며 어떻게 작동하는지 잘 이해해야합니다. IIS 컨텍스트에서 작업자 프로세스는 웹 응용 프로그램을 실행할 수 있으며 특정 응용 프로그램 풀과 관련된 요청을 처리합니다. 여러 작업자 프로세스가 포함 된 응용 프로그램 풀을 Web Garden이라고하며, 응용 프로

Java Tip 68 : Java에서 명령 패턴을 구현하는 방법 알아보기

디자인 패턴은 객체 지향 (OO) 프로젝트의 디자인 단계를 가속화 할뿐만 아니라 개발 팀의 생산성과 소프트웨어 품질을 향상시킵니다. 명령 패턴은 우리가 송신자와 수신자 사이의 완전한 디커플링을 달성 할 수있는 객체의 행동 패턴이다. ( 발신자 는 작업을 호출하는 객체이고 수신자 는 특정 작업을 실행하라는 요청을받는 객체입니다. 디커플링을 사용 하면 보낸 사람은 Receiver의 인터페이스 에 대해 알지 못합니다 .) 요청 이라는 용어는여기서는 실행할 명령을 나타냅니다. 또한 명령 패턴을 사용하면 요청이 이행되는시기와 방법을 변경할 수 있습니다. 따라서 명령

StackOverflowError 진단 및 해결

최근 JavaWorld 커뮤니티 포럼 메시지 (새 객체를 인스턴스화 한 후 Stack Overflow)는 Java를 처음 사용하는 사람들이 StackOverflowError의 기본 사항을 항상 잘 이해하지 못한다는 사실을 상기 시켰습니다. 다행히 StackOverflowError는 디버깅하기 쉬운 런타임 오류 중 하나이며이 블로그 게시물에서는 StackOverflowError를 진단하는 것이 얼마나 쉬운 지 보여줄 것입니다. 스택 오버플로의 가능성은 Java에만 국한되지 않습니다. 결과 스택 추적에서 줄 번호를 사용할 수 있도록 디버그 옵션을 켠 상태에서 코드를 컴파일 한 경우 StackOverflowError의 원인을 진단하는 것이 매우 간단 할 수 있습니다. 이러한 경우 일반적으로 스택 추적에서 반복되는 행 번호 패턴을 찾는 것은 간단합니다. 반복되는 줄 번호 패턴은 StackOverflowError가 종종 종료

Gentoo Linux가 왜 희미 해 졌나요?

Gentoo Linux가 왜 희미 해 졌나요? Gentoo Linux는 한때 상당히 잘 알려져 있었고, 많은 기술에 정통한 Linux 사용자들이 컴퓨터에서 실행하기로 결정했습니다. 그러나 Gentoo Linux는 시간이 지남에 따라 서서히 인기를 잃었고 이제는 Linux 사용자들 사이의 사용 및 마음 공유 측면에서 이전의 자아의 창백한 그림자가되었습니다 (여전히 Reddit에 일부 열심히 Gentoo 사용자가 남아 있음). Gentoo Linux는 어떻게 되었나요? 한 redditor가 Linux subreddit의 최근 스레드에서이 질문을했고 매우 흥미로운 답변을 얻었습니다. Walfers : "왜 Gentoo가 2005 년에 인기를 얻었 을까요? XANi :“2008 년에 Gentoo Wiki가 죽었고 좋은 문서를 많이 가져 갔고 백업이 없었습니다.” Px403 :“내가 한 모든 distro 스위치는 주로 보안에 관한 것이 었습니다. 2006 년경에 저는 모

놓치고 싶지 않은 JSON 도구

JavaScript Object Notation 용 JSON은 웹에서 유비쿼터스가 된 인기 있고 가벼운 데이터 교환 형식입니다. JSON은 개발자가 사용하기 쉽고 기계가 파싱하고 생성하기 쉬운 것으로 알려져 있습니다. 당연히 JSON은 JSON을 재 형식화, 유효성 검사 및 구문 분석하기위한 다양한 도구를 만든 도구 빌더의 관심을 끌었습니다. 웹 브라우저에서 실행하는 온라인 유틸리티부터 코드 편집기 및 Visual Studio Code 및 Eclipse와 같은 IDE 용 플러그인에 이르기까지 다양합니다. 다음은 이러한 도구 중 9 가지 선택 목록입니다. JSONLint CircleCell의 JSONLint는 JSON에 대한 온라인 유효성 검사기이자 형식입니다. 개발자는 편집기에 JSON을 붙여 넣거나 입력하거나

Java의 데이터 구조 및 알고리즘, Part 5 : 이중 연결 목록

단일 연결 목록에는 많은 용도가 있지만 몇 가지 제한 사항도 있습니다. 우선, 단일 연결 목록은 노드 탐색을 단일 방향으로 제한합니다. 먼저 노드 연결을 되 돌리지 않는 한 단일 연결 목록을 뒤로 탐색 할 수 없습니다.이 경우 시간이 걸립니다. 역 순회를 수행하고 노드 순회를 원래 방향으로 복원해야하는 경우 반전을 반복해야하므로 시간이 더 걸립니다. 단일 연결 목록도 노드 삭제를 제한합니다. 이 유형의 목록에서는 노드의 선행 노드에 액세스하지 않고 임의의 노드를 삭제할 수 없습니다. 다행히 Java는 Java 프로그램에 저장된 데이터를 검색하고 정렬하는 데 사용할 수있는

Graphics 클래스 사용

다양한 요소가 사람들이 소프트웨어 프로그램을 작성하도록 영감을줍니다. 많은 사람들에게 동기 부여는 그래픽을 만들거나 이미지를 조작하거나 애니메이션을 적용하려는 욕구에서 비롯된다고 생각합니다. 아케이드 게임, 비행 시뮬레이터 또는 CAD 패키지를 제작하든 개발자는 그리기를 배우는 것으로 시작하는 경우가 많습니다. Abstract Windowing Toolkit (또는 AWT) 내의 그래픽 도구 상자를 사용하면 Java 프로그래머가 간단한 기하학적 모양을 그리고 텍스트를 인쇄하고 프레임, 패널 또는 캔버스와 같은 구성 요소의 테두리 내에 이미지를 배치 할 수 있습니다. 이 칼럼은 그래픽 주제에 대한 첫 번째 칼럼입니다. Graphics간단한 기하학적 모양을 그리는 클래스와 메서드에 초점을 맞추고 페인팅 (및 다시 페인팅)이 발생하는 프로세스를 소개합니다. 중앙 무대 인 Gra

Java Reflection API에 대해 자세히 살펴보십시오.

지난달의 "Java In-Depth"에서는 원시 클래스 데이터에 대한 액세스 권한이있는 Java 클래스가 클래스 "내부"를 볼 수있는 방법과 클래스가 어떻게 구성되었는지 파악하는 방법에 대해 설명했습니다. 또한 클래스 로더를 추가하면 이러한 클래스를 실행중인 환경에로드하여 실행할 수 있음을 보여주었습니다. 이 예제는 정적 인트로 스펙 션 의 한 형태입니다 . 이번 달에는 Java 클래스에 동적 인트로 스펙 션 (이미로드 된 클래스 내부를 볼 수 있는 기능)을 수행 할 수있는 기능을 제공하는 Java Reflection API 를 살펴 보겠습니다. 자기 성찰의 유용성 Java의 강점 중 하나는 실행중인 환경이 동적으로 변경된다는 가정하에 설계되었다는 것입니다. 클래스는 동적으로로드되고 바인딩은 동적으로 수행

Java의 패키지 및 정적 가져 오기

이전 Java 101 튜토리얼에서 참조 유형 (클래스 및 인터페이스라고도 함)을 다른 참조 유형 및 블록의 멤버로 선언하여 코드를 더 잘 구성하는 방법을 배웠습니다. 또한 중첩 된 참조 유형과 동일한 이름을 공유하는 최상위 참조 유형 간의 이름 충돌을 피하기 위해 중첩을 사용하는 방법을 보여주었습니다. 중첩과 함께 Java는 패키지를 사용하여 최상위 참조 유형에서 동일한 이름 문제를 해결합니다. 정적 가져 오기를 사용하면 패키지 된 최상위 참조 유형의 정적 멤버에 대한 액세스도 단순화됩니다. 정적 가져 오기는 코드에서 이러한 멤버에 액세스 할 때 키 입력을 절약하지만 사용할 때주의해야 할 몇 가지 사항이 있습니다. 이 튜토리얼에서는 Java 프로그램에서 패키지 및 정적 가져 오기를 사용하는 방법을 소개합니다

올바른 NoSQL 데이터베이스를 선택하는 방법

NoSQL 데이터베이스는 기존 테이블 형식 (또는 SQL) 데이터베이스와 비교할 때 소프트웨어 개발자 및 다른 사용자에게 높은 운영 속도와 향상된 유연성을 제공합니다. NoSQL 데이터베이스에서 사용하는 데이터 구조 (키-값, 와이드 열, 그래프 또는 문서)는 관계형 데이터베이스에서 사용하는 구조와 다릅니다. 결과적으로 NoSQL 데이터베이스. NoSQL 데이터베이스는 수천 대의 서버로 확장 할 수 있지만 때로는 데이터 일관성이 손실됩니다. 그러나 오늘날 NoSQL 데이터베이스가 특히 관련이있는 이유는 분산 된 대규모 데이터 집합을 사용하는 데 특히 적합하기 때문에 빅 데이터 및 분석 프로젝트에 적합하다는 것입니다. NoSQL 데이터베이스를 선택하는 방법 : 주요 요소 시장에 24 개 이상의 오픈 소스 및 상

이벤트 및 청취자

사용자 지정 이벤트를 생성하는 방법과 구성 요소가 이벤트를받을 수 있도록 어떻게 발생합니까? 맞춤 이벤트를보기 전에 기존 이벤트 인 ActionEvent. 같은과 같은 구성 요소 Button와 JButton떨어져 화재 ActionEvents구성 요소 정의 행동의 어떤 종류를 나타냅니다. 예를 들어 사용자가 누를 때마다이 Button실행됩니다 ActionEvent. 이벤트의 전체 요점은 GUI의 구성 요소에 문제가 발생했음을 리스너에게 알리는 것입니다. 이벤트에는 리스너가 무슨 일이 일어 났는지, 누구에게 일어 났는지 (이벤트의 내용과 대상)을 파악하는 데 필요한 모든 정보가 포함됩니다. 이벤트는 자

북한 리눅스를 설치하는 것이 안전한가요?

북한 리눅스를 설치하는 것이 안전한가요? 북한의 Linux 버전 (Red Star OS)은 상당한 언론 보도를 받았으며 일부 Linux 사용자의 관심을 끌었습니다. 한 사용자는 Reddit 스레드에서 Red Star OS를 설치하여 확인하는 것이 안전한지 궁금했습니다. Behemoth9는 다음 게시물로 스레드를 시작했습니다. Red Star OS를 설치하는 것이 안전합니까? 사람들이 그것을 설치하고 VM에서 실행하는 것을 보았고 흥미로워 보이지만 집에보고됩니까? 정말 빙글 빙글 돌리고 싶지만 김정은이 나를 지켜 보지 않기를 바랍니다. 많은 내

저렴한 Windows 8.1 태블릿이 시장에 넘쳐납니다.

저렴한 Windows 8.1 태블릿을 원하십니까? 필드는 이미 붐비고 가격은 급격히 떨어집니다. 7 인치 터치 스크린으로 Windows 데스크톱을 다룰 수있는 사람이 누구인지 궁금 할 수 있지만, 바닥을 향한 경쟁은 ARM 기반 Windows RT에 대한 Microsoft의 문제를 강조합니다. 중국어 사이트 인 Padnews는 8 인치 Windows 8 태블릿 EM-i8080 120 달러로 가장 잘 알려진 Emdoor라는 회사가 현재 65 달러 (399 위안) 7 인치 Windows 8.1 장치 인 EM-I8170을 출하한다고 발표했습니다. 1,024x600 화면에서 1GB의 메모리와 16GB

ASP.Net에서 세션으로 작업하는 방법

HTTP는 상태 비 저장 프로토콜입니다. 이는 클라이언트에서 서버로 새 요청이 전송 될 때마다 이전 요청의 상태 정보가 손실됨을 의미합니다. ASP.Net에서 상태를 저장하고 관리하는 방법에는 여러 가지가 있습니다. 세션 개체는 그중 하나이고 나머지는 캐싱 및 응용 프로그램 개체입니다. 캐싱은 시스템의 리소스 소비를 최소화하여 애플리케이션의 성능을 향상시킵니다. 자주 사용하는 데이터 나 웹 페이지를 저장하여 서버 리소스 소비를 줄임으로써 응용 프로그램의 성능과 처리량 및 확장 성을 향상시킬 수 있습니다. 세션을 서버와 클라이언트 간의 연결 세션으로 정의 할 수 있습니다. 세션 객체는 사용자의 세션에 해당하는 데이터를 보유합니다. 세션은 나중에 검색 할 수 있도록 메

C #에서 대리자를 사용하는 방법

대리자는 대리자의 서명과 동일한 서명이있는 메서드를 참조 할 수있는 형식이 안전한 함수 포인터입니다. C #의 대리자를 활용하여 이벤트 및 콜백 메서드를 구현할 수 있습니다. 멀티 캐스트 대리자는 동일한 서명을 가진 하나 이상의 메서드를 가리킬 수 있습니다. C #의 대리자 이해 본질적으로 대리자는 메서드와 메서드가 호출되어야하는 대상 개체에 대한 참조를 보유합니다. C #의 대리자는 C ++의 함수 포인터와 비슷하지만 C # 대리자는 형식에 안전합니다. 대리자가 메서드를 가리 키도록하려면 메서드를 대리자에 매개 변수로 전달할 수 있습니다. 델리게이트는 콜백 메소드를 정의하고 이벤트 처리를 구현하는 데 사용되며 "del

자바 팁 : ForkJoinPool과 ExecutorService를 사용하는 경우

Java 7에 도입 된 Fork / Join 라이브러리는 멀티 코어 시스템의 핵심 기능인 하드웨어 병렬 처리를 지원하여 기존 Java 동시성 패키지를 확장합니다. 이 Java 팁에서 Madalin Ilie 는 웹 크롤러 애플리케이션에서 Java 6 ExecutorService클래스를 Java 7 로 대체 할 때의 성능 영향을 보여줍니다 ForkJoinPool. 웹 스파이더라고도하는 웹 크롤러는 검색 엔진 성공의 핵심입니다. 이러한 프로그램은 웹을 지속적으로 스캔하여 수백만 페이지의 데이터를 수집하여 검색 엔진 데이터베이스로 다시 보냅니다. 그런 다음 데이터가 인덱싱되고 알고리즘 적으로 처리되어 더 빠르고 정확한 검색 결과를 얻을 수 있습니다. 검색 최적화에 가장

자바 월드

너트 및 볼트 유선 프로토콜 SOAP로 유선 프로토콜 정리, Part 2 Apache SOAP를 사용하여 SOAP 기반 응용 프로그램을 만듭니다. 2001 년 4 월 27 일 서버 측 자바 양식 처리 API로 양식 처리를 용이하게합니다. JSP 및 JavaBeans와 함께 새로운 서블릿 기반 API를 사용하여 양식 데이터를 처리합니다. 2001 년 4 월 27 일 JCF 향상 안전한 형식 안전 컬렉션 Java Collections Framework에서 일반 유형 컨테이너의 문제를 극복하십시오. 2001 년 4 월 27 일 클라이언트 측 자바 프론트 엔드에서 Java로 성공을 만끽 HTML, Swing 또는 XML : Java 개발에 가장

Python 비동기 점검을위한 3 단계

Python은 비동기 프로그램을 작성하는 방법을 지원하는 많은 언어 중 하나입니다. 여러 작업간에 자유롭게 전환하는 프로그램, 모두 한 번에 실행되므로 어떤 작업도 다른 작업의 진행을 유지하지 못합니다. 하지만 여러분은 주로 동기식 Python 프로그램을 작성했을 것입니다. 한 번에 한 가지 작업 만 수행하고 다른 작업을 시작하기 전에 각 작업이 완료되기를 기다리는 프로그램입니다. 비동기로 이동하려면 새로운 구문뿐만 아니라 코드에 대한 새로운 사고 방식을 배워야하기 때문에 혼란 스러울 수 있습니다.  이 기사에서는 기존의 동기 프로그램을 어떻게 비동기 프로그램으로 바꿀 수 있는지 살펴볼 것입니다. 여기에는 비동기 구문으로 함수를

웹을 괴롭히는 7 가지 만성적 인 브라우저 버그

웹 브라우저는 놀랍습니다. 브라우저가 아니었다면 데이터와 문서를 데스크톱, 태블릿 및 휴대폰에 쏟아 부어 사용자 및 고객과 거의 연결할 수 없었을 것입니다. 아아, 웹 브라우저가 제공하는 모든 멋진 콘텐츠는 렌더링이 우리가 원하는만큼 우아하거나 버그가 없을 때 훨씬 더 좌절하게 만듭니다. 웹 사이트를 개발할 때, 우리는 브라우저에 빚을지고있는만큼 브라우저의 자비를받습니다. 모든 플랫폼의 모든 결함은 특히 사용자의 컴퓨터와 충돌 할 때 발생합니다. 그리고 돋보이거나 잘 어울리는 프리미엄과 같은 디자인으로 인해 굵은 선이나 잘못된 색상 터치는 우리가 만들려고 노력한 미적 경험을 파괴합니다. 선 너비에 추가 픽셀을 추가하거나 테이블을 조금 잘못 정렬하는 것과 같은 아주 작은 실수조차도 검색, 검토 및 작업

초보자를위한 Android Studio, Part 3 : 앱 빌드 및 실행

업데이트 : 2020 년 1 월. 초보자 용 Android Studio 2 부에서는 Android Studio를 사용하여 첫 번째 애니메이션 모바일 앱을 만들었습니다. 이제 Part 3에서는 Android 기기 에뮬레이터 또는 라이브 기기에서 앱을 빌드하고 실행하는 단계를 안내합니다. 먼저 Gradle을 사용하여 앱의 애플리케이션 패키지 (APK) 파일을 빌드합니다. 그런 다음 Android 기기 에뮬레이터 또는 실제 기기 (이 경우 Kindle Fire 태블릿)에서 앱을 설정하고 실행하는 방법을 보여 드리겠습니다. 또한 악명 높은 Timed out w

Western Digital, HGST가 가장 신뢰할 수있는 하드 드라이브 목록 1 위

작년에 클라우드 백업 서비스 인 Backblaze는 데이터 센터에서 떠오르는 수만 개 드라이브의 제조업체와 모델에 대한 통계를 분석했습니다. Hitachi와 Western Digital이 1 위를 차지했습니다. Seagate는 그다지 많지 않습니다. 이제 Backblaze는 맞춤형 설계 및 오픈 소스 스토리지 포드 드라이브 랙에서 실행되는 소비자 수준의 드라이브에서 수집 한 또 다른 1 년의 통계로 돌아 왔습니다. 전년도보다 두 배 이상 큰 데이터 세트에서 수집 한 결과는 이전 결과와 정사각형입니다. Hitachi (현 Western Digital의 자회사 인 HGST)는 조사 된 제조업체와 모델에서 가장 낮은 고장률을 보입니다. Western Digital 자체가 HGST보다 약간 덜 인상적인 숫자로 2 위를 차지했습니다. Backblaze는 블로그 게시물에서 "현재 HGST와 Seagate의 4TB 드라이브를 능가하기는 어렵습니다."라고 말했습니다. 백 블레이즈 반

JVM에서 메서드 오버로딩

새로운 Java Challengers 블로그에 오신 것을 환영합니다 ! 이 블로그는 Java 프로그래밍의 까다로운 개념에 전념합니다. 이를 마스터하면 고도로 숙련 된 Java 프로그래머가 될 수 있습니다. 이 블로그의 기술을 익히려면 약간의 노력이 필요하지만 Java 개발자로서 일상적인 경험에 큰 변화를 가져올 것입니다. 핵심 Java 프로그래밍 기술을 올바르게 적용하는 방법을 알면 버그를 피하는 것이 더 쉬우 며 Java 코드에서 일어나는 일을 정확히 알고 있으면 버그를 추적하는 것이 훨씬 쉽습니다. Java 프로그래밍의 핵심 개념을 마스터 할 준비가 되셨습니까? 그렇다면 첫 번째 Java Challenger를 시작해 보겠습니다!   용어 : 메서드 오버로딩 과부하 라는 용어로 인해 개발자는

해시 테이블

2002 년 6 월 21 일 Q : Hashtable에서 객체를 키로 사용할 때 Object 클래스에서 무엇을 재정의해야하며 그 이유는 무엇입니까? A : 당신이에서 사용하기 위해 자신의 키 객체를 생성 할 때 Hashtable, 당신은 오버라이드 (override) 할 필요가 Object.equals()및 Object.hashCode()이후 방법을 Hashtable사용하는 키의 조합 hashCode()및 equals()방법 가게를하고 신속하게 항목을 검색 할 수 있습니다. 을 재정의 할 때 equals()항상을 재정의 하는 것도 일반적인 규칙

Microsoft .Net Framework 4.8의 새로운 기능

Microsoft는 Windows 용 회사 애플리케이션 개발 프레임 워크의 최신 버전 인 .Net Framework 4.8을 출시했습니다. 이 업데이트는 Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation 및 Windows Communication Foundation에 대한 여러 버그 수정, 보안 패치 및 개선 사항을 제공합니다.  .Net Framework 4.8 다운로드 위치 Microsoft의 .Net 사이트에서 .Net Framework의 프로덕션 릴리스를 다운로드 할 수 있습니다.  현재 버전 : .Net Fra

자바 팁 67 : 지연 인스턴스화

얼마 전까지 만해도 8 비트 마이크로 컴퓨터의 온보드 메모리가 8KB에서 64KB로 증가 할 것이라는 전망에 감격했습니다. 지금 우리가 사용하는 리소스를 많이 사용하는 응용 프로그램이 계속 증가하고있는 것으로 판단 할 때, 그 작은 양의 메모리에 맞는 프로그램을 작성한 사람이 있다는 사실은 놀랍습니다. 요즘 우리는 더 많은 기억을 가지고 있지만, 이러한 엄격한 제약 내에서 작동하도록 확립 된 기술에서 몇 가지 귀중한 교훈을 배울 수 있습니다. 더욱이 Java 프로그래밍은 개인용 컴퓨터 및 워크 스테이션에 배포하기위한 애플릿 및 응용 프로그램을 작성하는 것만이 아닙니다. 자바는 임베디드 시스템 시장에도 강력한 진출을 이루었습니다. 현재의 임베디드 시스템은 메모리 리소스와 컴퓨팅 능력이 상대적으로 부족하기 때문에 프로

검토 된 자바 FTP 클라이언트 라이브러리

FTP 서버를 실행하는 원격 컴퓨터에서 파일을 다운로드해야하는 순수한 Java 애플리케이션을 작성하려는 상황을 상상해 봅시다. 또한 이름, 날짜 또는 크기와 같은 원격 파일 정보를 기준으로 다운로드를 필터링하려고합니다. FTP 용 프로토콜 핸들러를 처음부터 작성하는 것이 가능하고 재미있을 수도 있지만 그렇게하는 것도 어렵고 길며 잠재적으로 위험 할 수 있습니다. 처리기를 직접 작성하는 데 시간, 노력 또는 돈을 소비하지 않기 때문에 기존 소프트웨어 구성 요소를 재사용하는 것을 선호합니다. 그리고 World Wide Web에서 많은 라이브러리를 사용할 수 있습니다. FTP 클라이언트 라이브러리를 사용하면 파일 다운로드를 다음과 같이 간단하게 Java로 작성할 수 있습니다. FTPClient ftpClient = new FTPClient (); ftpClient.connect ( "ftp.foo.com", "user01", "pass1234"); ftpClient.do

Lotus Notes 이후 25 년, IBM, 이메일 재발 명 시도

IBM의 Verse 이메일은 일반적으로 불량 스타트 업과 연결되는 일종의 서비스입니다. 그것의 임무는 이메일을 덜어주게 만드는 것입니다. 그리고 가능하다면 구글과 개인과 기업을위한 웹 기반 이메일 시장의 거의 전체적인 지배력에 타격을줍니다. IBM Social Software 부사장 Jeff Schick의 블로그 게시물은 데모 비디오에서 Verse에 대한 세부 정보를 제공합니다. Verse는 메시지가 아닌 사람을 의사 소통의 기본 단위로 사용하여 메일 자체 구성 및 작업 우선 순위를 쉽게 지정할 수 있도록 설계되었습니다. 팀 구성원간에 공유 된 콘텐츠는 다운로드하지 않고도

SRE 란 무엇입니까? 사이트 안정성 엔지니어의 중요한 역할

세상이 온라인으로 전환됨에 따라 웹 사이트, 클라우드 애플리케이션 및 클라우드 인프라의 안정성은 전자 상거래 운영에서 글로벌 은행, 검색 엔진에 이르기까지 모든 분야에서 중요한 비즈니스 필수 요소가되었습니다. 시스템과 워크로드를 관리하는 방식이 변경되었습니다. 오늘날 우리는 귀중한 하이 터치 고성능 서버에 대해 거의 생각하지 않고 대신 가상화를 통해 함께 풀링 된 상용 서버 랙에 랙을 장착하고 분산 된 소프트웨어 아키텍처를 통해 서버 중단으로 인한 다운 타임을 방지합니다. 초점은 하드웨어에서 소프트웨어 정의 인프라로, 일관성이없고 오류가 발생하기 쉬운 수동 프로세스에서 일관되고 안정적이며 반복 가능한 자동화 작업으로 옮겨졌습니다. 사이트 안정성 엔

Java의 데이터 구조 및 알고리즘, Part 3 : 다차원 배열

Java의 데이터 구조 및 알고리즘, Part 2에서는 가장 단순한 배열 인 1 차원 배열을 검색하고 정렬하는 다양한 기술을 소개했습니다. 이 자습서에서는 다차원 배열을 살펴 봅니다. 다차원 배열을 만드는 세 가지 방법을 보여주고 행렬 곱셈 알고리즘을 사용하여 2 차원 배열의 요소를 곱하는 방법을 배웁니다. 또한 비정형 어레이를 소개하고 빅 데이터 애플리케이션에 인기있는 이유를 배우게 될 것입니다. 마지막으로 배열 이 Java 객체 인지 아닌지에 대한 질문을 고려할 것 입니다.  이 기사에서는 단일 링크 목록을 사용한 검색 및 정렬을 소개하는 Part 4에 대해 설명합니다. 다차원 배열 다차원 어레이는 여러 인덱스 어레이의 각각의 요소를 연관시킨다. 가장 일반적으로 사용되는 다차원 배열은 테이블

Pipenv로 Python 프로젝트를 관리하는 방법

Python의 패키지 에코 시스템을 사용하면 간단한 pip install명령 으로 수백만 명의 다른 개발자의 작업을 활용할 수 있습니다 . Python의 가상 환경을 사용하면 프로젝트와 패키지를 서로 격리 할 수 ​​있습니다. 그러나 환경과 패키지를 별도로 저글링하는 것은 다루기 어려울 수 있습니다. 프로젝트에 특정 패키지 요구 사항이 있고 유지 관리 대신 개발에 집중하려는 경우 두 배입니다. 우리에게 필요한 것은 환경과 패키지를 함께 관리하는 방법입니다.  Pipenv는 Python 가상 환경 및 Python 패키지 관리를 단일 도구로 롤링합니다. Pipenv는 각 프로젝트가 필요한 각 패키지의 올바른 버전을 사용하고 각 패키지가 올바른 종속성을 가지고 있

ASP.NET에서 HttpModules를 사용하는 방법

ASP.NET 응용 프로그램의 요청 파이프 라인에 논리를 삽입 할 수있는 방법에는 HttpHandlers와 HttpModules 두 가지가 있습니다. HttpModule은 ASP.NET 요청 처리 파이프 라인의 일부이며 응용 프로그램에 대한 모든 요청에 ​​대해 호출되는 구성 요소입니다. HttpModules는 요청의 수명주기 이벤트에 액세스 할 수 있으므로 응답을 수정하는데도 사용할 수 있습니다. HttpModules는 일반적으로 요청 처리 파이프 라인에서 보안, 로깅 등과 같은 교차 절단 문제를 연결하는 데 사용되며 URL 재 작성 및 응답에서 사용자 지정 헤더를 만

검토 : Visual Studio 2015가 새로운 지평을 열다

Visual Studio는 항상 각 릴리스와 함께 성장하는 다양한 기능을 갖춘 큰 제품이었습니다. Visual Studio 2015는 Microsoft에서 예상하지 못했던 방식으로 이러한 추세를 확장합니다. 크로스 플랫폼 모바일 앱 개발? Xamarin에 한 번, Cordova에 한 번, 이식 가능한 C ++ 및 Unity와의 통합에 대한 추가 크레딧과 함께이 확인란을 두 번 이상 선택합니다. 크로스 플랫폼 서버? .Net Core, ASP.Net 및 Entity Framework, Python 및 Node.js의 경우이 확인란을 적어도 세 번 선택합니다. 크로스 플랫폼 편집 및 디버깅? 예. Visual Studio Code는 Mac OS X, Linux 및 Windows에서 실행됩니다. 크로스 플랫폼 애플리케이션 라이프 사이클 관리? Git 및 GitHub가 지원

Google Cloud Anthos 란 무엇인가요? 어디서나 Kubernetes

Google Cloud는 2019 년 4 월 Anthos 플랫폼을 출시하여 온 프레미스, Google Cloud, 그리고 결정적으로 Amazon Web Services (AWS) 및 Microsoft Azure를 포함한 기타 주요 퍼블릭 클라우드에서 Kubernetes 워크로드를 실행할 수있는 방법을 고객에게 약속했습니다. 이 중요한 마지막 부분은 GCP를 달성하는 데 시간이 걸립니다. 이 회사는 마침내 2020 년 4 월에 AWS에 대한 Anthos 지원을 발표했으며 Azure 지원은 현재 일부 고객에게 미리보기로 남아 있습니다. 2019 년 샌프란

Java Tip 24 : 응용 프로그램에서 오디오를 재생하는 방법

Java 응용 프로그램에서 오디오 파일을 재생하는 것은 현재 Java 릴리스에서 공식적으로 지원되지 않습니다. 그러나 두려워하지 마십시오. 방법이 있습니다! 이 팁은 Java 애플릿에서 오디오 클립을 재생하는 것과 관련된 기본 단계에 대한 설명으로 시작하여 Java 애플리케이션 지원으로 이동하는 방법을 보여줍니다. 애플릿에서 오디오 클립을 재생하는 것은 매우 간단하며 다음 단계를 포함합니다. AudioClip 개체 만들기 .au 사운드 파일을 AudioClip에로드 사운드를 한 번 재생하거나 계속 반복 재생 중지 이 단계의 코드는 다음과 같습니다. import java.applet. *; AudioClip ac = getAudioClip (getCodeBase (), soundFile); ac.play (); /

Python 목록 데이터 유형으로 작업하는 방법

Python은 일반적인 데이터 랭 글링 작업을 쉽게 만들어주는 내장 데이터 유형 모음과 함께 제공됩니다. 그 중에는  단순하지만 다양한 컬렉션 유형 인 목록이 있습니다. Python 목록을 사용하면 Python 개체를 위치별로 액세스하고, 추가, 제거, 정렬하고, 세분화 할 수있는 1 차원 행으로 그룹화 할 수 있습니다. Python 목록 기본 사항 Python으로 목록을 정의하는 것은 쉽습니다. 목록에서 항목을 나타내려면 대괄호 구문을 사용하기 만하면됩니다. list_of_ints = [1, 2, 3] 목록의 항목이 모두 동일한 유형일 필요는 없습니다. 모든 Python 객체가 될 수 있습니다. (여기서는 Three 함수 라고 가정  합니다.) list_of_objects = [ "

Rust 1.48의 새로운 기능

Rust 프로그래밍 언어의 독특한 접근 방식은 C, C ++, Go 및 아마도 사용하는 다른 언어보다 더 적은 손상으로 더 나은 코드를 만듭니다. 또한 매월 정기적으로 업데이트됩니다. 최신 Rust 버전을 다운로드 할 수있는 곳 이미를 통해 이전 버전의 Rust가 설치되어 있다면 rustup다음 명령을 통해 최신 버전에 액세스 할 수 있습니다. $ rustup 업데이트 안정 관련 비디오 : Rust로 더 안전한 소프트웨어 개발 시스템 수준의 빠른 소프트웨어를 생성하도록 설계된 새로운 Rust를 빠르게 익히십시오. 이 2 분짜리 애니메이션 설명은 Rust가 메모리 및 관리의 성가신 프로그래밍 문제를 어떻게 우회하는지 보여줍니다. Rust 1.48.0의 새로운 기능 2020 년 11 월 19 일에 공개 된 Rust 1.48.0은 Rustdoc 라

C #에서 volatile 키워드를 사용하는 경우

공용 언어 런타임에서 JIT (just-in-time) 컴파일러가 사용하는 최적화 기술은 .Net 프로그램이 다중 스레드 시나리오에서 데이터의 비 휘발성 읽기를 수행하려고 할 때 예측할 수없는 결과를 초래할 수 있습니다. 이 기사에서는 휘발성 및 비 휘발성 메모리 액세스의 차이점, C #에서 volatile 키워드의 역할 및 volatile 키워드를 사용하는 방법을 살펴 봅니다. 개념을 설명하기 위해 C #으로 몇 가지 코드 예제를 제공합니다. volatile 키워드가 작동하는 방식을 이해하려면 먼저 JIT 컴파일러 최적화 전략이 .Net에서 작동하는 방식을 이해해야합니다. JIT 컴파일러 최적화 이해 JIT 컴파일러는 최적화 전략의 일부로 프로그램의 의미와 최종 출력을 변경하지 않는 방식으로 읽기 및 쓰기 순서를 변경한다는 점에 유의해야합니다. 이것은 아래 주어진 코드 스 니펫에 설명되어 있습니다. x =

Java를 iOS로 가져올 계획

OpenJDK 커뮤니티에 떠있는 제안은 Apple의 iOS에서 Java를 시작하려고합니다. 이 계획에는 iOS 및 Android 용 OpenJDK 클래스 및 API를 구축하기위한 OpenJDK Mobile 프로젝트 작업을 다시 시작하는 것이 포함된다고 모바일 개발자 Gluon의 CTO 인 Johan Vos는 말했습니다. Vos는 최근 이러한 노력과 관련된 게시판을 게시했습니다. OpenJDK Mobile은 Java 개발자에게 익숙한 도구를 활용하여 최신 버전의 OpenJDK 소스 저장소에있는 동일한 API를 iOS 및 Android에 제공하는 데 중점을 둡니다. 그러나 첫 번째 초

자바의 3D 그래픽 프로그래밍, Part 3 : OpenGL

자바의 3D 그래픽 프로그래밍에 대한이 시리즈의 마지막 기사 (이 칼럼의 끝 부분에서 자세히 설명합니다) 이후 오랜 시간이 지났습니다. 마지막으로 논의한 내용과 중단 한 부분에 대한 간단한 복습이 있습니다. 앞의 두 열 (참고 자료 참조)에서 우리는 Java 3D를 살펴 보았다. 정적 콘텐츠와 작은 장면에 대해 논의한 다음 더 큰 장면 그래프를 사용하고 일부 기본 3D 세계에 상호 작용을 구축했습니다. 이제 Java 3D 사용에 대해 조금 알았으므로 3D 그래픽에 대한 Java 3D 접근 방식을 주요 그래픽 API 경쟁자 인 OpenGL과 비교하고 대조 할 차례입니다. 이 기사는 원래 코드 집약적 인 것이었지만 Magician 바인딩 (

IBM의 새로운 CEO가 자신의 로드맵을 제시합니다.

새로 임명 된 IBM CEO 인 Arvind Krishna는 지속적인 글로벌 유행병으로 인해 스트리밍 비디오를 통해 이번 주에 첫 번째 IBM Think 컨퍼런스를 개최했습니다. 기조 연설에서 그는 "하이브리드 클라우드와 AI가 오늘날 디지털 혁신을 주도하는 두 가지 지배적 인 힘"이라는 자신의 신념을 재확인 할 기회를 가졌습니다. 놀랍게도 컨퍼런스에서 발표 된 많은 후속 발표는 하이브리드 클라우드에 달려 있었으며, 이는 IBM이 2018 년에 340 억 달러에 걸쳐 Red Hat을 인수함으로써 상당 부분 가능했습니다. IBM Cloud Satellite의 기술 미리보기를 확인하십시오. 이 제품은 "클라우드 서비스를 고객이 필요로하는 모든 곳, as-a-service, 온 프레미스 또는 에지로 확장합니다."라고 K

Microsoft는 IE8, IE9 및 IE10에 대한 지원을 종료합니다.

Internet Explorer 8, 9 및 10이 마지막 보안 업데이트를 받고 1 월 12 일에 단종 될 예정이므로 Microsoft는 마침내 노후된 웹 브라우저에서 나아갈 것입니다. 운영 체제에서 Internet Explorer를 사용할 수 있습니다. 수명이 다했다고해서 이전 버전의 Internet Explorer가 갑자기 작동을 멈춘다는 의미는 아니며, 업데이트하라는 Microsoft의 잔소리 알림을 끄는 방법이 있습니다. 하지만 지원되는 브라우저로 전환하지 않는 것은 공격자가 Internet Explorer의 패치되지 않은 취약점을 자주 표적으로 삼는다는 점을 고려할 때 엄청난 보안 실수입니다. 정기적으로 업데이트되는 브라우저는 여전히 웹 기반 공격에 대한 중요한 방어선입니다. 그러나 수명 종료는 특정 세그먼트 (대부분의 Windows 사용자)에게만 적용됩니다. Microsoft의 수석 컨설턴트 인 Steve Thomas

Windows Small Business Server 2011의 주요 기능

Windows Small Business Server 2010은 통합 된 관리 기능과 대부분의 새로운 네트워크가 감당할 수있는 가격표를 제공하는 단일 패키지에 번들로 제공되는 Microsoft 최고의 서버 기술의 비용 효율적인 조합입니다. Windows Server 2008 R2, Exchange 2010 및 SharePoint Foundation 2010으로 구축 된 SBS 2011은 엔터프라이즈 네트워크에서 사용자가 기대하는 모든 기능을 엔터프라이즈 비용없이 제공합니다. SBS 2011은 부품의 합보다 훨씬 낫습니다. Microsoft는 다양한 핵심 서비스를 단일 패키지로 통합하는 인상적인 작업을 수행했으며 통합 콘솔 덕분에 번들을 관리하기 쉽습니다. 새로운 서비스는 모두 최신 및 최고의 릴리스이지만 지금까지 가장 중요한 업그레이드 중 하나는 Internet Explorer뿐만 아니라 모든 브라우저를 사용하여 Outlook Web App 및 원격 웹 액세스 포털에 액세

데메테르의 법칙 이해하기

데메테르의 법칙 (또는 최소 지식의 원리)은 소프트웨어 응용 프로그램을 개발하기위한 설계 지침입니다. 1987 년 Northeastern University에서 처음 논의 된이 원칙은 물체가 다른 물체의 내부 세부 사항을 절대 알 수 없다는 것을 말합니다. 소프트웨어 설계에서 느슨한 결합을 촉진하도록 설계되었습니다. 결합은 소프트웨어 모듈 사이에 존재하는 상호 의존 정도와 그러한 모듈이 서로 얼마나 밀접하게 연결되어 있는지로 정의 될 수 있습니다. 응용 프로그램의 구성 요소 간의 결합이 많을수록 시간이 지남에 따라 수정하고 유지 관리하는 것이

ASP.Net에서 HTTPHandlers를 사용하는 방법

HTTPhandler는 요청에 대한 응답으로 실행되고 확장을 기반으로 특정 요청을 처리하는 데 사용되는 끝점으로 정의 될 수 있습니다. ASP.Net 런타임 엔진은 요청 URL의 파일 확장명을 기반으로 들어오는 요청을 처리 할 적절한 처리기를 선택합니다. 반대로 HttpModule은 ASP.Net 요청 처리 파이프 라인의 일부인 구성 요소이며 응용 프로그램에 대한 모든 요청에 ​​대해 호출됩니다. HTTPhandler와 HttpModules의 기본 목적은 파이프 라인에 전처리 로직을 주입하는 것입니다. 애플리케이션이 다양한 크기의 이미지를 제공해야한다고 가정합니

AWS re : Invent 2020에서 기대할 수있는 것

클라우드 컴퓨팅 거대 기업인 Amazon Web Services (AWS)는 다음 주에 가장 큰 이벤트를 개최합니다. AWS re : Invent는 11 월 30 일부터 12 월 18 일까지 처음으로 온라인 전용으로 무료로 실행됩니다. 올해이 행사는 라스 베이거스 스트립의 여러 호텔에 퍼지지 않고 3 주 동안 온라인으로 진행됩니다. 이것은 자체 물류 문제를 가져옵니다. 이 이벤트는 월요일 밤에“Late Night with AWS”세션으로 시작되며, 12 월 1 일 화요일에 CEO Andy Jassy의 전형적인 3 시간 기조 연설이 이어질 것입니다.이 기조 연설은 목요일 파트너 기조 연설이 이어질 것입니다. CTO Werner Vogels는 12 월 15 일 화요일에

ASP.Net 캐싱의 모범 사례

캐싱은 시스템의 리소스 소비를 최소화하여 응용 프로그램의 성능을 향상시키기 위해 ASP.Net에서 자주 채택되는 상태 관리 전략입니다. 적절하게 사용하면 wWb 페이지를 전체 또는 부분적으로 저장하여 애플리케이션의 성능을 상당히 향상시킬 수 있으며 HTTP 요청을 통해 애플리케이션의 데이터를 저장할 수도 있습니다. 캐싱을 사용하면 웹 페이지를 더 빠르게 렌더링 할 수 있으며 적절한 캐싱을 사용하면 데이터베이스 적중 또는 서버 리소스 소비를 최소화하거나 줄일 수 있습니다. ASP.Net의 캐싱은 다음 세 가지 유형입니다. 페이지 출력 캐싱 페이지 조각 캐싱 데이터 캐싱 페이지 출력 캐싱 이것은 동일한 웹 페이지에 대한 후속 요청을 캐시에서 직접 가져올 수 있도록 웹 페이지의 복사본을 메모리 캐시에 저장하는 ASP.Net의 캐싱 형

C #에서 리포지토리 디자인 패턴을 구현하는 방법

디자인 패턴은 애플리케이션에서 반복되는 문제에 대한 솔루션으로 사용되며 리포지토리 패턴은 가장 널리 사용되는 디자인 패턴 중 하나입니다. 즉, 데이터 지속성이 아래에서 발생하는 방식에 대해 신경 쓰지 않고 기본 데이터베이스에서 해당 개체가 실제로 어떻게 유지되는지 알아야 할 필요없이 개체를 유지합니다. 이 지속성에 대한 지식, 즉 지속성 논리는 저장소 내부에 캡슐화됩니다. 본질적으로 리포지토리 디자인 패턴은 데이터 지속성이 실제로 발생하는 방법에 대한 지식이 없어도 응용 프로그램에서 비즈니스 논리와 데이터 액세스 계층의 분리를 용이하게합니다. 리포지토리 디자인 패턴을 사용하면 데이터 저장소에서 데이터가 최종적으로 저장되거나 검색되는 방법에 대한 세부 정보를 숨길 수 있습니다. 이 데이터 저장소는 데이터베이스, xml 파일 등이 될 수 있습니다.이

Java 101 : 고통없는 Java 동시성, Part 1

동시 애플리케이션의 복잡성이 증가함에 따라 많은 개발자는 Java의 저수준 스레딩 기능이 프로그래밍 요구 사항에 충분하지 않다는 사실을 알게되었습니다. 이 경우 Java 동시성 유틸리티를 검색 할 때가 될 수 있습니다. java.util.concurrentExecutor 프레임 워크, 동기화 기 유형 및 Java Concurrent Collections 패키지에 대한 Jeff Friesen의 자세한 소개를 통해을 시작하십시오 . Java 101 : 차세대 이 새로운 JavaWorld 시리즈의 첫 번째 기사에서는 Java Date

Hello, OSGi, Part 1 : 초보자를위한 번들

OSGi (Open Services Gateway Initiative)는 모듈 식 애플리케이션 및 라이브러리를 개발하고 배포하기위한 아키텍처를 정의합니다. OSGi에 대한 3 부로 구성된이 첫 번째 기사에서 Sunil Patil은 OSGi 개발 개념을 시작하고 Eclipse OSGi 컨테이너 구현 인 Equinox를 사용하여 간단한 Hello World 애플리케이션을 빌드하는 방법을 보여줍니다. 또한 OSGi를 사용하여 서비스 지향 애플리케이션을 구축하는 방법에 대해 간략히 설명하고 OSGi ServiceFactory와 ServiceTracker클래스를 소개 합니다. Java 용 동적 모듈 시스템이라고도하는 OSGi (Open Services Gateway Initiative)는 모듈 식 애플리케이션 개발을위한 아키텍처를 정의

Cython 튜토리얼 : 파이썬 속도를 높이는 방법

Python은 배우기 쉽고 작업하기 쉬운 강력한 프로그래밍 언어이지만 실행하기가 항상 빠르지는 않습니다. 특히 수학이나 통계를 다룰 때 더욱 그렇습니다. C 라이브러리를 래핑하는 NumPy와 같은 타사 라이브러리는 일부 작업의 성능을 크게 향상시킬 수 있지만 때로는 Python에서 직접 C의 원시 속도와 성능이 필요합니다. Cython은 Python 용 C 확장을보다 쉽게 ​​작성하고 기존 Python 코드를 C로 변환 할 수 있도록 개발되었습니다. 게다가 Cython을 사용하면 최적화 된 코드를 외부 종속성없이 Python 애플리케이션과 함께 제공 할 수 있습니다. 이 튜토리얼에서는 기존 Python 코드를 Cython으로 변환하고 프로덕션 애플리케이션에서 사용하는 데 필요한 단계를 안내합니다. 관련 비디오 : Cython을 사용하여

Mac에 Linux를 설치해야합니까?

Mac에 Linux를 설치해야합니까? 일부 Linux 사용자는 Apple의 Mac 컴퓨터가 잘 작동한다는 사실을 발견했습니다. Amazon과 Linux의 리퍼 비시 Mac을 결합하면 비교적 저렴한 컴퓨터에서 고품질 운영 체제를 만들 수 있습니다. 그러나 Mac에 Linux를 설치할 가치가 있습니까? Softpedia의 한 작가는 최근 기사에서 바로 그 질문을 고려했습니다. Softpedia에 대한 Marius Nestor 보고서 : 많은 사람들이 호기심 때문에 Mac에 Linux를 설치하기를 원할 것입니다.하지만 슬픈 사실은 인터넷 전체에서 Linux를 제거하는 방법을 묻는 것입니다. Mac 컴퓨터의

마음에 드는 8 가지 무료 가상 어플라이언스

무료 점심 같은 것은 없지만이 기사에서 설명하는 8 가지 가상 어플라이언스를 무료로 다운로드 할 수 있습니다. 그렇다고 하이 엔드 프로덕션 환경에서 이러한 기능을 사용할 수 있다는 의미는 아니지만 사용할 수 없다는 의미는 아닙니다. 일부는 해당 경로를 선택하면 유료 및 지원 버전도 있습니다. 우리 컬렉션에는 세계에서 가장 인기있는 웹 애플리케이션 스택, 2 개의 블로깅 플랫폼, NAS 서버, 네트워크 및 시스템 모니터링, 로그 검색 및보고, 보안 네트워크 액세스를위한 기성 서버가 포함됩니다. VMware Solution Exchange 및 / 또는 Bitnam

JDK 15 : Java 15의 새로운 기능

Oracle의 Java SE (Standard Edition) 차기 버전 구현 인 Java Development Kit 15는 2020 년 9 월 15 일에 프로덕션 릴리스로 제공됩니다. JDK 15의 하이라이트에는 텍스트 블록, 숨겨진 클래스, 외부 메모리 액세스 API, Z 가비지 수집기, 봉인 된 클래스, 패턴 일치 및 레코드 미리보기 JDK 15는 단기 릴리스 일 뿐이며 내년 3 월 JDK 16이 출시 될 때까지 6 개월 동안 만 Oracle Premier Support를 통해 지원됩니다. Oracle이 8 년 동안 지원할 차기 장기 지원 릴리스 인 JDK 17은 Java SE 버전에 대한 Oracle의 6 개월 릴리스주기에 따라 지금부터 1 년 후에 출시 될 예정입니다. 개발자들은 이제 JDK 15를 살펴보고 JDK 17에 포함될 내용을 파악할 수 있다고 Oracle Java Platform Group의 사장 인 Georges Saab은 말했습니다. 현재 LTS 릴리스는

어휘 분석과 자바 : 1 부

어휘 분석 및 구문 분석 Java 애플리케이션을 작성할 때 생성해야하는 일반적인 것 중 하나는 파서입니다. 파서는 단순한 것부터 복잡한 것까지 다양하며 명령 줄 옵션에서 Java 소스 코드 해석에 이르기까지 모든 작업에 사용됩니다. 에서 JavaWorld 의 12 월호, 나는 당신에게 파서를 구현하는 자바 클래스로 변환 높은 수준의 문법 사양 그 사양에 의해 기술 된 것을 자동 파서 생성기를 잭을 보였다. 이번 달에는 Java가 대상 어휘 분석기 및 파서를 작성하기 위해 제공하는 리소스를 보여 드리겠습니다. 이 다소 간단한 파서는 간단한 문

자바 자바 스크립트

최근 JavaLobby 게시물 The Top 10 Unused Features in Java는 매우 인기가 있습니다. 이 글을 쓰는 시점에서 DZone Top Links 카테고리에서 가장 높은 순위의 게시물입니다. 또한 그것에 대한 답글도 게시되었습니다. 두 블로그 게시물 모두에서 Java의 활용도가 낮은 기능에 대한 흥미로운 관찰이 많이 있으며 나는 다른 것보다 더 많은 것에 동의합니다. 하지만 정말 관심을 끌었던 항목은 Java SE 6이 가장 많이 사용되지 않는 Java 기능 중 하나라는 주장이었습니다. 저는 Java SE 6으로 작업하는 것을 정말 좋아하고 과거에 Java SE 6 기능에 대해 여러 번 작성하거나 블로그에 올렸습니다. 이 블로그 게시물에서 Java SE 6의 JavaScript 코드 실행을 호스팅하는 기능의 일부를 보여 드리고자합니다. 대부분의 자바 개발자

Visual Studio 2019의 새로운 기능

Microsoft는 컴퓨터가 유휴 상태 일 때 업데이트가 발생하는 Visual Studio 2019 IDE의 프로덕션 버전을 출시했습니다. Visual Studio 2019 다운로드 위치 Visual Studio 웹 사이트에서 Visual Studio 2019를 다운로드 할 수 있습니다. Visual Studio 2019의 새로운 기능 Visual Studio 2019에서 개발자는 다음과 같은 새로운 기능과 변경된 기능을 얻습니다. Git 저장소를 복제하거나 기존 프로젝트를 여는 것이 더 쉽습니다. 템플릿 선택 화면을 개선하여 새 프로젝트를 시작하는 것도 더 쉽습니다. Azure 클라우드에서 애플리케이션을 디버깅하기위한 Snapshot Debugger는 Azure Kubernetes Service 및 Virtual Machine Scale

자바 정규식, Part 1 : 패턴 매칭 및 패턴 클래스

Java의 문자 및 분류 된 문자열 클래스는 패턴 일치에 대한 저수준 지원을 제공하지만 일반적으로 이러한 지원은 복잡한 코드로 이어집니다. 더 간단하고 효율적인 코딩을 위해 Java는 Regex API를 제공합니다. 이 두 부분으로 구성된 자습서는 정규식 및 Regex API를 시작하는 데 도움이됩니다. 먼저 java.util.regex패키지 에있는 세 가지 강력한 클래스의 압축을 푼 다음 Pattern클래스와 정교한 패턴 일치 구조를 살펴 보겠습니다 .다운로드 코드 받기이 자습서에서 예제 응용 프로그램의 소스 코드를 다운로드합니다. JavaWorld를 위해 Jeff Friesen이 만들었습니다. 정규식이란 무엇입니까? 정규식 이라고도, 정규식 또는 정규 표현식

Java API를 사용한 프로그래밍, Part 1 : OpenAPI 및 Swagger

커피를 마시는 동안 Java 애플리케이션 개발이 다시 변경 되었습니다 . 급격한 변화와 혁신이 주도하는 세상에서 API가 다시 돌아오고 있다는 것은 아이러니합니다. 자율 주행 차 시대의 뉴욕시 지하철 시스템에 해당하는 코딩과 마찬가지로 API는 오래 되었지만 필수 불가결 한 오래된 기술 입니다. 흥미로운 점은이 보이지 않는 일상적인 IT 아키텍처가 어떻게 재 구상되고 현재 기술 트렌드에 사용되는지입니다. API는 어디에나 있지만 클라우드 배포의 중추 인 RESTful 서비스로서 원격 화에서 특히 두드러졌습니다. 클라우드 서비스는 공용 API로 , 공용 엔드 포인트와 게시 된 구조가 특징입니다. 클라우드 기반 앱 은 독립적이지만 관련 배포 인 마이크로 서비스로 향하고 있습니다. 이러한 모든

클라우드 IDE 차기 : AWS Cloud9 vs. Eclipse Che vs. Eclipse Theia

의존성이 많은 프로그래밍 프로젝트에 새로운 개발자를 데려 오는 것은 때때로 악몽 일 수 있습니다. 나는 회사가 마침내 포기하고 이전 컴퓨터를 구성하려고 한 달 동안 문제를 겪은 후 개발자에게 새 컴퓨터를 구입하는 극단적 인 경우를 보았습니다. 일반적으로 새 개발자를위한 새 개발 환경을 설정하는 데는 3 일에서 2 주가 소요될 수 있습니다. 이 문제는 웹 기반 개발자 작업 공간의 동기 중 하나입니다. 또 다른 동기는 로컬 개발을위한 머신이 상당한 CPU 및 RAM 리소스를 필요로하여 하드웨어 비용을 증가 시킨다는 것입니다. 이러한 리소스를 통해 개발자는 프로젝트를 신속하게 구축 할 수 있습

C #에서 제어 반전을 사용하는 방법

제어 반전과 종속성 주입을 모두 사용하면 애플리케이션의 구성 요소 간의 종속성을 끊고 애플리케이션을보다 쉽게 ​​테스트하고 유지 관리 할 수 ​​있습니다. 그러나 제어 반전과 종속성 주입은 동일하지 않습니다. 둘 사이에는 미묘한 차이가 있습니다. 이 기사에서는 제어 패턴의 반전을 조사하고 C #의 관련 코드 예제를 사용하여 종속성 주입과 어떻게 다른지 이해합니다. 이 문서에 제공된 코드 예제를 사용하려면 시스템에 Visual Studio 2019가 설치되어 있어야합니다. 아직 복사본이없는 경우 여기에서 Visual Studio 2019를 다운로드 할 수 있습니다.  Visual Studio에서

작은 파이썬 웹 프레임 워크 8 가지

Python의 편리함과 다양성은 거의 모든 IT 생활에서 소프트웨어를 구축하는 데 사용된다는 것을 의미합니다. 한 가지 주요 틈새 시장은 웹 서비스로, Python의 개발 속도와 유연한 은유 덕분에 웹 사이트를 빠르게 시작하고 실행할 수 있습니다. 그리고 짐작할 수 있듯이 Python은 크고 작은 웹 프레임 워크에서 많은 선택권과 관용도를 제공합니다. 결국 모든 웹 프로젝트가 엔터프라이즈 규모 일 필요는 없습니다. 대부분은 일을 완수 할 수있을만큼 충분히 커야하며 더 커서는 안됩니다. 이 기사에서는 단순성, 경량 전달 및 긴밀한 초점을 강조하는 가장 잘 알려

FireWire 종료에 대처하는 방법

지난 여름 애플은 15 인치 레티 나 맥북 프로를 발표했다. 놀랍게도 파이어 와이어 포트가 없다. 그 자리에 Apple의 최신 주변기기 커넥터 인 USB 3.0이 있는데, 이는 동등한 성능을 제공하며 최근 Windows PC에서 널리 사용됩니다. 그런 다음 10 월에 Apple은 모두 동일한 제한이 적용되는 13 인치 MacBook Pro와 새로운 iMac을 공개했습니다. 두 점이 선을 구성하는 경우 이러한 발표에 의해 만들어진 선은 향후 Mac에서 FireWire의 종료를 나타냅니다. 아아, FireWire는 외장 하드 드라이브, 카메라 및 캠코더, 음악 처리 장비를 연결하기 위해 Mac 세계에서 널리 사용됩니다. USB 2.0은 이러한 목적에 너무 느립니다. USB 3.0은 여전히 ​​유용하고 값 비싼 레거시 장비에서 지원하기에는 너무 새롭습니다. 18

GitHub의 데스크톱 및 모바일 도구 시작하기

Microsoft는 작년 인수 이후 GitHub와 매우 직접적인 접근 방식을 취했습니다. 이것은 많은 의미가있는 접근 방식입니다. 오픈 소스 커뮤니티와 마이크로 소프트의 과거 관계는 최고가 아니었고 레드몬드의 오픈 디자인과 오픈 개발 모델로의 중요한 움직임에도 불구하고 여전히 신뢰가 많지 않습니다. 그러나 그렇다고 GitHub가 정체되고 표류하는 것은 아닙니다. 대신, 새로운 리더십과 미래에 대한보다 명확한 이해를 바탕으로 GitHub는 제품 개발 및 롤아웃을 가속화하여 웹 서비스와 플랫폼에 기능을 추가했습니다. GitHub의 자체 개발자 중심 도구는 GitHub Desktop에 대한 정기 업데이트와 iOS 및 Android 용 최초의 기본 모바일 애플리케이션 출시로 인해 훨씬 ​​더 많은 관

Python 제작자 인 Guido Van Rossum이 Microsoft로 향합니다.

목요일 정오에 게시 된 트윗에서 Python 프로그래밍 언어 제작자 인 Guido van Rossum은 Microsoft의 Developer Division에 합류하여 Windows와 Python에서 일반적으로 Python을 개선하기 위해 노력할 것이라고 발표했습니다. van Rossum은 마이크로 소프트의 개발자 부서에 합류했다고 발표하면서“은퇴가 지루하다고 생각했습니다. “무엇을? 말할 수있는 옵션이 너무 많습니다! 그러나 그것은 확실히 파이썬을 더 잘 사용할 것입니다 (Windows뿐만 아니라 :-). 여기에는 많은 오픈 소스가 있습니다. 이 공간을보십시오.” 이것은 마이크로 소프트와 파이썬이 처음으로 힘을 합친 것과는 거리가 멀다. Microsoft는 Python 개발자에게 Microsoft의 Visual Stu

마이크로 서비스 란 무엇입니까? 다음 소프트웨어 아키텍처

거의 모든 컴퓨터 시스템은 공유 리소스를 사용하여 여러 작업을 수행하며 컴퓨터 프로그래밍의 질문 중 하나는 이러한 작업을 수행하는 코드 비트가 서로 얼마나 밀접하게 연결되어야 하는가입니다. 점점 인기 대답은 microservice의 개념 - 다른 microservices와 상호 작용이 더 큰 시스템을 만들 수 있다는 기능의 작은, 이산 덩어리. 이러한 개별 구성 요소를 갖는 기본 아이디어는 새로운 것은 아니지만 마이크로 서비스가 구현되는 방식은 최신 클라우드 기반 애플리케이션 모두를위한 자연스러운 기반이됩니다. 마이크로 서비스는 또한 새로운 기능을 신속하고 지속적으로 출시하도록 장려하는 devops 철학과 일치합니다. 마이크로 서비스 란 무엇입니까? 마이크로 서비스의 "마이크로"는 이것이 소규모 애플리케이션임을 의미합니다. 그것은 때때로 사실이지만, 그것들에

초보자를위한 XML

HTML과 World Wide Web은 어디에나 있습니다. 그들의 편재성의 예로서, 나는 올해 부활절을 위해 중앙 아메리카에 갈 예정이며, 원한다면 웹 서핑을하고, 이메일을 읽고, 심지어 인터넷 카페에서 온라인 뱅킹을 할 수있을 것입니다. 안티구아 과테말라 및 벨리즈 시티. (하지만 그렇게하면 야자 나무와 럼이 가득한 코코넛과 데이트하는 데 시간이 걸리기 때문에 그렇게 할 생각은 없습니다.) 그럼에도 불구하고 HTML의 편재성과 인기에도 불구하고 할 수있는 일이 극히 제한적입니다. 비공식 문서를 배포하는 것은 좋지만 HTML은 이제 설계되지 않은 작업을 수행하는 데 사용되고 있습니다. HTML에서 강력하고 유

Ubuntu 15.04 리뷰

Ubuntu 15.04 리뷰 Ubuntu 15.04가 방금 출시되었으며 Canonical의 최신 데스크톱 배포에 대한 초기 리뷰가 있습니다. 지금까지 소문은 다소 혼합 된 것처럼 보였으며 Ubuntu 15.04는 화려하고 새로운 기능이 많지 않은 비교적 낮은 키 릴리스이기 때문에 놀라운 일이 아닙니다. PC Pro의 Darien Graham-Smith는 Ubuntu 15.04에 깊은 인상을받지 못했습니다. 사실 우분투 15.04는 눈에 띄지 않는 업데이트에 대한 기준을 높입니다. 사용자 관점에서 유일하게 눈에 띄는 변경 사항은 화면 상단이 아닌 각 창에 나타나는 애플리케이션 메뉴입니다. 이러한 동작은 14.04

javac의 -Xlint 옵션

Oracle (이전에는 Sun)이 제공하는 Java 프로그래밍 언어 컴파일러 (javac)에는 종종 유용한 여러 비표준 옵션이 있습니다. 가장 유용한 것 중 하나는 컴파일 중에 발생한 경고를 출력하는 비표준 옵션 세트입니다. 이 옵션 세트가이 게시물의 주제입니다. 비표준 옵션에 대한 javac 페이지 섹션에서는 이러한 각 옵션에 대한 간략한 세부 정보를 나열하고 제공합니다. 다음은 해당 페이지의 관련 스 니펫입니다. 이러한 옵션 목록은 javac -help -X 명령을 사용하여 명령 줄 (Java SDK가 설치된 경우)에서도 사용할 수 있습니다. 이것은 위에 표시된 매뉴얼

개발자는 첫 번째 Java 바이러스를 만들고 이름을 'Strange Brew'로 지정합니다.

1998 년 8 월 28 일 -웹에서 최초의 Java 바이러스가 Codebreakers 전자 매거진에 게시되었습니다 . 코드 명 "Landing Camel"을 사용하는 개발자가 만든 Strange Brew라고하는이 바이러스는 Java 지원 브라우저에 내장 된 고유 한 보안 기능이이를 물리 칠 수 있기 때문에 사용자에게 극도로 위험하지 않은 것 같습니다. Strange Brew를 개발 한 호주 대학생은 Java 고유의 ​​문제를 보여주기 위해 그렇게했습니다. 시만텍 안티 바이러스 연구 센터 (SARC)의 수석 연구원 인 Carey Nachenberg는이 바이러스는 자체 복제 바이러스가 Java 프로그래밍 언어를 사용하여 생성되고 전달 될 수 있음을 입증합니다. Nachenberg는 "Java 애플리

Java Tip 112 : 정보가 풍부한 문자열의 토큰 화 개선

대부분의 Java 프로그래머는 java.util.StringTokenizer때때로 클래스를 사용했습니다 . 기본적으로 구분 기호를 기반으로 입력 문자열을 토큰 화 (중단)하고 요청시 토큰을 제공 하는 편리한 클래스입니다 . (토큰 화는 문자 시퀀스를 프로그램이 이해하는 토큰으로 바꾸는 행위입니다.) 편리하지만 StringTokenizer의 기능은 제한적입니다. 클래스는 입력 문자열에서 구분 기호를 찾고 구분 기호가 발견되면 문자열을 끊습니다. 구분 기호가 하위 문자열 내에 있는지 여부와 같은 조건을 확인하지 않으며 ""입력에서 두 개의 연속 구분 기호가 발견되면 토큰을 (문자열 길이 0) 으로 반환하지 않습니다 . 이러한 제한을 충족하기 위해 J

Java는 다른 언어에 비해 얼마나 안전합니까?

사이버 보안의 다른 측면과 마찬가지로 프로그래밍 언어 보안 수준은 "보안"이라는 의미에 따라 달라집니다. Java는 일반적으로 사용되는 다른 언어보다 취약성이 적다는 것은 사실입니다. 적어도 언뜻보기에 일부 최신 언어가 Java보다 더 안전 해 보이는 것도 사실입니다. Java에서 발견 된 많은 보안 허점은 인기의 결과입니다. 널리 사용된다는 것은 수천 명의 버그 사냥꾼이 Java 언어 취약점을 찾는 데 전념하고 있음을 의미하며, 이로 인해 Java는이 분야에서 불공정 한 "이점"을 얻게됩니다. 마찬가지로 Ruby와 같은 일부 새로운 언어의 묵시적 보안은 무결성보다 틈새 사용을 반영 할 수 있습니다.   [또한

오늘날 개발자를 괴롭히는 12 가지 윤리적 딜레마

기술 세계는 항상 힘이 길고이 힘의 결과에 대해 생각하는 데 부족했습니다. 그것이 구축 될 수 있다면, 기술이 처음부터 구축되어야하는지 여부는 말할 것도없고 더 안전하고 건전한 방법을 고려하지 않고 그것을 구축 할 사람이 항상있을 것입니다. 소프트웨어가 작성됩니다. 어디서 어떻게 사용하는지 누가 신경 쓰나요? 그것은 코너 사무실에있는 누군가를위한 일입니다. 더 심각한 문제 : 윤리 과정은 물리 세계 공학 학위의 필수 요소가되었지만 컴퓨터 과학 교육학에서는 여전히 마지 못해 변칙적입니다. 그러나 소프트웨어가 우리 삶의 더 많은 부분을 차지함에 따라 프로그래머가 내린 결정의 윤리적 결과

C #의 GC.Collect 메서드에 대한 내 2 센트

GC.Collect () 메서드는 오랫동안 .Net 개발자들 사이에서 인기가있었습니다. 그러나 실제로 어떻게 작동하는지 또는 전화가 필요한지 아는 사람은 거의 없습니다. CLR (공용 언어 런타임)은 애플리케이션에서 사용하는 리소스를 정리하는 메커니즘으로 가비지 수집을 채택합니다. .Net에서 개체를 만들면 관리되는 힙에 저장되며 사용이 끝나면 정리에 대해 걱정할 필요가 없습니다. 런타임이 자동으로 처리합니다. CLR은 관리되는 힙을 여러 세대로 구성합니다. 관리되는 힙이 구성되는 세 세대는 0 세대, 1 세대 및 2 세대입니다. GC는 관리 대상 개체가 차지하는 메모리를 재 확보하는 데 능숙합니다. 그러나 애플리케이션의 성능을 향상시키기

IT에서 프리랜서가되는 데 따른 숨겨진 함정

독립적 인 IT 계약자의 삶은 충분히 매력적으로 들립니다. 클라이언트를 선택할 수있는 자유, 일정을 설정할 수있는 자유, 해변에서 코드를 작성하면서 급여를 설정할 수있는 자유 등입니다. 그러나이 모든 자유에는 대가가 따릅니다. 물론, 일부 기술 세트에 대한 어려운시기는 IT가 판매자의 시장을 프리 랜싱하게 만들 수 있지만, 스스로 눈에 띄는 것은 장애물을 동반합니다. 당면 과제와이를 해결하기 위해해야 ​​할 일을 더 많이 인식할수록 IT 프리랜서로서의 성공 가능성이 높아집니다. 우리는 현재 및 전직 IT 프리랜서들과 함께 솔로 활동의 숨겨진 문

실시간 협업 코딩을위한 7 가지 도구 및 서비스

대부분의 경우 소프트웨어 프로젝트에서 공동 작업하는 것은 Git과 같은 도구를 사용하여 작업하는 것을 의미합니다. 교대로 수정 한 다음 최종 제품을 단일 코드베이스로 조정합니다. 그러나 코드에 대한 실시간 공동 작업 (두 명 이상의 사람이 동일한 파일에서 실시간으로 작업)은 최근 몇 년 동안 훨씬 더 실용적이되었습니다. 한 사람이 최종 코드에 서명하도록하고 싶지만 다른 사람의 편집 내용을 볼 수 있다는 것은 원격 학습, 크런치 타임 작업 및 동료 검토에 큰 도움이됩니다. 다음은 웹 기반 서비스 또는 코드 편집 기용 추가 기능을 통해 팀원과 실시간 협업을 수행하는 7 가지 방법입니다. AWS Cloud9 Amazon이 인수 한 타사 제품인 AWS Cloud9는 다양한 수준의 도구로 약 40 개의 프로그래밍 언어를 지원하는 브라우저 내 개발 환경을 제공합니다. 여러

Apache Solr 란 무엇입니까? 그리고 그것을 사용해야하는 이유

Apache Solr는 Apache Lucene의 하위 프로젝트로, 가장 최근에 생성 된 검색 및 색인 기술 뒤에있는 색인 기술입니다. Solr은 핵심 검색 엔진이지만 그 이상입니다. 트랜잭션을 지원하는 NoSQL 데이터베이스입니다. SQL 지원을 제공하고 분산 방식으로 실행하는 문서 데이터베이스입니다. 흥미로운가요? 자세히 살펴 보려면 저와 함께하십시오. (전체 공개 : 저는 Solr 프로젝트에 많은 주요 기여자들을 고용하는 Lucidworks에서 일합니다.) 이상적으로는 8GB 이상의 RAM을 갖춘 괜찮은 머신 (또는 AWS 인스턴스 사용)이 필요합니다. //lucene.apache.org/solr에서 Solr를 찾을 수 있습니다. 또한

Google Vision API를 사용하는 방법

최근에 저는 컴퓨터가 어떻게보고, 듣고, 느끼고, 냄새를 맡고, 맛볼 수 있는지에 대해 다루었습니다. 코드에서 '볼 수있는'방법 중 하나는 Google Vision API를 사용하는 것입니다. Google Vision API는 코드를 Google의 이미지 인식 기능에 연결합니다. Google 이미지 검색을 images.google.com에 대한 일종의 API / REST 인터페이스라고 생각할 수 있지만 유사한 이미지를 표시하는 것 이상을 수행합니다. Google Vision은 얼굴 부분뿐 아니라 고양이인지 사람인지 감지 할 수 있습니다. Google 세이프

오픈 소스 자바 프로젝트 : GitHub

GitHub에 대해 궁금하다면 오픈 소스 Java 프로젝트 시리즈 의이 짧은 자습서 가 적합합니다. 많은 개발자가 개별적으로 또는 공동으로 작업하는 방식을 변경 한 소스 코드 저장소의 개요를 확인하십시오. 그런 다음 일반 Git 명령을 사용하여 자체 오픈 소스 프로젝트를 분기하고 커밋하여 GitHub를 직접 사용해보세요. GitHub는 버전 제어 시스템으로 Git을 사용하는 소셜 코딩 웹 사이트 및 소스 코드 호스팅 서비스입니다. 2008 년에 시작된 GitHub는 이미 약 170 만 명의 사용자가 거의 3 백만 개의 저장소를 호스팅하고 있습니다. 대부분의 소셜 네트워크와 마찬가지로 GitHub를 사용하면 사용자가 서로의 프로젝트와 관련된 피드를 만들고 팔로우 할 수 있습니다. 또한 저장소 사용량을 표시하는 네트워크 그래프를 포함

Java Tip 130 : 데이터 크기를 알고 있습니까?

최근에 저는 인 메모리 데이터베이스와 유사한 Java 서버 애플리케이션 설계를 도왔습니다. 즉, 초고속 쿼리 성능을 제공하기 위해 수많은 데이터를 메모리에 캐싱하도록 설계를 편향 시켰습니다. 프로토 타입을 실행 한 후 디스크에서 파싱 및로드 된 데이터 메모리 공간을 프로파일 링하기로 결정했습니다. 그러나 만족스럽지 못한 초기 결과는 설명을 검색하도록 유도했습니다. 참고 : 리소스에서이 기사의 소스 코드를 다운로드 할 수 있습니다. 도구 Java는 의도적으로 메모리 관리의 여러 측면을 숨기므로 객체가 소비하는 메모리 양을 파악하려면 약간의 작업이 필요합니다. 이 Runtime.freeMemory()방법을 사용하여 여러 개체가 할당되기 전후의 힙 크기 차이를 측정 할 수 있습니다 . Ramchander Varadar

리뷰 : Dell Venue 11 Pro 7140은 2-in-1 노트북의 왕입니다.

Dell Venue 11 Pro 7140을 2 개월 동안 무수한 방법으로 사용한 후-내 책상, 이동 중, TV 앞, 도킹, 키보드 연결, 태블릿 전용, 무선 키보드 사용, 대형 고해상도 모니터 2 개 포함 -나는 늠름한 데스크탑 컴퓨터를 버리고 싶은 유혹이 있습니다. Core i7 수준에 가까운 성능과 차트에 팁을주는 배터리 수명으로이 작은 아름다움은 펀치를 포장합니다. 그러나 어떤 의미에서도 저렴하지는 않습니다. 보급형 버전 (699 달러)에는 뛰어난 Intel Core M-5Y10 Broadwell 프로세서 (Core i5-4200U와 유

확장 가능한 행이있는 R에서 테이블을 만드는 방법

검색 및 정렬 기능이있는 대화 형 테이블은 데이터를 탐색하는 좋은 방법입니다. 때로는 R로 더 많은 작업을 수행하는 비디오 자습서 목록과 같은 텍스트 전용 데이터를 포함하여 해당 데이터를 다른 사람들과 공유하고 싶을 수도 있습니다. 그러나 해당 데이터에 상당히 긴 항목이있는 열이 포함 된 경우 해당 열은 화면 너비의 테이블에 잘 맞지 않을 수 있습니다. 모든 행에 매우 넓은 열이 포함되어 있지 않은 경우 특히 까다로울 수 있습니다. 예를 들어, 한 필드가 "추가 의견이 있습니까?"인 설문지 결과 테이블이 있습니다. 모든 사람이 그럴 수있는 것은 아닙니다. 확

가짜 '정품이 아님'보고서, 유효성 검사 코드 0x8004FE21에 의해 Windows 7 공격

이번 달의 블랙 화요일 현상금 문제가있는 패치를 따르셨습니까? 좋은. 질문이 있습니다. Microsoft Answers 포럼 게시물의 공통점은 무엇입니까? Windows 정품이지만 정품이 아닌 메시지가 표시됨 내 Windows가 정품이 아니라는 말을 들었습니다. Windows 7 메시지 재 유효성 Windows 정품 인증 문제 "이 컴퓨터는 Windows의 정품 버전을 실행하고 있지 않습니다."이 버전이 정품임을 알고 있습니다. 어떻게 고치나요? "Windows 7 Build 7601이 Windows 사본은 정품이 아닙니다." 소매점에서 Wind

JNDI 개요, Part 3 : 고급 JNDI

이번 달에는 많은 부분을 다룰 필요가 있으므로 보풀을 제거하고 총알 부분까지 잘라낼 것입니다. 첫째, Java Naming 및 Directory Interface는 여러 Java 기술에서 중요한 역할을합니다. 전체 Java 그림에서 JNDI의 전략적 위치를 더 잘 이해하기 위해이 역할을 살펴 보겠습니다. 다음으로, 작동하는 JNDI 서비스가 필요하다는 점을 인식하고 자유롭게 사용할 수있는 이식 가능한 LDAP 구현을 소개하고 JNDI 서비스 공급자에 연결하고 사용하는 방법을 알려 드리겠습니다. 마지막으로 JNDI의 항목에 개체를 바인딩하는 방법을 자세히 살펴 보겠습니다. 텍스트 상자 : TEXTBOX_HEAD : J

rtweet 및 R로 Twitter를 검색하는 방법

Twitter는 R에 대한 훌륭한 뉴스 소스입니다. 특히 useR과 같은 컨퍼런스에서 더욱 그렇습니다! 및 RStudio 컨퍼런스. R과 rtweet 패키지 덕분에 쉽게 검색, 정렬 및 필터링 할 수 있도록 트윗을 다운로드하는 자체 도구를 구축 할 수 있습니다. 단계별로 살펴 보겠습니다. 먼저 rtweet, reactable, glue, stringr, httpuv, dplyr 등 아직 가지고 있지 않은 rtweet 프로젝트의 패키지를 설치하려고합니다. 그런 다음 시작하려면 rtweet 및 dplyr을로드하십시오. # 다음 중 하나를 설치해야

Java를 빠르게 : 최적화하십시오!

선구적인 컴퓨터 과학자 인 Donald Knuth에 따르면, "조기 최적화는 모든 악의 근원입니다." 최적화에 대한 모든 기사는 일반적 으로 최적화보다 최적화 하지 않는 이유가 더 많다는 점을 지적하는 것으로 시작해야합니다 . 코드가 이미 작동하는 경우 최적화는 새롭고 미묘한 버그를 도입하는 확실한 방법입니다. 최적화는 코드를 이해하고 유지하기 어렵게 만드는 경향이 있습니다. 여기에 제시된 기술 중 일부는 코드의 확장 성을 줄여 속도를 높입니다. 한 플랫폼에 대한 코드를 최적화하면 실제로 다른 플랫폼에서 더 나빠질 수 있습니다. 최적화에 많은 시간이 소요될 수 있지만 성능은 거의 향상되지 않으며 코드가 난독 화 될 수 있습니다. 코드 최적화에 지나치게 집착하면 사람들은 당신을 등 뒤에서 괴짜라고 부를 것입니다.

Enterprise JavaBeans에 대한 초보자 가이드

EJB (Enterprise JavaBeans)는 1998 년 3 월 Enterprise JavaBeans 사양 버전 1.0이 발표 된 이후 많은 관심을 불러 일으켰습니다 . Oracle, Borland, Tandem, Symantec, Sybase 및 Visigenic과 같은 회사는 EJB 사양을 준수하는 제품을 발표 및 / 또는 제공했습니다. 이번 달에는 Enterprise JavaBeans가 정확히 무엇인지 자세히 살펴 보겠습니다. EJB가 원래의 JavaBeans 구성 요소 모델과 어떻게 다른지 살펴보고 EJB가 왜 그렇게 엄청

Java SE의 웹 서비스, Part 1 : 도구 개요

Java Standard Edition (SE) 6에는 웹 서비스 지원이 포함되었습니다. 이 게시물은 웹 서비스가 무엇인지 설명하고 이에 대한 Java SE의 지원을 개괄하여 Java SE의 웹 서비스에 대한 4 부작 시리즈를 시작합니다. 향후 게시물에서는이 지원을 사용하여 SOAP 기반 및 RESTful 기반 웹 서비스를 구축하고 고급 웹 서비스 주제를 다룰 것입니다. Java XML 및 JSON 이 시리즈에서는 여러분이 XML과 JSON을 이해하고 있다고 가정합니다. 그렇지 않다면 이 게시물의 끝에서 광고되는 내 Java XML 및 JSON 책 을 확인 하는 것이 좋습니다. 웹 서비스 란 무엇입니까? Wikipedia는 웹 서비스 를 "네트워크를 통해 상호 운용 가능한 시스템 간 상호 작용을 지원하도록 설계된 소프트웨어 시스템"으로 정의 합니다.

Julia는 무엇입니까? 수치 컴퓨팅에 대한 새로운 접근 방식

Julia는 수치 컴퓨팅을위한 무료 오픈 소스, 높은 수준의 고성능 동적 프로그래밍 언어입니다. 부분적으로는 네이티브 기계어 코드를 생성하는 LLVM 기반의 JIT 컴파일러 덕분에 컴파일 된 정적으로 형식화 된 언어의 성능과 부분적으로는 다중을 통한 전문화를 통해 형식 안정성을 구현하는 디자인 덕분에 동적 언어의 개발 편의성을 제공합니다. 효율적인 코드로 쉽게 컴파일 할 수 있습니다. 2012 년 Julia의 최초 출시를 알리는 블로그 게시물에서 언어의 저자 인 Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman은 욕심 이 많기 때문에 Julia를 만드는 데 3 년을 보냈다고 말했습니다 . 그들은 Matlab, Lisp, Python, Ruby, Perl, Mathematica, R 및 C 간의 절충에 지쳤으며 과학 컴퓨팅, 기계 학습, 데이터 마이

AWS vs. Azure vs. Google Cloud : 어떤 무료 등급이 가장 좋습니까?

무료 콘텐츠를 싫어하는 사람은 누구입니까? 퍼블릭 클라우드 공급 업체는 우리 모두가 잘 알고 있습니다. 주요 클라우드 서비스는 신용 카드가있는 인디 개발자부터 7 자리 SLA를 줄이는 기업에 이르기까지 모든 사람에게 제품을 제공합니다. 3 대 기업인 Amazon AWS, Google Cloud Platform 및 Microsoft Azure는 배너와 함께 다양한 개별 서비스의 무료 평가판도 제공합니다. 무료 제공은 항상 전체 프로덕션 작업에 충분하지는 않지만 청구서를 실행하지 않고도 서비스가 어떻게 작동하는지 좋은 맛을 얻을 수 있습니다. 상시 무료 서비스 목록은

C #에서 람다 식을 사용하는 방법

Lambda 표현식은 LINQ (Language Integrated Query)가 제공되는 동시에 .NET 3.5에서 처음 도입되었습니다. Lambda 식은 익명 메서드와 비슷하지만 훨씬 더 유연합니다. 람다 식을 사용하는 경우 입력 유형을 지정할 필요가 없습니다. 따라서 람다 식은 익명 메서드를 더 짧고 깔끔하게 표현하는 방법을 제공합니다. 이 기사에서는 C #에서 람다 식을 사용하는 방법을 살펴 보겠습니다. 이 문서에 제공된 코드 예제를 사용하려면 시스템에 Visual Studio 2019가 설치되어 있어야합니다. 아직 복사본이없는 경우 여기에서 Visual Studio 2019를 다운로드 할 수 있습니다.  Visual Studio에서 콘솔 애플리케이션 프로젝트 만들기 먼저 V