How to Add and Manage Git Remote Repositories

🔹 1. Adding a Remote Repository To add a new remote repository, use the following command: Bash git remote add <remote-name> <remote-url> Example: Bash git remote add origin https://github.com/user/repo.git 🔹 2. Checking Added Remote Repositories To view the list of currently added remote repositories, run: Bash git remote -v 🔹 3. Changing (Updating) a Remote Repository URL If you need to change the URL of an existing remote repository, use this command: Bash git remote set-url origin <new-url> Example: Bash git remote set-url origin https://github.com/newuser/newrepo.git 🔹 4. Removing a Remote Repository To remove a remote repository from your local Git tracking, use: Bash git remote remove <remote-name> Example: Bash git remote remove origin Now you are all set to add and manage your Git remote repositories! 🚀

My Experience Publishing a React Native App as an iOS Developer

Publishing a React Native App I started my journey as an iOS developer through a bootcamp. The reason I ended up publishing an app using React Native was that iOS development felt like a somewhat closed ecosystem—you only build iOS apps using Xcode within the Apple environment. Focusing solely on iOS made me feel a bit trapped over time. Whether I end up getting a full-time job or working as a freelancer, I realized that for the long term, I need to expand my skill set beyond just iOS. While focusing on iOS is great, I felt there was no reason to distance myself from Android. I am also someone with a lot of interest in other development areas. I’d love to challenge myself with web development someday, though it might be tough right now. As these thoughts built up, I developed a strong desire to publish an Android app alongside my iOS ones, which ultimately led me to build an app with React Native. Why React Native? You might ask, "If you wanted to build an Android app, why did i...

How to Open, Set, and Save Environment Variables (Windows, macOS, Linux)

🪟 How to Set Environment Variables in Windows 1. Open the Environment Variables Window Right-click the Start menu and select System (or press Windows Key + X and choose System ). Click on Advanced system settings . Click the Environment Variables button. 2. Add a New Environment Variable Click New under the User variables or System variables section. Enter the Variable name and Variable value . Click OK . 3. Edit an Existing Environment Variable Select the variable you want to modify and click Edit . Update the Variable value and click OK . 4. Save and Apply Click OK on all open dialog windows to save your changes. Note: You must restart any currently open command prompts or applications for the changes to take effect. 🍎 How to Set Environment Variables in macOS 1. Open Terminal Go to Applications → Utilities → Terminal . 2. Set Temporary Environment Variables (Current Session Only) Bash export VARIABLE_NAME=value # Example: export PATH=$PATH:/new/path 3. Set Permanent...

How to Fix Auto Layout Constraint Conflicts and Spacing Issues (Question, Image, and Options)

The Problem I was facing an issue where the spacing between the question, image, and options was excessively large, resulting in poor readability. On top of that, constraint conflicts were occurring. The root cause was that it is mathematically impossible for Auto Layout to satisfy the following three constraints simultaneously: 20pt spacing from the question to the image view. 10pt spacing from the question label to the options stack view. 20pt spacing from the image view to the options stack view. The Solution To resolve this, I made the constraints dynamic. First, declare variables for the constraints: Swift private var questionToOptionsConstraint: NSLayoutConstraint ! private var questionToImageConstraint: NSLayoutConstraint ! private var imageToOptionsConstraint: NSLayoutConstraint ! Next, initialize these constraints in the setupConstraints() method, but do not activate them yet: Swift questionToOptionsConstraint = optionsStackView.topAnchor.constraint(equalTo: questio...

How to Fix Shared Progress Issues Across Different Difficulty Levels in SQLite

1. Preventing Data Conflicts with a Composite Primary Key Problem Previously, the level and quizGroup were not distinctly separated in the database. As a result, saving new progress would unintentionally overwrite existing data from other levels. Solution I updated the progress table to use a composite primary key consisting of both level and quizGroup . This ensures that progress is managed independently for each specific level and group. SQL CREATE TABLE IF NOT EXISTS progress ( level TEXT, quizGroup TEXT, lastQuestionIndex INTEGER , PRIMARY KEY (level, quizGroup) ); 2. Improving the Data Saving Mechanism Updating Progress for a Specific Level and Group In the saveProgress method, I updated the SQL query to include both level and quizGroup in the WHERE clause. This ensures we only update the progress for the targeted level and group. Swift let updateQuery = "UPDATE progress SET lastQuestionIndex = ? WHERE level = ? AND quizGroup = ?;" Appl...