'ITWeb/개발일반'에 해당되는 글 490건

  1. 2015.11.03 [git] remote branch 삭제
  2. 2015.09.22 [Maven] Executable jar + Assembly 를 이용한 tar 묶기.
  3. 2015.08.25 [git] git 대충 사용하기.
  4. 2015.08.07 [SHELL] 실행 스크립트의 HOME PATH 설정.
  5. 2015.07.27 [MacPorts] Mac Ports 재설치.
  6. 2015.04.02 [GIT] master branch resync.
  7. 2015.03.18 [Intellij] maven 프로젝트 enable(?) 하기
  8. 2015.03.04 [Ganglia] RRAs 설정 예제.
  9. 2015.02.17 오픈소스에 add class 후 빌드 에러 발생 (Too many files with unapproved license)
  10. 2015.01.29 [Eclipse] Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build ....

[git] remote branch 삭제

ITWeb/개발일반 2015. 11. 3. 18:03

git remote branch 삭제 명령어.

(맨날 까먹음.)


[로컬 브랜치 삭제]

$ git branch -d 브랜치명


[리모트 브랜치 삭제]

$ git push origin :브랜치명


:

[Maven] Executable jar + Assembly 를 이용한 tar 묶기.

ITWeb/개발일반 2015. 9. 22. 12:29

main 함수 만들고 executable jar로 만들기 위해서 일반적인 패키징 작업중 하나 입니다.

그냥 또 기억 못할까봐 정리해 봅니다.

기본적인 내용이 자세한 내용과 활용은 아래 링크 참고하세요.


Ref.

https://maven.apache.org/plugins-archives/maven-assembly-plugin-2.5.4/

https://maven.apache.org/plugins/maven-assembly-plugin/assembly-mojo.html


[pom.xml 에 maven assembly plugin 추가 하기]

    <plugins>

...

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-jar-plugin</artifactId>

        <version>2.4</version>

        <configuration>

          <archive>

            <index>false</index>

            <manifest>

              <addClasspath>true</addClasspath>

              <mainClass>${MAINCLASS}</mainClass>

            </manifest>

          </archive>

        </configuration>

      </plugin>

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-assembly-plugin</artifactId>

        <version>2.4</version>

        <configuration>

          <descriptors>

            <descriptor>src/main/assemblies/package.xml</descriptor>

          </descriptors>

          <finalName>${project.name}</finalName>

          <appendAssemblyId>false</appendAssemblyId>

        </configuration>

        <executions>

          <execution>

            <id>tarball</id>

            <phase>package</phase>

            <goals>

              <goal>single</goal>

            </goals>

          </execution>

        </executions>

      </plugin>

...

    </plugins>


[assembly 생성하기]

- src/main/assemblies/package.xml

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.

1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

  <id>tarball</id>

  <formats>

    <format>tar</format>

  </formats>

  <fileSets>

    <fileSet>

      <directory>${project.basedir}</directory>

      <outputDirectory>/</outputDirectory>

      <includes>

        <include>bin/*.sh</include>

        <include>lib/sigar/*.so</include>

        <include>lib/sigar/*.dylib</include>

        <include>lib/sigar/*.dll</include>

        <include>lib/sigar/*.lib</include>

      </includes>

    </fileSet>

  </fileSets>

</assembly>


참 쉽죠!!

이렇게 만들어서 생성을 하게 되면 최종 tarball 은 아래와 같은 형태로 만들어 집니다.


${project.name}.tar

- 여기서 <finalName>과 <appendAssemblyId> 설정에 따라 finalName으로 이름이 적용 되게 됩니다.

:

[git] git 대충 사용하기.

ITWeb/개발일반 2015. 8. 25. 17:02

git 대충 급할 때 대충 사용하기 위한 command


[git 처음 등록]

로컬 저장소 또는 생성한 프로젝트 위치에서 실행 합니다.

예) project-example

$ cd git/project-example

$ git init

$ git add *

$ git commit

$ git remote add origin “github 에 생성한 경로”

$ git push origin master


[파일 수정 후 반영]

$ git add 는 신규 파일인 경우 add 후 commit 수행

$ git commit 은 이미 등록된 파일에 대해서 수정이 완료 된 후 반영 하기 위해 수행

$ git push origin +master 이미 등록된 master를 로컬에 있는 것으로 덮었쓸 때


[원격 브랜치 체크아웃]

$ git checkout -t origin/브랜치명

또는

$ git checkout 로컬브랜치명 원격브랜치명

:

[SHELL] 실행 스크립트의 HOME PATH 설정.

ITWeb/개발일반 2015. 8. 7. 10:33

start.sh 이나 stop.sh 같은걸 만들 때 필요했던건데 늘 작성하다 보면 잊어버리더라구요.

그래서 일단 남겨 보고자 합니다.


별 내용은 아닙니다. ㅡ.ㅡ;;


#!/bin/bash


DIR_NAME=`dirname "$0"`

DIR_HOME=`cd $DIR_NAME; cd ..; pwd`


보통 실행 스크립트가 위치한 곳들은 HOME/bin 이라는 곳에 위치를 하게 됩니다.

그래서 위와 같이 스크립트를 작성하면 HOME 경로를 잡을 수 있습니다.


실제 돌려 보시고 echo 로 찍어 보시면 이해가 쉽게 되실 거예요.

:

[MacPorts] Mac Ports 재설치.

ITWeb/개발일반 2015. 7. 27. 11:53

참고문서)

https://guide.macports.org/chunked/installing.macports.html


맥북에서 mac port 문제가 있어서 위 문서 보고 재 설치 했습니다.

제 맥북은 MacPorts 2.3.3. 이였습니다.

The OS X package installer automatically installs MacPorts, sets the shell environment, and runs a selfupdate operation to update the ports tree and MacPorts base with the latest release.

  1. Download the latest MacPorts-2.3.3-....pkg installer from the MacPorts download directory. Here are direct links for the latest versions of OS X:

  2. Double-click the downloaded package installer to perform the default easy install.

  3. After this step you are done already, MacPorts is now installed and your shell environment was set up automatically by the installer. To confirm the installation is working as expected, now try using port in a new terminal window.

    $ port version
    Version: 2.3.3

    In case of problems such as command not found, make sure that you opened a new terminal window or consult Section 2.5, “MacPorts and the Shell”. Otherwise, please skip the remainder of this chapter and continue with Chapter 3, Using MacPorts in this guide.

재 설치 하고 나니 잘 됩니다.

:

[GIT] master branch resync.

ITWeb/개발일반 2015. 4. 2. 11:09

asf의 master branch를 개인 github master branch로 sync 작업을 하기 위해 아래 명령어를 통해 syncing 작업을 하도록 합니다.

그냥 개인적으로 명령어 기억을 잘 못해서 기록해 봅니다.


$ git branch master

$ git clean -d -f

$ git fetch asf master

$ git push origin +master

:

[Intellij] maven 프로젝트 enable(?) 하기

ITWeb/개발일반 2015. 3. 18. 10:53

eclipse를 사용하다 요즘 apache ambari, tajo 관련 코드 및 개발 진행이 필요해 intellij로 넘어 가 볼까 하는데..

영 낯설다.. 


일단 maven project를 많이 사용하니 이것 부터 해보려 하는데.. 

eclipse에서 잘 되던 maven project를 intellij로 import 해서 test code를 일단 실행해 봤다.

뜨악~ 그냥 일단 빨갱이들이.. 쭈욱~~~~


test code도 실행이 안된다.

뭐 당연한 이야기.. ㅋㅋ


그럼 내가 뭘 해줘야 하지???



보이시죠??

해당 프로젝트에서 

Maven -> Generate Sources and Update Folders 

Maven -> Reimport

를 해주시면 됩니다.


이제 intellij도 함 사용해 보지요.

:

[Ganglia] RRAs 설정 예제.

ITWeb/개발일반 2015. 3. 4. 12:16

[원문]

http://www.perzl.org/ganglia/bestpractices.html


Best Practices – Ganglia Sampling Intervals

Important to know:

  • The sampling interval is defined in /etc/gmetad.conf.
  • The "RRAs" stanza is used to defined individual settings.
  • The sampling settings are global.
  • If no "RRAs" stanza is defined a default configuration is used.
  • For historic reasons all values are specified in intervals of 15 seconds.

Example: Default settings in Ganglia

RRAs "RRA:AVERAGE:0.5:1:240"    \
     "RRA:AVERAGE:0.5:24:240"   \
     "RRA:AVERAGE:0.5:168:240"  \
     "RRA:AVERAGE:0.5:672:240"  \
     "RRA:AVERAGE:0.5:5760:370"


Translation:

  • Take 240 samples at 1 × 15 seconds intervals (used for display of hour)
  • Take 240 samples at 24 × 15 seconds (= 6 minutes) intervals (used for display of day)
  • Take 240 samples at 168 × 15 seconds (= 42 minutes) intervals (used for display of week)
  • Take 240 samples at 672 × 15 seconds (= 168 minutes) intervals (used for display of month)
  • Take 370 samples at 5760 × 15 seconds (= 24 hours) intervals (used for display of year)

Example: 1-minute sampling for one year

RRAs "RRA:AVERAGE:0.5:4:525600"


Translation:

  • Take 525600 samples at 4 × 15 seconds (= 1 minute) intervals
  • 525600 = 60 (samples/hour) × 24 (hours) × 365 (days) × 1 (year)

Example: 1-minute sampling for 6 months, 5-minute sampling for 2 years

RRAs "RRA:AVERAGE:0.5:4:259200"  \
     "RRA:AVERAGE:0.5:20:210240"


Translation:

  • Take 259200 samples at every 4 × 15 seconds (= 1 minute) intervals
    • 259200 = 60 (samples/hour) × 24 (hours) × 30 (days) × 6 (months)
  • Take 210240 samples at every 20 × 15 seconds (= 5 minutes) intervals
    • 210240 = 12 (samples/hour) × 24 (hours) × 365 (days) × 2 (years)

Example: 15-second sampling for 1 day, 1-minute sampling for 2 months, 10-minute sampling for 1 year

RRAs "RRA:AVERAGE:0.5:1:5760"   \
     "RRA:AVERAGE:0.5:4:86400"  \
     "RRA:AVERAGE:0.5:40:52560"


Translation:

    • Take 5760 samples at every 1 × 15 seconds intervals
    • 5760 = 4 (samples/minute) 60 (samples/hour) × 24 (hours)
  • Take 86400 samples at every 4 × 15 seconds (= 1 minute) intervals
    • 86400 = 60 (samples/hour) × 24 (hours) × 30 (days) × 2 (months)
  • Take 52560 samples at every 40 × 15 seconds (= 10 minutes) intervals
    • 52560 = 6 (samples/hour) × 24 (hours) × 365 (days) × 1 (year)

Example: 1-minute sampling for 2 months, 5-minute sampling for 6 months, 15-minute sampling for 3 years

RRAs "RRA:AVERAGE:0.5:4:86400"   \
     "RRA:AVERAGE:0.5:20:51840"  \
     "RRA:AVERAGE:0.5:60:105120"


Translation:

  • Take 86400 samples at every 4 × 15 seconds (= 1 minute) intervals
    • 86400 = 60 (samples/hour) × 24 (hours) × 30 (days) × 2 (months)
  • Take 210240 samples at every 20 × 15 seconds (= 5 minutes) intervals
    • 51840 = 12 (samples/hour) × 24 (hours) × 30 (days) × 6 (month)
  • Take 105120 samples at every 60 × 15 seconds (= 15 minutes) intervals
    • 105120 = 4 (samples/hour) × 24 (hours) × 365 (days) × 3 (years)


:

오픈소스에 add class 후 빌드 에러 발생 (Too many files with unapproved license)

ITWeb/개발일반 2015. 2. 17. 12:01

[에러]

[ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.11:check (default) on project ambari-server: Too many files with unapproved license: 1 See RAT report in: /Users/hwjeong/git/ambari/ambari-server/target/rat.txt -> [Help 1]


이 에러는 뭐 오픈소스 사용하면서 class header 에 ASF 라이센스 정보를 작성 하지 않아서 발생하는 것입니다.

그러니 넣어 주시면 에러가 없어 집니다.


[헤더 라이선스 내용]

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


:

[Eclipse] Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build ....

ITWeb/개발일반 2015. 1. 29. 16:28

보통 eclipse 에서 maven 프로젝트 사용 시 이런 에러가 발생 할 경우 해결 방법.


[에러]

Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build .... 


[해결방법]

  <pluginManagement>

    <plugins>

        <plugin>

            <groupId>org.eclipse.m2e</groupId>

            <artifactId>lifecycle-mapping</artifactId>

            <version>1.0.0</version>

            <configuration>

                <lifecycleMappingMetadata>

                    <pluginExecutions>

                        <pluginExecution>

                            <pluginExecutionFilter>

                                <groupId>org.codehaus.mojo</groupId>

                                <artifactId>build-helper-maven-plugin</artifactId>

                                <versionRange>[0.0.1,)</versionRange>

                                <goals>

                                    <goal>regex-property</goal>

                                </goals>

                            </pluginExecutionFilter>

                            <action>

                                <ignore />

                            </action>

                        </pluginExecution>

                   </pluginExecutions>

                </lifecycleMappingMetadata>

            </configuration>

        </plugin>

    </plugins>

  </pluginManagement>


※ <build> 태그 아래 위 code를 추가해 주면 됩니다.


여기서 수정하셔야 하는 부분은 

<groupId>org.codehaus.mojo</groupId>

- <artifactId>build-helper-maven-plugin</artifactId>

- <goal>regex-property</goal>

내용에 맞게 수정해서 추가해 주시면 됩니다.

: