Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

(소개) 요로리의 트릭스터 규닝서버

game/play 2018.11.27 14:28
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

아주 오래전 트릭스터라는 게임을 한적이 있다. 드릴질을 엄청 했었는데..ㅋㅋ 

해당 게임은 망해서 국내에 서비스하지 않고 있는데 외국이나 트릭스터 팬들 중 게임쪽으로 일가견이 있는 분들이 서버를 운영하고 있다카던데 그런 서버들 중 하나가 규닝서버이지 않나 싶다.  무튼 트릭스터 팬들에게 있어서는 매우 좋은 소식이다!

아래는 요로리라는 여성 유튜버님께서 방송을 하는 내용인데 나처럼 게임을 직접 하기는 싫지만 게임을 즐기고 싶은 사람에게는 매우 좋은 유튜브이다 ㅎㅎ 규닝서버가 더욱 더 활발해질수 있도록 기원한다. 그리고 요로리님의 구독자가 늘어서 지속적인 유튜브 포스팅을 해주었으면 하는 바램에 이렇게 홍보차원에서 포스팅을 해본다! 흥해라~트릭스터~흥해라 요로리~




더 많은 영상을 보시려면 아래의 주소를 꾹~누르시면 됩니다.

https://www.youtube.com/channel/UClMpzJOOYjYYbkUVFhblXLw


   끝~


'game > play' 카테고리의 다른 글

(소개) 요로리의 트릭스터 규닝서버  (0) 2018.11.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[mysql] select 한것 update하기

DataBase/MySql 2018.11.23 13:56
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

Mysql에서~

SELECT 를 하여 원하는 테이블의 필드에 데이터를 채우고자 했다.

같은 테이블일 경우

UPDATE 테이블명

SET 데이터 들어갈 필드 = 데이터있는필드

WHERE 조건문 블라블라


다른 테이블일 경우

UDATE  테이블1, 테이블2

SET 테이블1.필드 = 테이블2.필드

WHERE 조건문 블라블라 


작업전엔~SELECT로 확인 후 작업이 센스~


acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

mysql Lock wait timeout exceeded; try restarting transaction: Timeout on record in index:

DataBase/MySql 2018.10.30 16:36
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


error 

Lock wait timeout exceeded; try restarting transaction: Timeout on record in index:


solution

show processlist;

kill <process id>;


참고 사이트 : https://stackoverflow.com/questions/5836623/getting-lock-wait-timeout-exceeded-try-restarting-transaction-even-though-im

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Spring Boot + Spring Batch 분석_02

OpenSource/Spring Batch 2018.10.23 19:14
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

2018/10/12 - [OpenSource/Spring Batch] - Spring Boot + Spring Batch 분석_01

 저번 분석에서는 Job에 대해서 알아보았습니다. 

이제 Step에 대해 알아보도록 하겠습니다.

설명하고 있는 소스는 https://spring.io/guides/gs/batch-processing/ 를 참고!

// tag::jobstep[]
    @Bean
    public Job importUserJob(JobCompletionNotificationListener listener, Step step1) {
        return jobBuilderFactory.get("importUserJob")
            .incrementer(new RunIdIncrementer())
            .listener(listener)
            .flow(step1)
            .end()
            .build();
    }

    @Bean
    public Step step1(JdbcBatchItemWriter<Person> writer) {
        return stepBuilderFactory.get("step1")
            .<Person, Person> chunk(10)
            .reader(reader())
            .processor(processor())
            .writer(writer)
            .build();
    }
    // end::jobstep[]
  • Step의 메소드명은 step1
  • 파라미터는 JdbcBatchItemWriter<Person> writer 
  • return은 stepBuilder
  • 내용을 파악하기 전에 SpringBatch의 Flow를 파악해보면 좋을것 같다.
    왜? 나는 chunk, reader, processor, writer를 알아야하는가?에 대한 답변이 될꺼라 생각한다.
  • SpringBatch Flow
  • 이제 하나하나씩 알아가보자.
  • chunk를 보자.
    • 우선 chunk(청크)란 배치선 덩어리 데이터들을 단위별로 묶어서 처리되어지는 수!
      즉, 위에 10이라는 뜻은 
      10개를 모아서 Chuck단위(10)로 트랜잭션을 이루고 있다고 보면 된다.
      트랜잭션 수행이기 때문에 실패 시 
      Chunk단위로 롤백이되고, 이전에 커밋된 트랜잭션까지는 반영이 된다는 뜻이다.
    • <Person, Person> chunk(10)에서 <Person, Person>은 제네릭 타입으로
      각 청크의 input과 output type을 나타낸다. 
    • ItemReader<Person>과 ItemWriter<Person>로 생각하면 된다.
  • reader(reader())를 보자.
    • reader? 뜻 그대로 읽어들이는 것이다. 무엇을? 데이터를~(txt, api, db 등등등)
       @Bean
          public FlatFileItemReader<Person> reader() {
              return new FlatFileItemReaderBuilder<Person>()
                  .name("personItemReader")
                  .resource(new ClassPathResource("sample-data.csv"))
                  .delimited()
                  .names(new String[]{"firstName", "lastName"})
                  .fieldSetMapper(new BeanWrapperFieldSetMapper<Person>() {{
                      setTargetType(Person.class);
                  }})
                  .build();
          }
      
    • 위의 FlatFileItemReader는 SpringBatch에서 제공해주는 녀석이다.
      json, xml 형태가 아닌 말그대로 flat file을 읽어들인다.
      import org.springframework.batch.item.file.FlatFileItemReader;
      import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder;
    • FlatFileItemReaderBuilder! 이녀석 또한 Builder Pattern. 
      • name : reader instance명 
      • resource : 근원지 즉, read할 flat file.
      • delimited() : 명시적이지 않을 때 사용!
        DelimitedLineTokenizer를 작성하기위한 FlatFileItemReaderBuilder.DelimitedBuilder의 인스턴스를 리턴합니다. 이 빌더에 의해 구성된 DelimitedLineTokenizer는 lineTokenizer를 통해 명시적으로 구성되지 않은 경우에만 사용됩니다.
      • names : sample-data.csv의 내용과 names에서 선언한 포맷에 맞게 들어오게 되며 이 데이터는
      • fieldSetMapper()를 통해 DTO에 매핑 되어진다.
      • 예를 들어 아래의 데이터 중 Jane, Doe라고 한다면  String[]{"firstName", "lastName"}에 담긴다는 것이고 이것은 fieldSetMapper를 통해 객체에 담기게 된다. 

                  


    • processor(processor)
      • PersonItemProcessor는 ItemProcessor의 구현체이다.
        • Person객체를 input으로 하여 가공한 뒤에 output으로 Person을 리턴한다. 
          @Bean
              public PersonItemProcessor processor() {
                  return new PersonItemProcessor();
              }
          package hello;
          
          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;
          
          import org.springframework.batch.item.ItemProcessor;
          
          public class PersonItemProcessor implements ItemProcessor<Person, Person> {
          
              private static final Logger log = LoggerFactory.getLogger(PersonItemProcessor.class);
          
              @Override
              public Person process(final Person person) throws Exception {
                  final String firstName = person.getFirstName().toUpperCase();
                  final String lastName = person.getLastName().toUpperCase();
          
                  final Person transformedPerson = new Person(firstName, lastName);
          
                  log.info("Converting (" + person + ") into (" + transformedPerson + ")");
          
                  return transformedPerson;
              }
          
          }
        • 정리하면 processor의 역할은 read한 것을 가공하여 write에 주는 것이다.


  • writer(writer)
    • 이제 마지막으로 writer입니다.
      여기에서는 데이터베이스 관련 writer중 JdbcBatchItemWriter가 사용되어집니다.
@Bean
    public JdbcBatchItemWriter<Person> writer(DataSource dataSource) {
        return new JdbcBatchItemWriterBuilder<Person>()
            .itemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<>())
            .sql("INSERT INTO people (first_name, last_name) VALUES (:firstName, :lastName)")
            .dataSource(dataSource)
            .build();
    }
    • JdbcBatchItemWriterBuilder가 사용.
      • itemSqlParameterSourceProvider()
        • 작성자가 사용할 ItemSqlParameterSourceProvider를 구성합니다.
          beanMapped ()가 호출되지 않은 경우에만 사용해야합니다.
        • BeanPropertyItemSqlParmeterSourceProvider
          • SQL구문에서 파라미터에 사용되어지는 명명 중 JavaBean(Person)에 속성에 해당되면 
            공하여준다.
      • sql : sql구문
      • dataSource : @EnableBatchProcessing에 의해 생성.



'OpenSource > Spring Batch' 카테고리의 다른 글

Spring Boot + Spring Batch 분석_02  (0) 2018.10.23
Spring Boot + Spring Batch 분석_01  (0) 2018.10.12
SpringBatch 예제  (0) 2018.09.12
MyBatisPagingItemReader를 사용할 때 유의점  (0) 2015.10.02
Spring Batch 환경 셋팅  (0) 2012.09.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Error: ✗ Could not create /var/lib/grafana/plugins/grafana-piechart-panel/.gitignore. Permission denied. Make sure you have write access to plugindir

CM/ansible 2018.10.23 15:51
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


ansible + grafana환경에서 아래와 같은 오류가 발생하였다.

Error: ✗ Could not create /var/lib/grafana/plugins/grafana-piechart-panel/.gitignore. Permission denied. Make sure you have write access to plugindir


NAME:

   Grafana cli plugins install - install <plugin id> <plugin version (optional)>


USAGE:

   Grafana cli plugins install [arguments...]



첫번째 해결책으로 아래와 같이 user: root를 통해 해결하였다.

- name: run grafana 
  docker_container: 
     name: grafana 
     user: root   
     .....


하지만 user: root 특히 root권한을 사용하는것이 review통해 지적이 나왔다.

그래서 테스트를 하다 원인을 알게 되었다. 원인은 바로 기존에 사용되어진 볼륨 이였다.

docker volume rm 볼륨이름 을 통하여 삭제 한 뒤 해보니 잘되었다.

아쉽게 재현을 다시 해보려고 하는데 잘되지 않았다..ㅠㅠ

(하도 개발서버에서 이것저것 했더니..) 정확한 원인을 찾아내기가 여간 어려운 일이 아니다..




acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ansible error - may be elsewhere in the file depending on the exact syntax problem.

CM/ansible 2018.10.23 15:38
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


may be elsewhere in the file depending on the exact syntax problem.  

The offending line appears to be:   

- name: Create a data volume   

^ here

위의 오류는 ansible 버전이 낮아서 나는 오류이다.

ansible은 버전이 2.7이상이어야 docker_volume을 사용할 수가 있다.

참고 사이트 : 

https://docs.ansible.com/ansible/latest/modules/docker_volume_module.html?highlight=docker_volume



acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Spring Boot + Spring Batch 분석_01

OpenSource/Spring Batch 2018.10.12 15:51
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


주저리 

   spring boot를 사용하여 
   spring batch를 해보려는데 막상 spring batch를 잘모르면 제대로 못할것 같은 생각이 들었다.
   springframework를 spring boot기반으로 해볼때도 마찬가지였다.


구성

  • Job과 Step으로 구성.
    • Job
      • 여러개의 Step으로 구성.
        • Step은 ItemReader, ItemProcessor, ItemWriter의 구조이거나 
          이런 전형적인 구조가 아닐 경우 Tasklet 구조.

분석

    2018/09/12 - [OpenSource/Spring Batch] - SpringBatch 예제

    에서 처럼 https://spring.io/guides/gs/batch-processing/
   공식 사이트를 살펴보도록 하자.


org.springframework.boot:spring-boot-starter-batch 디펜던시는 요녀석!

Batch Job을 구성할 때 
Spring Batch는 따로 작성할 필요없이 비즈니스 로직에 집중할 수 있도록 많은 유틸리티를 제공한다.


BatchConfiguration! 이부분은 옛날 Spring Batch에서 xml로 구성되던 녀석이다.

@Configuration
@EnableBatchProcessing
public class BatchConfiguration {


하나하나씩 보도록 하자. 우선 Factory를 DI 하는 것을 볼수 있다.

    @Autowired
    public JobBuilderFactory jobBuilderFactory;

    @Autowired
    public StepBuilderFactory stepBuilderFactory;

Factory는 Job과 Step에서 사용!
// tag::jobstep[]
    @Bean
    public Job importUserJob(JobCompletionNotificationListener listener, Step step1) {
        return jobBuilderFactory.get("importUserJob")
            .incrementer(new RunIdIncrementer())
            .listener(listener)
            .flow(step1)
            .end()
            .build();
    }

    @Bean
    public Step step1(JdbcBatchItemWriter<Person> writer) {
        return stepBuilderFactory.get("step1")
            .<Person, Person> chunk(10)
            .reader(reader())
            .processor(processor())
            .writer(writer)
            .build();
    }
    // end::jobstep[]


그리고 Step에서 사용되어지는 reader, processor, writer도 함께 구성.

    // tag::readerwriterprocessor[]
    @Bean
    public FlatFileItemReader<Person> reader() {
        return new FlatFileItemReaderBuilder<Person>()
            .name("personItemReader")
            .resource(new ClassPathResource("sample-data.csv"))
            .delimited()
            .names(new String[]{"firstName", "lastName"})
            .fieldSetMapper(new BeanWrapperFieldSetMapper<Person>() {{
                setTargetType(Person.class);
            }})
            .build();
    }

    @Bean
    public PersonItemProcessor processor() {
        return new PersonItemProcessor();
    }

    @Bean
    public JdbcBatchItemWriter<Person> writer(DataSource dataSource) {
        return new JdbcBatchItemWriterBuilder<Person>()
            .itemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<>())
            .sql("INSERT INTO people (first_name, last_name) VALUES (:firstName, :lastName)")
            .dataSource(dataSource)
            .build();
    }
    // end::readerwriterprocessor[]


구조는 이러하고..이제 조금 더 자세하게 보도록 하자.

More and More


BatchConfiguration.java

  1. @Configuration : 설정 파일임을 알려준다. @MVC에서 @service @controller와 같다고 보면 된다.
  2. @EnableBatchProcessing : Batch 관련 유용한 유틸을 제공가능케 한다. 영어 고대로 Enable하겠다는 뜻.
  3. 위에서 언급한 내용처럼 Factory를 DI 하여 Job과 Step을 구성한다.
    1. Job은 Step으로 구성하여 만들어지고 Step은 reader, processor, writer를 구성할 수 있다.
  • 어노테이션 @Autowired로 DI 해주는 부분.
    @Autowired
    public JobBuilderFactory jobBuilderFactory;

    @Autowired
    public StepBuilderFactory stepBuilderFactory;
  • Job과 Step을 설정 해주는 부분.
    @Bean
    public Job importUserJob(JobCompletionNotificationListener listener, Step step1) {
        return jobBuilderFactory.get("importUserJob")
            .incrementer(new RunIdIncrementer())
            .listener(listener)
            .flow(step1)
            .end()
            .build();
    }

    @Bean
    public Step step1(JdbcBatchItemWriter<Person> writer) {
        return stepBuilderFactory.get("step1")
            .<Person, Person> chunk(10)
            .reader(reader())
            .processor(processor())
            .writer(writer)
            .build();
    } 
    • Job은 아래와 같이 importUserJob이라는 함수명을 가지며, 파라미터로는 listener, step
    • return으로는 JobBuilderFactory를 이용하여 Job을 리턴하는 구조이다.
      • jobBuilderFactory.get은 job builder를 생성하고 JobRepository를 초기화 시킨다.

[ Spring Batch 흐름도]

         

      • 아래를 좀 더 심화있게 이해하려면 builder pattern을 이해해야한다. 
      • 하지만 우선적으로 Spring Batch에 대해서 파악하는게 우선이다. 
      • 이제 돌아와서 incremeter를 보자.
        • JobBuilderHelper Class에 속해있는 method이다. 
        • JobBuilderHelper는 JobBuilder의 부모 클래스이다.
        • 포맷은 아래와 같다.
          • public B incrementer(JobParametersIncrementer jobParametersIncrementer)
          • 파라미터로 JobPrametersIncrementer를 가지는데 이것은 Interface 형태이다.
          • 이 Interface를 구현한 녀석이 위에 사용되어진 RunIdIncrementer Class 이다.
        • 그리고 incrementer 이녀석이 하는 역할은 JobParametersIncrementer 인터페이스의 
          역할을 보면 알수 있다. JobParameters를 취득하기 위한 인터페이스이기 때문이다.
        • JobParameters..! 이녀석을 이해하려면 아래의 그림을 이해해야한다.
        • 동시 다발적으로 돌아가는 Job들의 차이는 어떻게 알수가 있나? Job들 간의 구별? 그 해답은 JobParameters에 있다. 그래서 batch job을 시작할 때 이처럼 JobParameters를 취득한다.
          더욱 더 자세한 내용은 해당 링크를 참조. 

           

        • 그 다음으로 listener.
          • JobBuilderHelper Class에 속해 있는 Method이며, format은 아래와 같다.
            public B listener(JobExecutionListener listener)
          • JobExecutionListener도 Interface이며 지금 설명하는 소스에서는 
            JobCompletionNotificationListener Class에서 extends하고 있다.
          • JobCompletionNotificationListener.java
            package hello;
            
            import org.slf4j.Logger;
            import org.slf4j.LoggerFactory;
            import org.springframework.batch.core.BatchStatus;
            import org.springframework.batch.core.JobExecution;
            import org.springframework.batch.core.listener.JobExecutionListenerSupport;
            import org.springframework.beans.factory.annotation.Autowired;
            import org.springframework.jdbc.core.JdbcTemplate;
            import org.springframework.stereotype.Component;
            
            @Component
            public class JobCompletionNotificationListener extends JobExecutionListenerSupport {
            
            	private static final Logger log = LoggerFactory.getLogger(JobCompletionNotificationListener.class);
            
            	private final JdbcTemplate jdbcTemplate;
            
            	@Autowired
            	public JobCompletionNotificationListener(JdbcTemplate jdbcTemplate) {
            		this.jdbcTemplate = jdbcTemplate;
            	}
            
            	@Override
            	public void afterJob(JobExecution jobExecution) {
            		if(jobExecution.getStatus() == BatchStatus.COMPLETED) {
            			log.info("!!! JOB FINISHED! Time to verify the results");
            
            			jdbcTemplate.query("SELECT first_name, last_name FROM people",
            				(rs, row) -> new Person(
            					rs.getString(1),
            					rs.getString(2))
            			).forEach(person -> log.info("Found <" + person + "> in the database."));
            		}
            	}
            }
          • 위의 소스는 job이 BatchStatus.COMPLETED인가에 대해서 listen하고 있다. 그리고나서 JdbcTemplate를 사용한다.
        • 다음으로 flow.
          • JobBuilder Class에 속해 있는 Method이며, format은 아래와 같다.
            public JobFlowBuilder flow(Step step)
            딱 봐도 job과 step의 연결 & 수행. return으로는 a SimpleJobBuilder.
        • 다음으로 end. 즉, builder를 종료.
        • 다음으로 build() : 호출하여 최종적으로 a job builder를 리턴. 

지금까지 Job 관련 내용들을 살펴 보았습니다.

다음 포스팅에서는 비즈니스 로직을 당담하고 있는 Step에 대해서 알아보도록 하겠습니다.

2018/10/23 - [OpenSource/Spring Batch] - Spring Boot + Spring Batch 분석_02




'OpenSource > Spring Batch' 카테고리의 다른 글

Spring Boot + Spring Batch 분석_02  (0) 2018.10.23
Spring Boot + Spring Batch 분석_01  (0) 2018.10.12
SpringBatch 예제  (0) 2018.09.12
MyBatisPagingItemReader를 사용할 때 유의점  (0) 2015.10.02
Spring Batch 환경 셋팅  (0) 2012.09.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

SpringBatch 예제

OpenSource/Spring Batch 2018.09.12 17:32
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

스프링배치 버전이 낮아서 이참에 스프링부트+스프링배치로 변경해보려고 한다.

"라스트 제다이"가 아닌 "라스트 스프링" ㅋㅋ 

설명에 앞서 주저리를 하자면..요즘 스프링 관련 업무가 없어서..너무 뒤쳐진거 같다..ㅜ.ㅜ..마지막 남은 스프링인가? ㅋㅋ 


예제는 아래 사이트를 참고
  - https://spring.io/guides/gs/batch-processing/ 


결과는 아래와 같다.


위 사이트 내용을 요약해서 보면

간단한 배치 서비스를 만들껀데
이 서비스는 csv파일의 데이터를 가져와서 입맛에 맞게 변경 한 뒤 데이터베이스에 저장하는게 목표이다.

정형적인 배치서비스를 축약한 내용의 소스인것 같아서 선택했다.

데이터를 수집해서 변경 후에 데이터베이스에 저장(insert) or 변경(update)하는 style이 되겠다.

위 소스를 위해서 필요한것은


src/main/java/hello/Person.java  : 데이터를 저장&전달하는 DTO.

src/main/java/hello/PersonItemProcessor.java : 데이터 가공 하는 부분.

src/main/java/hello/BatchConfiguration.java : input / prossessor / output ,  job과 step을 설정 

src/main/java/hello/JobCompletionNotificationListener.java : 배치 완료 후 노티 




'OpenSource > Spring Batch' 카테고리의 다른 글

Spring Boot + Spring Batch 분석_02  (0) 2018.10.23
Spring Boot + Spring Batch 분석_01  (0) 2018.10.12
SpringBatch 예제  (0) 2018.09.12
MyBatisPagingItemReader를 사용할 때 유의점  (0) 2015.10.02
Spring Batch 환경 셋팅  (0) 2012.09.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

보호글

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

카카오미니 C 롯데백화점 잠실점 오픈!

Life of AceT/Good Info 2018.09.10 10:50
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


카카오미니C 흥해라~


acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

개인정보를 청소할 수 있는 정부주관 사이트

Life of AceT/Good Info 2018.09.10 10:47
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



개인정보를 청소할 수 있는 정부주관 사이트 

https://www.eprivacy.go.kr/

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Vue.js 맛보기

Front/Vue.js 2018.09.10 10:23
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

vue-cli 설치

terrypark@localhost  ~  sudo npm install vue-cli -g

Password:

npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)

⸨░░░░░░░░░░░░░░░░░░⸩ ⠴ fetchMetadata: WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)

/usr/local/bin/vue -> /usr/local/lib/node_modules/vue-cli/bin/vue

/usr/local/bin/vue-list -> /usr/local/lib/node_modules/vue-cli/bin/vue-list

/usr/local/bin/vue-init -> /usr/local/lib/node_modules/vue-cli/bin/vue-init

+ vue-cli@2.9.6

added 235 packages in 62.51s


   ╭─────────────────────────────────────╮

   │                                     │

   │   Update available 5.5.1 → 5.6.0    │

   │     Run npm i -g npm to update      │

   │                                     │

   ╰─────────────────────────────────────╯


Project 만들기

terrypark@localhost  ~  vue init webpack todos-client


? Project name todos-client

? Project description todo list

? Author Terry.Park <terry.park@daumkakao.com>

? Vue build standalone

? Install vue-router? Yes

? Use ESLint to lint your code? No

? Set up unit tests No

? Setup e2e tests with Nightwatch? No

? Should we run `npm install` for you after the project has been created? (recommended) npm


   vue-cli · Generated "todos-client".



# Installing project dependencies ...

# ========================


npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

npm WARN deprecated bfj-node4@5.3.1: Switch to the `bfj` package for fixes and new features!

npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

WARN notice [SECURITY] mime has the following vulnerability: 1 moderate. Go here for more details: https://nodesecurity.io/advisories?search=mime&version=1.3.6 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.


> fsevents@1.2.4 install /Users/terrypark/todos-client/node_modules/fsevents

> node install


[fsevents] Success: "/Users/terrypark/todos-client/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed

Pass --update-binary to reinstall or --build-from-source to recompile


> uglifyjs-webpack-plugin@0.4.6 postinstall /Users/terrypark/todos-client/node_modules/webpack/node_modules/uglifyjs-webpack-plugin

> node lib/post_install.js


npm notice created a lockfile as package-lock.json. You should commit this file.

npm WARN ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but none is installed. You must install peer dependencies yourself.


added 1199 packages in 36.165s



   ╭─────────────────────────────────────╮

   │                                     │

   │   Update available 5.5.1 → 6.4.1    │

   │     Run npm i -g npm to update      │

   │                                     │

   ╰─────────────────────────────────────╯



# Project initialization finished!

# ========================


To get started:


  cd todos-client

  npm run dev


Documentation can be found at https://vuejs-templates.github.io/webpack


위의 가이드를 따라해보자
cd todos-client
npm run dev

결과


'Front > Vue.js' 카테고리의 다른 글

Vue.js 맛보기  (0) 2018.09.10

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

http dump

Language/go lang 2018.08.30 13:11
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



log.WithField("dump=", "start").Debug("auth start")
dump, err := httputil.DumpResponse(resp, true)
if err != nil {
log.Fatal(err)
}
log.WithField("dump??", string(dump[:])).Debug("auth dump")

// fmt.Printf("DUMP => %q", dump)

참고 : https://golang.org/pkg/net/http/httputil/


'Language > go lang' 카테고리의 다른 글

http dump  (0) 2018.08.30
golang 채널에 대해 알아보자!  (0) 2018.05.11
용어 - multiplexer  (0) 2018.03.16
golang + github Permanently added the RSA host key  (0) 2018.03.05
golang + github ignore setting  (0) 2018.03.05
기초) golang project 만들어보기!  (0) 2018.03.05

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ECMAScript 데이터 유형(Types)

Front/JavaScript 2018.08.14 15:26
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


6가지 원시 데이터(Primitive Data) 유형

  - null

  - undefined

  - number

  - string

  - boolean

  - symbol(ES6+)


객체(Object) 데이터 유형

  - function object

  - array object  (배열객체)

  - object 


객체 생성 ? new 생성자 함수()



설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

자바스크립트 이벤트 TEST

Front/JavaScript 2018.08.14 14:45
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T
Document

두 수의 합을 출력해봅니다.
+ = 12

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

롯데관광개발 ‘제주 드림타워’ 개발자금 숙제 풀었다

재테크 Info/news 2018.08.07 19:06
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ansible 주요 역할 정리

CM/ansible 2018.07.31 16:32
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

inventory file은 

리모트 서버에 대한 meta 데이터를 기술하는 파일.

기본 파일은 /etc/ansible/hosts이나 따로 inventory file을 사용할 수 있는 옵션(-i)을 줄수 있음.

alpha파일이라고 가정하고 그 안의 내용은 아래와 같다.

 acet1 ansible_host=acet-dev.cc

[acet]
acet1 


playbook은 

ansible의 환경 설정, 배포를 가능케 함. 

yaml 문법을 채용하여 정책을 기술

conditional(when), variables, loops(with_items), include, 결과 저장(register) 지원.

하나의 playbook은 하나 이상의 play를 두며 play의 목적은 여러 호스트들에 잘 정의된 role과 task를 매핑하는 역할을 맡음.

task 는

ansible module을 호출하는 단위(필수)

task 종류

1) 간단 task : name / action

  - name: install git
  yum:
    name: git
become: true 

2) Ansible 모듈 이용 task

- copy: src=/srv/myfiles/foo.conf 블라블라 

3) item을 이용한 복수 작업

 - template:
    src: "{{ item }}.j2"
    dest: "{{script_dir}}/{{item}}"
    mode: 0775
  with_items:
    - "delete_xxx_log.sh"
tags: ["cron-deletelog"] 


4) include - 변수 값을 지정해서 include yaml 파일로 넘길수도 있음.

 - include: fluentd.yml user=www group=www
tags: ["fluentd"] 

5) when(conditional)

 vsc_branch: false

 - include: acet-branch.yml
  when: acet_branch
tags: ["branch"]

ansible-playbook -i alpha -l acet deploy.yml -v -e "BUILD_TAG=${ACET_BUILD_TAG}" -e "acet_branch=true" 


6) event 발생(task -> handler)  예제는 pass~


role

structure 기본 단위로서 설치, 사용이 가능

           acet dir 등 사용자가 정의하여 만들수 있다.


참고문서 : 슬라이드쉐어





acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2018년07월26일(목) 주식일기

재테크 Info/주식 일기 2018.07.26 16:28
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

2018/07/25 - [재테크 Info/주식 일기] - 2018년07월25일(수) 주식일기


      

아 11,500원이 떨어지다니..멘붕...ㅋㅋ 장투의 길은 멀고도 험한 것!

하나 샀던것은 쫄아서 다시 팔아버렸는데..오늘 많이 올랐네 ㅋㅋㅋ

내가 사면 떨어지고 팔면 오르는...ㅋㅋㅋㅋㅋㅋㅋㅋㅋ


오늘의 교훈은

장기투자 + 가치투자 + 멘탈 잡자!



'재테크 Info > 주식 일기' 카테고리의 다른 글

2018년07월26일(목) 주식일기  (0) 2018.07.26
2018년07월25일(수) 주식일기  (0) 2018.07.25
2018년07월24일(화) 주식일기  (0) 2018.07.24
2018년07월23일(월) 주식일기  (0) 2018.07.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2018년07월25일(수) 주식일기

재테크 Info/주식 일기 2018.07.25 19:06
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T







2018/07/24 - [재테크 Info/주식 일기] - 2018년07월24일(화) 주식일기


오늘은 한종복 추가! 세금때문에 파랑이..ㅜㅜ 올라가즈앗!



     


'재테크 Info > 주식 일기' 카테고리의 다른 글

2018년07월26일(목) 주식일기  (0) 2018.07.26
2018년07월25일(수) 주식일기  (0) 2018.07.25
2018년07월24일(화) 주식일기  (0) 2018.07.24
2018년07월23일(월) 주식일기  (0) 2018.07.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2018년07월24일(화) 주식일기

재테크 Info/주식 일기 2018.07.24 16:14
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

2018/07/23 - [재테크 Info/주식 일기] - 2018년07월23일(월) 주식일기


장기투자, 가치투자 가즈아~

주식주식~

 

 

 

 












  900원 상승 




  1500원 상승




    0 원






'재테크 Info > 주식 일기' 카테고리의 다른 글

2018년07월26일(목) 주식일기  (0) 2018.07.26
2018년07월25일(수) 주식일기  (0) 2018.07.25
2018년07월24일(화) 주식일기  (0) 2018.07.24
2018년07월23일(월) 주식일기  (0) 2018.07.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바