Practice English vocabulary for local development environments: devcontainers, dotenv, Docker Compose, seed scripts, and onboarding guides.
0 / 24 completed
1 / 24
What does 'devcontainer ensures everyone has the same environment' mean?
Dev Containers (defined by .devcontainer/ config) use Docker to provide a consistent development environment with the same tools, extensions, and settings for all team members, eliminating 'works on my machine' issues.
2 / 24
A developer says 'the dotenv file configures local secrets'. What is a dotenv file?
A .env file (dotenv) stores key=value environment variables for local development. Libraries like dotenv automatically load these into process.env. It should never be committed to version control.
3 / 24
What does 'docker-compose spins up dependencies' mean in a dev context?
docker-compose.yml defines and starts supporting services locally. A developer runs 'docker-compose up' to get a local Postgres, Redis, or other services running, so the app can connect to them during development.
4 / 24
What is a 'seed script' that 'populates the database'?
A seed script inserts initial or sample data (users, products, test records) into a freshly created database, giving developers a realistic starting state without needing a production data dump.
5 / 24
A team mentions 'the README has a getting started in 10 minutes guide'. Why is this important?
A concise getting-started guide in the README reduces onboarding friction. A developer who can run the project locally within 10 minutes is productive sooner and less dependent on colleagues for environment setup help.
6 / 24
Sarah: "Hey team, I'm getting a 'Connection refused' error when running the tests locally. I've checked my network and it seems fine."
Mark (during code review): "Did you try restarting the backend-service? It might be stuck in a transient state."
What does Mark likely mean by suggesting 'restart the backend-service'? Consider the context of running local development tests.
Mark is referring to a common troubleshooting step in local development environments – restarting dependent services. A 'Connection refused' error often arises from temporary issues like locked resources or processes not fully shutting down correctly within the service itself. Restarting forces a clean initialization and can resolve these transient problems without requiring a full system reboot, which would be far more disruptive.
7 / 24
Liam: "I'm seeing intermittent failures in my local tests – sometimes they pass, sometimes they fail. I've checked the logs and there don't seem to be any obvious errors."
David (during code review): "Have you tried restarting the backend-service? It could be experiencing temporary resource contention."
What is David likely referring to when he suggests restarting the backend-service?
David is using the term 'transient state' which refers to a temporary problem that resolves itself without requiring any permanent changes. Restarting the backend-service is a common troubleshooting step for this kind of issue – it effectively clears out any accumulated resource conflicts or temporarily blocked connections that might be causing the intermittent failures. Option A and D are incorrect because they suggest more serious problems than a transient state, while option B is less precise; restarting simply resets the service's internal state.
8 / 24
Sarah: "Hey team, I'm getting a 'Connection refused' error when running the tests locally. I've checked my network and it seems fine."
Mark (during code review): "Did you try restarting the backend-service? It might be stuck in a transient state."
What does Mark likely mean by suggesting 'restart the backend-service'? Consider the context of running local development tests.
Mark is referring to a common troubleshooting step in local development environments – restarting dependent services. A 'Connection refused' error often arises from temporary issues like locked resources or processes not fully shutting down correctly within the service itself. Restarting forces a clean initialization and can resolve these transient problems without requiring a full system reboot, which would be far more disruptive.
9 / 24
Liam: "I'm seeing intermittent failures in my local tests – sometimes they pass, sometimes they fail. I've checked the logs and there don't seem to be any obvious errors."
David (during code review): "Have you tried restarting the backend-service? It could be experiencing temporary resource contention."
What is David likely referring to when he suggests restarting the backend-service?
David is using the term 'transient state' which refers to a temporary problem that resolves itself without requiring any permanent changes. Restarting the backend-service is a common troubleshooting step for this kind of issue – it effectively clears out any accumulated resource conflicts or temporarily blocked connections that might be causing the intermittent failures. Option A and D are incorrect because they suggest more serious problems than a transient state, while option B is less precise; restarting simply resets the service's internal state.
10 / 24
Sarah: "Hey team, I'm getting a 'Connection refused' error when running the tests locally. I've checked my network and it seems fine."
Mark (during code review): "Did you try restarting the backend-service? It might be stuck in a transient state."
What does Mark likely mean by suggesting 'restart the backend-service'? Consider the context of running local development tests.
Mark is referring to a common troubleshooting step in local development environments – restarting dependent services. A 'Connection refused' error often arises from temporary issues like locked resources or processes not fully shutting down correctly within the service itself. Restarting forces a clean initialization and can resolve these transient problems without requiring a full system reboot, which would be far more disruptive.
11 / 24
Liam: "I'm seeing intermittent failures in my local tests – sometimes they pass, sometimes they fail. I've checked the logs and there don't seem to be any obvious errors."
David (during code review): "Have you tried restarting the backend-service? It could be experiencing temporary resource contention."
What is David likely referring to when he suggests restarting the backend-service?
David is using the term 'transient state' which refers to a temporary problem that resolves itself without requiring any permanent changes. Restarting the backend-service is a common troubleshooting step for this kind of issue – it effectively clears out any accumulated resource conflicts or temporarily blocked connections that might be causing the intermittent failures. Option A and D are incorrect because they suggest more serious problems than a transient state, while option B is less precise; restarting simply resets the service's internal state.
12 / 24
Sarah: "Hey team, I'm getting a 'Connection refused' error when running the tests locally. I've checked my network and it seems fine."
Mark (during code review): "Did you try restarting the backend-service? It might be stuck in a transient state."
What does Mark likely mean by suggesting 'restart the backend-service'? Consider the context of running local development tests.
Mark is referring to a common troubleshooting step in local development environments – restarting dependent services. A 'Connection refused' error often arises from temporary issues like locked resources or processes not fully shutting down correctly within the service itself. Restarting forces a clean initialization and can resolve these transient problems without requiring a full system reboot, which would be far more disruptive.
13 / 24
Liam: "I'm seeing intermittent failures in my local tests – sometimes they pass, sometimes they fail. I've checked the logs and there don't seem to be any obvious errors."
David (during code review): "Have you tried restarting the backend-service? It could be experiencing temporary resource contention."
What is David likely referring to when he suggests restarting the backend-service?
David is using the term 'transient state' which refers to a temporary problem that resolves itself without requiring any permanent changes. Restarting the backend-service is a common troubleshooting step for this kind of issue – it effectively clears out any accumulated resource conflicts or temporarily blocked connections that might be causing the intermittent failures. Option A and D are incorrect because they suggest more serious problems than a transient state, while option B is less precise; restarting simply resets the service's internal state.
14 / 24
Alex: "I'm deploying a new feature and the local tests are failing. I've checked my code, but it seems like the database isn't seeding correctly. It's giving me an error saying 'No initial data found.' What does this likely mean?"
'No initial data found' suggests that the seed script wasn't run or didn't successfully populate the database. The seed script is responsible for adding initial data – users, products, etc. – to a new development environment; if it fails, the tests will lack this expected data, leading to errors.
15 / 24
"Ben is explaining the benefits of using a .env file to manage API keys during local development. He says, 'It keeps sensitive information out of my codebase.' What does he *really* mean?
.env files are used to store configuration variables, including secrets like API keys. The primary benefit is preventing these sensitive values from being tracked in version control systems, which could expose them if accidentally committed. This practice is critical for security.
16 / 24
"Chloe: 'I'm using Docker Compose to run my application locally. It spins up all the dependencies – database, backend server, frontend – in one go.' What is the *main* advantage of using Docker Compose for local development?
Docker Compose simplifies running multi-container applications locally. Its key strength lies in creating an isolated and consistent development environment—replicating production as closely as possible—which eliminates 'it works on my machine' issues by ensuring all dependencies are present and configured correctly.
17 / 24
"David says: 'I'm using a 'seed script' to populate the database.' What is the purpose of this script?
A 'seed script' is typically run *once* during local development setup to initialize a new database with essential data. This ensures that subsequent testing or development work starts with a consistent and predictable state – this avoids having to manually create all the initial records.
18 / 24
Alex: "I'm deploying a new feature and the local tests are failing. I've checked my code, but it seems like the database isn't seeding correctly. It's giving me an error saying 'No initial data found.' What does this likely mean?"
'No initial data found' suggests that the seed script wasn't run or didn't successfully populate the database. The seed script is responsible for adding initial data – users, products, etc. – to a new development environment; if it fails, the tests will lack this expected data, leading to errors.
19 / 24
"Ben is explaining the benefits of using a .env file to manage API keys during local development. He says, 'It keeps sensitive information out of my codebase.' What does he *really* mean?
.env files are used to store configuration variables, including secrets like API keys. The primary benefit is preventing these sensitive values from being tracked in version control systems, which could expose them if accidentally committed. This practice is critical for security.
20 / 24
"Chloe: 'I'm using Docker Compose to run my application locally. It spins up all the dependencies – database, backend server, frontend – in one go.' What is the *main* advantage of using Docker Compose for local development?
Docker Compose simplifies running multi-container applications locally. Its key strength lies in creating an isolated and consistent development environment—replicating production as closely as possible—which eliminates 'it works on my machine' issues by ensuring all dependencies are present and configured correctly.
21 / 24
"David says: 'I'm using a 'seed script' to populate the database.' What is the purpose of this script?
A 'seed script' is typically run *once* during local development setup to initialize a new database with essential data. This ensures that subsequent testing or development work starts with a consistent and predictable state – this avoids having to manually create all the initial records.
22 / 24
Emily: 'My local development environment is taking forever to start up! It's constantly spinning up the database and then shutting it down. I've tried clearing my cache but nothing seems to work.' What does Emily likely mean when she mentions 'spinning up and shutting down the database'?
Emily is describing a situation where the database server isn't stable. 'Spinning up and shutting down' suggests an automated process (likely configured to restart) triggered by some error or configuration issue. This behavior indicates instability rather than efficient resource management. The key here is recognizing that it's *not* normal.
23 / 24
Mark (in a Slack channel): 'I'm seeing a 502 Bad Gateway error when I try to access the local development server. I've checked my firewall and it's open. Any ideas?' What does Mark *really* mean by '502 Bad Gateway'?
A '502 Bad Gateway' error signifies a communication problem between servers. It means that the frontend (the browser) successfully contacted the backend server, but the backend failed to respond correctly. This is a common indicator of issues with the API or the underlying service.
24 / 24
Liam (in a PR review comment): 'The CI pipeline failed because the local tests didn't pass. The error message says 'Connection refused' when trying to connect to the test database. What is this likely indicating?'
A 'Connection refused' error means that the application attempted to connect to a service (in this case, the database), but the service wasn't available or didn't accept the connection. This almost always points to an issue with the database server itself – it might be down, not running on the correct port, or otherwise inaccessible.
What does the "Local Dev Environment Vocabulary" exercise cover?
Practice English vocabulary for local development environments: devcontainers, dotenv, Docker Compose, seed scripts, and onboarding guides.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
How many questions are in "Local Dev Environment Vocabulary"?
This exercise has 24 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.
Do I need to create an account to save my progress?
No account is required. The progress bar and score are tracked in your browser for the current session -- the exercise is designed to be a quick, repeatable drill rather than something you resume later.
What happens if I get an answer wrong?
You'll see the correct answer highlighted immediately, along with a short explanation of why it's correct. Wrong answers aren't penalized beyond your score, and you can keep going through every question.
How is this exercise different from reading an article?
Articles explain vocabulary and concepts through prose, while exercises like this one are interactive drills -- multiple-choice questions -- that test and reinforce your recall of specific terms and phrasing.
Can I retry this exercise?
Yes -- use the "Try again" button on the results screen to reset your score and go through all the questions again from the start.
Where can I find more Developer Toolchain exercises?
Browse the full Developer Toolchain hub for related drills, or check the site-wide exercises index for other IT English topics.
Is this exercise suitable for beginners?
This exercise assumes basic familiarity with IT terminology. If a term feels unfamiliar, check the site Glossary for a plain-English definition before attempting the questions.
How often is new content like this published?
New exercises are added regularly across all categories, alongside new vocabulary sets and articles. Check back on the exercises hub to see what's new.