Full text search for "PI"


Search BackLinks only
Display context of search results
Case-sensitive searching
  • OurSoftwareDependencyProblem . . . . 9 matches
         My own background includes a decade of working with Google’s internal source code system, which treats software dependencies as a first-class concept,1 and also developing support for dependencies in the Go programming language.2
         and updating the package is easier than the work of redeveloping that functionality from scratch.
         Dependency managers now exist for essentially every programming language. Maven Central (Java), Nuget (.NET), Packagist (PHP), PyPI (Python), and RubyGems (Ruby) each host over 100,000 packages. The arrival of this kind of fine-grained, widespread software reuse is one of the most consequential shifts in software development over the past two decades. And if we’re not more careful, it will lead to serious problems.
         A package, for this discussion, is code you download from the internet. Adding a package as a dependency outsources the work of developing that code—designing, writing, testing, debugging, and maintaining—to someone else on the internet, someone you often don’t know. By using that code, you are exposing your own program to all the failures and flaws in the dependency. Your program’s execution now literally depends on code downloaded from this stranger on the internet. Presented this way, it sounds incredibly unsafe. Why would anyone do this?
         Decades ago, most developers already trusted others to write software they depended on, such as operating systems and compilers. That software was bought from known sources, often with some kind of support agreement. There was still a potential for bugs or outright mischief,3 but at least we knew who we were dealing with and usually had commercial or legal recourses available.
         The phenomenon of open-source software, distributed at no cost over the internet, has displaced many of those earlier software purchases. When reuse was difficult, there were fewer projects publishing reusable code packages. Even though their licenses typically disclaimed, among other things, any “implied warranties of merchantability and fitness for a particular purpose,” the projects built up well-known reputations that often factored heavily into people’s decisions about which to use. The commercial and legal support for trusting our software sources was replaced by reputational support. Many common early packages still enjoy good reputations: consider BLAS (published 1979), Netlib (1987), libjpeg (1991), LAPACK (1992), HP STL (1994), and zlib (1995).
         Is package’s documentation clear? Does the API have a clear design? If the authors can explain the package’s API and its design well to you, the user, in the documentation, that increases the likelihood they have explained the implementation well to the computer, in the source code. Writing code for a clear, well-designed API is also easier, faster, and hopefully less error-prone. Have the authors documented what they expect from client code in order to make future upgrades compatible? (Examples include the C++5 and Go6 compatibility documents.)
         Develop your own systematic ways to check code quality. For example, something as simple as compiling a C or C++ program with important compiler warnings enabled (for example, -Wall) can give you a sense of how seriously the developers work to avoid various undefined behaviors. Recent languages like Go, Rust, and Swift use an unsafe keyword to mark code that violates the type system; look to see how much unsafe code there is. More advanced semantic tools like Infer7 or SpotBugs8 are helpful too. Linters are less helpful: you should ignore rote suggestions about topics like brace style and focus instead on semantic problems.
         Keep an open mind to development practices you may not be familiar with. For example, the SQLite library ships as a single 200,000-line C source file and a single 11,000-line header, the “amalgamation.” The sheer size of these files should raise an initial red flag, but closer investigation would turn up the actual development source code, a traditional file tree with over a hundred C source files, tests, and support scripts. It turns out that the single-file distribution is built automatically from the original sources and is easier for end users, especially those without dependency managers. (The compiled code also runs faster, because the compiler can see more optimization opportunities.)
         Does the code have tests? Can you run them? Do they pass? Tests establish that the code’s basic functionality is correct, and they signal that the developer is serious about keeping it correct. For example, the SQLite development tree has an incredibly thorough test suite with over 30,000 individual test cases as well as developer documentation explaining the testing strategy.9 On the other hand, if there are few tests or no tests, or if the tests fail, that’s a serious red flag: future changes to the package are likely to introduce regressions that could easily have been caught. If you insist on tests in code you write yourself (you do, right?), you should insist on tests in code you outsource to others.
         The inspection process should include running a package’s own tests. If the package passes the inspection and you decide to make your project depend on it, the next step should be to write new tests focused on the functionality needed by your application. These tests often start out as short standalone programs written to make sure you can understand the package’s API and that it does what you think it does. (If you can’t or it doesn’t, turn back now!) It is worth then taking the extra effort to turn those programs into automated tests that can be run against newer versions of the package. If you find a bug and have a potential fix, you’ll want to be able to rerun these project-specific tests easily, to make sure that the fix did not break anything else.
         If the package will be used from many places in your project’s source code, migrating to a new dependency would require making changes to all those different source locations. Worse, if the package will be exposed in your own project’s API, migrating to a new dependency would require making changes in all the code calling your API, which you might not control. To avoid these costs, it makes sense to define an interface of your own, along with a thin wrapper implementing that interface using the dependency. Note that the wrapper should include only what your project needs from the dependency, not everything the dependency offers. Ideally, that allows you to substitute a different, equally appropriate dependency later, by changing only the wrapper. Migrating your per-project tests to use the new interface tests the interface and wrapper implementation and also makes it easy to test any potential replacements for the dependency.
         Even with these examples and other off-the-shelf options, run-time isolation of suspect code is still too difficult and rarely done. True isolation would require a completely memory-safe language, with no escape hatch into untyped code. That’s challenging not just in entirely unsafe languages like C and C++ but also in languages that provide restricted unsafe operations, like Java when including JNI, or like Go, Rust, and Swift when including their “unsafe” features. Even in a memory-safe language like JavaScript, code often has access to far more than it needs. In November 2018, the latest version of the NPM package event-stream, which provided a functional streaming API for JavaScript events, was discovered to contain obfuscated malicious code that had been added two and a half months earlier. The code, which harvested large Bitcoin wallets from users of the Copay mobile app, was accessing system resources entirely unrelated to processing event streams.18 One of many possible defenses to this kind of problem would be to better restrict what dependencies can access.
         It is also important to watch for new indirect dependencies creeping in: upgrades can easily introduce new packages upon which the success of your project now depends. They deserve your attention as well. In the case of event-stream, the malicious code was hidden in a different package, flatmap-stream, which the new event-stream release added as a new dependency.
         Creeping dependencies can also affect the size of your project. During the development of Google’s Sawzall23—a JIT’ed logs processing language—the authors discovered at various times that the main interpreter binary contained not just Sawzall’s JIT but also (unused) PostScript, Python, and JavaScript interpreters. Each time, the culprit turned out to be unused dependencies declared by some library Sawzall did depend on, combined with the fact that Google’s build system eliminated any manual effort needed to start using a new dependency.. This kind of error is the reason that the Go language makes importing an unused package a compile-time error.
         Develop better dependency technology for tomorrow. Dependency managers have essentially eliminated the cost of downloading and installing a dependency. Future development effort should focus on reducing the cost of the kind of evaluation and maintenance necessary to use a dependency. For example, package discovery sites might work to find more ways to allow developers to share their findings. Build tools should, at the least, make it easy to run a package’s own tests. More aggressively, build tools and package management systems could also work together to allow package authors to test new changes against all public clients of their APIs. Languages should also provide easy ways to isolate a suspect package.
  • Ssh-add.exeOnCygwin에서Ssh-agent연결불가 . . . . 9 matches
          PID PPID PGID WINPID TTY UID STIME COMMAND
          PID PPID PGID WINPID TTY UID STIME COMMAND
          PID PPID PGID WINPID TTY UID STIME COMMAND
  • JWSDP . . . . 7 matches
          * Java API for XML Binding(JAXB) : java class를 xml문서로 marshaling 혹은 반대(unmarshaling) 기능 제공
          * Java API form XML Messaging(JAXM) : 비동기적 웹서비스 구현위한 api와 도구
          * Soap with Attachments API form Java(SAAJ) : SOAP 메시지 생성 및 전송, 요청/응답형의 동기적 통신
          * Java API for XML Processing(JAXP) : DOM, SAX(Simplle API for XML) 파서 제공, 기본적으로 Apache Group의 Xerces2파서를 사용한다. XSLT관련 api도 제공하며 기본적으로 Xalan이 사용됨
          * Java API for XML Registries(JAXR) : XML 레지스트리에 일관되게 접근하여 정보검색, 저장하도록 하는 표준 java api제공, xml 레지스트리 종류는 [ebXML]과 [UDDI]레지스트리가 있다
          * Java API for XML-based RPC(JAX-RPC) : [RPC](Remote Procedure Call)방식의 웹서비스 시스템 및 클라이언트 개발 api, [WSDL]문서 자동 생성, Tie(클라이언트와 통신 담당) 클래스를 자동 생성, war 파일 생성 기능, 클라이언트를 쉽게 이용하도록 자동으로 Stub 만들어줌
         [^http://java.sun.com/webservices/docs/2.0/api/index.html] Java Web Services java doc
  • SystemRebuilding-201912 . . . . 6 matches
         원래 '외부 API 데이터에 대해 도메인 내부적으로 필요한 값들로만 구성된 내부 데이터 저장소 구축'을 Phase 3의 주제로 계획했었으나, 팀원들의 다양한 의견으로 '마이크로 서비스하에서 Smart한 통합테스트 환경 구축'으로 바뀌었다.
         - 이 부분도 별도로 얘기할만큼 얘기가 많지만 간략히 얘기하자면 우리팀은 1년전 2년전 데이터도 처리해야하는 비지니스가 있다. 하지만 대부분의 외부 팀들은 현재가 중요하다. 6개월만 지난 데이터도 DW로 넘겨버리고 API로는 제공을 하지 않으려고 한다. 나중에 따로 더 써야겠다... -
         새로운 로직에 적용하기 전 일단 기존 로직에서 외부 API를 호출하기전에 이번에 구축하게되는 '외부 도메인 데이터 내부 저장소'를 이용하도록 간단히 먼저 고치려고 한다.
         외부 API호출횟수를 크게 줄일수 있다.
         (우리는 다양한 시나리오의 테스트 데이터가 필요하고 이를 위해 다양한 Mock 데이터를 테이블에 넣어서 테스트하는것이 API Mocking을 통해 테스트하는 더 쉬울것이다. 물론 스마트한 런타임 통합 테스트환경을 구축하면 되지만 적지않은 시간이 설계와 구현에 들어갈것이다. 그리고 이 mock table을 통하는 방법으로 구현하면 그 테스트 환경 구현 자체도 더 심플해지고 좀더 빨리 구현가능할것 같다.)
          * pattern : event stream pipeline을 통해, 외부 데이터(메시징, API)에 대한 의존성 높은 시스템에서 안전하게 데이터 참조하기
  • NewscrapRestarter.java . . . . 5 matches
          private static final String PID_FILENAME = "/newscrap_restarter.pid";
          if (pidFileExists()) {
          log("pid file already exists - " + PID_FILENAME);
          createPidFile();
          log("error while create pid file - " + PID_FILENAME);
          private boolean pidFileExists() {
          File pidFile = new File(PID_FILENAME);
          return pidFile.exists();
          private void createPidFile() throws IOException {
          File pidFile = new File(PID_FILENAME);
          pidFile.deleteOnExit();
          pidFile.createNewFile();
          log("Apache2.2 service stopping..");
  • 국가코드 . . . . 5 matches
         ETHIOPIA ET
         PALESTINIAN TERRITORY, OCCUPIED PS
         PHILIPPINES PH
         PITCAIRN PN
         SAINT PIERRE AND MIQUELON PM
  • CopyOffsetsOfAConsumerGroupToAnotherConsumerGroup . . . . 4 matches
         TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
         ~/programs/kafka_2.11-1.1.0$ bin/kafka-consumer-groups.sh --reset-offsets --to-current --export --group grp1 --topic test1 --bootstrap-server localhost:9092 > /tmp/grp1-offsets.csv
         ~/programs/kafka_2.11-1.1.0$ bin/kafka-consumer-groups.sh --reset-offsets --from-file /tmp/grp1-offsets.csv --dry-run --group grp2 --topic test1 --bootstrap-server localhost:9092
         TOPIC PARTITION NEW-OFFSET
         ~/programs/kafka_2.11-1.1.0$ bin/kafka-consumer-groups.sh --reset-offsets --from-file /tmp/grp1-offsets.csv --execute --group grp2 --topic test1 --bootstrap-server localhost:9092
         TOPIC PARTITION NEW-OFFSET
         TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
  • CopyingOffsetsOfAConsumerGroupToAnotherConsumerGroupInKafka0.10WithPythonScript . . . . 4 matches
         GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG OWNER
         GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG OWNER
         GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG OWNER
         GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG OWNER
  • WindowsXP기본서비스 . . . . 3 matches
         23 IMAPI CD-Burning COM Service
         성 연결을 하는 프로그램에게 TAPI(telephony API)를 한다. 전화 모뎀
  • 구글 엔지니어는 이렇게 일한다 - 타이터스 위터스 외 - 202206 . . . . 3 matches
          * 하이럼의 법칙: API 사용자가 충분히 많다면 API 명세서는 중요하지 않다. 시스템에서 눈에 보이는 모등 행위(동작)를 누군가는 이용하게 된다.
          * 구글에서 '갇고성 제도(readability)'는 단순한 코드 가독성 이상을 의미합니다. 프로그래밍 언어 모범 사례를 전파하기 위한 구글 전사 차원의 '표준 멘토링 프로세스'를 지칭하죠. 그리고 언어 이디엄, 코드 구조, API 설계, 공통 라이브러리의 올바른 사용법, 문서화, 테스트 커버리지 등의 전문 지식을 광범위하게 다룹니다.
  • BuildingMicroservices;마이크로서비스아키텍처구축-샘뉴먼지음,정성권옮김 . . . . 2 matches
          - 기술중립적인 API 생성
          - 내부 세부 구현의 은폐 : DB, 기술중립적 API 선택
  • HelpOnProcessingInstructions . . . . 2 matches
         All !PIs must appear at the very start of a page. An exception are comment !PIs, those may appear within a wiki page (but obviously not in pages using other formats).
  • Html5JsApi . . . . 2 matches
          * Finding elements by class (DOM API)
          * Finding elements by CSS syntax (Selectors API)
  • JSLibrary . . . . 2 matches
         Spine.js
         localStorage API :
         FileSystem API :
         Closure Compiler
  • JavaListSystem.properties() . . . . 2 matches
         java.specification.name=Java Platform API Specification
         sun.management.compiler=HotSpot Client Compiler
         java.specification.name=Java Platform API Specification
  • KafkaCat . . . . 2 matches
         export TOPIC=topic1
          -t $TOPIC $*
  • ProcMailSample1 . . . . 2 matches
         * ^X-Mailer:.*redspider
         * ^To:.*undisclosed-recipients:;
         * ^Subject:.*spice girls' vocal concert$
         * ^Subject:.*japanese lass' sexy pictures$
         * ^Subject:.*Britney Pics$
         * ^Content-Disposition: attachment; filename=.*\.(com|COM|exe|EXE|scr|SCR|vbs|VBS|pif|PIF|OCX|ocx|CHM|chm|WMV|wmv)
         * ^.*(file)?name=.*\.(com|COM|exe|EXE|scr|SCR|vbs|VBS|pif|PIF|OCX|ocx|CHM|chm|WMV|wmv)"?$
  • SOAP . . . . 2 matches
         SOAP with Attachments API for java
         JAX-RPC와 JAXR API에서 내부적으로 사용되는 api
  • chatgpt . . . . 2 matches
         #ref. https://platform.openai.com/docs/api-reference/completions/create
         OPENAI_API_KEY=****
          curl https://api.openai.com/v1/chat/completions \
          -H "Authorization: Bearer $OPENAI_API_KEY" \
  • glance . . . . 2 matches
         > PID
         > PPID
  • jEdit . . . . 2 matches
         jcompiler.libpath=
         options.pmd.rules.SuspiciousHashcodeMethodName=true
         jindex.lib.doc.0=file\:C\:\\java\\j2sdk-1_4_2-doc\\docs\\api/
         mode.jsp.deepIndent=false
         plugin-blacklist.xml-apis.jar=false
         mode.javascript.deepIndent=false
         jcompiler.basepath=
         jcompiler.modernCompiler=true
         buffer.deepIndent=false
         plugin-blacklist.xmlParserAPIs.jar=false
         jcompiler.outputdirectory=
         jcompiler.otheroptions=
         encodingDetectors=BOM XML-PI
         mode.java.deepIndent=false
         options.pmd.rules.SuspiciousOctalEscapeRule=true
         plugin-blacklist.JCompiler.jar=false
         jcompiler.sourcepath=
         mode.html.deepIndent=false
  • 2024-04-11(Th) Raspberry Pi 5에 MoniWiki 설치하기(Docker 이용) . . . . 1 match
         ["MoniWiki On Raspberry Pi"] >
         오래된 Raspberry PI 3가 가지고 놀기엔 너무 느리다고 자주 느끼게 되었다.
         그리고 Raspberry Pi는 핸드폰 충전기 전원 정도밖에 쓰지 않는 장비이다.
  • Ajax관련사이트 . . . . 1 match
         http://jsdoc.sourceforge.net/ => javadoc 명령으로 HTML API를 생성하듯이 자바스크립트의 주석을 바탕으로 HTML 다큐먼트를 생성하는 오픈소스
  • Apache에Php세팅하기 . . . . 1 match
         PHPIniDir "D:/programs/php/"
  • Axis . . . . 1 match
         Apache Group에서 제공하는 [웹서비스 개발 s/w](API 및 도구)
  • DDR . . . . 1 match
         Device Description Repository : http://www.w3.org/TR/DDR-Simple-API/
  • EclipseSWT . . . . 1 match
         GUI 플랫폼으로서 이클립스의 장점은 두가지로 요약할 수 있다. 첫째 장점은 기반 플랫폼인 SWT에서 기인한다. SWT는 OS 고유의 룩앤필을 갖는 멀티 플랫폼 GUI 애플리케이션을 자바로 쉽게 개발할 수 있는 유일한 수단이다. Sun이 주장하는 “Write Once, Run Anywhere”는 바람직한 방향이긴 하지만 OS 고유의 색깔과 기능을 무시한다고 볼 수도 있다. 그런 면에서 SWT는 “로마에 가면 로마법을 따르라”라는 격언을 지키고 있으며, 이로 인해 OS가 제공하는 기능을 더 효율적으로 발빠르게 사용할 수 있다. 물론 이것은 장단점이 있는 부분이다. 스윙과 SWT의 우월성에 대한 논쟁은 대부분 무의미하다. 하지만 개발자의 취향이나 API의 아름다움과 관계없이 현 시점에서 사용자의 눈에 더 그럴듯 해보이고 성능도 더 좋은 것은 SWT일 가능성이 높으며, 앞으로 스윙이 OS와 대등한 수준의 플랫폼이 된다면 스윙 위에 SWT를 탑재하게 될 가능성도 있다고 본다(최근에 SWT-on-Swing 프로젝트 몇가지가 나타난 것이 그 예).
  • InterMap . . . . 1 match
         GtkRef http://developer.gnome.org/doc/API/2.0/gtk/$PAGE.html
          Please See InterWiki MoniWiki:InterMapIcon
  • PairingSamsungBluetoothKeyboardTrio500OnXubuntu . . . . 1 match
         Trio 500 requires a PIN code to be paired.
         Then, a 6-digit numeric value (pin code) to be entered is displayed on the screen, such as {{{PassKey 123456}}}.
  • SAX . . . . 1 match
         [XML]문서 처리를 위한 이벤트 기반의 API
  • SOLID . . . . 1 match
         ex. JDBC driver : 새로운 구현을 추가하기 쉽다.(열려있다) 추상화된 JDBC API가 정의되어 있다.(닫혀있다)
  • Smtp명령 . . . . 1 match
         PIPELINING
  • SwaggerSettingOnSpringBootWithNewServletContext . . . . 1 match
         2. determine prefix ("/apigw" in this case) for new context and add setting in SpringBootApplication or other configuration
          public ServletRegistrationBean<DispatcherServlet> apigw() {
          applicationContext.register(ApiGwWebMvcConfig.class);
          val servletRegistrationBean = new ServletRegistrationBean<>(dispatcherServlet, "/apigw/*");
          servletRegistrationBean.setName("apigw");
         3. write {{{ApiGwWebMvcConfig.java}}} for new context
         @ComponentScan(basePackageClasses = ApiGwControllerPackage.class)
         public class ApiGwWebMvcConfig extends WebMvcConfigurationSupport {
          private ApiInfo apiInfo() {
          return new ApiInfoBuilder()
          .title("My API")
          .pathMapping("/")
          .apiInfo(apiInfo());
  • Web2.0을활용한사이트 . . . . 1 match
          * HipCal PIM
  • Well-FormedXML . . . . 1 match
         [6개 구성요소]만 사용 : PI, DTD정의, Element, Entity, Comment, CDATA section
  • XMLParser . . . . 1 match
          * [XML] Parser API Feature Summary : http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP2.html#wp103531
  • XML문서의구성 . . . . 1 match
          *[PI] (Processing Instructions)
  • bootlog . . . . 1 match
         grep -h -e 'Stopping ACPI' -e 'Started User Manager for UID 1000' /var/log/syslog /var/log/syslog.[0-9] >> /home/gim/_onoff.log
  • certbot . . . . 1 match
         in Raspberry PI
         https://pimylifeup.com/raspberry-pi-ssl-lets-encrypt/
  • dom . . . . 1 match
         [HTML]이나 [XML]문서를 위한 프로그래밍 API
  • iBatis . . . . 1 match
         JDBC API의사용을지양
  • netcat . . . . 1 match
         내부(사설ip) : nc x.x.x.x 10000 > COPIED_FILE
  • refactoring . . . . 1 match
         CHAPTER 11 API 리팩터링
  • saas . . . . 1 match
         Software as a service (SaaS) is a software application delivery model where a software vendor develops a web-native software application and hosts and operates (either independently or through a third-party) the application for use by its customers over the Internet. Customers do not pay for owning the software itself but rather for using it. They use it through an API accessible over the Web and often written using Web Services or REST. The term SaaS has become the industry preferred term, generally replacing the earlier terms Application Service Provider (ASP) and On-Demand.
  • 심플소프트웨어-맥스카넷-알렉산더-201912 . . . . 1 match
         Chapter 6 복잡성을 키우는 방법: API 분리
  • 코틀린마이크로서비스개발-후안안토니오 . . . . 1 match
          - Context Mapping: 다수의 컨텍스트를 가진 대규모 애플리케이션에서는 전체에 대한 시각을 놓칠수 있다. 컨택스트 맵은 시스템 전체뷰로 BC간의 커뮤니케이션 방식을 보여준다.
          - Context Mapping: Microservice의 의존성, 결합을 이해하기위해 전체 시스템의 Context Mapping 을 검토해야한다.
         5.4. RESTful API for CRUD
Found 46 matching pages out of 1802 total pages

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-27 17:32:32
Processing time 0.0166 sec