Cookies can be set by both FE and BE, the mechanism and security implications differ a lot, however.
Backend: it can set cookies via "set-cookie" response header. This is the preferred approach for sensitive data because the cookie can be marked:
> HttpOnly - invisible to JS
> Secure - https only
> SameSite - prevents XSS
Session tokens, auth, and authz cookies must come from the backend this way to resist XSS theft.
Frontend: it sets cookies through JS ("document.cookie"). These cookies are readable and writable by any script on the page, making them insecure. We should use them only for non-sensitive preferences (like, language, theme) that the UI really needs to access.
If a cookie carries a session or a token, let the backend issue it with "HttpOnly" and never expose it to JS.
Premiering in @IntelliJIDEA – a new way to invoke IDE actions! You can use navigational and other features directly from the code completion popup, or type period (.) twice to get only the list of actions. If you like this feature, we’ll be sure to bring it over to other IDEs!
“I don’t think they are ready for a black superstar!” 🗣️
A powerful response from @IanWright0 following Jude Bellingham’s recent criticism in the media.
Watch the full conversation now on The Overlap YouTube channel.
If you're feeling ambitious this weekend, freeCodeCamp just published a FREE 9-hour Discrete Mathematics Python course. 🐍 Learn the math that undergirds many modern Machine Learning approaches. Here are this week's 5 free learning resources worth your time.
1. freeCodeCamp just published a Discrete Mathematics for beginners course. It'll teach you tons of math concepts that are key to modern Machine Learning. You'll learn some Number Theory and Combinatorics, then use Python to explore the Pigeonhole Principle, the Stars and Bars Principle, Stirling Numbers, the Chinese Remainder Theorem, and more. (9 hour YouTube course): https://t.co/HzURCmoFtK
2. We also published this JavaScript course on the open source n8n agentic workflow automation tool. freeCodeCamp instructor Gavin Lon will teach you core concepts like working with loops, trigger nodes, webhooks, and more. You can code along at home and build 4 real-world projects, including a chatbot and an emergency notification app. (3 hour YouTube course): https://t.co/RTojROGekd
3. On this week's podcast I talk with a dev who taught herself programming at age 27. Abbey Perini worked as an admin at a recruitment agency and has a unique perspective on the developer hiring process. She shares practical tips for applying and interviewing. She also shares how she has adapted to her adult ADHD diagnosis, and how she stays focused on shipping code. (1 hour watch or listen in your favorite podcast app): https://t.co/wax37W9dRN
4. Learn the popular Vue.js front end JavaScript framework. You'll learn Vue's core building blocks like components, reactivity, template syntax, dynamic data binding, and asset handling. By the end of the course, you'll have a simple Vue app that you can show to your friends. Also note that I recently interviewed Evan You, the creator of Vue, on the freeCodeCamp podcast. (2 hour YouTube course): https://t.co/AcvY5YHjbv
5. Learn how to run an open source LLM locally on your own hardware using Ollama. This is a great way to unlock the power of LLMs without the privacy and security tradeoffs of using public LLM websites and APIs. This freeCodeCamp guide will walk you through the setup process and give you a feel for the options at your disposal. (10 minute read): https://t.co/G9mKrsE2Mc
11 years ago, I started freeCodeCamp from a desk in my closet. Today the community has grown to thousands of open source contributors and millions of learners. We could have become a startup owned by a few rich investors, but instead we're a charity owned by everyone, including you. Please join me in supporting our mission of creating open source learning resources for all: https://t.co/PJXlqTfPxH
Quote of the Week:
“People get jobs years down the line because someone remembers them from an interview and wishes they could have hired them then.” — Software Engineer and former recruitment agency admin Abbey Perini on this week's freeCodeCamp podcast
Until next week, happy coding.
Kubernetes terminology in plain English:
Pod: Smallest unit. Runs container with your app.
Node: A server. Pods run on nodes.
Cluster: Group of nodes working together.
Deployment: Instructions for running your app. "Keep 3 copies running always."
ReplicaSet: Ensures right number of pods exist. One crashes? Creates replacement.
Service: Stable address for your pods. Internal load balancer with fixed IP.
Ingress: Front door to your cluster. Routes internet traffic to services.
ConfigMap: Stores non-sensitive configuration like database URLs and settings.
Secret: Stores sensitive data like passwords and API keys.
Namespace: Folders for organizing resources. Separate dev, staging, prod.
As a Java dev, do you know what is Inversion of Control (IoC) - The Core of Spring
Most beginners hear IoC and think it is some magic Spring does. It is not magic. It is a design principle that says:
"Don’t call us, we will call you."
Instead of your code creating objects and controlling their lifecycle, you hand over that responsibility to a framework like Spring.
How it works:
Normally without IoC:
Service service = new Service();
Controller controller = new Controller(service);
You create objects and wire them together yourself.
With IoC via Spring:
@ Controller
public class MyController {
@ Autowired
private Service service;
}
Spring creates the Service and injects it into MyController automatically.
Why it is called IoC :
It is called Inversion of Control because the direction of control is flipped:
Without IoC : Your code controls when and how to create objects
With IoC : The framework controls object creation, dependency injection, and calls your code at the right time
In traditional programming: Your code calls libraries
With IoC: Framework calls your code
Benefits:
Decoupling :Your code depends on abstractions, not concrete classes
Easier testing :You can inject mocks and stubs easily
Configurable : Change dependencies without touching your main logic
Lifecycle management : Spring handles object creation, destruction, and scope
NOTE:
IoC flips the control. Instead of your application controlling dependencies, the framework controls them for you.
This is usually implemented through Dependency Injection (DI) in Spring. IoC is the principle and DI is the pattern.
Chinese scientists have developed the best shortest-path algorithm in 41 years! A team from Tsinghua University has broken Dijkstra’s “sorting barrier” — the first improvement since 1984.
The new algorithm runs in O(m \log^{2/3} n) time. Potential applications? Faster shorter waits for route calculations, fewer traffic jams, cheaper deliveries, and more efficient computer networks. And, of course, a need to update computer science curricula :)
Google just released LangExtract Python library.
It can extract structured data from unstructured docs with precise sources in just a few lines of code.
100% Opensource.