2025年9月11日
2025/9/11 14:23:00
デラングパーサーのためにDOMのようなものを自作してしまっているが「ホントにこれやんの?」という感じがある。素直に先人が作ったPEGなどを用いるライブラリを使って実装したほうがよさそうな気がする。
class PostImportService {
constructor(private readonly src_repository: IPostRepository, private readonly dest_repository: IPostRepository) { }
async import() {
for (let i = 0; i < 100000; i++) {
const batch_size = 10;
const posts = await this.src_repository.list({ take: batch_size, skip: i * batch_size });
if (posts.length === 0) {
break;
}
for (const post of posts) {
const post_in_dest = await this.dest_repository.getByKno(post.kno);
if (post_in_dest.posted_at < post.posted_at) {
this.dest_repository.save(post);
}
}
}
}
}
class PostImportService {
constructor(private readonly src_repository: IPostRepository, private readonly dest_repository: IPostRepository) { }
async import() {
for (let i = 0; i < 100000; i++) {
const batch_size = 10;
const posts = await this.src_repository.list({ take: batch_size, skip: i * batch_size });
if (posts.length === 0) {
break;
}
for (const post of posts) {
const post_in_dest = await this.dest_repository.getByKno(post.kno);
if (post_in_dest.posted_at < post.posted_at) {
this.dest_repository.save(post);
}
}
}
}
}