참고 자료


http://www.riss.kr/search/detail/DetailView.do?p_mat_type=1a0202e37d52c72d&control_no=116dc9ff4db503dbd18150b21a227875#redirect



스마트폰 사용이 보편화 되면서, 모바일 인스턴트 메신저(MIM)의 사용 역시 대중화 되고 있다. 최근 MIM 내 그래픽 이모티콘은 사용자들 간 의사소통을 원활하게 하기 위한 도구로서의 역할을 하고 있는 동시에, 기업 입장에서는 이모티콘의 판매가 주요 비즈니스 모델 중 하나로 인식되고 있다. 이렇듯 이모티콘이 하나의 상품으로 MIM 서비스의 주요 비즈니스 모델로 인식, 개발되고 있는 현 시점에서 이모티콘 구매의도에 직접적으로 영향을 미치는 요인들에 대해 탐색한 연구는 매우 드문 실정이다. 따라서 본 연구는 이러한 학문적, 실무적 간극(gap)을 메우고자 이모티콘의 사용동기, 사용태도 및 구매의도에 영향을 미치는 요인들 간 관계에 대해 탐색해보고자 하였다. 본 연구의 실증분석 결과, MIM 내의 이모티콘 사용동기는 크게 이모티콘 사용에 대한 지각된 유용성과 지각된 즐거움으로 구성될 수 있으며, 지각된 유용성과 지각된 즐거움은 이모티콘을 사용한 대화 시, 몰입의 정도와 사회적 영향력에 모두 정(+)의 영향을 미치는 것으로 나타났다. 또한 이러한 이모티콘 사용동기와 플로우, 그리고 사회적 영향력은 최종적으로 이모티콘 사용태도에 긍정적 영향을 미쳤으며, 이모티콘 사용태도가 호의적일수록 이모티콘 구매의도도 높게 나타나는 것으로 밝혀졌다. 그러나 플로우(flow)와 사회적 영향력(social influence)은 구매의도에 직접적인 영향을 미치지는 않았다. 본 연구는 아직 그 연구가 활발하게 진행되지 않은 폐쇄형 SNS 내의 상품으로서의 이모티콘에 대한 구매의도와 그 동기 간 관계를 실증적으로 검증했다는 점에서 그 의의가 있다.




http://www.riss.kr/search/detail/DetailView.do?p_mat_type=1a0202e37d52c72d&control_no=4ea847cdd9c9a625d18150b21a227875



본 연구는 애니메이션 이모티콘의 표현유형(일러스트와 사진)에 따라 이모티콘에 대한 의미해석과 사용자 평가의 차이가 있는지, 그리고 이모티콘 표현유형에 따라 이모티콘 사용자 평가 요인이 지속사용의도에 미치는 영향에 차이가 있는가를 알아보기 위한 것이다. 연구의 진행을 위하여 20대~30대 중국인 234명에게 12가지의 일러스트와 사진 이모티콘을 제시하고 의미해석에 대한 12개 문항과 ①심미성, ②유희성, ③유용성, ④명확성, ⑤효율성, ⑥지속사용의도 6개 변인 총 22개 문항을 측정하였다. 연구 결과는 다음과 같다. 1)일러스트 애니메이션 이모티콘에 대한 의미해석에서 행위적 의미에서 사진 이모티콘의 의미해석 일치 정도는 일러스트 이모티콘보다 매우 높게 나타났으나, 감정적 의미 측면에서는 일러스트 이모티콘이 사진 이모티콘보다 일치 정도가 비교적 높게 나타났다. 2)이모티콘의 특성이 지속사용의도에 영향을 미치는가에 대한 검증에서는 명확성 외에 나머지 4개 이모티콘 특성 요인인 심미성, 유희성, 유용성과 효율성이 지속사용의도에 유의미한 영향을 미치는 것으로 나타났다. 각 요인들의 효과크기를 살펴보면 이모티콘 특성 중 효율성이 지속사용의도에 가장 큰 영향을 미치는 것으로 나타나 효율성이 지속사용의도를 야기하는 중요한 요소임을 알 수 있다. 그러나 일러스트 표현과 사진 표현을 나누어 검증해보면, 일러스트 애니메이션 이모티콘의 경우에는 효율성을 중심으로 하여 유희성이 지속사용의도를 형성하는데 영향을 미치는 것으로 나타나는 반면에, 사진 애니메이션 이모티콘의 경우에는 심미성만이 높은 영향력을 보이는 것으로 나타났다.




페이스북 버전

https://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwj-tLH29p7XAhUMbrwKHeSTAkEQFgglMAA&url=https%3A%2F%2Fblogs.cornell.edu%2Fsocialmedialab%2Ffiles%2F2013%2F12%2FSocial-sharing-of-emotions-on-Facebook.pdf&usg=AOvVaw2cMix4WrtkxcQsHyL5WnNF


ABSTRACT People often share emotions with others in order to manage their emotional experiences. We investigate how social media properties such as visibility and directedness affect how people share emotions in Facebook, and their satisfaction after doing so. 141 participants rated 1,628 of their own recent status updates, posts they made on others’ timelines, and private messages they sent for intensity, valence, personal relevance, and overall satisfaction felt after sharing each message. For network-visible channels— status updates and posts on others’ timelines—they also rated their satisfaction with replies they received. People shared differently between channels, with more intense and negative emotions in private messages. People felt more satisfied after sharing more positive emotions in all channels and after sharing more personally relevant emotions in network-visible channels. Finally, people’s overall satisfaction after sharing emotions in networkvisible channels is strongly tied to their reply satisfaction. Quality of replies, not just quantity, matters, suggesting the need for designs that help people receive valuable responses to their shared emotions.

Posted by '김용환'
,

[play2] globalsetting

scala 2017. 11. 2. 12:02



play2 2.4까지 잘 사용했던 globalsetting는 deprecated되었다.


eager bindings로 변경해야 한다. 


https://www.playframework.com/documentation/2.6.x/ScalaDependencyInjection#Eager-bindings

Posted by '김용환'
,


일래스틱서치의 기본 인덱스의 필드 최대 개수는 1000이다.


만약 아래와 같은 에러가 발생했다면 다음 내용을 참조한다. 



Limit of total fields [1000] in index [인덱스 이름] has been exceeded.






https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

Settings to prevent mappings explosionedit

Defining too many fields in an index is a condition that can lead to a mapping explosion, which can cause out of memory errors and difficult situations to recover from. This problem may be more common than expected. As an example, consider a situation in which every new document inserted introduces new fields. This is quite common with dynamic mappings. Every time a document contains new fields, those will end up in the index’s mappings. This isn’t worrying for a small amount of data, but it can become a problem as the mapping grows. The following settings allow you to limit the number of field mappings that can be created manually or dynamically, in order to prevent bad documents from causing a mapping explosion:

index.mapping.total_fields.limit
The maximum number of fields in an index. The default value is 1000.
index.mapping.depth.limit
The maximum depth for a field, which is measured as the number of inner objects. For instance, if all fields are defined at the root object level, then the depth is 1. If there is one object mapping, then the depth is 2, etc. The default is 20.
index.mapping.nested_fields.limit
The maximum number of nested fields in an index, defaults to 50. Indexing 1 document with 100 nested fields actually indexes 101 documents as each nested document is indexed as a separate hidden document.


필드 개수를 늘리는 것에 대해서 문서 뉘앙스는 bad이니 어느 정도부터는 성능 상 분명 존재할 것 같기도 하다..


굳이 변경하려면 다음과 같이 진행한다.



PUT 'localhost:9200/myindex/_settings' -d '

{

  "index.mapping.total_fields.limit": 10000

}'




그러나, 될 수 있으면 조심해서 쓰라고 하니. 참고하길 바란다.


https://discuss.elastic.co/t/limit-of-total-fields-1000-in-index-has-been-exceeded/87280/2


->(Elastic Team Member) Just understand that more fields is more overhead and that sparse fields cause trouble. So raise it with caution. Bumping into the limit is likely a sign that you are doing something that isn't going to work well with Elasticsearch in the future.


Posted by '김용환'
,

페이스북 광고 비딩에 대한 최신 정보가 담긴 내용이다.



https://adespresso.com/blog/everything-need-know-facebook-ads-bidding/

Posted by '김용환'
,


페이스북에서 explorer tab을 실험하고 있다. 




http://www.talkandroid.com/319666-facebook-testing-new-explore-feed-tab-on-android/



The Explore Feed is a way for users to access content that does not show up in their regular news feed. Based on a quick comparison, it appears many of the top stories correspond to the the Trending block that is present on the web interface on the desktop site. Other stories that appear are selected using algorithms that look at a user’s preferences and interests. The Explore Feed differs from the regular News Feed in that it is not limited to friends, pages, and groups that a user has elected to follow.



 


Posted by '김용환'
,



사용자 정의 maven jar를 사내 repository으로 업로드해야 할 떄 pom.xml을 굳이 고칠 필요가 없다. 간단히 아래와 같은 예제로 실행하면 사내 repository에 업로드(deploy)할 수 있다. 



$ mvn package 

// 성공


$ ls target/original-phoenix-0.0.1-SNAPSHOT.jar

original-phoenix-0.0.1-SNAPSHOT.jar



$ mvn -X deploy:deploy-file -DgroupId=com.google.phoenix -DartifactId=phoenix-core -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=target/original-phoenix-0.0.1-SNAPSHOT.jar -Durl=http://maven.google.com/content/repositories/phoenix-snapshot



다음 주소에 확인하면 잘 올라갔는지 볼 수 있다 .


http://maven.google.com/content/repositories/phoenix-snapshot/com/google/phoenix/phoenix-core/0.0.1-SNAPSHOT/maven-metadata.xml



Posted by '김용환'
,



apache commons에 CircularFifoBuffer 클래스가 있다. 



첫번째 예시 코드이다.



object Test extends App {

import org.apache.commons.collections.buffer.CircularFifoBuffer

val tasks = new CircularFifoBuffer(10)
tasks.add(1)
tasks.add(2)
tasks.add(5)
tasks.add(6)
println("max size : " + tasks.maxSize)
println("size: " + tasks.size)
println("--get")
println(tasks.get())
println(tasks.get())
println(tasks.get())
println(tasks.get())

println("--remove")
println(tasks.remove)
println(tasks.remove)
println(tasks.remove)
println(tasks.remove)

println("-- error")
println(tasks.remove)
}


가지고 있는 buffer보다 더 많이 remove하면 exception이 발생한다. 

get을 호출하면 계속 첫번째 엘리먼트를 리턴한다. 현재 값 확인할 때 좋을 듯 하다. 


max size : 10

size: 4

--get

1

1

1

1

--remove

1

2

5

6


at org.apache.commons.collections.buffer.BoundedFifoBuffer.remove(BoundedFifoBuffer.java:275)





두 번째 예시 코드이다. 


object Test extends App {

import org.apache.commons.collections.buffer.CircularFifoBuffer

val tasks = new CircularFifoBuffer(10)
tasks.add(1)
tasks.add(2)
tasks.add(3)
tasks.add(4)
tasks.add(5)
tasks.add(6)
tasks.add(7)
tasks.add(8)
tasks.add(9)
tasks.add(10)
tasks.add(11)
tasks.add(12)
println("max size : " + tasks.maxSize)
println("size: " + tasks.size)

for(i <- tasks.toArray) {
println(tasks.remove)
}
}


데이터를 계속 추가하면 처음에 들어온 데이터는 삭제된다. overflow가 발생되지 않는다. 



max size : 10

size: 10

3

4

5

6

7

8

9

10

11

12


Posted by '김용환'
,

intellij에서 scala App을 실행할 때 다음과 같은 에러가 발생할 수 있다. 


Error: scala: No 'scala-library*.jar' in Scala compiler library in test



Open File -> Project Structures -> Libraries(또는 맥이라면 cmd + ;를 누름) 화면에서 scala sdk를 삭제한다. 


그리고 코드 화면으로 넘어가면 scala setup을 해야 한다는 경고창이 코드 뷰 상단에 뜨는데. scala setup 버튼을 누르면 잘 동작한다. 



이렇게 잘 안되면..


Open File -> Project Structures -> Libraries(또는 맥이라면 cmd + ;를 누름) 화면에서 scala sdk를 삭제하고 +를 눌러 수동으로 scala sdk를 선택한다.



### 추가 2017.11

그래도 안되면...버그다.



build.properties에 보니 sbt.version=1.0.2로 되어 있다.

검색해보니. sbt 버그였나 보다.


https://github.com/sbt/sbt/issues/3560

https://youtrack.jetbrains.com/issue/SCL-12591


sbt를 1.0.3으로 변경하고 build.properties의 sbt.version을 1.0.3으로 수정하니 문제가 발생하지 않는다. (또는 0.13.16으로 변경해야 할듯..)


Posted by '김용환'
,


젠킨스에서 반복적인 job은 job dsl 플러그인을 쓰면 편하다~

multi-job 대신 쓸만할 수도. 


https://wiki.jenkins.io/display/JENKINS/Job+DSL+Plugin



Configuration As Code: The Job DSL Plugin de Daniel Spilker




Posted by '김용환'
,




jenkins pipeline 플러그인은 사용하면 각 단계로 로그를 상세히 볼 수 있다!!!





어디 단계에서 문제가 발생하는지 보니까 완전 좋다!!



한국 분의 설치 내용

https://shortstories.gitbooks.io/studybook/content/jenkins_pipeline_c0bd_c9c8_ae30.html



결과 내용


참조 : https://www.cloudbees.com/blog/top-10-best-practices-jenkins-pipeline-plugin


 



Posted by '김용환'
,