Gemini 3 Pro 를 사용하기 위해 Google AI Pro 구독을 하게 되면 매월 29,000원에 이 모든 서비스가 주어지는데 그 중에서도 특징적인 것은 Photos, Drive, Gmail 스토리지 2TB 를 제공해준다. 대단한 혜자다.
- parkthomson -
Gemini 3.0 Pro를 사용해 맞춤형 어플 만들기
• 도구에서 Canvas 기능을 누른다
• 모델은 3 Pro Thinking을 선택한다
• “후쿠오카 2박 3일 일정을 만들어주는데, 어트랙션은 3개만 들어갔으면 좋겠고 온천에서 1박을 하고 싶어. 가독성있게 어플로 만들어서 줘”와 같은 명령어를 입력한다
• 바로 어플이 만들어진다
• 왼쪽 밑에 AI 기능을 누르면 어플 안에 Gemini를 맞춤형으로 탑재해 준다
• 나는 여행 어플이라 실시간 번역 기능과 각 일정별로 AI 꿀팁 기능을 넣어줬다
• 다른 친구들한테 공유하기 버튼 클릭!
마이크로소프트, Zork 오픈소스로 공개
- 1980년대 텍스트 어드벤처 게임 Zork I·II·III의 소스 코드가 MIT 라이선스로 공개되어 누구나 학습·연구·실행 가능
- Microsoft OSPO, Team Xbox, Activision이 협력해 역사적 코드 보존과 교육 활용을 목표로 함
- 공개된 저…
news.hada.io/topic?id=24510
27년 된 EXE 파일을 Claude 3.7에 업로드한 후 일어난 놀라운 일
소스가 아닌 부분적인 바이너리(런타임DLL이 없었음)에서
원래 프로그램의 목적을 알아내고, 파이썬으로 재작성…
좋은 쪽이든 나쁜 쪽이든 확실히 “인공”지능이네요.
번역:
수년간의…
news.hada.io/topic?id=19493
📰 자연어로 개발하는 환경: GitHub Copilot Workspace
GutHub에서 Copilot-native 개발 환경이라는 Copilot Workspace를 프리뷰로 내놓았습니다. (신청 및 승인 후 사용 가능)
기능을 살펴보면 다음과 같습니다.
1️⃣ 자연어로 스펙을 적습니다
2️⃣ 스펙에 따라 Copilot이 필요한 파일을 생성하고 코드를 작성하거나 수정해 요구사항을 완성합니다
3️⃣ 인간이 웹이나 모바일에서 코드를 검토하거나 실행해서 테스트를 합니다
4️⃣ 문제 없다면 기존의 코드 베이스에 바로 반영합니다
스크린샷에서 보듯이 꽤 복잡한 요구사항도 처리가 가능한 것으로 보이는데요.
간단하게 말하자면 기존까지는 파일 안에서의 코드 추가/수정만 제안을 했다면, 이제는 전체 프로젝트에 걸친 작업을 수행하고 제안하도록 확장된 것 입니다.
이제 프로젝트 초안을 처음 완성하는 것만 만들어지면, 진짜로 자연어만으로 개발하는 것이 완성 될 수 있겠네요.
이런 속도라면, 내년이면 전체 개발 프로세스를 완전히 Copilot에게 맡길 수 있게 될 수도 있겠네요. 😎🍿🥤
Top 4 data sharding algorithms explained.
We are dealing with massive amounts of data. Often we need to split data into smaller, more manageable pieces, or “shards”. Here are some of the top data sharding algorithms commonly used:
🔹 Range-Based Sharding
This involves partitioning data based on a range of values. For example, customer data can be sharded based on alphabetical order of last names, or transaction data can be sharded based on date ranges.
🔹 Hash-Based Sharding
In this method, a hash function is applied to a shard key chosen from the data (like a customer ID or transaction ID). The result determines which shard the data will go to.
This tends to distribute data more evenly across shards compared to range-based sharding. However, we need to choose a proper hash function to avoid hash collision.
🔹 Consistent Hashing
This is an extension of hash-based sharding that reduces the impact of adding or removing shards. It distributes data more evenly and minimizes the amount of data that needs to be relocated when shards are added or removed.
🔹 Virtual Bucket Sharding
Data is mapped into virtual buckets, and these buckets are then mapped to physical shards. This two-level mapping allows for more flexible shard management and rebalancing without significant data movement.
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/3KCnWXq
WireMock Spring Boot 2.0 released 🚀
If you're looking to simplify @springboot HTTP clients integration tests, this library is for you.
✨ Release highlights:
- support for JUnit 5's @Nested tests
- @wiremockorg upgrade to 3.2.0
👉 github.com/maciejwalkowiak/w…
Top 7 Ways to 10x Your API Performance
1. Pagination
This is a common optimization when the size of the result is large. The results are streaming back to the client to improve the service responsiveness.
2. Asynchronous Logging
Synchronous logging deals with the disk for every call and can slow down the system. Asynchronous logging sends logs to a lock-free buffer first and immediately returns. The logs will be flushed to the disk periodically. This significantly reduces the I/O overhead.
3. Caching
We can cache frequently accessed data into a cache. The client can query the cache first instead of visiting the database directly. If there is a cache miss, the client can query from the database. Caches like Redis store data in memory, so the data access is much faster than the database.
4. Payload Compression
The requests and responses can be compressed using gzip etc so that the transmitted data size is much smaller. This speeds up the upload and download.
5. Connection Pool
When accessing resources, we often need to load data from the database. Opening the closing db connections add significant overhead. So we should connect to the db via a pool of open connections. The connection pool is responsible for managing the connection lifecycle.
On 6 and 7, we created a video about this topic and included 2 more ways to improve performance.
Watch and subscribe here: lnkd.in/e5JJfbcs