Code Monkey home page Code Monkey logo

se-assignment-1-setting-up-your-developer-environment-sonnie97's Introduction

Review Assignment Due Date Open in Visual Studio Code

Dev_Setup

Setup Development Environment

#Assignment: Setting Up Your Developer Environment

#Objective: This assignment aims to familiarize you with the tools and configurations necessary to set up an efficient developer environment for software engineering projects. Completing this assignment will give you the skills required to set up a robust and productive workspace conducive to coding, debugging, version control, and collaboration.

#Tasks:

  1. Select Your Operating System (OS): Choose an operating system that best suits your preferences and project requirements. Download and Install Windows 11. https://www.microsoft.com/software-download/windows11 Question 1: Answer :Steps to Download and Install Windows 11Backup Your DataBefore starting the installation process, back up your important files to an external drive or cloud storage.Download Windows 11 Installation MediaVisit the official Microsoft website: Windows 11 DownloadSelect “Download now” under the “Windows 11 Installation Assistant” section if you want to upgrade directly. Alternatively, you can create installation media (USB flash drive, DVD, or ISO file) by downloading the “Create Windows 11 Installation Media” tool.Run the Installation Assistant or Media Creation ToolIf using the Installation Assistant, follow the on-screen instructions to complete the upgrade process.If creating installation media, follow these steps:Run the Media Creation Tool.Select “Create installation media for another PC.”Choose the language, edition, and architecture (64-bit) for Windows 11.Follow the instructions to create a bootable USB drive or download the ISO file.Install Windows 11If using a bootable USB drive:Insert the USB drive into the PC where you want to install Windows 11.Restart your PC and enter the BIOS/UEFI settings (usually by pressing a key like F2, F12, Delete, or Esc during startup).Set the USB drive as the first boot device.Save changes and exit BIOS/UEFI.Your PC should boot from the USB drive and start the Windows 11 installation process.Follow the on-screen instructions to complete the installation. You'll need to:Choose your language, time, and keyboard preferences.Click "Install Now."Enter your product key (or choose "I don’t have a product key" if you're doing a clean installation).Accept the license terms.Choose the type of installation (Upgrade or Custom).Select the partition where you want to install Windows 11 and follow the instructions to complete the installation.Post-Installation SetupOnce Windows 11 is installed, follow the on-screen setup instructions to configure your preferences, set up a Microsoft account, and adjust privacy settings.Update Windows 11After installation, go to Settings > Windows Update and check for any available updates to ensure your system is up to date.

  2. Install a Text Editor or Integrated Development Environment (IDE): Select and install a text editor or IDE suitable for your programming languages and workflow. Download and Install Visual Studio Code. https://code.visualstudio.com/Download Question 2: Answer:To install Visual Studio Code (VS Code), follow these steps:Download Visual Studio Code:Go to the Visual Studio Code website.Click on the download button for your operating system (Windows, macOS, or Linux).Install Visual Studio Code on Windows:Run the downloaded installer (e.g., VSCodeSetup.exe).Follow the installation wizard prompts.Select options such as creating a desktop icon and adding to PATH for easier access from the command line.Click Install.Install Visual Studio Code on macOS:Open the downloaded .dmg file.Drag the Visual Studio Code app to the Applications folder.Open the Applications folder and launch Visual Studio Code.Install Visual Studio Code on Linux:For Debian-based distributions (e.g., Ubuntu), download the .deb package and install it using:sudo apt install ./.debFor Red Hat-based distributions (e.g., Fedora), download the .rpm package and install it using:sudo rpm -i .rpmAlternatively, you can install VS Code using snap:sudo snap install --classic codeFirst Launch and Setup:Open Visual Studio Code.Customize the editor by installing extensions for your preferred programming languages and workflows. This can be done via the Extensions view (Ctrl+Shift+X or Cmd+Shift+X on macOS).

  3. Set Up Version Control System: Install Git and configure it on your local machine. Create a GitHub account for hosting your repositories. Initialize a Git repository for your project and make your first commit. https://github.com Question 3: Answer :Step 1: Install GitOn WindowsDownload Git from the official website: Git for Windows.Run the installer and follow the installation instructions.On macOSYou can install Git using Homebrew. If you don't have Homebrew installed, you can install it by running the following command in your Terminal:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Once Homebrew is installed, install Git by running:brew install gitOn LinuxFor Debian-based distributions (like Ubuntu), run:sudo apt update sudo apt install gitFor RPM-based distributions (like Fedora), run:sudo dnf install gitStep 2: Configure GitAfter installing Git, configure your Git username and email. These will be used in your commit messages.Open your terminal (or Git Bash on Windows).Set your username:git config --global user.name "Your Name"Set your email:git config --global user.email "[email protected]"Step 3: Create a GitHub AccountGo to GitHub.Click on "Sign up" and follow the instructions to create a new account.Step 4: Initialize a Git RepositoryNavigate to the directory where you want to create your project.cd path/to/your/projectInitialize a new Git repository:git initCreate a new file (e.g., README.md) to make your first commit:echo "# My Project" > README.mdAdd the file to the staging area:git add README.mdCommit the file:git commit -m "Initial commit"Step 5: Push to GitHubLog in to your GitHub account and create a new repository by clicking the "+" icon in the top right corner and selecting "New repository."Give your repository a name and click "Create repository."Follow the instructions provided to push your local repository to GitHub. Typically, it will look something like this:git remote add origin https://github.com/your-username/your-repository-name.git git branch -M main git push -u origin main

  4. Install Necessary Programming Languages and Runtimes: Instal Python from http://wwww.python.org programming language required for your project and install their respective compilers, interpreters, or runtimes. Ensure you have the necessary tools to build and execute your code. Question 4: Answer: To install Python and set up your environment, follow these steps:Step 1: Download and Install PythonGo to the official Python website: Python.orgDownload the latest version of Python:Navigate to the Downloads page.Select the appropriate installer for your operating system (Windows, macOS, or Linux).Run the Installer:Windows:Download the executable installer.Run the installer.Make sure to check the box that says "Add Python to PATH".Click "Install Now".macOS:Download the macOS installer.Open the .pkg file and follow the installation instructions.Linux:For Debian-based systems (like Ubuntu):sudo apt update sudo apt install python3 sudo apt install python3-pipFor Red Hat-based systems (like Fedora):sudo dnf install python3 sudo dnf install python3-pipStep 2: Verify InstallationAfter the installation, verify that Python and pip (Python's package installer) are correctly installed:Open a terminal or command prompt.Check Python version:python --versionorpython3 --versionCheck pip version:pip --versionorpip3 --versionStep 3: Install Necessary PackagesDepending on your project's requirements, you might need additional packages. You can install them using pip. For example:pip install numpy pandas requestsIf you have a requirements.txt file for your project, you can install all the required packages in one go:pip install -r requirements.txtAdditional ToolsDepending on your project's requirements, you might need additional tools or compilers. For example:Node.js (for JavaScript projects): Node.js DownloadJDK (for Java projects): Oracle JDK DownloadGCC (for C/C++ projects): Installed via package managers like apt for Ubuntu (sudo apt install build-essential) or dnf for Fedora (sudo dnf groupinstall "Development Tools").Setting Up Virtual EnvironmentsIt's a good practice to use virtual environments for Python projects to manage dependencies:Create a virtual environment:python -m venv myenvActivate the virtual environment:Windows:myenv\Scripts\activatemacOS and Linux:source myenv/bin/activateDeactivate the virtual environment:deactivate

  5. Install Package Managers: If applicable, install package managers like pip (Python). Question 5: Answer: To install pip, the package manager for Python, follow these steps:For Windows:Download the get-pip.py script:Open your web browser and go to get-pip.py.Right-click on the page and select "Save As..." to save the script to your computer.Run the get-pip.py script:Open a command prompt (search for "cmd" in the Start menu).Navigate to the directory where you saved get-pip.py using the cd command. For example:cd C:\path\to\directoryRun the script with Python:python get-pip.pyVerify the installation:After the script completes, verify that pip is installed by running:pip --versionFor macOS and Linux:Use the system package manager (recommended for simplicity):On macOS (if you have Homebrew installed):brew install pythonOn Debian-based Linux distributions (e.g., Ubuntu):sudo apt update sudo apt install python3-pipOn Red Hat-based Linux distributions (e.g., Fedora):sudo dnf install python3-pipVerify the installation:After the installation completes, verify that pip is installed by running:pip3 --version

  6. Configure a Database (MySQL): Download and install MySQL database. https://dev.mysql.com/downloads/windows/installer/5.7.html Question 6: Answer : Installing MySQL on Windows:Download MySQL Installer:Visit the MySQL Community Downloads page: MySQL Community Downloads.Download the MySQL Installer for Windows. Choose the appropriate version (usually the latest GA release is recommended).Run the MySQL Installer:Once the installer is downloaded, double-click to run it.You may be prompted to confirm if you want to allow the installer to make changes to your device. Click "Yes".Choosing Setup Type:Select "Custom" setup type to have control over which components to install.Selecting Products:In the product selection screen, choose "MySQL Server" and other components you might need like MySQL Workbench (a graphical tool for managing MySQL databases).Installation Process:Follow the installer instructions to complete the installation.During the installation, you'll be prompted to configure MySQL Server. Set a root password for MySQL Server during this process. Make sure to remember this password as it's required to access MySQL.Starting MySQL Server:Once the installation is complete, MySQL Server should start automatically.You can verify if MySQL Server is running by checking if the MySQL service is listed in Windows Services (services.msc).Testing MySQL Installation:Open MySQL Command Line Client or MySQL Workbench.Enter the root password you set during installation.If you can log in without errors, MySQL has been successfully installed.Configuring MySQL (Optional):Security Configuration: MySQL installer typically guides you through initial security configurations. It's crucial to secure your MySQL installation, especially if it's accessible over the network.Creating Databases and Users: Use MySQL Workbench or MySQL Command Line Client to create databases, tables, and manage users as needed.

  7. Set Up Development Environments and Virtualization (Optional): Consider using virtualization tools like Docker or virtual machines to isolate project dependencies and ensure consistent environments across different machines. Question 7:Answer; Setting up development environments and utilizing virtualization tools like Docker or virtual machines can significantly streamline your development process and ensure consistency across different machines. Here’s how you can approach it:1. Understanding Virtualization Tools:Docker: Docker is a platform that enables developers to package applications and their dependencies into standardized units called containers. Each container runs as an isolated process, providing consistency in environments from development to production.Virtual Machines (VMs): VMs allow you to run multiple operating systems simultaneously on a single physical machine. Each VM includes a full copy of an operating system, the application, necessary binaries, and libraries, offering a high degree of isolation.2. Choosing Between Docker and Virtual Machines:Docker: Ideal for microservices architecture and containerized applications. Docker containers are lightweight and can be easily shared and moved between environments, ensuring consistency.Virtual Machines: Suitable when you need to emulate different operating systems or when applications require more extensive isolation. VMs provide a complete environment but can be heavier compared to Docker containers.3. Steps to Set Up Development Environments:Using Docker:Install Docker: Visit the Docker website to download and install Docker Desktop for your operating system.Create Dockerfiles: Define your application’s environment in a Dockerfile. This includes specifying dependencies, libraries, and configurations required to run your application.Build Docker Images: Use docker build command to build Docker images from your Dockerfile. These images contain everything needed to run your application.Run Docker Containers: Start containers based on your Docker images using docker run command. Map ports, mount volumes, and set environment variables as needed.Docker Compose (Optional): For complex applications with multiple services, use Docker Compose to manage multi-container Docker applications. Define your application’s services in a docker-compose.yml file.Using Virtual Machines:Choose a Virtualization Platform: Options include VMware, VirtualBox, Hyper-V (Windows), or built-in virtualization tools on Linux distributions.Create a Virtual Machine: Install your preferred operating system within the VM. Allocate resources (CPU, RAM, storage) according to your application’s requirements.Install Dependencies: Set up your development environment within the VM. Install necessary software, libraries, and tools.Snapshot and Cloning (Optional): Take snapshots of VMs at different stages of development or clone VMs to replicate environments across different machines.4. Advantages of Using Virtualization:Consistency: Ensure that your application behaves the same way across different environments (development, testing, production).Isolation: Prevent dependency conflicts by isolating applications and their dependencies from the underlying host system.Portability: Easily share development environments with team members or deploy applications to different infrastructure environments.5. Considerations:Resource Overhead: VMs typically consume more resources (CPU, RAM) compared to Docker containers due to their full operating system emulation.Learning Curve: Docker has a learning curve for beginners, especially understanding concepts like containers, images, and Dockerfiles.Security: Both Docker and VMs provide isolation, but Docker containers share the host kernel, which may pose security risks if not properly configured.By setting up development environments with Docker or virtual machines, you can enhance collaboration, improve reproducibility of builds, and simplify deployment processes. Choose the tool that best fits your application’s architecture and development workflow.

  8. Explore Extensions and Plugins: Explore available extensions, plugins, and add-ons for your chosen text editor or IDE to enhance functionality, such as syntax highlighting, linting, code formatting, and version control integration. Question 8:Answer : Exploring extensions, plugins, and add-ons for your preferred text editor or IDE can significantly enhance your productivity and development experience. Here’s how you can find and utilize these tools to improve functionality:1. Choosing Your Text Editor or IDE:Popular Choices:Visual Studio Code (VS Code): Highly extensible with a vast marketplace of extensions.Atom: Known for its hackability and community-driven packages.Sublime Text: Lightweight with a strong package ecosystem.IntelliJ IDEA / PhpStorm / PyCharm: JetBrains IDEs known for robust plugin ecosystems tailored to specific languages and frameworks.Emacs / Vim: Highly customizable with extensive plugin support.2. Finding and Installing Extensions:Marketplace or Package Manager: Most editors and IDEs have a marketplace or package manager where you can search for and install extensions.VS Code: Extensions are available through the Visual Studio Code Marketplace (accessible within VS Code or via web browser).Atom: Packages can be found and installed through the Settings view under Install.3. Essential Extensions and Plugins:Syntax Highlighting: Provides color coding for different programming languages, making code more readable.Linting and Code Analysis: Checks code for errors, style issues, and potential bugs as you type.Code Formatting: Automatically formats code according to predefined rules (e.g., Prettier for JavaScript).Version Control Integration: Allows seamless interaction with Git or other version control systems within your editor.4. Commonly Recommended Extensions:For Visual Studio Code:ESLint: JavaScript linter for identifying and fixing errors.GitLens: Enhances Git integration with advanced features like blame annotations and commit history exploration.Prettier: Code formatter for various languages including JavaScript, TypeScript, CSS, and more.Docker: Adds syntax highlighting, snippets, and Dockerfile support for managing Docker containers.Python: Enhances Python development with features like IntelliSense, linting, debugging, and code formatting.For JetBrains IDEs (e.g., IntelliJ IDEA, PhpStorm):SonarLint: Analyzes code on-the-fly to detect and fix quality issues as you write code.Key Promoter X: Helps you learn essential keyboard shortcuts while working in IntelliJ IDEA.JUnit: Framework support for running and debugging JUnit tests directly within the IDE.5. Customizing and Configuring Extensions:Settings and Preferences: Configure each extension according to your preferences through the editor’s settings or directly within the extension’s settings panel.Keybindings: Customize keyboard shortcuts to streamline your workflow and integrate new functionalities seamlessly.6. Community and Reviews:Check Ratings and Reviews: Before installing an extension, review user feedback and ratings to gauge its reliability and usefulness.Community Forums and Discussions: Participate in forums or online communities dedicated to your editor or IDE to discover new extensions and best practices.7. Updating and Managing Extensions:Keep Extensions Up-to-date: Regularly update extensions to ensure compatibility with the latest editor or IDE versions and to receive new features and bug fixes.

  9. Document Your Setup: Create a comprehensive document outlining the steps you've taken to set up your developer environment. Include any configurations, customizations, or troubleshooting steps encountered during the process. Question 9: Answer :Developer Environment Setup DocumentationIntroductionBrief overview of the purpose of this document and its intended audience.Table of ContentsList of sections with page numbers for quick navigation.Environment OverviewDescribe the development environment being set up (e.g., operating system, tools, languages).Mention any specific requirements or constraints (e.g., corporate policies, hardware specifications).Steps to Set Up Developer Environment1. Operating System InstallationSpecify the OS version and any specific configurations needed.Document the installation steps and any customization (e.g., partitioning, disk encryption).2. Development Tools InstallationList all necessary development tools (IDEs, editors, version control systems).Provide download links and installation instructions for each tool.Example:IDE: Visual Studio CodeDownload from [URL]Installation steps: [Steps]3. Configuration and Customizationa. IDE/Editor SetupCustomize IDE/editor preferences, themes, and extensions.Include configurations for popular plugins or extensions used.b. Version Control System (e.g., Git)Document initial setup (username, email).Include any custom Git configurations or aliases used.c. Environment VariablesList important environment variables.Describe where they should be set (e.g., .bashrc, IDE settings).4. Programming Language SetupExample:PythonInstallation method (e.g., Anaconda, Python.org).Package management setup (e.g., pip, conda).5. Frameworks and LibrariesExample:Node.jsInstallation method.Global packages (e.g., npm packages) installation.6. Database SetupExample:MySQLInstallation steps.Initial configuration (root password, user setup).7. Project-Specific DependenciesExample:Web DevelopmentFrontend (HTML/CSS/JavaScript libraries).Backend (frameworks like Django, Flask).8. Security and PermissionsDocument any security considerations (e.g., firewall settings).Outline permissions needed for specific directories or services.9. Troubleshooting and FAQsCompile common issues encountered during setup.Provide solutions or links to resources for further troubleshooting.ConclusionRecap the key points of the setup process.Encourage feedback and updates from team members.AppendixAdditional resources, glossary, or advanced configurations.Version HistoryDocument changes made to this document over time.

#Deliverables:

  • Document detailing the setup process with step-by-step instructions and screenshots where necessary.
  • A GitHub repository containing a sample project initialized with Git and any necessary configuration files (e.g., .gitignore).
  • A reflection on the challenges faced during setup and strategies employed to overcome them.

#Submission: Submit your document and GitHub repository link through the designated platform or email to the instructor by the specified deadline.

#Evaluation Criteria:**

  • Completeness and accuracy of setup documentation.
  • Effectiveness of version control implementation.
  • Appropriateness of tools selected for the project requirements.
  • Clarity of reflection on challenges and solutions encountered.
  • Adherence to submission guidelines and deadlines.

Note: Feel free to reach out for clarification or assistance with any aspect of the assignment.

se-assignment-1-setting-up-your-developer-environment-sonnie97's People

Contributors

github-classroom[bot] avatar sonnie97 avatar

Watchers

Eddy Angano Lugaye avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.