로그인

검색

Tool/etc
2013.12.27 16:13

유용한 라이브러리 소개

MoA
조회 수 1655 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

http://www.ggulwiki.com/index.php/유용한_라이브러리_소개


유용한 라이브러리 소개

목차

C/C++

Boost

  • 홈페이지
http://boost.org
  • 소개
- function, regex, lambda, bind 등 훌륭한 라이브러리들이 포함되어 있다.
- C++ 표준위 멤버들이 참여하고 있으며 차기 표준의 후보격인 라이브러리 모음이라 할 수 있다.

tinyxml

  • 홈페이지
http://www.grinninglizard.com/tinyxml
  • 소개
- C++ 에서 사용 가능한 xml 파서 중 가장 사용법이 간편한 파서 중 하나다.
- 게임 프로그래머들에게 가장 인기 있는 파서이다.
- SAX 방식의 파서이며 아쉽게도 UTF-16 을 지원하지 않는다.

FastFormat

  • 홈페이지
http://fastformat.sourceforge.net
  • 소개
- Boost.Format , IOStream 에서 타입 안정성, 유연성, 성능에 불만을 느낀사람을 위한 라이브러리.
- Boost.Format 보다 5 ~ 17 배 , Loki SafeFormat 보다는 1.5 ~ 5.5 배 빠르다고 소개하고 있다.

libcurl

  • 홈페이지
http://curl.haxx.se/libcurl
  • 소개
- URL 전송을 도와주는 라이브러리로 C/C++ 뿐 아니라 다양한 언어에서 활용된다.
- DICT, FILE, FTP, HTTP, HTTPS, IMAP, POP3, SMTP, Telnet 등 다양한 프로토콜을 지원한다.

jsoncpp

  • 홈페이지
http://jsoncpp.sourceforge.net
  • 소개
- 좋다기 보다 이거말고 쓸게 없다.
- 다른 것들은 또다른 라이브러리를 요구하기 때문에 종속성이 없다는 점이 장점이다.
  • 주의점
- { "abc":"123", } 와 같이 콤마 다음에 } 나 ] 이런 기호로 끝나버리면 오류를 내며 파싱을 못한다.
- 내부를 약간 수정해야 함.

json spirit

  • 홈페이지
http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented
  • 소개
- boost 라이브러리를 사용 중이라면 json 파서로 이것을 고려해볼만 하다.

C#

Lidgren networking library

  • 홈페이지
http://code.google.com/p/lidgren-network-gen3/
  • 소개
정교한 흐름제어를 지원하는 강력한 네트워크 엔진
다양한 네트워크 엔진이 있겠지만 닷넷 계열에선 필자가 본 것중 이게 제일 나은듯 싶다. 요새 뜨고 있는 Unity3D에서도 사용 가능.

Java

프레임워크

  • Spring : 전자정부 표준 프레임워크. 의존성 주입(Dependency Injection) 개념이 처음엔 생소하지만 익숙해지면 어떻게 스프링 없이 자바개발을 했는지 기억이 안날 정도. 핵심 기능인 컨테이너로서의 기능 말고도 JDBC, 트랜잭션, Web, AOP, 배치작업 관련 등 엔터프라이즈 어플리케이션 개발에 관련된 여러 모듈을 지원하여 Java EE를 대체하고 있다.
  • Guice : 스프링이 너무 방대해지면서 의존성 주입 기능을 간단히 담아 만든 구글의 프레임웍

네트워크

  • Netty : 네트워크 라이브러리는 netty가 진리. 오픈소스이며, 한국인 개발자 이희승씨가 재택근무하면서 해외 개발자들과 함께 만드는 것으로 유명하다.

웹, 웹 서비스

  • Spring MVC : 스프링 프레임웍과 같이 쓰기에 유용한 MVC 웹 프레임웍. 자바의 기능을 적극 활용하여 커다란 라우팅 테이블 없이
  • Struts : 스프링 MVC 이전에 대세였던 MVC 프레임웍. Struts 2에서는 이전 버전의 단점들을 많이 보완했다.
  • JAX-RS - JerseyRestletRESTeasyCXF : RESTful 웹 서비스를 위한 표준으로 레퍼런스 구현인 Jersey와 함께 다른 개발사에서도 구현을 제공한다.
  • VertX : 비동기 웹/엔터프라이즈 어플리케이션을 위한 라이브러리. netty와 hazelcast로 구성되어 큰 노력 없이 여러 머신으로 분산시킬 수 있으며, 자바뿐만 아니라 자바스크립트, 루비, 파이썬, 그루비 등을 지원하는 것도 특징
  • Jackson : 자바 오브젝트를 JSON, XML 등으로 매핑할 수 있는 라이브러리. 속도도 빠르고 어노테이션이나 XML 설정 같은거 없어도 리플렉션으로 알아서 만들어 줘서 편리하다.
  • JSoup : HTML 파서 라이브러리. jQuery처럼 CSS Selector를 이용해서 HTML 문서를 다룰 수 있다.

퍼시스턴스

  • Hibernate : DB의 각 엔티티와 대응되는 오브젝트들을 만들면 자동으로 스키마가 만들어지는 ORM(Object Relation Mapper). SQL 대신 Session, Criteria 등의 API를 이용해서 쿼리를 날리거나 SQL을 한단계 더 감싼 HQL(Hibernate Query Language)를 사용한다. 따라서 복잡성은 좀더 높지만, 같은 코드로 여러 데이터베이스에 연결할 수 있는 것이 장점. 테스트는 내장 H2DB로, 배포는 MySQL이나 Oracle에 하는 것이 가능.
  • myBatis : iBatis의 기존 개발진들이 아파치 재단에서 독립하여 myBatis로 이름을 바꾸었고 지금은 이 쪽이 주력으로 개발되고 있다. 자바 오브젝트에 대응하는 SQL을 작성하여 사용하는 방식이라 하이버네이트보다 저수준이다.
  • ActiveJDBC : 위 두가지보다 좀더 RoR 스러운 Active Record 패턴으로 퍼시스턴스를 작성할 수 있다.

로깅

  • SLF4J : JCL(Jakarta Commons Logging), Log4j, Logback, java.util.logging 등의 다양한 로깅 라이브러리를 하나의 API로 사용할 수 있는 인터페이스. 인터페이스이므로 실제 로깅을 수행하는 구현체와 함께 사용해야 한다. 사용해야 하는 라이브러리는 로깅을 JCL로 남기는데 우리 로깅은 logback으로 하고 있다면 jcl-over-slf4j, slf4j, logback을 import하면 JCL로 작성된 로그가 slf4j를 통과해 logback을 통해 작성되는 방식.
  • Logback : log4j 의 후신으로, 로그를 보내는 인터페이스인 Logger, 로그를 실제로 기록하는 Appender, 로그 내용 형식을 지정하는 Layout으로 역할 분리가 되어 있어 깔끔하게 각각의 설정이 가능하다.
  • Log4j : 좀더 전통적인 자바 로깅 라이브러리. 새로 시작하는 프로젝트라면 Logback 사용을 고려하는 것이 좋다.

테스트

  • JUnit : 유닛테스트 라이브러리. 아주 널리 사용되고 있어서 이클립스나 IDEA와 같은 IDE 지원이나 CI 지원이 빵빵하며, Spring 과 같은 프레임웍과 연계한 테스트도 지원이 잘 된다. JUnit 4에 오면서 TestCast 클래스를 상속받는 방법 말고도 어노테이션을 이용해서 테스트를 작성하는 것도 가능해졌다.

Python

Parallel Python

  • 홈페이지
http://www.parallelpython.com
  • 소개
- 파이썬으로 멀티코어 활용과 병렬 처리 프로그래밍을 할 수 있도록 도와주는 라이브러리 이다.

PIL

  • 파이썬 이미지 라이브러리.
http://www.pythonware.com/products/pil/

NumPy, SciPy

  • 수치해석 패키지, MATLAB 대용. NumPy는 배열과 행렬의 빠른 계산을 위한 기본 기능을, SciPy는 신호/이미지처리, 최적화와 같은 좀더 MATLAB스러운 기능들을 담고 있다.
http://www.numpy.org/
http://www.scipy.org/

?

  1. Programming 게시판 관련

    Date2014.11.01 CategoryTool/etc ByMoA Views5721
    read more
  2. Synology: Top Best Apps For Docker

    Date2024.07.01 CategoryTool/etc ByOBG Views396
    Read More
  3. HuggingFace 공동창업자가 추천하는 AI 분야 입문 서적

    Date2024.05.24 CategoryTool/etc ByOBG Views391
    Read More
  4. How to stop programmers to copy the code from GitHub when they leave the company?

    Date2024.01.02 CategoryTool/etc ByOBG Views719
    Read More
  5. 잡담) AWS에 서버 띄워 놓으니 벼라별 리퀘스트가 다 날아 오네요

    Date2023.03.11 CategoryTool/etc ByOBG Views1125
    Read More
  6. How To Set Up Multi-Factor Authentication for SSH on Ubuntu 20.04

    Date2023.01.17 CategoryTool/etc ByOBG Views622
    Read More
  7. 쿠버네티스 클러스터

    Date2022.11.11 CategoryTool/etc ByOBG Views1242
    Read More
  8. AWS VPC 피어링

    Date2022.11.03 CategoryTool/etc ByOBG Views1084
    Read More
  9. AWS 망 분리하기

    Date2022.09.06 CategoryTool/etc ByOBG Views690
    Read More
  10. "Node.js를 떠나며" - express를 만든 TJ의 글

    Date2022.06.23 CategoryTool/etc ByOBG Views557
    Read More
  11. What does set -e mean in a bash script?

    Date2021.04.29 CategoryTool/etc ByOBG Views854
    Read More
  12. What does the last “-” (hyphen) mean in options of `bash`?

    Date2021.04.29 CategoryTool/etc ByOBG Views684
    Read More
  13. 2016년에 자바스크립트를 배우는 기분

    Date2016.12.27 CategoryTool/etc ByMoA Views940
    Read More
  14. Machine Learning for Video Games

    Date2015.07.27 CategoryTool/etc ByMoA Views1991
    Read More
  15. UI Guidelines

    Date2014.03.11 CategoryTool/etc ByMoA Views1473
    Read More
  16. 자바스크립트 물리엔진 ㄷㄷ

    Date2014.03.10 CategoryTool/etc ByMoA Views1118
    Read More
  17. Quake 3 source code and review

    Date2014.01.15 CategoryTool/etc ByMoA Views970
    Read More
  18. 유용한 라이브러리 소개

    Date2013.12.27 CategoryTool/etc ByMoA Views1655
    Read More
  19. Flash CS5 and Version Control

    Date2013.10.11 CategoryTool/etc ByMoA Views816
    Read More
  20. [S/W 공학] 월-인원(man-month), LOC

    Date2013.09.23 CategoryTool/etc ByMoA Views1460
    Read More
  21. 앱 디자인의 발견 - 메모 서비스를 생각하다

    Date2013.08.17 CategoryTool/etc ByMoA Views907
    Read More
Board Pagination Prev 1 2 Next
/ 2