20191231
https://brunch.co.kr/brunchbook/philosophermom
nGrinder
20191230
Stokksnes
https://www.google.com/maps/@64.2440726,-14.964838,3a,75y,60h,103.1t/data=!3m8!1e1!3m6!1sAF1QipMMtUAOVO3J9ZvJuMfjfHccrpGcgxE5p3wGxgGf!2e10!3e11!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipMMtUAOVO3J9ZvJuMfjfHccrpGcgxE5p3wGxgGf%3Dw203-h100-k-no-pi-13.101348-ya328.00183-ro0-fo100!7i7680!8i3840
Dolomites
Wombat
20191229
20191228
20191227
https://www.youtube.com/watch?v=QVlxGNLuD4U
20191226
20191225
20191224
hbase
https://www.slideshare.net/deview/211-hbase
20191223
20191222
20191221
20191220
20191216
Reproduction
Metabolism
Response
Revolution
20191215
20191214
20191213
20191212
git branch | grep "feature/XXXXX" | xargs git branch -D
20191211
20191209
20191208
Sprint report
20191207
20191206
20191205
20191204
http://www.todayhumor.co.kr/board/view.php?table=humordata&no=1843401&s_no=1843401
20191203
20191202
Stylebot
20191130
20191128
20191127
ps -ef | grep java | grep -v grep | sed 's/ /\n\t\t\t\t\t\t\t-/g'
https://www.vingle.net/posts/2703333?m=fkrnd&fbclid=IwAR1p786we11xqN8vY8qlee036S8PjARpVplggE1yhhPY-YlmpigZKCXX8nM
20191126
20191124
20191123
20191122
20191121
20191119
Why does my CentOS logrotate run at random times?
https://serverfault.com/questions/454118/why-does-my-centos-logrotate-run-at-random-times
20191118
20191117
cryo-electron microscopy(cryo-EM)
https://elifesciences.org/articles/37558
20191116
20191115
20191113
20191112
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException:
Bean named 'XXX' is expected to be of type 'a.b.c.XXX' but was actually of type 'com.sun.proxy.$Proxy131'
20191110
20191109
https://www.youtube.com/watch?v=7S16j3F95xc&t=22s
20191108
20191107
20191105
20191104
20191103
20191102
20191101
20191031
https://jodd.org/proxetta/
20191029
covalent bond
helm
20191028
20191027
20191026
20191025
Epic Status
Mark as Done
20191022
https://stackoverflow.com/questions/3872427/how-to-send-line-break-with-curl
20191021
20191020
20191019
20191018
20191016
java.lang.NullPointerException
at sun.awt.FcFontManager.getDefaultPlatformFont(FcFontManager.java:76)
at sun.font.SunFontManager$2.run(SunFontManager.java:433)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.(SunFontManager.java:376)
at sun.awt.FcFontManager.(FcFontManager.java:35)
at sun.awt.X11FontManager.(X11FontManager.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.canDisplayUpTo(Font.java:2060)
at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
at java.awt.font.TextLayout.(TextLayout.java:531)
at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:254)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:229)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:214)
at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2090)
at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2072)
20191015
20191013
Europa
20191011
20191010
20191009
20191007
java process version
- name: version
shell: >
jps |
grep -v 'Jps' |
cut -d ' ' -f1 |
xargs -i jcmd {} VM.version
register: java_version
- name: print java version
debug:
msg: "{{ java_version.stdout_lines }}"
20191006
20191005
20191003
20191002
cat /etc/logrotate.d/tomcat
/tomcat/logs/catalina.out {
copytruncate
daily
rotate 30
compress
missingok
notifempty
dateext
}
-rw-rw-r-- 1 x x 183760 2019-10-02 17:09 catalina.out
-rw-rw-r-- 1 x x 2972037374 2019-10-02 17:08 catalina.out-20191002
-rw-rw-r-- 1 x x 105906176 2019-10-02 17:09 catalina.out-20191002.gz
20191001
jcmd
- name: version
shell: >
jcmd
`jps | grep Bootstrap | cut -d ' ' -f1`
VM.system_properties |
grep -e 'java.vendor=' -e 'java.runtime.version=' |
cut -d '=' -f2 |
head -c -1 |
tr '\n' '-'
register: java_version
- name: print java version
debug:
msg: "{{ java_version.stdout }}"
20190930
thread
20190929
ansible-guide-create-ansible-playbook-for-lemp-stack
https://www.howtoforge.com/ansible-guide-create-ansible-playbook-for-lemp-stack/
20190928
20190927
ansible
https://www.katacoda.com/courses/ansible/playground
20190926
Visual Studio Code extension for Ansible
AdoptOpenJDK
~$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
~$ source .bash_profile
~$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
Keyframe
Parallel Adhoc
20190925
ExecutorService
20190924
Digests
20190923
20190922
ExecutorService
20190921
https://stuartmarks.wordpress.com/2015/01/09/writing-stateful-stream-operations/
20190919
20190918
https://4comprehension.com/implementing-a-randomized-stream-spliterator-in-java/
getClassInfoSet
Collector.of
20190917
SOLID
SRP(Single Responsibility Principle) : 클래스는 작게 만들자.
OCP(Open Closed Principle) : 수정은 적게하면서 확장은 쉽도록 만들자.
LSP(Liskov Substitution Principle) : 상위 클래스와 하위 클래스가 논리적이도록 만들자.
ISP(Interface Segregation Principle) : 상황과 관련된 메서드만 제공하도록 만들자.
DIP(Dependency Inversion Principle) : 추상적인 것에 의존하게 만들자.
https://limkydev.tistory.com/77
A 기능의 메서드가 필요함.
간단하게 만듬.
다른 곳에서 필요할 것 같아서 전역 메서드를 만듬.
새로 만든 전역 메서드 위에 똑같은 기능의 다른 이름의 메서드가 이미 있음.
아, 새로 만든 메서드 지우고 이미 있는 메서드로 변경.
20190916
20190915
https://dzone.com/articles/how-to-transform-elements-in-a-stream-using-a-coll?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed:%20dzone%2Fjava
http://www.jezzamon.com/fourier/
20190914
20190913
20190912
20190911
20190910
20190909
20190908
20190907
20190906
public final class StreamSupport
public interface Spliterator
public final class Spliterators
static class IteratorSpliterator
abstract class ReferencePipeline extends AbstractPipeline implements Stream
static class Head extends ReferencePipeline
public interface Stream extends BaseStream
abstract static class StatelessOp extends ReferencePipeline
interface Sink extends Consumer
static abstract class ChainedReference implements Sink
final class ForEachOps
interface TerminalOp
static final class OfRef extends ForEachOp
static abstract class ForEachOp implements TerminalOp, TerminalSink
interface TerminalSink extends Sink, Supplier
abstract class AbstractPipeline extends PipelineHelper implements BaseStream
public interface BaseStream extends AutoCloseable
abstract class PipelineHelper
20190905
Communications link failure during rollback(). Transaction resolution unknown
20190904
20190903
https://www.youtube.com/watch?v=RW_rdx_YdOc
20190902
20190901
20190831
20190829
20190828
20190827
JQuery proxy
20190826
https://dzone.com/articles/j%CE%BBv%CE%BB-8-a-comprehensive-look-part-12-insight-into-s
20190825
20190824
20190823
20190822
https://www.youtube.com/watch?v=Enwbh6wpnYs
20190821
https://blog.ashon.me/195
Currying
https://dzone.com/articles/whats-wrong-java-8-currying-vs
20190820
20190818
20190817
20190816
jQuery('.accordion__item tr')
.map((i, target) => jQuery(target).find('td:eq(2)').text())
.get()
.filter(i => i != '')
.sort((a, b) => a.localeCompare(b))
.join('\n');
20190814
튜링의 불완전성 증명
Turing Machine
20190813
20190811
20190810
20190809
20190808
20190807
less
Grab
20190806
Inspect Code
20190805
git log -p -Sfilter2
https://www.atlassian.com/git/tutorials/git-log
20190804
20190803
20190802
https://www.youtube.com/watch?v=rFE2-i_lAQo
20190801
20190731
20190730
20190729
20190728
Red shoes
Uber
Roborock
CMOS
20190727
20190725
Sprint
20190724
20190723
20190721
20190720
20190719
Json2Pojo with Lombok
20190718
20190717
20190714
Wireshark
Pesticide
https://chrome.google.com/webstore/detail/pesticide-for-chrome/bblbgcheenepgnnajgfpiicnbbdmmooh
https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm/related
Elasticseach Query DSL
20190713
Gmail
20190712
File Statistics
PixelSnap2
Github > Insights > Pulse
ultra-wide monitor
20190709
20190708
20190707
20190706
20190705
https://dzone.com/articles/resolve-circular-dependency
20190704
https://muchtrans.com/translations/software-disenchantment.ko.html
20190702
20190629
20190628
20190627
20190624
20190622
20190621
20190619
Portofino, Genoa
20190618
20190617
20190616
20190615
20190614
20190613
20190612
worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1'
20190611
20190610
20190609
20190608
20190607
20190606
20190605
20190602
20190601
20190531
20190530
20190528
https://www.statista.com/chart/17321/global-downstream-mobile-traffic-by-app/?fbclid=IwAR2nnWSEIxbximQanZL0UlcKA7aO7VeuoShjzFXyjAiAYAKIgtpboLN0K9Y
20190527
20190526
20190525
20190524
http://manifold.systems
20190523
https://stackoverflow.com/questions/27584463/understanding-the-groovy-syntax-in-a-gradle-task-definition/27584555#27584555
20190522
https://groups.google.com/forum/#!topic/chromedriver-users/yHuW_Z7tdy0
20190521
20190520
20190519
20190518
https://homoefficio.github.io/2017/02/19/Java8-%EB%9E%8C%EB%8B%A4-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%8E%99-%EC%A0%95%EB%A6%AC/
20190516
20190515
20190513
20190512
20190511
20190510
20190509
20190507
20190506
20190505
https://stackoverflow.com/questions/40996614/whats-the-best-practice-for-creating-stateless-utility-classes-in-java
https://cloud.google.com/vision/
20190504
20190502
20190430
https://stackoverflow.com/questions/54238488/java-8-optional-cannot-be-applied-to-interface
20190429
20190428
20190427
20190426
20190423
20190422
redis config - limits
20190421
20190420
maxmemory-policy
20190419
20190416
shardingsphere
http://shardingsphere.apache.org/
20190415
20190414
20190413
20190412
isInstance & cast
20190411
Dallas
20190410
ConnectionPhantomReference
20190407
20190406
20190405
20190403
20190402
20190331
SimpleJpaRepository and QuerydslJpaPredicateExecutor
20190330
QuerydslJpaRepository
20190328
pgAdmin
persona
20190327
Computational Design of Mechanical Characters
Stadia
https://www.youtube.com/watch?v=4SOS-a4ks7s
Operator Overloading
http://groovy-lang.org/operators.html#Operator-Overloading
@ElementCollection
https://jogeum.net/7
callSuper
George Brown
turn over a new leaf
groovy
20190326
lombok
20190325
gradle
20190323
20190322
20190321
JMX, jconsole
20190320
tailwind
https://tailwindcss.com/docs/what-is-tailwind
groan vs moan
G1
CMS
20190319
OptionalEx
-XX:CMSInitiatingOccupancyFraction=60
-XX:CMSInitiatingOccupancyFraction=75
Geronimo Stilton
Scare-Your-Pants-Off
Predicate
20190318
CheckedFunction
ProcessBuilder
20190317
20190316
https://www.youtube.com/watch?v=k0V1tX8T7WQ
20190315
https://gceasy.io/
Minor GC
[GC (Allocation Failure)
System.gc()
[Full GC (System.gc())
Full GC
[Full GC (Allocation Failure)
SerialGC Major GC
[Tenured:
CMS Major GC
[GC (CMS Final Remark)
UseParallelOldGC Major GC
[Full GC (Ergonomics)
https://github.com/uuidcode/gc-test.git
https://plumbr.io/handbook/garbage-collection-algorithms-implementations/concurrent-mark-and-sweep
https://gceasy.io/index.jsp
20190314
20190313
20190312
20190311
20190310
20190309
20190308
20190307
Do not use AOP as much as possible.
Do not use Annotation as much as possible.
Do not use else as much as possible.
Do not use switch as much as possible.
Do not use ternary operator as much as possible.
Do not use methods having 3 or more arguments as much as possible.
Do not use methods having 20 lines as much as possible.
Do not use constructor having arguments as much as possible.
Do not use lines having 100 columns as much as possible.
20190306
20190305
20190304
20190302
20190228
20190226
20190225
20190224
20190223
20190222
20190221
20190220
20190219
20190218
20190217
20190216
20190214
20190213
20190212
20190211
Vue lifecycle
20190210
James Cook
20190209
쉬운것 같지만 어렵다.
Oscar Wilde
20190208
git rev-list --all | xargs git grep [pattern]
https://stackoverflow.com/questions/2928584/how-to-grep-search-committed-code-in-the-git-history
20190207
20190206
20190205
https://parceljs.org/
20190204
20190203
20190202
20190201
20190131
https://wiki.openjdk.java.net/display/zgc/Main#Main-SettingHeapSize
20190130
https://meetup.toast.com/posts/174
https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests/
20190129
20190128
20190127
20190126
20190125
20190124
Static Cling
https://en.wikipedia.org/wiki/Static_cling
(2NE1) Lonely - Gabriella Quevedo
20190123
20190122
https://github.com/wycats/handlebars.js/issues/168
https://codeblog.dotsandbrackets.com/kubernetes-example/
https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
http://tech.cloudz-labs.io/posts/kubernetes/getting-start/
https://www.reddit.com/r/ProgrammerHumor/comments/aieu3y/10yearchallenge_js_framework_edition/
20190120
20190119
20190118
https://chrome.google.com/webstore/detail/pesticide-for-chrome/bblbgcheenepgnnajgfpiicnbbdmmooh/related
20190117
@Embedded @Embeddable @AttributeOverrides
https://stackoverflow.com/questions/331744/jpa-multiple-embedded-fields
Object Calisthenics
한 메서드에 오직 한 단계의 들여쓰기만 한다.
Only One Level Of Indentation Per Method
Yes
else 예약어를 쓰지 않는다.
Don't User The ELSE Keyword
Yes
모든 원시값과 문자열을 포장한다.
Wrap All Primitive And Strings
?
한 줄에 점을 하나만 찍는다.
One Dot Per Line
Yes
줄여쓰지 않는다.
Don't Abbreviate
Yes
모든 엔티티를 작게 유지한다.
Keep All Entities Small
?
3개 이상의 인스턴스 변수를 가진 클래스를 만들지 않는다.
No Classes With More Than Two Instance Variables.
?
일급 콜렉션을 쓴다.
First Class Collection
Yes
게터/세터/프로퍼티를 쓰지 않는다.
No Getters/Setters/Properties
?
--- My Object Calisthenics ---
3개 이상의 파라미터를 가진 메서드를 만들지 않는다.
No Methods With More Than Two Parameters.
Yes
No Methods With More Than 20 Lines.
메서드는 20줄를 넘지 않는다.
Yes
한 줄에 100자를 넘지 않는다.
Less Than 100 Characters Per Line.
Yes
https://williamdurand.fr/2013/06/03/object-calisthenics/
https://martinfowler.com/bliki/TellDontAsk.html
20190116
20190115
http://hangul.thefron.me/
http://guny.kr/stuff/klorem/#/ol-view
20190114
20190113
20190112
javascript
[2] - 1 = 1
20190111
20190110
https://www.mactrast.com/2017/11/apple-tv-screensavers-geo-locations-identified/
https://chrome.google.com/webstore/detail/user-css/okpjlejfhacmgjkmknjhadmkdbcldfcb?hl=en
20190109
20190108
20190107
20190106
https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67
20190105
20190105
In my next life
20190104
https://getbootstrap.com/docs/4.1/components/modal/
20190103
20190102
https://online.photoscissors.com
https://d2.naver.com/helloworld/4969726
20190101