Browsed by
[Month:] 2024년 09월

Vector Embeddings Explained

Vector Embeddings Explained

What are vector embeddings? Vector embeddings are dense representations of objects (including words, images or user profiles) in a continuous vector space. Each object is represented by a point (or vector) in this space, where the distance and direction between points capture semantic or contextual relationships between the objects. For example in NLP, similar words are mapped close together in the embedding space. Types of vector embeddings Generative AI applications are built using vector embeddings and the data source can…

Read More Read More

Understanding Immutable State in Java: When Why & How to Use It

Understanding Immutable State in Java: When Why & How to Use It

대부분의 프로그래밍 언어에는 시간이 흐르더라도 변하지 않는 개념 즉, 신뢰성(Reliability)과 효율성(Efficiency)을 들 수 있다. 이는 Immutability과 관련된 개념이다. Immutability 상태라 함은 Object에 속해있는 속성들이 Object 생성 이후부터는 변경되지 않는 상황(불변)을 말한다. 이와 반대로 Mutable 상태는 Object가 생성된 이후 속성들이 변경되는 상황을 말한다. 이 두 상태는 개발하다 보면 그에 상응하는 목적과 역할이 존재함을 알 수 있는데 이 글에서는 Immutable 상태에 초점을 맞추는 것으로 하며 다음과 같은 내용들을 얘기해 보고자 한다. Java에서 immutable상태가 왜 중요한가? Immutability 상태는 Java 개발 관점에서 보면 매우…

Read More Read More

Java Stream API: Mastering Collectors

Java Stream API: Mastering Collectors

Java에서 Stream을 이용할 때 그 값이 하나의 값이든, Collection이든 또는 배열이든간에 최종 결과값을 산출하게 된다. Java에서 Stream은 Collector들을 통과하면서 어떤 형태의 Container로 변환된다. Java Stream API는 다양 형태의 Collector들을 제공하며 이 글에서 이런 Collector들을 하나씩 살펴보고자 한다. Stream을 Collection으로 변형시키는 것은 광범위한 토픽이라 할 수 있다. 따라서 다양한 툴들이 존재하고 다양한 방법으로 활용하거나 무수한 조합으로 사용할 수 있으므로 언제, 어떻게 사용하는지에 대해 모두 이해하는 것은 현실성이 떨어진다. 활용방법에 대해 좀 더 쉽게 접근할 수 있도록 어떻게 소개할 지 시나리오를 제시하고자…

Read More Read More

Java Stream API: Mastering Reduction Operations

Java Stream API: Mastering Reduction Operations

Java에서 Stream을 다루다 보면 stream에 있는 값들을 하나의 결과 값으로 변환하는 작업들이 흔히 발생한다. stream을 하나의 값으로 reducing하거나 모든 값을 더해 하나의 값으로 취합하는 작업들이 여기에 해당한다. Java Stream API는 이런 일련의 작업들을 효율적으로 할 수 있도록 직관적이면서 강력한 툴을 제공한다. 이 글에서는 코드를 깔끔하게 하고 원하는 성과를 달성할 수 있도록 이런 operation들의 활용 방법에 대해 알아본다. 앞으로 다루게 될 모든 Operation들은 Terminal Operation이라고 하며 Stream을 가공해서 반환될 값으로 변형한 다음 Stream을 Close한다는 의미를 갖고 있다. count method Stream에서 처리하는…

Read More Read More

Forest Walking

Forest Walking

The largest fungus The largest fungus found so far is a honey fungus in the Malheur National Forest in Oregon. Spread over three-and-a-half square miles (nearly one thousand hectares) and weighing somewhere between 7,500 and 35,000 tons, it is the largest known living organism on Earth estimated to be many thousands of years old. Hidden Connections Nature is complicated. To understand how populations of predators and prey affects each other, we can look to Isle Royale, an island in Lake…

Read More Read More