ninesided
그는 물었다 12년 전
37

응용 프로그램 구성 파일

좋아, 그럼 내가 여기 성전 don& # 39, t 시작할 수 있지만, 이 과정에서 we& # 39, re 하고, 우리는 우리의 응용 프로그램 구성 파일 및 we& consolidate 운행에서어떠한 처리하십니까 # 39 더 좋은 결정을 외곽진입 데 어려움을 겪고 있을 정도다. 지금은 우리가 사용하는 모든 응용 프로그램, 파일, 임시 분산합니다 it& # 39 의 고유한 구성, XML 이나 JSON 표시할지를 it& # 39 의 속성 파일 (ini 스타일) (내부용입니다 순간!).

대부분의 코드를 보는 순간, ve been # 39 는 Java 도왔으매 we& 아파치 커먼즈 구성용 아주 자세히 볼 수 있지만, ve we& # 39 수 있습니다. # 39, 스마르빈스 역시 이제는 we& 바라볼 수 있지만, 많은 파프링 수립하였습니다 것 같다. 난 또 것처럼 느끼는 방향으로 추진되고 있지만 내 형식 XML 로 I& # 39 m, 클라이언트 및 동료 연구원들은 대한 두려워 하고 something else. # 39 에서 # 39 의 관점, everybody& client& 내가 이해할 수 있는 it 에 대해 들어본 적이 있지만, XML, 하루가 끝날 때 shouldn& # 39, 작업에 대한 올바른 도구를 사용할 수 없다?

요즘 사람들은 어떤 형식 및 라이브러리 운영 시스템에서 사용하는 사람이 없도록 하고 있다 ᄀ형강 브래킷에서 세금?

크로스 플랫폼 솔루션을 _edit: 정말 필요합니다. Linux, Windows 구성 파일을 선택할 수 있는 인터페이스를 사용하여 라이브러리 등이 solris 못지않게 format._ 선택할 수 있다.

Cheeso
그는 11년 전 댓글을 달았습니다
0

단지, 말을 많이 파프링 around&quot 업보테드 스마르빈스 &quot 같다.

답변 15 개

YAML XML 파일을 사용할 수 있다는 것은, 단순 비교할 때 매우 판독값 구성.

XML:

<user id="babooey" on="cpu1">
    <firstname>Bob</firstname>
    <lastname>Abooey</lastname>
    <department>adv</department>
    <cell>555-1212</cell>
    <address password="xxxx">[email protected]</address>
    <address password="xxxx">[email protected]</address>
</user>

YAML:

    babooey:
        computer : cpu1
        firstname: Bob
        lastname: Abooey
        cell: 555-1212
        addresses:
            - address: [email protected]
              password: xxxx
            - address: [email protected]
              password: xxxx

그 것을 찍은 이 페이지에서: &lt, http://www.kuro5hin.org/story/2004/10/29/14225/062&gt.

Cheeso
그는 11년 전 댓글을 달았습니다
7

Yaml 사용하는 이유 등을 통해 선과 kuro5hin 챨 간주 XML. 그는 여러 관련 도구와 libraries&quot, &quot 인용하는 않았습니다, 왜 그랬을까? YAML: 2, XML: 2,000,000.

engtech
그는 10년 전 댓글을 달았습니다
4

Yaml 은 보다 더 많은 라이브러리보다는 2. http://www.yaml.org/

nealmcb
그는 8년 전 댓글을 달았습니다
0

I like yaml, 약 12 개 국어로 번역되어 나온 타사 라이브러리는 yaml.org. 하지만 유일한 출고됩니다 YAML 지원부에서는 언어에 대해서는 기본적으로 루비 (이후 1.9.2) 것으로 보인다. 다른 사람이 있습니까? 될 수 있다며 종속물과의 귀찮아.

bacar
그는 8년 전 댓글을 달았습니다
8

39 m, # 39 의 의도를 잘 모를 경우 i& 전송되었기 @cheeso& I&) 중에서 선택할 수 있지만, d # 39 만 2 라이브러리를 아닌 2M) 를 볼 수 있다는 단점이 아닌 (특히 슬래시나 attaboy 두 사람은 그러겄지)

Parthian Shot
그는 6년 전 댓글을 달았습니다
1

39 의 경우 한 @cheeso there& # 39 를 사용하여, 정말 잘 쓰여진 YAML 라이브러리란 언어에 대한 I& doesn& # 39 m, t # 39 m, 11 개의 XML 라이브러리를 사용하여 해당 언어에 대한 I& 해도 과언이 아니다. 물론, 당신 애두요 댁이라면 최대 11. 하지만 두 XML 라이브러리를 사용할 때 마지막으로 한 프로그램이 있습니까? (만약 그 대답을 질문 아닙니다, 다른 line of work, never&quot &quot 고려하는 것이 좋습니다.)

darek
그는 4년 전 댓글을 달았습니다
0

YAML? 농담하십니까? Yaml 은 it& 때문에 내 의견으로는, s worst case # 39 한 공간에 배치하십시오 덜 하는 것이 중요하다는 이벤트수정적절한 포맷 및 it won& # 39, 빗나갔다.

첫 번째: 오늘 진짜 큰 문제가 아닌, 빠른 Q+A 논란이 일고 있다.

지금 내 즐겨찾는 포함되어 있기 때문에 단순히 루아

    • (1+1/3) = 높이) 와 같은 것들을 너버 허용할 수 있어요.
  • 내말들어봐 내가 맞춤형 기능을 사용할 수 있습니다.
  • I can 금기한 다른 사항은요. (예를 들어, python 에서 불가능한 포함한 피클이네.)
  • 39, ll I& 스맥랜드의 스크립트 언어를 프로젝트의 다른 곳에 있을 겁니다.

또 다른 옵션은 there& # 39 의 경우 많은 양의 데이터를 사용할 수 있기 때문에, re right to # 39 하였노라너희가 they& sqlite3

  • 조촐하다고

  • 빠른.

  • 믿을 수 있습니다.

  • Three.* 선택

추가 라우팅할 싶다.

  • 백업본은 스냅. (그냥 복사합니다를 db 파일입니다.)
  • 쉽게 전환할 수 있는 다른 db, ODBC, 그러든지요 () 는 때보다 못생기고 파일)

하지만, 이 것은 더 큰 문제입니다. A &quot big"; 아마도 이 질문에 대한 대답은 다음과 같은 상황에 部门从 함정이거나 피쳐보다 호환표에 또는 목록

양의 데이터를 또는 파선-짧은 런타임용으로 개발하십시오

  • 더 많은 양의 데이터를 효율적으로 저장, 데이터베이스 (db) 같은 것이 좋습니다.
  • 런입니다 (자주), 간단히 할 수 있습니다, don& 배울 수 있는 t need to # 39 를 분석하는 일을 많이 할 수 있는 게 고려해보십시오 mmap: 에드 직접.

연관됩니까 구성내역 무엇입니까?

  • 호스트:
  • I like YAML / etc 에. Windows 에서 에로남이네 레이 플레멘테드?
  • 사용자:
  • 텍스트 편집기를 사용하여 사용자에게 구성용 편집하십시오 있어야 할까요?
  • /Dev/raw/raw200 중앙에서 관리할 수 있다. 레지스트리로 / 그콘프 / 원격 db?
      • 다양한 사용자 프로파일을 가지고 있다.
  • 프로젝트:
  • 파일 (s) 의 프로젝트 디렉토리? (버전 관리 일반적으로 inet6.0 이 모델).

복잡한

  • 발생합니까 불과 몇 균등형 값뿐? Yaml 고려해보십시오.
  • 는 데이터 네스트된 또는 종속적입니다 어떤 식으로든? (여기서 it gets lionbridge.)
  • 지정값이 것이 바람직한 기능을 수행할 수 있도록 일종의 스크립팅하는?
  • 템플릿일 일종의 구성 파일을 볼 수 있습니다.

XML xlm xlm xlm. # 39, 재 구성 파일을 이 we& 스토리지스코프는 . ᄀ형강 브래킷에서 tax&quot &quot 없다;; # 39 의 객체에는 강력한 성능을 않을 경우, re you& 직렬화하는 중 한 것이다.

인적 구성 파일을 읽을 수 있고, 또한 머시닝할 이해할 수 있는 사람이 읽을 수 있어야 합니다. XML 이 둘 사이의 좋은 것이다.

Xml 기술을 가지고 있는 사람들이 두렵도 망아지입니다 경우, 새로운 신기한 안좋지 당신꺼에요.

kromit
그는 3년 전 댓글을 달았습니다
1

잘 모를 경우 그만 있지만, 그 답이 없는 점을 감안하면 9 살, 그런 것 같아요.)

새 성전, & # 39 의 정서를 시작하지 않고, ᄀ형강 브래킷에서 tax& # 39. 메이저리 이견을 보이고 있는 분야 중 어디서 post 는 제프. # 39, s, s # 39 there& 아무런 문제가 XML, it& 합리적으로 사람이 읽을 수 (또는 INI 파일은 무려 YAML 또는 JSON) 이지만 너희에게베풀어진 의도는 머신뿐만 읽을 수 있다. 대부분의 언어 / xml 파서를 갖추고 있는 일부 무료로 레임워크 콤보 정렬하려면 XML 은 꽤 좋은 선택입니다.

39, re you& 경우에도 좋은 IDE 와 함께 사용하는 경우 같은 비주얼 스튜디오, XML 스키마를 VS 및 마술로 인텔리 확보하십시오 스키마에는 너회가 줄 수 있다 (예를 들어 네이베르나트 하나씩 얻을 수 있습니다).

얼마나 자주 you& 울리마텔리 고려해야 할 필요가 있습니다 # 39 이 파일을 주고, re 될 일이 아닐 수 있는 운영, 한 번 경우가 많았다.

이 모든 것을 말해줍니다 가져다줄래요 여전히 유효한 XML 정보 및 왜 it& # 39 의 여전히 솔루션으로서의 구성 파일 (from 팀 브레이).

&quot 제공할 수 있는 범용 데이터, 스케쳐내 지정값이 want to do things with 경우 또는 예기치 못한 이상한 수신기 및 미친 원하는걸까요 상행담관염이라고 paranoid 및 문서 같은 경우 비교적 더 이상 너희는너희가 팔고가 i18n 또는 정보 전송 데이터의 경우, 또는 주문하십시오 구조체입니다 경우 또는 중요한 데이터가 XML 은 길을 갈 수 있는 커다란 같이 이상의 초). 있는 것 또한 내게 달콤한 별색 데이터 형식 XML 과 함께 하는 확장, XPath 안타 즉, 아주 쉽게 되지 않는 페일오버합니다 말하도다 xml 처리 코드를 작성할 수 있는 부분 가운데 변경되는지 메시지 형식에 신경습니까 about.&quot 만지지 말고,

Cheeso
그는 11년 전 댓글을 달았습니다
1

이 더 할 수 있는 한 업보테 강조표시할

@Guy

그러나 응용 프로그램 구성 isn& # 39, t 언제나 그렇게 키 / 값 쌍. Tomcat 구성을 보면 이 같은 일을 뭐하러요 포트+ 수신합니다. # 39 의 here& 예:

    <Connector port="80" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

    <Connector port="8009" 
           enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

임의의 수의 커넥터에서는 할 수 있습니다. 정의하십시오 커넥터에서는 파일 등을 더 많이 존재한다. # 39 더 이상 및 정의하십시오 don&, 더 이상 존재하지 않는다. # 39 의 no good way (이럴) 그렇게 할 수 있는 there& plain old 키 / 값 쌍.

39 의 구성용 간단하다, 다음 등과 같은 단순한 사안이 app& 경우 INI 파일 that& # 39 는 아마 좋았소 사전 읽은 것이다. 하지만 좀 더 복잡한 문제지고 INI 파일 서버 구성 등 좀 더 큰 고통을 약간만이라도 유지할 수 있으며, XML 이나 YAML 구조적 같은 게 더 낫다. 이 문제를 설정되었습니다 달려 있다.

XML, JSON, INI. 그들은 모두 강점과 약점을 가지고 있습니다. 추상화 계층 () 은 응용 프로그램에서 컨텍스트로, 내가 느끼는 것이 중요합니다. 좋은 방법을 선택할 수 있는 경우 데이터 구조 사이의 중간 방전시키십시오 어떻게 인간 가독성 및 액세스하려는 / 추상 데이터 코드, you& # 39, re 골든.

우리는 주로 사용 불가능 한 것으로, 난 정말 xlm 어디서 작동합니까 급지된 설정파일에서 캐시 객체로 읽거나 후 처음 기록된 것은 정말 많이 떨어진 후 추상화 미삭 프로그램 유명 disk_b_s10database 괜찼습니다 CPU 의 디스크 공간. 너무 예쁜 읽을 수 있으며, as long as you 그러겄지 파일 구조

그리고 모든 언어를 통해 모든 플랫폼에서 汲摹窍妨绰 xlm 일부 예쁜 공용 라이브러리.

Ini 파일을 스타일입니까 구성용 사용하고 있습니다. 우리는 이를 관리할 수 있는 라이브러리를 사용하여 [니니] [1]. 니니 하면 아주 쉽게 사용할 수 있습니다. 하지만 다른 플랫폼에 로리그널리 니니 는 .NET 용 모노 사용하여 맥 왔다.

[1]: http://nini.sourceforge.net/ &quot Nini";

CharlesB
그는 7년 전 댓글을 달았습니다
0

ini isn& # 39 만 t, 모든 표준, 계시한하나님께 의해 정의된 일부 한계에는 키 / 값을 저장할 수 있다

이 경우, 사용자의 데이터가 설정파일에서 읽기 전용 않음부트 시, 그리고 write a bunch of 이름 값을 얻을 수 있는 최상의 선택은 사용자의 개발자 한 쌍을 apc® 이번이 처음이다.

좀 더 복잡하고 데이터가 있는 경우 등), sqlite, xml, yaml 함께 중첩할 여러분은 좋습니다.

필요한 경우 데이터 및 / 또는 구성 후 데이터를 사용할 수 있는 네스트된 쿼리하려면 부트업, XML 이나 SQLite. 둘 다 아주 좋은 질의 언어 (XPATH 및 SQL) 의 정형 / 네스트된 데이터.

구성 데이터는 고도로 표준화된 경우 (예를 들어 5 역사) 와 SQLite 때문에 더 높은 데이터를 처리하기 위한 표준화된 SQL 은 틀렸다니까 좋습니다.

프로그램 구성 데이터를 쓸 계획이라면 작업을 통해 더 나은 것 중에 설정되었습니다 오프하도록 SQLite 것입니다. 예를 들어, 또는 다른 컴퓨터에서 다운로드 중인 구성 데이터를 기반으로 향후 프로그램 실행 데이터에 대한 결정을 내릴 경우 이전 수집됩니다 프로그램 실행. SQLite 는 매우 강력한 데이터 스토리지 엔진, 매우 어려운 경우 손상됨 정전 또는 프로그램 오류로 인해 일관성이 없는 상태일 않는비즈니스 중단되었습니다. 데이터 썩어질 높은 비용, SQLite 의 현장 지원 솔루션을 자체 개발, 심지어 어느 때보다 훨씬 더 잘 할 정도로 인기 라이브러리보다는 XML 이나 YAML.

[체크아웃하려고 내 페이지] (http://www.squidoo.com/sqlitehammer) 에 대한 자세한 정보는 SQLite.

@Herms

정말 그 어떤 특정 플랫폼 소프트웨어 구성) 의 값을 저장하는 방식을 고수할 권장됨 있었다 한다.

또한 이러한 방법으로 너희는너희가 자주 프레젠테이션이든 단순화표현 권장됨 한다 / 수정할 수 있습니다. 메뉴에 있는 시스템 구성 패널을 구성 등 프로그램이나 &quot prefs"; 응용 프로그램 (소프트웨어 시스템 서비스의 ie). 최종 사용자 또는 메모장 수정하십시오 regedit 를 통해 직접 알릴 수 없습니다.

왜?

  1. 최종 사용자 (= 고객) 자사 플랫폼을 위해 사용됩니다.
  2. 더 나은 시스템을 안전하게 저장할 수 있는 백업본 &quot setups"; etc

@ninesided

약 &quot. 링크 (정적 링크) 의 choice library ", 하면 위험을 줄일 수 있는 최종 사용자가 선택한 라이브러리란 가져오는 버전 충돌 전쟁 붙여넣습니다 방식이다.

epatel
hippietrail
그는 8년 전 댓글을 달았습니다
0

이 길을 찾을 수 있다면 훨씬 더 강력한 약간만이라도 인수는 일부 라이브러리 API 를 제공하는 통합 다양한 구성 파일 형식.

내 생각에 가장 중요한 것은 포지셔닝하십시오 빠르게 이동할 수 있는 형식으로 선택할 수 있습니다. 형식은 xml 이나 JSON 모두 멋진 # 39, t 선수단 구성과 널리 기술 지원 대상 구축상의 isn& 남십자자리 사안의 이라고 생각되다. # 39 의 100% it& 어떨거라고 대한 작업을 구성 파일 간소화하는지 당신꺼에요.

나는 내가 일하는 사용하기 시작했고, 그 때문에 아주 조금 JSON 데이터 전송 포맷을 사용하여 쉽게, 그리고 시리얼 로드하기에 를 특정 개발 프레임워크이다. 내가 찾을 수 있도록 하는 것보다, XML, JSON 쉽게 읽을 수 있는 여러 가지 서비스를 각 구성 파일을 사용하여 취급료 수정되었음 매우 자주, 많이 훨씬 더 쉬워 졌을 가져다줄래요!

아마 제 생각이지만 여기 있는 것이 아니라 조금 탄젠트에 구성 파일을 읽어야 할 때 항상 먼저 시작하고 붙여넣습니다 키 값 / 해시 테이블을 통해 액세스되는 사전 app 이 물체의 속도에 대한 높여가면서 점프. 일반적으로 문자열로 시작하는 키 / 가치 있는 일을 하고 있지만 도우미 기능 등 테이블 오프하도록 문자열 (string key) 객체에는 DateTime 제콘피달테 상술합니다.

Re: # 39 의 epatel& 주석문입니다.

내 생각에는 원래 질문) 는 응용 프로그램 구성 정보를 묻는 관리자가 약간만이라도 하는 것이 아니라 사용자 환경 설정을 저장하는. [제안 것 보다 더 많은 응용 프로그램 구성 및 aren& 제공한 사용자에 대한 기본 설정, 일반적으로 사용자가 직접 계약을 생각하신거야 판매업체에서 아니하였으매 t # 39 (앱이 UI 의 구성 옵션에 제공해야 합니다 다음 업데이트 파일을). 난 정말이지 you& 결코 사용자가 볼 수 있는 # 39; d / 편집 레지스트리로. )

이처럼 실제 질문, XML 등 많은 사람들, d 는 아마 양호임 I& # 39 라고 구성을 위해 사용하는 데 사용됩니다. As long as you '를 구성, 그 값을 사용하기 쉬운 방법으로 &quot ᄀ형강 브래킷에서 tax&quot. # 39 shouldn&, t be too bad.

그 때문에 우리는 단순히 속성을 사용하여 파일, Java 는 기본적으로. 몇 달 전만 해도 내가 본 스프링소스 서버와 애플리케이션 플랫폼 용도를 매우 흥미로운 JSON 자유롭게 구성할 수 있는 것으로 보입니다. 1 및 [비해 다양한 구성 표기법] 내가 큐피드라는 순간 적합합니까 xlm 것으로 보인다 "는 결론을 내린다. 이 회사는 오히려 좋은 툴 지원 및 플랫폼 비종속.

더 이상 내린 것으로 알고, Windows 레지스트리로 기본 구성 방식을 사용하는 경우 대부분의 응용 프로그램을 사용할 저장 .NET - 이제 시스템.콘피그라티온 [1, 2]. 이후 이 역시 XML 기반의 모든 것이 구성을 위해 XML 을 사용하는 방향으로 이동할 것으로 보인다.

크로스 플랫폼 확인표시를 머물 것이라고 말하고 싶습니다 일종의 약간만이라도 텍스트 파일을 사용하여 최상의 라우트를 돼요. 이처럼 기도하였나니 파일 포맷을 고려해야 할 수 있습니다 인간은 될 경우 it 방관하겠나 수동으로 조작할 수 있을 것으로 좀 더 이상 INI 파일 조작, XML 친화적임 인해 구조를 볼 수 있습니다.

I 로 브래킷에서 각도에 대해 세금, t # 39 를 XML 라이브러리를 don& 걱정이 너무 자주 추출 잘있게나 of it. 저장 공간이 될 수 있다는 점을 고려할 때 정보기술 (it) 는 거의 유일한 시간을 작업할 수 있는 경우, 모든 바이트입니다 들려주시겠습니까?

[1] 시스템.콘피그라티온 이름공간이 http://msdn.microsoft.com/en-us/library/system.configuration.aspx -

[2] 닷넷 (.net) 기반 응용 프로그램을 사용하여 구성 파일을 - http://www.developer.com/net/net/article.php/3396111

어떤 플랫폼을 작업을 하고 있습니까? # 39; d 추천합니까 i& 기본 / 공통 방법을 사용하려고 하는 일이다.

  1. 프리스트스 에서라도 -
  2. Win32 - 레지스트리 (또는 새 이름을 발생합니까 임무야, 긴 하도 개발했습니까 on it)
  3. ~ linux/unix /.apprc (이름-값 아마도)
hippietrail
그는 8년 전 댓글을 달았습니다
0

이제, 금지커서 platform&quot, &quot 지정합니다.