Why is Linux called a monolithic kernel?

A monolithic kernel is a kernel where all services (file system, VFS, device drivers, etc) as well as core functionality (scheduling, memory allocation, etc.) are a tight knit group sharing the same space. This directly opposes a microkernel. A microkernel prefers an approach where core functionality is isolated from system services and device drivers (which … Read more

How do you design object oriented projects? [closed]

The steps that I use for initial design (getting to a class diagram), are: Requirements gathering. Talk to the client and factor out the use cases to define what functionality the software should have. Compose a narrative of the individual use cases. Go through the narrative and highlight nouns (person, place, thing), as candidate classes … Read more

When and How to use GraphQL with microservice architecture

Definitely approach #1. Having your clients talk to multiple GraphQL services (as in approach #2) entirely defeats the purpose of using GraphQL in the first place, which is to provide a schema over your entire application data to allow fetching it in a single roundtrip. Having a shared nothing architecture might seem reasonable from the … Read more

Difference between a “coroutine” and a “thread”?

First read: Concurrency vs Parallelism – What is the difference? Concurrency is the separation of tasks to provide interleaved execution. Parallelism is the simultaneous execution of multiple pieces of work in order to increase speed. —https://github.com/servo/servo/wiki/Design Short answer: With threads, the operating system switches running threads preemptively according to its scheduler, which is an algorithm … Read more

Component based game engine design [closed]

Update 2013-01-07: If you want to see a good mix of component-based game engine with the (in my opinion) superior approach of reactive programming take a look at the V-Play engine. It very well integrates QTs QML property binding functionality. We did some research on CBSE in games at our university and I collected some … Read more

Software Design vs. Software Architecture [closed]

You’re right yes. The architecture of a system is its ‘skeleton’. It’s the highest level of abstraction of a system. What kind of data storage is present, how do modules interact with each other, what recovery systems are in place. Just like design patterns, there are architectural patterns: MVC, 3-tier layered design, etc. Software design … Read more

Domain Driven Design: Domain Service, Application Service [closed]

Services come in 3 flavours: Domain Services, Application Services, and Infrastructure Services. Domain Services : Encapsulates business logic that doesn’t naturally fit within a domain object, and are NOT typical CRUD operations – those would belong to a Repository. Application Services : Used by external consumers to talk to your system (think Web Services). If … Read more

Logout: GET or POST?

Use POST. In 2010, using GET was probably an acceptable answer. But today (in 2013), browsers will pre-fetch pages they “think” you will visit next. Here is one of the StackOverflow developers talking about this issue on twitter: I’d like to thank my bank for making log off a GET request, and the Chrome team … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)