this is fine when you're a junior learning but it's asking to get shit dumped on you later on. I think it's a good idea to pick a lane later on in your career and settle into it.
HN user
stonecolddevin
hello.
Ok
Testcontainers is great. It's got seamless junit integration and really Just Works. I've never once had to even think about any of the docker aspects of it. There's really not much to it.
I am the Walrus.
Isn't this pretty much what JSON streaming does?
I've been doing it for almost a year, am I missing something?
I had no idea this had a name. Sure wish I'd have known this while I was in school.
I personally almost always use loops (in Java) unless I know the dataset being dealt with is small, unless I'm writing stuff in Scala where maps and flatMaps are first class, but diving into Scala is its own can of worms.
They're hyperbolic and don't actually give you any useful information on why they're "harmful" or what's wrong with the subject being discussed.
If you're using Postgres, you can use recursive queries using common table expressions. Disqus implemented this sort of thing 10 years ago: https://pastebin.com/Fe2twMRr (I can't find the original talk for some reason)
Here's the meat of the solution:
CREATE TABLE comments (
id SERIAL PRIMARY KEY,
message VARCHAR,
author VARCHAR,
parent_id INTEGER REFERENCES comments(id)
);
INSERT INTO comments (message, author, parent_id)
VALUES ('This thread is really cool!', 'David', NULL),
('Ya David, we love it!', 'Jason', 1), ('I agree David!', 'Daniel', 1),
('gift Jason', 'Anton', 2),
('Very interesting post!', 'thedz', NULL),
('You sir, are wrong', 'Chris', 5),
('Agreed', 'G', 5), ('Fo sho, Yall', 'Mac', 5);
What we’ve done now, is setup a basic comment model. We’ve included the message, the author, and the parent comment (which is optional). Now let’s learn how to use a recursive query to easily re-order this date, showing us a fully threaded view, sorted in ascending order by id. WITH RECURSIVE cte (id, message, author, path, parent_id, depth) AS (
SELECT id,
message,
author,
array[id] AS path,
parent_id,
1 AS depth
FROM comments
WHERE parent_id IS NULL
UNION ALL
SELECT comments.id,
comments.message,
comments.author,
cte.path || comments.id,
comments.parent_id,
cte.depth + 1 AS depth
FROM comments
JOIN cte ON comments.parent_id = cte.id
)
SELECT id, message, author, path, depth FROM cte
ORDER BY path;I really wish C# had more battle tested linux usage. I really love that language.