개발자 일기 # 오픈소스 제품이 종료될 때.
제가 착각했을 수도 있지만, 많은 오픈 소스 도구가 폐쇄 상태로 전환되는 것 같은 느낌이 듭니다. 내 말은, 그들은 커뮤니티에서 매우 자주 지원되는 개발자를 위한 무료 도구에서 다양한 구독 계획이 있는 제품과 눈물만 흘리는 무료 계획으로 전환한다는 의미입니다. 동시에 그들은 자체 구현을 통해서만 커뮤니티를 생성하는 아이디어를 계속 사용합니다. 컨퍼런스에서 재미있는 사실이 있었는데, 한 개발자는 무료이고 여전히 안정적이고 유용하기 때문에 이전 버전의 라이브러리를 사용하라고 제안했습니다.
그래서 제 생각에는 시장 시작이 새로운 것의 발명에서 기존 접근 방식과 솔루션을 통한 수익 극대화 방향으로 초점이 약간 바뀌었다는 것입니다. 내 말은, 기존의 것을 가져다가 비슷한 솔루션을 만들고, 새 라이브러리에 넣고, 해당되는 경우 사용자 친화적인 UI를 더 추가하고, 사용자를 만족시킨다는 코멘트로 섹시한 랜딩 페이지를 만들어 개발자에게 판매하는 것은 로켓이 아니라는 뜻입니다. 누군가는 이것이 시장이고, 이렇게 작동하고, 사람들이 일하며, 스스로의 노력으로 돈을 벌 수 있다고 말합니다. 하지만 이 경우 오픈소스 프로젝트는 무료 소스 역할을 하며, 이를 먼저 효과적으로 활용하는 사람만이 승리할 수 있습니다.
순전히 제 느낌입니다. 당신도 같은 느낌이 드나요? 그러한 경향에 대한 귀하의 의견을 읽어보는 것도 흥미로울 것입니다.
X, GitHub, Medium 또는 LinkedIn에서 저를 찾으실 수 있습니다. 시간 내주셔서 감사합니다. 다음 게시물에서 뵙겠습니다.
위 내용은 개발자 일기 # 오픈소스 제품이 종료될 때.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

-CP 매개 변수를 사용하여 JVM이 ClassPath에 추가하여 JAVA -Clibrary.jarcom.example.Main과 같은 내부 클래스 및 리소스를로드 할 수 있으며, 이는 세미콜론 또는 콜론으로 분리 된 여러 항아리를 지원하며 클래스 경로 환경 변수 또는 Manifest.MF를 통해 구성 할 수 있습니다.

usefile.createnewfile () to reatefileonlyifitdoesn'texist, 피하기;

Javaspi는 JDK의 내장 서비스 검색 메커니즘이며 Serviceloader를 통한 인터페이스 지향 동적 확장을 구현합니다. 1. 서비스 인터페이스를 정의하고 Meta-Inf/Services/에서 인터페이스의 전체 이름을 가진 파일을 작성하고 구현 클래스의 정규화 된 이름을 작성하십시오. 2. serviceloader.load ()를 사용하여 구현 클래스를로드하면 JVM은 자동으로 구성을 읽고 인스턴스화합니다. 3. 인터페이스 계약은 설계 중에 명확 해지고 우선 순위 및 조건부로드를 지원하며 기본 구현을 제공해야합니다. 4. 응용 프로그램 시나리오에는 다중 지불 채널 액세스 및 플러그인 확인이 포함됩니다. 5. 성능, 클래스 경로, 예외 분리, 스레드 안전 및 버전 호환성에주의하십시오. 6. Java9에서는 모듈 시스템과 함께 제공 될 수 있습니다.

이 기사에서는 동일한 TCP 소켓, 즉 HTTP 영구 연결 (Keep-Alive)에서 여러 HTTP 요청을 전송하는 메커니즘을 심층적으로 살펴 봅니다. 이 기사는 HTTP/1.X와 HTTP/2 프로토콜의 차이를 명확히하고 지속적인 연결에 대한 서버 측 지원의 중요성과 연결을 올바르게 처리하는 방법 : 응답 헤더를 정확하게 처리하는 방법을 강조합니다. 일반적인 오류를 분석하고 모범 사례를 제공함으로써 개발자가 효율적이고 강력한 HTTP 클라이언트를 구축 할 수 있도록 도와줍니다.

Amplements 키워드를 사용하여 인터페이스를 구현하십시오. 이 클래스는 인터페이스에서 모든 메소드의 특정 구현을 제공해야합니다. 여러 인터페이스를 지원하고 메소드가 공개되도록 쉼표로 분리됩니다. Java 8 이후의 기본 및 정적 메소드는 다시 작성할 필요가 없습니다.

javagenericsprovidecompile-timetypesafetyandeliminatecastingtypeparametersonclasses, interfaces, methods; wildcards (?,? extendStype,? supertype) handlUnknowntypeswithflexible.1.useUnunUnunUndwildCardWhentyPeiLISIRVENTERREATHERNEATHEATHEATHEATHEATHEATHEATHEATHEATHEARVENTOUBERDERRELOUNTERRELONTERREATHEARBERBERBENTECASTS;

이 튜토리얼은 Java의 다른 배열 목록을 포함하는 중첩 된 배열 목록을 효율적으로 처리하고 모든 내부 요소를 단일 배열로 병합하는 방법을 자세히 설명합니다. 이 기사는 Java 8 Stream API의 FlatMap 작동을 통해 두 가지 핵심 솔루션을 제공합니다. 첫 번째는 목록으로 평평한 다음 배열을 채우고 다른 시나리오의 요구를 충족시키기 위해 새로운 배열을 직접 작성합니다.

속성 클래스를 사용하여 Java 구성 파일을 쉽게 읽으십시오. 1. config.properties를 리소스 디렉토리에 넣고 getClassLoader (). getResourCeasStream ()을 통해로드하고로드 () 메서드를 호출하여 데이터베이스 구성을 읽습니다. 2. 파일이 외부 경로에있는 경우 FileInputStream을 사용하여로드하십시오. 3. GetProperty (키, 기본값)를 사용하여 누락 된 키를 처리하고 기본값을 제공하여 예외 처리 및 입력 확인을 보장합니다.
