diff --git a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d2.md b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d2.md index 01fa0edae5..9a900cde7b 100644 --- a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d2.md +++ b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d2.md @@ -9,7 +9,7 @@ dashedName: step-29 有序列表(`ol`)的代碼類似於無序列表,但有序列表中的列表項在顯示時會被編號。 -在第二個 `section` 元素的最後一個 `h3` 元素之後,添加一個包含以下三個列表項的有序列表: +Below the `h3` element, add an ordered list with these three list items: `flea treatment` `thunder` `other cats` diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md index 4003df9904..717d988dcc 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md @@ -13,15 +13,17 @@ To `experiment` means to try new ideas or methods. An `interview` is a conversation where someone asks questions to get information. -An `infographic` is a visual image like a chart or diagram used to represent information. For example: +An `infographic` is a visual image like a chart or diagram used to represent information. `Readers` are people who read, especially those who read a particular publication. -`We experiment with new teaching methods` (trying new ideas) +For example: -`The journalist conducts interviews with her readers` (conversation for information) +* `We experiment with new teaching methods.` (trying new ideas) -`They use infographics to explain data` (visual images for information) +* `The journalist conducts interviews with her readers.` (conversation for information) + +* `They use infographics to explain data.` (visual images for information) # --fillInTheBlank-- diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6556bc95e6ce5d850d37dd07.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6556bc95e6ce5d850d37dd07.md index 783e6cd38e..6ccc20d5b1 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6556bc95e6ce5d850d37dd07.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6556bc95e6ce5d850d37dd07.md @@ -7,24 +7,23 @@ dashedName: task-3 # --description-- -Adjectives are words that describe or give more information about nouns or pronouns. For example, in the phrase `the blue sky`, `blue` is an adjective describing the sky. +Adjectives describe or provide more information about nouns or pronouns. They usually come before the noun they modify. For example: -Notice how the adjective comes before the noun. It is `blue sky` not `sky blue`. +- `The blue sky` - Here, `blue` is an adjective describing the noun `sky`. Notice how the adjective `blue` comes before the noun. -Expressive language can include idiomatic expressions or descriptive adjectives to communicate strong feelings or vivid ideas, like saying `sparkling eyes` to describe someone's bright, lively eyes. +- `She enjoys early mornings.` - The adjective `early` describes the type of mornings she enjoys. -Instead of saying `It seems like you have a ton of energy this morning`, James could say something like `You look energetic this morning` to convey the same idea. `Energetic` is the adjective to represent someone who has a lot of energy. +- `He has a quick shower in the morning.` - The adjective `quick` describes how short the shower is. -Here are some more examples: +Adjectives can also make language more expressive by giving details about a person, place, or thing. For example: -* `She wakes up early every day` - `Early` describes the time of her waking up. -* `He has a quick shower in the morning` - `Quick` describes the short duration of the shower. +Instead of saying `It seems like you have a lot of energy this morning`, you could say `You look energetic this morning`. Here, the adjective `energetic` is more concise and expressive, showing that someone has a lot of energy in a positive way. # --questions-- ## --text-- -What does the adjective `energetic` imply about someone? +In the sentence `You look energetic this morning`, what does `energetic` suggest about the person? ## --answers-- @@ -32,7 +31,7 @@ That the person is feeling unwell. ### --feedback-- -`Energetic` is generally used to express a positive feeling about a person, not that they are feeling unwell.. +Does `energetic` usually describe someone who feels negative or unwell? Think about how we use it to describe someone's energy level. --- @@ -44,7 +43,7 @@ That the person is uncomfortable. ### --feedback-- -`Energetic` is generally used to express how dynamic the person looks, not how comfortable they are. +Does `energetic` describe someone's comfort level, or does it describe something more related to activity or energy? --- @@ -52,7 +51,7 @@ That the person is late. ### --feedback-- -The adjective `energetic` does not relate to time or punctuality. +Does `energetic` have any connection to time or being late? Reflect on its meaning in the description. ## --video-solution-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-html-fundamentals/6708396caa00e11b597b3365.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-html-fundamentals/6708396caa00e11b597b3365.md index 37a474eeaf..1154df0acb 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-html-fundamentals/6708396caa00e11b597b3365.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-html-fundamentals/6708396caa00e11b597b3365.md @@ -2,7 +2,7 @@ id: 6708396caa00e11b597b3365 title: What Is the Role of Open Graph Tags, and How Do They Affect SEO? challengeType: 11 -videoId: 94IAhyEfO8I +videoId: Bat8HyGzkU8 dashedName: what-is-the-role-of-open-graph-tags --- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672aa578a2129554d4675049.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672aa578a2129554d4675049.md index 96d642737c..ec7e5a02d0 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672aa578a2129554d4675049.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672aa578a2129554d4675049.md @@ -10,6 +10,44 @@ dashedName: what-are-the-basic-parts-of-a-computer Watch the video lecture and answer the questions below. +# --transcript-- + +What are the basic parts of a computer? + +Computers are very powerful machines that perform a variety of tasks like writing documents, playing games, and browsing the internet. + +As a developer, it is important to understand the basic inner workings of a computer. + +The first major component of a computer would be the motherboard. The motherboard holds all of the memory, connectors, and hard drives that are needed to run the computer. It serves as the main circuit board for the computer. + +Inside the computer case of the motherboard, you will find the CPU which stands for Central Processing Unit. The CPU is a processor that is responsible for executing instructions and performing calculations. It is often referred to as the brain of the computer. + +The CPU is a small square with a chip that goes into the motherboard's CPU socket. A socket is a place where the CPU is inserted. The CPU processor speed is measured in gigahertz (GHz) and mega-hertz (MHz). Gigahertz is a billion cycles per second and mega-hertz is a million cycles per second. + +The next critical component of a computer would be the system's short term memory. This is known as RAM or Random Access Memory. RAM is a temporary storage location for the computer's CPU. Anytime the computer needs to access data quickly, it will use RAM. + +The more RAM you have on your computer, the faster it will run and the more programs you can run at the same time. If you are running low on RAM, your computer will run slower and you will notice the difference in performance. + +It is important to note that RAM is volatile memory. This means that it is lost when the computer is turned off. This is why it is important to save your work on your computer. + +When you do save your files, they are stored on the hard drive. The hard disk drive, or HDD, is a permanent storage location that is used to store data even when the computer is turned off. This is where all of your files and software are stored. + +The hard drive is made up of a spinning platter and an arm. The platter is where the data is stored and the arm is used to read and write data to the platter. When you have a faster hard drive, your computer will boot up faster and your programs will run faster. + +Another type of data storage would be the Solid State Drive, or SSD for short. SSD is non volatile flash memory and can be used in place of a hard drive. SSDs are faster and smaller than hard drives but hard drives are cheaper and have more storage capacity. + +Another key component of a computer is the power supply unit, or PSU. The PSU is responsible for converting the electricity from the wall outlet into a form that the computer can use. It sends the power from the outlet to the motherboard, CPU, and other components of the computer. + +Another key component would be the expansion cards. These are cards that are inserted into the motherboard to add additional functionality to the computer. Examples of expansion cards would be the video card, sound card, and network card. + +The video card, also known as the Graphics Processing Unit or GPU, is responsible for rendering visuals on the computer screen. + +The sound card is responsible for playing sound on the computer speakers. + +The network card is responsible for connecting the computer to the internet. + +Even though there are many more parts to the computer, these are some basic parts that you should familiarize yourself with. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab82c1a9bbd0e3aabc39d.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab82c1a9bbd0e3aabc39d.md index 91a1e84380..d70561820e 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab82c1a9bbd0e3aabc39d.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab82c1a9bbd0e3aabc39d.md @@ -10,6 +10,30 @@ dashedName: how-to-effectively-work-with-your-keyboard-mouse-and-other-pointing- Watch the lecture video and answer the questions below. +# --transcript-- + +How can you effectively work with your keyboard, mouse, and other pointing devices? + +Many of you have been used to working with your keyboard and mouse for years on end for a variety of activities like gaming, performing tasks for work, or surfing the web. + +But prolonged misuse of these devices can lead to serious health problems down the road. + +In this lecture video, we will cover ways to work with your computer’s keyboard and mouse in healthy ways. + +The first tip is to be mindful of the mouse grip. When working on serious tasks for work or during intense gaming moments, you may tend to grip the mouse too hard. However, this can lead to serious hand and wrist issues. To prevent this, you want to make sure to hold the mouse gently and keep your fingers nice and relaxed. + +The second tip is to consider using an ergonomic keyboard and mouse. These tools are designed to reduce wrist strain by keeping your hands in a more natural position. + +While prices for these devices can vary and may be a costly purchase for your current budget, they can be a good investment in your overall long-term health. So, you might consider starting to research an ergonomic keyboard and mouse to use. + +Another tip is to keep your mouse the same height as your keyboard. You don't want to have to reach up or down to use the mouse, as this can strain your wrist and arm muscles over time. + +You also want to be mindful of your overall posture when sitting at the computer for hours on end. Being slouched over your computer and putting your wrist in an unnatural position at the keyboard will lead to long-term health issues. So, you want to make sure to sit up straight when working at your computer and maintain a healthy and natural wrist position. + +The last tip would be to use keyboard shortcuts whenever possible to help minimize typing. There are dozens of shortcuts available for tasks such as navigating the web, navigating around your operating system, working within a code editor, and more. So, it’s best to research some of these keyboard shortcuts and and start incorporating them into your daily computer usage. + +As you continue using your mouse and keyboard for upcoming coding projects and other activities, remember to keep these health tips in mind. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab83c4297910eade53c2e.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab83c4297910eade53c2e.md index 515d189cc8..d79affa6b0 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab83c4297910eade53c2e.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab83c4297910eade53c2e.md @@ -10,6 +10,32 @@ dashedName: what-are-the-different-types-of-internet-service-providers Watch the lecture video and answer the questions below. +# --transcript-- + +What are the different types of internet service providers? + +First, what is an internet service provider, or ISP? It’s a company that sells access to the global internet network, essentially. And they come in three different tiers. + +The first tier are the giant conglomerate companies, which have the infrastructure to handle most (if not all) of their network traffic independently. + +The second tier are the country-wide providers, which sometimes rent access to tier 1 networks but can stand fairly well on their own. + +The third tier are the small companies that primarily focus on providing internet to local markets, and rely on larger ISPs to provide their infrastructure. + +These providers will offer different types of connections as well. + +Fibre optic connections rely on glass or plastic fibres to transmit data via light, resulting in very high connection speeds and data exchange. + +Cable connections use the same infrastructure as a cable television provider, which often makes them readily available in many regions. + +DSL connections use the infrastructure that landline phone services use. Because of the prevalence of this infrastructure, DSL is available in areas where cable might not be. But it is also frequently a slower option. + +Dial-up also uses the phone lines, but requires exclusive connection (disabling the use of the line for phone purposes when connected to the internet). This is a much older technology that has fallen into disuse. + +Satellite connections use an array of satellites orbiting the earth to connect various devices across the world. And finally, similar to that, a 5G home internet provider uses the cell tower infrastructure to keep you online. + +And that should give you a basic rundown of what types of internet service providers and internet connections are out there! + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab849aa1ef70eefd29364.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab849aa1ef70eefd29364.md index 8e1b267afd..085ff16bd6 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab849aa1ef70eefd29364.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab849aa1ef70eefd29364.md @@ -10,6 +10,36 @@ dashedName: what-are-safe-ways-to-sign-into-your-computer Watch the lecture video and answer the questions below. +# --transcript-- + +What are safe ways to sign into your computer? + +Many of you have being using computers for a while. But you might not have thought about the safest or most secure ways to sign into your computer. + +Whether you are using a Mac or PC, there are many ways to safely sign into your computer. + +The first thing you should do is to make sure that your computer is password protected. + +For Windows users, start by opening the Start menu and selecting Settings. From there, go to Accounts and then Sign-in options. You can then set up a password for your computer. + +*Note: If you encounter any difficulties or are using a different version of Windows, refer to the official Microsoft documentation or support resources for detailed instructions tailored to your specific version.* + +When creating your password, make sure it is a long and complex password. You can use a combination of letters, numbers and special characters to make it more secure. + +Choosing an easy password like `12345` or `password` is not a good idea. These are easy to guess and can be easily hacked. + +Also, do not use passwords based on personal information like your name, birthday, or address. Those are also easy for hackers to guess. + +When you create your password, it is also a good idea to setup two-factor authentication (2FA). 2FA serves as an extra layer of security and requires a second form of verification to ensure that the person trying to access the account is indeed the authorized user. + +If you are a Mac user, you can click on the Apple menu and then go to system settings. From there you can go to Users & Groups and set up a password for your computer. + +Some Mac computers come with a touch ID feature, which is often considered more secure than regular passwords. This feature allows you to sign into your computer using your fingerprint. + +For Windows users, the Windows Hello feature offers a more secure way to sign in. It uses biometric methods such as facial recognition or fingerprints for authentication, providing an alternative to traditional passwords. + +After you finish watching these set of lecture videos, I urge you to look into these additional security features and set them up on your computer so that you can keep your computer safe and secure. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab8573f32480f192aaae1.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab8573f32480f192aaae1.md index 0aba68160a..22988e04c5 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab8573f32480f192aaae1.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-understanding-computer-internet-and-tooling-basics/672ab8573f32480f192aaae1.md @@ -10,6 +10,54 @@ dashedName: what-are-the-different-types-of-tools-professional-developers-use Watch the lecture video and answer the questions below. +# --transcript-- + +What are the different types of tools professional developers use? + +Professional developers rely on a variety of tools to increase productivity and code quality. Let's learn about those tools, including the ones that seem very obvious. + +The first among the tools is computers. A computer is the primary development environment. It could be a heavy desktop or a portable laptop with either Windows, macOS, or Linux as the operating system. + +Professional developers often go for computers with fast processing power and plenty of RAM to handle resource-intensive tasks. + +After the computer is a program for writing and editing code right on that computer. That's a code editor or integrated development environment (IDE). + +IDEs like Visual Studio, IntelliJ IDEA, JetBrains, and PyCharm provide powerful features like code completion, debugging, and integrated terminal support. + +Visual Studio Code (VS Code) is essentially a code editor, but it also provides these functionalities with its rich extension library. + +Other code editors are Sublime Text, Atom, Notepad++, and Brackets. + +When you write code with code editors and IDEs, you need to track the changes you make to them. The tool that lets you track those changes is a version control system. + +Git is the most widely used version control system in the development community. + +Platforms like GitHub, GitLab, and Bitbucket provide cloud-based hosting services for your Git repositories. These platforms enable collaboration with other developers, allow you to work on multiple branches, and facilitate the merging of code changes. + +Package managers are another critical tool. They help developers simplify the process of adding, updating, and removing libraries and project dependencies. + +Examples of popular package managers are: + +* NPM, Yarn, and PNPM for JavaScript +* PIP for Python +* Composer for PHP +* Maven for Java + +After writing code with different tools, developers test that code to make sure it's working as expected. + +For this, developers use testing frameworks like Cypress, Playwright, Selenium, and others. There are also language-specific testing frameworks. Examples are: + +* Jest for JavaScript +* pytest for Python +* JUnit for Java +* PHPUnit for PHP + +You don't only need to test the code to make sure it's working as expected. You also need to test what the code looks like visually to the end users. Developers use web browsers for this. + +Modern browsers like Chrome, Firefox, Edge, and Safari offer developer tools for inspecting HTML, CSS, and JavaScript code. There are also tools for debugging and performance profiling. + +These tools help developers test and optimize their web applications across different browsers for the end users. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672aa6c9e379285acca5a2aa.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672aa6c9e379285acca5a2aa.md index 906f1f1cb1..6a70a954f8 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672aa6c9e379285acca5a2aa.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672aa6c9e379285acca5a2aa.md @@ -10,6 +10,34 @@ dashedName: what-are-common-design-terms-to-help-you-communicate-with-designers Watch the video lecture and answer the questions below. +# --transcript-- + +What are common design terms to help you communicate with designers? + +As a developer, you may need to work closely with designers. If you understand basic design terminology, you'll have a shared vocabulary and you'll be able to participate in the design process more actively. This can make your workflow more efficient and result in a better user experience. + +So let's dive in. We'll start with the term layout. Layout is how the visual elements are arranged on a page or screen to communicate a message. These elements may include text, images, and white space. The layout is like the blueprint of a design. Designers must consider the placement, size, and hierarchy of each element. + +The term that is closely related to layout is alignment. Alignment is how the elements are placed in relation to one another. Using alignment correctly is helpful for making the design look clean and organized. Designers create visual order by aligning elements along imaginary lines, edges, or a central point. + +Great. Now let's talk about composition. Composition is the art of arranging elements to create a harmonious design. It determines how elements like images, text, and shapes relate to each other and contribute to the design in an artistic way. While layout mostly focuses on the placement of the elements, composition also considers the artistic impact that this placement will have in the overall design. + +Composition is closely related to concepts of balance. Balance is how the visual weight is distributed within a composition. Designers aim to create an equilibrium through symmetrical or asymmetrical arrangements. A balanced design feels harmonious. + +Hierarchy is another important concept that you should know. Hierarchy establishes the order of importance of the elements in a design. It's about making sure the most important information is noticed first. You can implement a visual hierarchy with size, color, contrast, alignment, white space, and even typography. + +To create clear distinctions between the elements, you can use contrast. Contrast is helpful for guiding user attention to what you want to emphasize. You can do this through variations in color, size, shape, texture, or any other visual characteristic. Strong contrast is also helpful for improving readability. + +Another helpful term is white space. White Space, also known as "negative space", is the empty space in a design. It's the area surrounding the elements. You might be surprised to know that white space is not necessarily white. Actually, it can be space in any color or texture. Its purpose is to improve the readability and enhance the visual hierarchy of a design. + +These are general design concepts that you will find very often, but you may also find design terms that are more closely related to software development. + +The user interface, also known as UI, is how humans interact with computers. A user interface includes the visual and interactive elements that users can see on their screens, like icons, images, text, menus, links, and buttons. + +The user experience, also known as UX, is about how users feel when using a product or service. An application with a well-designed user experience is intuitive, easy to use, efficient, accessible, and enjoyable. The user interface plays a key role in making the user experience as easy and enjoyable as possible, so they are very closely related. + +These are some of the common terms that you should know to communicate with designers. With this knowledge, now you can take a more active role in the design process. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baa97f2990e6631d522e7.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baa97f2990e6631d522e7.md index edb9ff819c..8c2a153704 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baa97f2990e6631d522e7.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baa97f2990e6631d522e7.md @@ -10,6 +10,38 @@ dashedName: how-do-you-create-good-background-and-foreground-contrast-in-your-de Watch the lecture video and answer the questions below. +# --transcript-- + +How do you create good background and foreground contrast in your designs? + +First, you may need to familiarize yourself with contrast. Contrast is the difference between two colors - or how easy it is to tell them apart. + +Colors with a higher contrast will be more visually distinct, whereas colors with a lower contrast will be more visually similar. For example, black and white have a very high contrast ratio. Whereas light blue and light purple have less of a contrast. + +Of course, in these examples the distinction might be made clearer because of the layout. But what about applying these colors to text? You can have the high contrast black text on a white background. And the low contrast purple text on a blue background. + +But how do you determine what is a "good enough" contrast? You can't base it solely on how the text looks to you, as every user will have a different experience. Thankfully, the Web Content Accessibility Guidelines, or WCAG, provide a standard for this. + +Text with a contrast ratio of 4.5:1 is considered the AA standard, which is the bare minimum you should follow to be accessible to most users. Text with a contrast ratio of 7:1 is considered the AAA standard, and ensures the best level of accessibility. + +There are a number of websites that can check the contrast ratio between two colors, but most browsers will allow you to do this directly in the developer tools on your website. + +Let's open the developer tools and inspect the text elements of the example site. + +The black text on a white background has a contrast ratio of 21:1, which more than meets the AAA standard. The purple text on a blue background, however, has a contrast ratio of 1.48:1, which does not even meet the AA standard. + +How can you fix this? Well, there are three aspects that impact the contrast ratio. + +The first is the hue, which represents the general color type, like red, blue, orange. Let's shift to a hue that is further away from blue. In this case, let's use red. + +Unfortunately, this change only brought the contrast ratio to 1.49:1, which means you need to change the saturation, or the "amount" of color present. Let's increase the amount of red in the text. That brings us much closer to the goal, with a 3.54:1 contrast ratio. + +However, you can potentially get even closer by changing the last value, which is lightness. Lightness represents how much white is present in the color. + +Let's decrease the lightness of the red. Now there is a much darker red against the light blue background, which brings the contrast ratio to 10.34:1. + +You could continue to adjust the colors to find the balance between the visual effect you want and an accessible contrast ratio. But it is important to remember that accessibility should always take precedence. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baaa62d4b46667a8ac869.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baaa62d4b46667a8ac869.md index 9f54e1fa1a..c8573e5c85 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baaa62d4b46667a8ac869.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baaa62d4b46667a8ac869.md @@ -10,6 +10,28 @@ dashedName: what-is-the-importance-of-good-visual-hierarchy-in-design Watch the lecture video and answer the questions below. +# --transcript-- + +What is the importance of good visual hierarchy in design? + +Visual hierarchy refers to the way you layout and display the content of your page to guide the viewer's attention. + +A strong hierarchy can provide a clear path for the eye to follow, ensuring that the information you convey is consumed in the order that you intended. + +Let's consider a basic page layout in which the HTML for the page is semantically correct, but the styling applied does not create a strong visual hierarchy. + +If the font size isn't distinct, there is no visible indication of the document flow, although things are separated by headings. + +To create a visual hierarchy, you should apply different font sizes to the heading tiers. You could also use something like a "callout box" to highlight a specific section. + +Visual hierarchy can also help increase your user conversion. For example, you can take advantage of the callout box to further draw attention to a Call to Action (CTA) button. + +With the CTA button being visually tied to the work history section, it guides the user to the vital information and the action you want them to take based on that information. + +Finally, your visual hierarchy can be important for conveying other components, like a navigation bar or a footer. + +This makes it easier for your users to find the essential information that they may be looking for. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baab2a0c3df66ad987b94.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baab2a0c3df66ad987b94.md index 4aa66228a4..740be31be1 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baab2a0c3df66ad987b94.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baab2a0c3df66ad987b94.md @@ -10,6 +10,28 @@ dashedName: how-does-scale-work-in-design Watch the lecture video and answer the questions below. +# --transcript-- + +How does scale work in design? + +The "scale" of something refers to its size. + +When you're looking at scaling in your web design, you're looking at the size relationships between different elements, and how these elements might adapt to different screen sizes. + +Using the correct scale for your elements plays an important role in visual hierarchy. Larger elements will draw more attention, which can guide your users through the content in the way that you want. + +For example, the visual separation between a heading and a paragraph draws your reader’s attention, but the scale should be appropriate to get an eye-catching text that pulls your reader to that section. + +Scale doesn't apply just to text, though. It's also important for images. And while the scale of a banner image might make sense for a desktop layout, it might be too large on a mobile layout. + +By scaling an image down to a more appropriate ratio, you can keep the visual impact while ensuring the information on the site is visible. + +Scale is also important for interactivity, and the ability to actually use your website. If the text in a navigation bar is not at an appropriate scale, mobile phone users will have a hard time tapping on the links. + +And if you scale it appropriately, you end up with links that are not only easier to read, but easier to click on for your mobile users. + +There are many ways that scale is important in your designs. We've covered the basics, so you should now have a fundamental understanding of its importance. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baabf16290b66e6b79a39.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baabf16290b66e6b79a39.md index 0a966fe5ac..0bbe32cf6f 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baabf16290b66e6b79a39.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baabf16290b66e6b79a39.md @@ -10,6 +10,44 @@ dashedName: how-does-alignment-work-in-design Watch the lecture video and answer the questions below. +# --transcript-- + +How does alignment work in design? + +When you are designing web pages, it is important to create cohesive and visually appealing designs. One way to achieve this is through the use of alignment. + +Alignment is the process of arranging text and images in a way that creates a visual connection between elements. + +It helps to create a sense of order and organization on the page, making it easier for users to navigate and understand the content. + +There are several types of alignment you can use, but the basic ones are: + +- left alignment +- center alignment +- right alignment +- justified alignment +- vertical alignment + +Left, right, and center alignments are all subtypes of horizontal alignment, while vertical alignment is used to align elements along a vertical axis. + +Let's take a closer look at each type of alignment and how you can use them in your designs. + +Left alignment is commonly used with text where each element is aligned to the left margin. Aligning all of the headings and paragraphs on a web page to the left margin makes it easier for the user to read and follow the content. + +The opposite of left alignment is right alignment, where each element is aligned to the right margin. This is often used on websites to display additional content like promotional banners or advertisements. + +For example, an ad that is aligned to the right margin makes it stand out from the rest of the content on the page but doesn't distract the user from the main content. + +Center alignment is where elements are centered on the page. This is often used for headings, logos, and other important elements that you want to draw attention to. + +Justified alignment is when text is aligned to both the left and right margins. This is typically used for descriptive passages or articles, and creates a clean and professional look. + +The last type of alignment is vertical alignment, which is used to align elements along a vertical axis. + +Vertical alignment can be used, for example, for a contact form on a website. Aligning all of the form inputs like the name, email, and message fields along a vertical axis makes it easier for the user to fill out the form. + +By using different types of alignment, you can create a sense of order and organization on the page that makes it easier for users to navigate and understand the content. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baacb7f2f446728e77efe.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baacb7f2f446728e77efe.md index 86b23b4ca3..0eefe09390 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baacb7f2f446728e77efe.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baacb7f2f446728e77efe.md @@ -10,6 +10,34 @@ dashedName: what-is-the-importance-of-whitespace-in-design Watch the lecture video and answer the questions below. +# --transcript-- + +What is the important of whitespace in design? + +White space refers to any type of space around elements like images, text, and buttons. White space is important in design because it helps to create a balance between the elements on the page. + +Let's take a look at some examples of how white space can be used effectively in design. + +For example, let's consider a call-to-action (CTA) button. CTAs are used to encourage users to take a specific action like signing up for a newsletter or making a purchase. + +By using white space effectively, we can help to make a CTA button more prominent and encourage users to click on it. + +Now let's take a closer look at the different types of white space. + +This first example uses both macro and active white space. Macro white space is the space between larger elements like images, text blocks, and buttons. + +Active white space is the space that is intentionally created to help guide the user's eye and draw attention to certain elements on the page. + +In contrast to active white space, there is also passive white space. Passive white space is the space that is left over after all the elements on a page have been placed. + +Another type of whitespace would be micro white space. This is the space between individual characters in a line of text. + +Micro white space is important because it helps to improve readability and legibility, making it easier for users to scan and understand the content. + +When designing your web pages, you always want to be mindful of the law of proximity. This law states that elements that are close together are perceived as being related, while elements that are far apart are perceived as being unrelated. + +You can use white space to help group related elements together and help navigate users through the content on your page. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baad7bbc4f86762ca173e.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baad7bbc4f86762ca173e.md index 6e3678f0a1..9c4ea2e5b5 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baad7bbc4f86762ca173e.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baad7bbc4f86762ca173e.md @@ -10,6 +10,34 @@ dashedName: what-are-best-practices-for-working-with-images-in-your-designs Watch the lecture video and answer the questions below. +# --transcript-- + +What are best practices for working with images in your designs? + +Adding images to your websites is a great way to engage your users and increase the visual appeal of your site. But there are a few things to consider when working with images in your designs. + +The first thing to consider is creating responsive images. Responsive images are images that scale to fit the size of the screen they are being viewed on. This is important because it ensures that your images look good on all devices, from desktops to mobile phones. + +Another thing to consider is the resolution for images. Higher quality images with better resolution have more pixels per inch. Pixels are small squares that make up an image. + +Pixels per inch, or PPI, is the number of pixels in one inch of an image. The higher the PPI, the better the image quality. + +You want to make sure that your images are high quality and look good on all devices. This means that you should use high resolution images that are optimized for the web. + +Another thing to consider is the size of your images and how they fit within the spaces in the layout. You want to make sure that your images are the right size and are not too large or too small. + +Using large images that are meant to fit in smaller spaces in the design can slow down your website and make it harder for users to load your site. You want to make sure that your images are the right size and are optimized for the web. + +When it comes to image placement, you want to think about balance, hierarchy, and alignment to help ensure your images are optimized for the web. + +Balance is the distribution of visual weight in a design. You want to make sure there is a good balance between text and images on the site so it creates a harmonious design. + +Hierarchy is the order in which elements are viewed on a page. You want to make sure that images that align with important content are placed higher than images that are less important. + +Alignment is the placement of elements in relation to each other. You want to make sure that your images are aligned with the text and other elements on your site so that it creates a cohesive design. + +The last thing to consider is accessibility for images. You want to make sure that your images are accessible to all users, including those with visual impairments. This means that you should use alt text for your images so that screen readers can read the text to users who are visually impaired. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baae11d06c867a16f64e1.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baae11d06c867a16f64e1.md index 868b9face5..0237f75b0a 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baae11d06c867a16f64e1.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-user-interface-design-fundamentals/672baae11d06c867a16f64e1.md @@ -10,6 +10,33 @@ dashedName: what-is-progressive-enhancement Watch the lecture video and answer the questions below. +# --transcript-- + +What is progressive enhancement? + +Progressive enhancement is a design approach that ensures all users, regardless of browser or device, can access the essential content and functionality of an application. + +It focuses on delivering a core experience that works for everyone, while offering extra features and improvements to users with more advanced browsers or better internet connections. + +The progressive enhancement approach lives by these core principles: + +- All core content and basic functionality should be accessible on all browsers +- All advanced layouts should be provided through external CSS stylesheets +- All advanced functionality should be provided through external JavaScript files +- A user's browser preferences should be respected + +Using a progressive enhancement approach makes your applications more accessible because all core content and functionality should not be blocked in unsupported environments. + +In terms of speed, a progressive enhancement approach can also help improve the performance of your applications. + +Those users that are working with slower internet connection speeds will still be able to access the content because the browser will download the necessary resources first. + +When it comes to SEO, progressive enhancement can also help improve the visibility of your applications. + +Search engines will be able to crawl the content of your applications because the core content is available in the initial HTML response. + +While some have criticized this approach deeming that it is not always realistic for applications that rely heavily on JavaScript for their functionality, it is still a good practice to follow when building applications. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672aa58c389eb9565978495d.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672aa58c389eb9565978495d.md index 5e118ee608..ccbb2240dc 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672aa58c389eb9565978495d.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672aa58c389eb9565978495d.md @@ -10,6 +10,32 @@ dashedName: how-can-you-use-file-management-applications-on-your-computer Watch the video lecture and answer the questions below. +# --transcript-- + +How to use file management applications? + +A file management application is a way to easily store, organize, and edit your files on your computer. Whether you use a Mac or Windows computer, there are built-in applications you can use to organize your files. + +If you have a Windows computer, the default file manager is the File Explorer. This is used to browse, search, and manage files and folders, as well as perform file operations like copying, moving, and deleting. + +To find the File Explorer, you can go to the Start menu or press the Windows logo key on your keyboard. + +To pin a folder, you can right click with your mouse and select "Pin". To move a file or folder, you first need to select it, then select "Cut" and then navigate to the new location to paste it. + +If you have a Mac computer, the default file manager is the Finder. This provides access to local and remote files, supports file previews, and offers a variety of organizational features like tags and Smart Folders. + +To access the Finder on your Mac, go to the Dock at the bottom and click on the Finder icon. + +You will notice a sidebar on the left-hand side where your favorite folders are located. + +One way to organize your files, is to use tags. To tag a file or folder, you can select the item in the Finder and then right click with your mouse. You will see the "Tags..." option in the dropdown and you can apply a custom colored tag. + +To search for tagged items, you can scroll to the bottom of the sidebar and click on the corresponding colored tag, or you can search for the tag by color name in the search field. + +Another way to organize your files is to use smart folders. Smart folders are collections of files that are automatically organized based on criteria you set, such as file type, date, or keywords. + +Whether you're using File Explorer on Windows or Finder on Mac, these applications provide flexibility to manage your files with features like tags, search, and Smart Folders. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac37104dc2530a769e6a4.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac37104dc2530a769e6a4.md index 683f59ec45..eff43a863d 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac37104dc2530a769e6a4.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac37104dc2530a769e6a4.md @@ -10,6 +10,58 @@ dashedName: what-are-best-practices-for-naming-files-for-web-applications Watch the lecture video and answer the questions below. +# --transcript-- + +What are best practices for naming files for web applications? + +As you start to build out your own web applications, you will need to be mindful of what you name your files. + +You will want to name your files in a way that is easy to understand and maintain. + +Let's take a look at some examples of good and bad file names for HTML files. Note that the `.html` extension in these examples tells us that this is an HTML file. + +Here is an example of a bad file name: + +```md +index1234.html +``` + +By the name alone, it is not clear what the file is about. This file could be for a products page, blog page, or any other type of page but we don't know that from the file name. + +Here is an example of a better file name for an HTML file: + +```md +about-us.html +``` + +By using a more descriptive name like `about-us.html`, it is clear what the file is about. + +You will also notice in this file name that there are no spaces. Instead, you use a hyphen, `-`, to separate the words. + +Sometimes you might see a file name called `index.html`. This is a special file name that is used to represent the main page of a website. When you visit a website, the `index.html` file is the first file that is loaded. + +Another important consideration when naming files is the use of special characters. + +Using a mixture of special characters, numbers, and letters can make it difficult to understand what the file is about. + +Here is an example of a bad file name: + +```md +file-1!@.html +``` + +This name looks unnecessarily complicated and does not give us any information about what the file is about. + +So it is best to stick with only using letters and dashes in your file names. + +As you start to learn more languages, you will see that there are common conventions for naming files in those languages as well. + +In these situations, it is always best to consult with official documentation or other resources to understand the best practices for naming files in that language. + +Also you will be in situations where you are working on a team and you will need to follow the conventions that the team has established for naming files. + +Always consult with the team's style guide to make sure your file names are consistent with the rest of the team. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac39a22b0cc30eb8fd65e.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac39a22b0cc30eb8fd65e.md index 9f46d28c0f..d918513227 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac39a22b0cc30eb8fd65e.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac39a22b0cc30eb8fd65e.md @@ -10,6 +10,54 @@ dashedName: what-are-best-practices-for-file-folder-organization-in-web-applicat Watch the lecture video and answer the questions below. +# --transcript-- + +What are best practices for file and folder organization in web applications? + +When building out web applications, it is important to think about the organization of your files and folders. This will help keep your code organized and easier to maintain. + +Let's take a look at an example folder structure for an HTML and CSS project: + +```bash +. +├── /assets +│ ├── /images +│ │ ├── logo.png +│ │ ├── banner.jpg +│ │ └── icons.svg +│ ├── /fonts +│ │ ├── custom-font.woff +│ │ └── custom-font.woff2 +├── /css +│ ├── main.css +│ ├── about.css +│ └── contact.css +├── index.html +├── about.html +├── contact.html +└── README.md +``` + +At the top of the example, there is a single dot, which represents the root directory. + +The root directory is the top-level directory in a file system, serving as the starting point for all file paths and containing all other directories and files. A directory is another name for a folder. + +Inside the root directory, the first directory shown is the `assets` directory. The term `assets` refers to any files that are used in the project, such as images, fonts, or other resources. + +In this example, there are two directories inside the `assets` directory called `images` and `fonts`. + +The next directory would be the `css` directory. Sometimes this is also referred to as a stylesheets directory. This is where you would store all of your CSS files. + +Below the `css` directory are the HTML files. The `index.html` file represents the homepage, while `about.html` and `contact.html` represent the About and Contact pages, respectively. + +Lastly, there is a `README.md` file. `README` files are commonly used to provide useful information about the project, such as what it does, how to use it, and any other relevant details. + +The `.md` extension stands for Markdown, which is a lightweight markup language that is often used to write documentation. + +By organizing your project into assets, CSS, and HTML files, it makes it easy to find what you are looking for. This also makes it easy for other developers to contribute to your project. + +It is important to note that this is just one example of how you can organize your files and folders. There are many different ways to structure a project. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3c5d0e9fd31835ff772.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3c5d0e9fd31835ff772.md index a06c421fc9..881b1f0662 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3c5d0e9fd31835ff772.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3c5d0e9fd31835ff772.md @@ -10,6 +10,74 @@ dashedName: how-to-create-move-and-delete-files-and-folders-using-explorer-finde Watch the lecture video and answer the questions below. +# --transcript-- + +How to create, move, and delete files and folders using the Explorer or Finder? + +To create a file on Windows using the Explorer, you can click on the "New" option at the top right. This will show you a list of the different types of files that you can create. + +You can also create files in their corresponding applications. Let's create a text file to show you the process. + +When you click on "New" and select the file type, you will see a new text file in your current folder with a default name. You can rename it if you'd like. + +The process of creating folders is exactly the same. Click the "New" button at the top right and then select the "Folder" option or right-click on an empty spot and go to "New." Then, select the "Folder" option. You'll see a new empty folder in your current location. + +You can rename files and folders by selecting them and clicking on the "Rename" option at the top. When current name of the file is highlighted, you can start writing the new name of the file. Press Enter to confirm the changes. + +Alternatively, you can right-click on the file or folder and select the "Rename" option or use the F2 keyboard shortcut. Write the new name and press Enter to confirm the changes. + +You can move a file or folder to another folder by dragging and dropping it into the destination folder, if you have it opened it as a tab. + +You can also select the file or folder and select the "Cut" option at the top. + +Then, go to the destination folder and paste it by clicking the "Paste" button at the top. If you copied or cut the file previously, this button will be enabled. + +You can also do this by right-clicking on an empty spot and then clicking on the paste icon. This will remove the file or folder from its original location. + +To delete a file or folder, click on it and then click on the Trash icon at the top. You will also find a "Delete" option if you right-click on it. + +Great. Now let's see how you can do this on macOS using Finder. + +Finder is the default file manager on macOS. + +To create a file on macOS, you need to open an application that lets you create the type of document that you need to create. Currently, there isn't a built-in way to create a file directly on Finder. + +For example, to create a simple plain text file, you can open TextEdit and save your file. The process works exactly the same for any type of file. + +There are many ways to open TextEdit. One of them is to go to Launchpad. Then, search for an app where you can create the type of file that you're interested in. In this case, that would be "TextEdit." Click on the icon to open the app. + +Once you are inside the app, you should see an option to save your file in the App menu. This menu is located at the top-right, next to the Apple menu icon. + +In one of the App menu options, you should see a command to save the file. This is usually under the File menu. + +Next to it, you will see the keyboard shortcut for saving your file. This is usually `Command + S` on macOS. + +When you are saving the file for the first time, you should see a dialog window, where you can write the name of the file and choose a location. + +Usually, the file extension is added by the application automatically but you can change it before saving the file. + +After saving the file, you can open Finder by clicking on the Finder icon in the Dock. You should see your new file in the folder where you saved it. + +To create a new folder, you should go to the location where you want to create that new folder and rick-click on an empty spot. You will see a list of options. The first option is "New Folder." + +If you click on it, you can assign a name to your new folder. Write the name and press Enter to confirm. + +There are multiple ways to move files and folders in Finder. If you need to move them to a folder listed in your Finder "Favorites" section, you can just drag and drop it. + +If you need to move it to a different folder, you have two options. + +You can either open the destination folder as a tab and drag and drop the file or folder into the tab. + +Or you can use keyboard shortcuts. First, copy the file with `Command + C`, go to the new folder, and then use `Command + Option + V` to paste the file or folder in that location. This will also remove it from the original folder. + +To delete a file or folder, you can right-click on it and select "Move to trash." + +You can also drag and drop them into the trash icon on the Dock. This is equivalent. + +When the file or folder is in the trash can, you can right-click on it to delete it immediately or you can empty the trash to remove all the deleted files and folders permanently. + +Knowing how to create, move, and delete files and folders on Windows and macOS is very important. By mastering these skills, you can organize your files, locate them quickly, and free up storage on your computer by deleting unnecessary files. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3f129efbf327742eb33.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3f129efbf327742eb33.md index edb1dbb4b7..effaff66d2 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3f129efbf327742eb33.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac3f129efbf327742eb33.md @@ -10,6 +10,42 @@ dashedName: how-to-search-for-files-and-folders-on-your-computer Watch the lecture video and answer the questions below. +# --transcript-- + +How to search for files and folder on your computer? + +Let's learn how to search for files and folders on Windows and macOS. + +We'll start with Windows. You can search from the Taskbar or from the File Explorer. + +To search from the Taskbar, write the name of the file or folder that you are looking for. You can also search for keywords. You'll see results from across your PC and OneDrive. + +If you only want to see documents, you can click on the "Documents" tab. You also have tabs for apps and web results. + +Another alternative is to use the Search File Explorer. You will find it at the top right of the Explorer window, where you can see "Search Documents." + +You have three options to define the scope of the search: + +- You can search from Home to find files from your PC and from the cloud quickly. + +- You can search from a folder to find files stored inside it. + +- You can search from This PC for a slow but in-depth search. + +This is how you can search for files and folders on Windows. Now let's see how you can do this on macOS. + +First, you can use Spotlight, a tool that helps you find files on your Mac. To open Spotlight, go to your menu bar at the top right and find the magnifying glass icon. If you don't see this icon on the menu bar, you can add it in the Control Center settings. + +Go to your settings, filter by "Control Center", click on this option and then scroll down until you find the "Spotlight" option. You can also use a keyboard shortcut to open Spotlight: `Command + Spacebar`. + +When you open Spotlight, you'll see the Spotlight Search, where you can search for any file or folder by typing its name. When you start typing, you'll see the results grouped by category, including suggestions, folders, presentations, photos, documents, and related searches. + +You can also expand a specific category by clicking on "Show More." + +Another way to search for files that you have recently opened is to open Finder by click on the Finder icon in the Dock. Then, go to "Recents" in the Finder sidebar. And there, you'll find all the files that you've recently viewed. + +This is how you can search for files and folders on macOS. With these search tools, you can optimize your workflow and find the files and folders you need very quickly. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac403a9ba7732b31c6480.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac403a9ba7732b31c6480.md index 025f69cab1..f35d416a40 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac403a9ba7732b31c6480.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-file-systems/672ac403a9ba7732b31c6480.md @@ -10,6 +10,62 @@ dashedName: what-are-some-common-file-types-you-will-work-with-in-web-applicatio Watch the lecture video and answer the questions below. +# --transcript-- + +What are some common file types used in web applications? + +Files are classified based on their content and structure. The file type determines how a file is opened and processed by computer programs. + +We identify file types based on their extensions. A file extension is a three or four letter suffix at the end of the file name. The three main file types that you will find in web applications are HTML, CSS, and JavaScript. + +HTML files contain the structure and content of the web application. They have a `.html` file extension. + +CSS files define the styles. They have a `.css` file extension. + +And JavaScript files add more advanced functionality and interactivity. They have a `.js` file extension. + +As you develop web applications, you will also need to include images. These are some of the most widely used image file types. + +JPEG, which stands for "Joint Photographic Experts Group," is known for its efficient compression. It's great for photographs and images. However, the compression is lossy, which means that some image quality is lost to reduce the file size. + +PNG, which stands for "Portable Network Graphics," preserves image quality, even after compression. This results in larger files. PNG supports transparency and it's great for images with sharp edges, like logos and icons. + +The GIF image format supports both animation and transparency but has a limited color palette. GIF stands for "Graphics Interchange Format." + +And finally, we have SVG, which stands for "Scalable Vector Graphics." It's a vector image format. These images can be scaled as much as needed without losing quality. + +Great. Now that you know about image formats, let's see some video and audio formats. + +MP3 is an audio format known for its efficient compression. It's a lossy format, so some audio data is lost during the compression to make these files smaller. + +MP4 is one of the most common video formats. It offers good compression and supports multiple audio and video codecs, subtitles, and metadata. + +MOV, the QuickTime multimedia file format developed by Apple, is primarily associated with QuickTime Player. + +Other popular audio and video file types are WAV, a lossless audio format that keeps the original quality of the audio, and WebM, a high-quality open-source video format. + +If you ever need to customize the fonts of your web application, you will also work with font formats. These are three of the most widely used ones. + +TTF, which stands for "TrueType Font", is a font format compatible with different operating systems. + +WOFF is a modern font format, specifically designed for web development purposes. It stands for "Web Open Font Format". These files are smaller because they have better compression. They can also store metadata, including licensing information. + +And WOFF2 is the successor of WOFF with even more efficient compression and performance. + +You can also create archive files if you need to group multiple folders and files. The most widely used archive format is ZIP. ZIP offers lossless compression, so no data is lost during the process. It's widely supported across operating systems and software applications. + +And finally, let's talk about documentation. In web applications, you will usually find a file called `README` that contains information about the application, like how to use it, how to install it, its license, and how to contribute. + +They are usually written in a file format called Markdown. With Markdown, you can create structured documents with headings, subheadings, links, images, lists, and more. Markdown files have a `.md` or `.markdown` extension. + +Here you can find the `README` file of freeCodeCamp's GitHub repository: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/README.md + +You can create this detailed structure and format using Markdown. + +You will definitely read and write many `README` files throughout your career. Learning about these common file types is essential for web development. + +From the core building blocks of HTML, CSS, and JavaScript to image, video, and audio formats, every file type has an important role in creating interactive web applications. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716744f7245947a3dd60009.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716744f7245947a3dd60009.md index 950d3b1275..914d95482a 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716744f7245947a3dd60009.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716744f7245947a3dd60009.md @@ -10,6 +10,30 @@ dashedName: what-are-the-different-target-attribute-types Watch the video and answer the questions below. +# --transcript-- + +What are the different `target` attribute types, and how do they work? + +You may have seen the `target` attribute on anchor elements, or links. This important attribute tells the browser where to open the URL for the anchor element: + +```html +Visit freeCodeCamp +``` + +There are four important possible values for this attribute. Note that each value is preceded by an underscore. + +The first value is `_self`, which is the default value. This opens the link in the current browsing context. In most cases, this will be the current tab or window. + +The second value is `_blank`, which opens the link in a new browsing context. Typically, this will open in a new tab. But some users might configure their browsers to open a new window instead. + +The third value is `_parent`, which opens the link in the parent of the current context. For example, if your website has an `iframe`, a `_parent` value in that `iframe` would open in your website's tab/window, not in the embedded frame. + +The fourth value is `_top`, which opens the link in the top-most browsing context - think "the parent of the parent". This is similar to `_parent`, but the link will always open in the full browser tab/window, even for nested embedded frames. + +There is a fifth value, called `_unfencedTop`, which is currently used for the experimental FencedFrame API. At the time of this video, you probably won't have a reason to use this one yet. + +Selecting the right `target` value to control where your users end up is an important consideration when creating a website. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/671682dd88e461a8e2620f38.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/671682dd88e461a8e2620f38.md index 7bc6e9ff7d..e663d54571 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/671682dd88e461a8e2620f38.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/671682dd88e461a8e2620f38.md @@ -10,6 +10,69 @@ dashedName: what-is-the-difference-between-absolute-and-relative-paths Watch the video and answer the questions below. +# --transcript-- + +What is the different between absolute and relative paths? + +A path is a string that specifies the location of a file or directory in a file system. In web development, paths let developers link to resources like images, stylesheets, scripts, and other web pages. There are absolute and relative paths - both are essential when specifying file locations within a file system. Let's look at the two so you can decide which one of them to use and when. + +An absolute path is a complete link to a resource. It starts from the root directory, includes every other directory, and finally the filename and extension. The "root directory" refers to the top-level directory or folder in a hierarchy. + +An absolute path also includes the protocol - which could be `http`, `https`, and `file` and the domain name if the resource is on the web. Here's an example of an absolute path that links to the freeCodeCamp logo: + +```html + + View fCC Logo + +``` + +In this example, the protocol is `https`, the domain name is `design-style-guide.freecodecamp.org`, and the filename is `fcc_secondary_small.svg`. + +Now, what if the resource you want to link to using an absolute path is on your local machine? Here's how to link to the `about.html` file with an absolute path: + +```html +
+ Read more on the + About Page +
+``` + +It looks like this because we are going into a folder called `Users`, then into a folder called `user`, then into a folder called `Desktop`, then into a folder called `fCC`, then into a folder called `script-code`, then into a folder called `absolute-vs-relative-paths`, then into a folder called `pages` to finally get the `about.html` file. + +Here's what the absolute URL looks like in the browser address bar: + +```sh +file:///Users/user/Desktop/fCC/script-code/absolute-vs-relative-paths/pages/about.html +``` + +The URL includes the protocol, `file://`. It also include the path, which looks like this: `/Users/user/Desktop/fCC/script-code/absolute-vs-relative-paths/pages/`, and represents the series of folders that lead to the file. And finally, it also includes the `about.html`, which is the filename and the extension. + +Now, lets look at the relative path. A relative path specifies the location of a file relative to the directory of the current file. It does not include the protocol or the domain name, making it shorter and more flexible for internal links within the same website. Here's an example of linking to the `about.html` page from the `contact.html` page, both of which are in the same folder: + +```html ++ Read more on the + About Page +
+``` + +So imagine you are on the `contact.html` page, and because the `about.html` page is in the same place, you simply get the filename. This is an example of using a relative file path. + +So, which should you use and when; an absolute path or a relative path? Here are the rules you should follow: + +- Use absolute paths when linking to a resource hosted on an external website. + +- Use absolute paths when you need the link to a page or resource to work consistently regardless of the document location within the site. + +- Use relative paths when linking to resources within the same website. + +- Use relative paths if you want to keep your code cleaner and easier to maintain during development. + +- Use relative paths during local testing to ensure links work without an internet connection. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716830dbaf95da9564f2e3b.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716830dbaf95da9564f2e3b.md index 9327a2725c..ff8d9357a9 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716830dbaf95da9564f2e3b.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/6716830dbaf95da9564f2e3b.md @@ -1,6 +1,6 @@ --- id: 6716830dbaf95da9564f2e3b -videoId: GTgzy4wPXcM +videoId: 5EfMkiLB9BA title: What Is the Difference Between Slashes, a Single Dot, and Double Dot in Path Syntax? challengeType: 11 dashedName: what-is-the-difference-between-slashes-a-single-dot-and-double-dot-in-path-syntax @@ -10,6 +10,30 @@ dashedName: what-is-the-difference-between-slashes-a-single-dot-and-double-dot-i Watch the video and answer the questions below. +# --transcript-- + +You may have seen links like `/public/logo.png`, `./script.js`, or `../styles.css` before. But what do these special types of links mean? These are called file paths. There are three key syntaxes to know. First is the slash, which can be a backslash (`\`) or forward slash (`/`) depending on your operating system. The second is the single dot (`.`). And finally, we have the double dot (`..`). + +The slash is known as the "path separator". It is used to indicate a break in the text between folder or file names. This is how your computer knows that `naomis-files/` points to a directory of that same name, while `naomis/files/` points to a `files` directory in the `naomis` directory. + +A single dot points to the current directory, and two dots point to the parent directory. You will typically see a single dot used to ensure that the path is recognized as a relative path. Remember that you learned in a previous lecture about relative versus absolute paths before. + +Double dots, however, are much more common to access files outside of the current working directory. + +For example, given this file tree: + +```sh +my-app/ +├─ public/ +│ ├─ favicon.ico +│ ├─ index.html +├─ src/ +│ ├─ index.css +│ ├─ index.js +``` + +If your `public/index.html` file needed to load the `favicon.ico` file, you would use a relative path with a single dot to access the current directory: `./favicon.ico`. If your `public/index.html` file needed to load the `index.css` file, you would use a relative path with double dots to navigate to the parent `my-app` directory first, then to the `src` directory, and finally to your file: `../src/index.css`. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/67168323932391a9ee0d3a9e.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/67168323932391a9ee0d3a9e.md index c2d2741e7a..68d8c1f1d3 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/67168323932391a9ee0d3a9e.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-links/67168323932391a9ee0d3a9e.md @@ -10,6 +10,26 @@ dashedName: what-are-the-different-link-states Watch the video and answer the questions below. +# --transcript-- + +What are the different link states, and why are they important? + +You may have seen a link on a web page become purple after you click it. This is because the state of the link has changed, so different styling gets applied. There are five different states a link can be in. + +The first is the default state, which is `:link`. This state represents a link which the user has not visited, clicked, or interacted with yet. You can think of this state as providing the base styles for all links on your page. The other states build on top of it. + +The second state is `:visited`, which applies when a user has already visited the page being linked to. By default, this turns the link purple - but you can leverage CSS to provide a different visual indication to the user. This is helpful to let someone know they have already read a portion of your documentation. Or, that the site is one they can trust because they have used it before. + +The third state is `:hover`. This state applies when a user is hovering their cursor over a link. This state is helpful for providing extra attention to a link, to ensure a user actually intends to click it. + +Then we have `:focus`. This state applies when we focus on a link. + +And finally, we have `:active`. This state applies to links that are being activated by the user. This typically means clicking on the link with the primary mouse button by left clicking, in most cases. This state can be helpful for showing a user that the element they clicked on is interactive. + +When you use these states to style your links, there is a specific order you need to write your CSS in: `link`, `visited`, `hover`, `focus`, then `active`. + +You should now know how to give links in your page your own personal flair, while still providing the important information a user needs about the state of each link. + # --questions-- ## --text-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-strings-in-javascript/673263e80dd43da7df3ae565.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-strings-in-javascript/673263e80dd43da7df3ae565.md index 9999634949..4aa306a97c 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-strings-in-javascript/673263e80dd43da7df3ae565.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lecture-working-with-strings-in-javascript/673263e80dd43da7df3ae565.md @@ -2,7 +2,7 @@ id: 673263e80dd43da7df3ae565 title: How Can You Find the Position of a Substring in a String? challengeType: 11 -videoId: k2QaBPHl_00 +videoId: tTm8t9inci8 dashedName: how-can-you-find-the-position-of-a-substring-in-a-string --- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-computer-basics/66ed8fb9f45ce3ece4053eac.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-computer-basics/66ed8fb9f45ce3ece4053eac.md index e59a69ece4..76e1f146f4 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-computer-basics/66ed8fb9f45ce3ece4053eac.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-computer-basics/66ed8fb9f45ce3ece4053eac.md @@ -39,23 +39,23 @@ Motherboard #### --text-- -Which is not a conventional way to connect a keyboard to the computer? +What are browser developer tools? #### --distractors-- -USB Receiver +Tools for editing browser settings and managing user profiles. --- -Bluetooth +Utilities for blocking ads and improving web page performance. --- -USB Cable +Software for managing browser extensions and plug-ins. #### --answer-- -Ethernet Cable +Built-in features in browsers that help developers debug and inspect websites. ### --question-- @@ -87,25 +87,25 @@ Which of the following is NOT a safe practice when signing in? #### --distractors-- -Using a fingerprint or face scanner +Using a fingerprint or face scanner. --- -Making a long and complex password like `@ppl3_+B@nana34823` +Making a long and complex password like `@ppl3_+B@nana34823`. --- -Utilizing a physical USB security key +Setting up two-factor authentication (2FA). #### --answer-- -Saving passwords in the browser on a public computer +Using passwords based on personal information like your birthday. ### --question-- #### --text-- -Which of the following is not a Web Browser? +Which of the following is NOT a Web Browser? #### --distractors-- @@ -113,11 +113,11 @@ Safari --- -Opera GX +Opera --- -DuckDuckGo +Microsoft Edge #### --answer-- @@ -149,7 +149,7 @@ Visual Studio Code #### --text-- -Which of the following stores and accesses files on the hard drive? +Which of the following is used primarily for managing files stored on a local hard drive? #### --distractors-- @@ -171,45 +171,45 @@ Windows File Explorer #### --text-- -What is not a good practice when naming files for later use? +What is NOT a good practice when naming files? #### --distractors-- -Putting an underscore or hyphen between words +Putting an underscore or hyphen between words. --- -Use a casing style such as camelCase and sticking with it +Use a casing style such as camelCase and sticking with it. --- -Putting a version number at the end of a document like `summaryReport_v2.docx` +Putting a version number at the end of a document like `summaryReport_v2.docx`. #### --answer-- -Being lazy and pounding your keyboard like `asdfloweiueld` to get it over with +Using non-descriptive names like `file1.txt`. ### --question-- #### --text-- -Which of the following is a way to move files? +What does the term "domain name" refer to? #### --distractors-- -Using `Ctrl + X` and `Ctrl + V` (or `Command + X` and `Command + V` on Mac) +A type of software that manages website files and databases. --- -Dragging the file and dropping it at the destination +The physical location of a web server in a data center. --- -Using a terminal command such as `move` (`mv` on Mac) +None of the other choices. #### --answer-- -All of the other choices +The address used to identify websites on the internet. ### --question-- @@ -219,47 +219,47 @@ Which of the following is a way to send a file to the Recycle Bin/Trash? #### --distractors-- -All of the other choices +All of the other choices. --- -Pressing the `Backspace` key on the keyboard +Pressing the `Backspace` key on the keyboard. --- -Moving it to an Archived folder +Moving it to an Archived folder. #### --answer-- -Pressing the `Delete` key on the keyboard (`Command + Delete` on Mac) +Right-click on it and select the Delete/Move to trash option. ### --question-- #### --text-- -Which of the following is not a feature when searching for files locally? +What is a RAM? #### --distractors-- -Using boolean operators like `AND`, `OR`, and `NOT` +A network protocol used for transferring files between devices. --- -Using filters like `*.jpg` +A permanent storage device used for saving files and applications. --- -Using Cortana on Windows or Spotlight Search on Mac +A component in a computer responsible for generating graphics and rendering images. #### --answer-- -Typing the name of the file into your Web Browser and hitting `Enter` +A temporary memory for fast data access by the processor. ### --question-- #### --text-- -What file type will be best suited for writing documentation? +What file type will be best suited for writing a `README` file? #### --distractors-- @@ -281,29 +281,29 @@ What file type will be best suited for writing documentation? #### --text-- -Which of the following is not a configuration file? +What is an Integrated Development Environment (IDE)? #### --distractors-- -`.env` +A platform designed for deploying and hosting web applications. --- -`.build` +A type of hardware device used for testing and debugging electronic circuits. --- -`.yaml` or `.yml` +A version control system that helps developers track changes in source code during software development. #### --answer-- -`.log` +A program that integrates tools for writing, debugging, and running code. ### --question-- #### --text-- -A piece of software that allows you to look at online content is called a: +What is a piece of software that allows you to look at online content called? #### --distractors-- @@ -325,7 +325,7 @@ Web Browser #### --text-- -A piece of software that lists web pages related to a user's query is a called a: +What is a piece of software that lists web pages related to a user's query called? #### --distractors-- @@ -347,7 +347,7 @@ Search Engine #### --text-- -A set of one or more web pages under one domain name is called a: +What is a set of one or more web pages under one domain name called? #### --distractors-- @@ -369,15 +369,15 @@ Website #### --text-- -To search for an exact phrase, you should use what character? +To search for an exact phrase, what should you enclose your search query with? #### --distractors-- -Backtick +Backticks --- -Parenthesis +Parentheses --- @@ -391,65 +391,65 @@ Quotation marks #### --text-- -Which is not a way to install a Web Browser? +Which is NOT a way to install a Web Browser? #### --distractors-- -Using a Package Manager +Using a Package Manager. --- -Directly downloading from the website +Directly downloading from the website. --- -Using an App Store like Microsoft Store +Using an App Store like Microsoft Store. #### --answer-- -Pressing the Network/Internet button in Settings +Pressing the Network/Internet button in Settings. ### --question-- #### --text-- -Which of these peripherals is an input device? +Which of the following formats does NOT preserve image quality after compression? #### --distractors-- -Projector +All of the other choices. --- -Speakers +PNG --- -Monitor +SVG #### --answer-- -Microphone +JPEG ### --question-- #### --text-- -Which of the following lists of parts can all be found in the circuit board? +Which of the following parts can be found in the circuit board? #### --distractors-- -Printer, Router, USB Ports +Printer and Router. --- -Mouse, Keyboard, Monitor +Mouse and Keyboard. --- -Motherboard, Hard Drive, GPU +Hard Drive and GPU. #### --answer-- -BIOS/UEFI Chip, CPU, RAM +CPU and RAM. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md index 449e3fe6e7..f8f31ec1f5 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md @@ -413,91 +413,59 @@ Which color model includes the `hue` component? #### --text-- -Which of the following is the correct syntax to create a CSS variable with a fallback value? +Which color function also allows you to set the opacity of the color? #### --distractors-- ```css -.element { - color: var(--main-color; red); -} +hsl(0, 20%, 30%, 50%) ``` --- ```css -.element { - color: var(--main-color); -} +rgb(20, 30, 80, 0.5) ``` --- ```css -.element { - color: var(--main-color: red); -} +rgba(20, 30, 80) ``` #### --answer-- ```css -.element { - color: var(--main-color, red); -} +hsla(0, 20%, 30%, 50%) ``` ### --question-- #### --text-- -How can you use CSS variables to dynamically change the color of multiple elements? +Which of the following is the correct way to give an element a top-to-bottom red-to-blue gradient background? #### --distractors-- ```css -:root { - primary-color: blue; -} - -.element1, .element2 { - color: --primary-color; -} +background: radial-gradient(red, blue) ``` --- ```css -body { - --color: blue; -} - -.element1, .element2 { - color: var(color); -} +background: radial-gradient(blue, red) ``` --- ```css -:root { - primary: blue; -} - -.element1, .element2 { - color: var(--primary); -} +background: linear-gradient(blue, red) ``` #### --answer-- ```css -:root { - --primary-color: blue; -} - -.element1, .element2 { - color: var(--primary-color); -} +background: linear-gradient(red, blue) ``` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md index c84a01b0e9..20d4ffa285 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md @@ -17,7 +17,7 @@ To pass the quiz, you must correctly answer at least 17 of the 20 questions belo #### --text-- -What is JavaScript? +Which of the following best describes JavaScript? #### --distractors-- @@ -33,7 +33,7 @@ A database management system. #### --answer-- -A programming language primarily used for web development. +A programming language used for web development. ### --question-- @@ -43,19 +43,19 @@ Which of the following is NOT a JavaScript data type? #### --distractors-- -`null` +`Number` --- -`undefined` +`Undefined` --- -`bigInt` +`Object` #### --answer-- -`double` +`Double` ### --question-- @@ -77,29 +77,29 @@ Which of the following is NOT a valid JavaScript variable declaration? #### --answer-- -`public final Long x;` +`public Int x;` ### --question-- #### --text-- -Which of the following is a conventional variable name in JavaScript? +Which of the following is a common naming convention for variables in JavaScript? #### --distractors-- -`my_var` +JavaScript case --- -`my-var` +Lightning case --- -`MyVar` +Giraffe case #### --answer-- -`myVar` +Camel case ### --question-- @@ -127,28 +127,23 @@ What is the difference between `let` and `const` variable declarations in JavaSc #### --text-- -What would be the outcome of the following code? - -```js -let name = "Andy"; -name[0] = "M"; -``` +Why are strings considered immutable in JavaScript? #### --distractors-- -The value of `name` would be `"MAndy"`. +You cannot create strings using variables. --- -The value of `name` would be `"Mndy"`. +Strings can only be created using literals. --- -The value of `name` would still be `"Andy"`. +You can change strings, but only through global variables. #### --answer-- -It would throw an error. +Once a string is created, you cannot change its characters directly. ### --question-- @@ -186,7 +181,7 @@ console.log(hello); #### --distractors-- -Reassigns `world` to the variable `hello`, and prints it out in the console. +Reassigns `" world"` to the variable `hello`, and prints it out in the console. --- @@ -194,33 +189,33 @@ Prints out the number of characters in `Hello world` in the console. --- -Adds the string `world` to the variable `hello`, and prints it out in the console. +Combines `"Hello"` and `" world"` into a new string and prints it, but the value of `hello` remains `"Hello"`. #### --answer-- -Creates a new string that is made of the values of `hello` and `" world"` combined together, and assigns this new string back to `hello` and then prints it out in the console. +Combines the current value of `hello` with the string `" world"`, reassigns it to `hello`, and prints it to the console. ### --question-- #### --text-- -Are semicolons required in JavaScript? +Which JavaScript character is used to mark the end of a statement? #### --distractors-- -Yes. The code won't work without semicolons. +`:` --- -Semicolons are sometimes required in JavaScript. +`,` --- -No. It's recommended not to use semicolons in JavaScript. +`.` #### --answer-- -No, but it is generally recommended to use semicolons consistently to avoid potential issues in code. +`;` ### --question-- @@ -264,7 +259,7 @@ JavaScript performs type checking before execution, meaning type related errors #### --answer-- -You don't need to declare the data type of a variable before using it. JavaScript infers the type based on the value assigned to the variable. +JavaScript infers the type based on the value assigned to the variable. ### --question-- @@ -410,7 +405,7 @@ Which of the following is NOT a valid string concatenation method in JavaScript? --- -``console.log(`${string1} ${string2}`);`` +`console.log("string1 " + string2);` --- @@ -424,7 +419,7 @@ Which of the following is NOT a valid string concatenation method in JavaScript? #### --text-- -Which of the following variable names uses camelCase correctly? +Which of the following variable names uses camel case correctly? #### --distractors-- @@ -446,23 +441,23 @@ Which of the following variable names uses camelCase correctly? #### --text-- -Which character JavaScript uses to mark the end of a statement? +Why is it beneficial to use semicolons explicitly even though JavaScript has Automatic Semicolon Insertion? #### --distractors-- -`:` +To increase the execution speed of the code. --- -`,` +To maintain consistency with other programming languages. --- -`.` +To allow for better debugging and error tracing. #### --answer-- -`;` +To improve code readability and reliability. ### --question-- @@ -485,4 +480,3 @@ Which of the following is NOT a JavaScript data type? #### --answer-- `Float` - diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/review-form-validation-with-javascript/6723ce555ff2dfc0cc04b69a.md b/curriculum/challenges/chinese-traditional/25-front-end-development/review-form-validation-with-javascript/6723ce555ff2dfc0cc04b69a.md index 9c220360ea..e8b56c6cae 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/review-form-validation-with-javascript/6723ce555ff2dfc0cc04b69a.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/review-form-validation-with-javascript/6723ce555ff2dfc0cc04b69a.md @@ -91,7 +91,7 @@ button.addEventListener('click',(event) => { ``` -- **`enctype` Attribute**: The `form` element accepts an `enctype` attribute, which represents the encoding type to use for the data. This attribute only accepts three values: `application/x-www-form-urlencoded` (which is the default, sending the data as a URL-encoded form body), `text/plain` (which sends the data in plaintext form, in `name=value` pairs separated by new lines), or `mulitpart/form-data`, which is specifically for handling forms with a file upload. +- **`enctype` Attribute**: The `form` element accepts an `enctype` attribute, which represents the encoding type to use for the data. This attribute only accepts three values: `application/x-www-form-urlencoded` (which is the default, sending the data as a URL-encoded form body), `text/plain` (which sends the data in plaintext form, in `name=value` pairs separated by new lines), or `multipart/form-data`, which is specifically for handling forms with a file upload. # --assignment-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript-comparisons-and-conditionals/6723c554025f449f4f39c3f5.md b/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript-comparisons-and-conditionals/6723c554025f449f4f39c3f5.md index 5ebdbeb3cc..94e4249f6d 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript-comparisons-and-conditionals/6723c554025f449f4f39c3f5.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript-comparisons-and-conditionals/6723c554025f449f4f39c3f5.md @@ -28,7 +28,7 @@ console.log(null === undefined); // false ## `switch` Statements -- **Definition**: A `switch` statement evaluates an expression and matches its value against a series of `case` clauses. When a match is found, the code block associated with that case is executed. +- **Definition**: A `switch` statement evaluates an expression and matches its value against a series of `case` clauses. When a match is found, the code block associated with that case is executed. A `break` statement should be placed at the end of each case, to terminate its execution and continue with the next. The `default` case is an optional case and only executes if none of the other cases match. The `default` case is placed at the end of a `switch` statement. ```js const dayOfWeek = 3; diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript/6723d3cfdd0717d3f1bf27e3.md b/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript/6723d3cfdd0717d3f1bf27e3.md index 8579e569a2..3d41c6a64e 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript/6723d3cfdd0717d3f1bf27e3.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/review-javascript/6723d3cfdd0717d3f1bf27e3.md @@ -2126,7 +2126,7 @@ button.addEventListener('click',(event) => { ``` -- **`enctype` Attribute**: The `form` element accepts an `enctype` attribute, which represents the encoding type to use for the data. This attribute only accepts three values: `application/x-www-form-urlencoded` (which is the default, sending the data as a URL-encoded form body), `text/plain` (which sends the data in plaintext form, in `name=value` pairs separated by new lines), or `mulitpart/form-data`, which is specifically for handling forms with a file upload. +- **`enctype` Attribute**: The `form` element accepts an `enctype` attribute, which represents the encoding type to use for the data. This attribute only accepts three values: `application/x-www-form-urlencoded` (which is the default, sending the data as a URL-encoded form body), `text/plain` (which sends the data in plaintext form, in `name=value` pairs separated by new lines), or `multipart/form-data`, which is specifically for handling forms with a file upload. ## The `date()` Object and Common Methods diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-cat-photo-app/5ef9b03c81a63668521804d2.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-cat-photo-app/5ef9b03c81a63668521804d2.md index 8841cff630..d414bd8b0e 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-cat-photo-app/5ef9b03c81a63668521804d2.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-cat-photo-app/5ef9b03c81a63668521804d2.md @@ -9,7 +9,7 @@ dashedName: step-29 The code for an ordered list (`ol`) is similar to an unordered list, but list items in an ordered list are numbered when displayed. -After the second `section` element's last `h3` element, add an ordered list with these three list items: +Below the `h3` element, add an ordered list with these three list items: `flea treatment` `thunder` `other cats` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a8290a27c2c625e2355042.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a8290a27c2c625e2355042.md index 55e9f29c37..bd0d132c5a 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a8290a27c2c625e2355042.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a8290a27c2c625e2355042.md @@ -8,7 +8,7 @@ demoType: onLoad # --description-- -In this workshop, you will learn how to work with HTML forms by building a Hotel Feedback Form. +In this workshop, you will practice working with HTML forms by building a Hotel Feedback Form. Start by adding the `` followed by an `html` element with a `lang` attribute of `en`. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a83601cd819e37f0dccd14.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a83601cd819e37f0dccd14.md index c92f18c0e6..e8fe06eb85 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a83601cd819e37f0dccd14.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-hotel-feedback-form/66a83601cd819e37f0dccd14.md @@ -45,14 +45,14 @@ Your `h1` element should have the text `Hotel Feedback Form`. ```js const h1 = document.querySelector('h1'); -assert.strictEqual(h1.innerText, 'Hotel Feedback Form'); +assert.strictEqual(h1?.innerText, 'Hotel Feedback Form'); ``` Your `h1` element should be inside the `header` element. ```js const h1 = document.querySelector('h1'); -assert.strictEqual(h1.parentElement.tagName, 'HEADER'); +assert.strictEqual(h1?.parentElement.tagName, 'HEADER'); ``` You should have an opening `p` tag. @@ -71,14 +71,21 @@ Your paragraph element should have the text `Thank you for staying with us. Plea ```js const pElement = document.querySelector('header p'); -assert.strictEqual(pElement.innerText, 'Thank you for staying with us. Please provide feedback on your recent stay.'); +assert.strictEqual(pElement?.innerText, 'Thank you for staying with us. Please provide feedback on your recent stay.'); ``` Your paragraph element should be inside your `header`. ```js const pElement = document.querySelector('p'); -assert.strictEqual(pElement.parentElement.tagName, 'HEADER'); +assert.strictEqual(pElement?.parentElement.tagName, 'HEADER'); +``` + +Your paragraph element should come after your `h1`. + +```js +const pElement = document.querySelector('p'); +assert.strictEqual(pElement?.previousElementSibling.tagName, 'H1'); ``` @@ -94,9 +101,9 @@ assert.strictEqual(pElement.parentElement.tagName, 'HEADER');