fbpx
Home Blog Page 1132

6 Common Mistakes To Avoid While Building a Website

0
6 Common Mistakes To Avoid While Building a Website

After getting a handle on the “holy trinity” of web dev languages — HTML, CSS, and JavaScript — you might feel inclined to jump right into building websites. But if you aren’t careful, you could overlook some key considerations that’ll affect your site’s functionality and user experience. Needless to say, a lot of work goes into web development, whether you’re looking to market your skills, sell a product, or share the next viral game.

To help ensure you’re covering your bases, we’ve put together a checklist of mistakes people often make when building websites. Ahead, Codecademy Domain Manager Kenny Lin shares some common developer pitfalls and how to avoid them.

1. Coding without a plan

Before you start writing code for your website, you need a plan: “Why do you need this website?” Kenny says. “What’s its purpose?” Figuring out what you’re hoping to achieve upfront will save you from spending time building a website that isn’t actually focused on a particular goal.

For example, say you’re looking to build a website to promote a side gig or hobby, like photography or a personal blog. In that case, using a more low-code solution like Wix might be more efficient than building a website from scratch, Kenny says. (You can check out our Create a Professional Website with Velo by Wix course to learn how.)

Or maybe you’re building a website to include in your technical portfolio. Reading job postings related to your desired role will give you a sense of which languages and frameworks you should focus on. Plus, exploring the company’s website might give you some inspiration for features and functionalities you want to include in your own. You could also find developers with similar career paths on social media and explore their projects for more ideas.

Once you’ve identified your site’s purpose, Kenny suggests writing your plans out on paper. Create a wireframe that illustrates your site’s layout, including where your text, images, and components will go. Your goal in this stage is to figure out your MVP (Minimum Viable Product), which is essentially a version of your product that can be achieved with much less effort than the ideal state you have in mind. The idea is that it’s polished enough to achieve your goals and can be fine-tuned later.

“After setting that goal, you can iterate upon it and build other features after the fact instead of trying to build Rome in a day,” Kenny says. “Even final products need iterations and other corrections — it’s a continuous process.”

2. Leaving vulnerabilities open

Anyone with a website needs to think about privacy and security. Last year, there were 1,862 data compromises in the U.S. — up 68% from the year before, according to the Identity Theft Research Center. As a result, privacy and security are a growing concern in web dev, so you’ll need to ensure your users’ data are in good hands.

To start, Kenny recommends utilizing HTTPS (Hypertext Transfer Protocol Secure). This internet communication protocol encrypts data sent between servers and browsers and helps ward off man-in-the-middle cyber attacks.

Next, you’ll also want to make sure all your code (including your widgets and plugins) is up to date. Developers occasionally find vulnerabilities that hackers can exploit to gain access to systems and sensitive information. (Remember the log4j crisis last year? Developers found a vulnerability in the popular Java library that put countless systems and devices at risk — including those used by top companies like Google, IBM, and Microsoft.)

When discovered, these vulnerabilities are quickly resolved with updates. That’s why keeping your code current helps prevent potential security risks before they happen.

Kenny also notes that some web hosting providers offer security measures, like Cloudflare, which prevents suspicious IP addresses from accessing your site. If you want to dive deeper, try our Fundamentals of Cybersecurity skill path to learn more about cyber attacks and how to prevent them.

3. Missing accessibility features

Accessibility features and practices are a must because they help provide an equal experience for all users, Kenny says.

How well does your site accommodate users with sensory, mobility, or cognitive impairments? Can your HTML be read by screen readers? Does your video content include captions? What about your icons — are they crammed together or spaced far enough apart?

Implementing accessibility features helps broaden your potential user base — plus, it’s the right thing to do. It’s also legally mandated (in the U.S.), thanks to the Americans With Disabilities Act.

Check out the accessibility module in our Learn Intermediate CSS course to learn more.

4. Overlooking user data

If you aren’t using data analytics tools, you should probably start.

User data holds a treasure trove of valuable information that can help you find problem areas and potential improvements to your site. Kenny points to tools like HotJar (which offers free and paid packages) that can give you insights into how people use your site, like where their cursors tend to go, what they click on, and how long they spend on certain pages.

“Using that info can be really helpful,” Kenny explains. “If something is really popular, you might want to spruce it up with extra resources.” Seeing how real people use your website can also help you uncover bugs that you missed while you were coding it.

Moral of the story? Data analytics can give you more insight into your users. Tools like Google Analytics can provide insights into your user demographics. With this info, you can better cater to your current audience — or even switch up your site to appeal to other demographics.

5. Forgetting about mobile performance

Studies show that 54% of all web traffic comes from mobile devices, so if your website isn’t responsive on a phone, tablet, or e-reader, you’re setting up a huge chunk of users for a wonky experience.

Each of these devices has different sizes and dimensions, so your site needs to be able to adjust to the environment and provide a consistent experience.

“Imagine trying to read a size 12 font on your phone — it would be terrible,” Kenny says. “And it would lead to a poor user experience and retention rate.”

But it’s not just fonts and styles. You’ll also want to ensure your website’s functionality remains consistent across devices. For example, you can’t hover a cursor on mobile devices, so how will that affect a user’s experience? Plus, mobile functionality plays a big role in SEO (Search Engine Optimization), so adding responsiveness to your website can help you rank better in search engines and generate more traffic (if that’s your goal).

6. Lagging load times

A website that takes forever to load isn’t just annoying, it also deters people from sticking around. In fact, Google found that 90% of users will leave a page after only 5 seconds — and who can blame them? Speedy load times are basically the norm these days.

So what do you do?

First, check your website’s loading speed using tools like Sitechecker or GTmetrix. If the load time is too high, there are a couple steps you can take to help bring it down — for example, utilizing caching, optimizing images on your site, and trimming down your code to remove any unnecessary bits (the same goes for your plugins).

Kenny also recommends using CDNs (Content Delivery Networks). CDNs help reduce loading speeds by storing your web assets in servers around the world. That allows your users to access them faster, and they also help defend your website from DDoS attacks.

Speeding up your website will also make it more discoverable, because search engines prioritize websites that provide a good user experience and have low bounce rates.

Want to learn more about how to build a useful and impressive website? Learn Intermediate CSS dives deeper into accessibility, responsive design, and browser compatibility, and our Introduction to Cybersecurity covers the basics of cryptography, authentication, and network security. And, if you want to learn how to build a website from scratch, check out our courses on web development.


Web Development Courses & Tutorials | Codecademy

Web Development is the practice of developing websites and web apps that live on the internet. Whether you’re interested in front-end, back-end, or going full-stack, the content in our Web Development domain will help you get there.

Should I Learn C++?

0
Should I Learn C++?

It doesn’t matter if you want to learn your first programming language or your fifth, mastering a new language takes time and energy, and you’ll want that investment to be worth your while.

Before you dive into learning a new language you might be wondering what you’ll be able to build once you master the language, or if it’ll still be in use 10 years from now. (Yes, even programming languages retire.) If you’re trying to figure out the answers to these questions as they relate to learning C++, here’s a look at several factors that could influence your decision.

What is C++ used for?

One of the benefits of C++ is that it has a wide variety of applications. In fact, Bjarne Stroustrup, the creator of the language, put together a long list of C++ applications. But most often, C++ is used to build large software infrastructure and applications that can run even with few resources. The efficiency of the C++ code makes it perfect as a base for applications and software.

C++ is also used for several pure computing functions, including operating systems, database tools, web browsers, and search engines. For instance, Lyall Stewart, a member of the Codecademy community, views C++ as the best language for operating system development. C++ is also used for technological advances that build on what computing can do, such as internet of things (IoT) devices, machine learning tools, and augmented reality or virtual reality applications.

Here are some other fields C++ is used in:

  • Gaming: For programming video and computer games, C++ optimizes resources to produce graphics and host multiple players in a game at once.
  • Medicine: C++ powers MRI machines, lab testing equipment, patient information systems, and bioinformatics research.
  • Scientific research: C++ is applied in a variety of scientific fields, including physics and space exploration.
  • Finance: C++ is used to code software for banking, trading, and financial modeling. Its efficient performance is well-suited to handle high volumes of financial transactions.
  • Aviation: C++ programming powers both commercial and military aircraft flight software.
  • Telecommunications: This field requires speed and efficiency in communication resources, which C++ provides for both telephone and internet communication systems.
  • Movie industry: As in gaming, C++ makes graphics and special effects possible by handling large footage files and performing the calculations needed for special effects.

Does C++ have a good future?

You might be thinking that since C++ has been around for decades, its popularity is likely to decline. But since many of the popular long-standing operating systems and web browsers are built with C++, it’s unlikely to fade away any time soon. For example, Microsoft Windows, Mac OS, Linux, Chrome, and Safari are built with C++. Also, since C++ is a fast programming language, many libraries — particularly machine learning libraries like TensorFlow — depend on it.

Simon Brand, a C++ developer advocate at Microsoft, also predicted C++ will continue to grow when he spoke to Codecademy in 2019. “[C++] will continue to develop in the embedded space, which has pretty much been owned by C for the longest time,” he said, referring to the programming used in devices other than conventional computers.

Brand then went on to say that as young developers consider which languages to use, especially for embedded programming, he expects more to continue choosing C++. Brand pointed to the financial industry and gaming as sectors where C++ will continue to have a strong presence.

Employment and salaries for C++ professionals

If you’re new to the development world, you might be factoring in potential employment opportunities, as well as potential salary ranges, before you decide which programming language to dive into. The good news is that job growth for C++ coders has remained stable at 8% per year. That means that, even though the growing rate isn’t particularly high, the amount of job opportunities for C++ devs is on the rise each year — which is a good thing when you’re picking a new language to learn.

As for salary expectations, Indeed says the average annual salary for C++ developers is $114,486. But for entry-level C++ developers, the average annual base salary is $66,564, according to Payscale. And as with other professions, the more experience you have as a C++ developer, the higher your potential salary is likely to be.

Time in the field isn’t the only factor that impacts salary. If you have knowledge or expertise in a related area to complement your C++ knowledge, this can increase your earning potential, as well as your job opportunities. For example, if you have knowledge of databases, operating systems, internet protocols, software development, or algorithms, adding C++ to your skill set could bump you into a higher salary bracket and open up new job opportunities.

How do I learn C++?

Wondering where to start learning C++? You can start with the fundamental programming concepts in our Learn C++ course. The course also digs into more advanced areas, like functions and coding challenges. By the end, you’ll have the opportunity to build C++ programs geared toward fields other than computing and systems operations, like gaming and communications.

If you’re ready for an intermediate-level course, our C++ for Programmers course is for programmers who are already familiar with coding and looking to dive into the C++ language. The course features short, interactive articles that can serve as an ongoing reference resource. It teaches the built-in data structures of C++ and object-oriented programming.

We also have guidance on how to compile and execute C++ programs, cheat sheets for beginners, and projects that aspiring programmers can work on to get hands-on experience using C++.


C++ Courses & Tutorials | Codecademy

C++ is a very popular language for performance-critical applications that rely on speed and efficient memory management. It’s used in a wide range of industries including software and game development, VR, robotics, and scientific computing.

TV-Themed Trips

0
TV-Themed Trips

According to a recent article from the Travel section, people are increasingly asking tour guides for immersive, TV-themed itineraries that allow them to live out their favorite shows’ story lines.

That’s why there are now Lady Whistledown-themed teas inspired by “Bridgerton” in Britain; “Outlander”-themed itineraries in Scotland; trips to Yellowstone National Park for “Yellowstone” fans; and “Friends” and “Sex and the City” tours in New York.

What TV show world would you most want to visit if you could? Why? What attracts you to this world? How could it be recreated as a draw for tourists today? Where might it be located? What would fans do there?

Tell us in the comments, then read the related article to learn more.


Want more Picture Prompts? Find them all in this column.

Students 13 and older in the United States and Britain, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.

Word of the Day: contortion

0
Word of the Day: contortion

The word contortion has appeared in five articles on NYTimes.com in the past year, including on Jan. 16 in the dance review “Reveling in Live Dance at Japan Society” by Brian Seibert:

Japan Society’s contemporary dance festival, an event that samples recent works from several East Asian countries, skipped last year, with the assumption that surely by 2022 everything would be back to normal. Oh well.

… The preshow was wonderfully live. As part of the Taiwanese choreographer Wei-Chia Su’s FreeSteps project, the exceptionally agile dancer NiNi (also known as Yu-Ting Fang) performed on a stage island in the lobby of Japan Society. Twisting her body to the edge of contortion, she spiraled sensuously. Occasionally pausing to stretch skyward before slipping back into her floating groove, she looked like someone continually embracing and escaping herself. This was dance as moving sculpture, a three-dimensional study best appreciated in person.

Can you correctly use the word contortion in a sentence?

Based on the definition and example provided, write a sentence using today’s Word of the Day and share it as a comment on this article. It is most important that your sentence makes sense and demonstrates that you understand the word’s definition, but we also encourage you to be creative and have fun.

Then, read some of the other sentences students have submitted and use the “Recommend” button to vote for two original sentences that stand out to you.

If you want a better idea of how contortion can be used in a sentence, read these usage examples on Vocabulary.com.

If you enjoy this daily challenge, try one of our monthly vocabulary challenges.

Students ages 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, can comment. All comments are moderated by the Learning Network staff.

How Much Do You Know About Guinea?

0
How Much Do You Know About Guinea?

Can you find Guinea on a map? What else do you know about this country in western African with about 13 million people?

Collaboration Tools For Engineers That’ll Make Your Life So Much Easier

0
Collaboration Tools For Engineers That’ll Make Your Life So Much Easier

If you’re starting a new programming job, it’s easy to be overwhelmed by all that you’ll have to do to settle in. On top of your core job responsibilities, every company has their own preferred methods of keeping the team in the loop and staying organized.

The good news is, there are tons of great tools and software packages that engineering teams all over the world rely on to help them work together more seamlessly. Sure, there’s no one-size-fits all solution, but there are options.

Whether this is your first engineering gig, or you’re a seasoned dev looking for recommendations for new tools to use, we’ve rounded up a list of tools for you to consider — many of which are top picks from Codecademy engineers.

1. Code version control and collaboration

With 73 million users, it’s clear that GitHub is a favorite in the development community. GitHub is an online platform for keeping track of Git changes with a web UI, while Git is a command line tool for code version control. In other words, devs use Git to track changes made to their code, and they host their work and collaborate with other devs on GitHub.

You can have your own personal account on GitHub to showcase your work, and there’s also a paid version of GitHub made for teams of devs to collaborate internally.

As a developer, you’ll likely spend a decent amount of time participating in collaborative coding with one or more developers from your team. This might happen remotely or face-to-face and the tools you use here can make all the difference. There are a few popular options you can look into.

Amazon Web Services (AWS) Cloud9 uses shared environments, which allows multiple developers to collaborate on the same cloud-hosted project in real-time. The fact that you can use Cloud9 directly in your browser and you don’t have to install anything on your computer makes this a favorite among devs. Another bonus of Cloud9 is it comes with tooling for over 40 programming languages, including Ruby, Node.js, JavaScript, Python, PHP, Go, C#, HTML, and CSS.

Another popular option is Visual Studio Code Live Share and its extension pack, which comes highly recommended by Codecademy devs. When working on code together in Live Share, you don’t need to sync the code or configure the same development tools, settings, or environment as your partner, which is a nice feature. One extension in particular that Codecademy devs love is called GitHub Pull Requests and Issues. With this extension, you get GitHub comments inline as they come in and you might find that you don’t need to go to github.com much anymore. Git Blame and GitLens, which show you who changed something in the code and what it was, are two other helpful features to check out.

Tuple is another option you can look into if you’re looking for a solution for macOS.

3. Project management

The number of developers needed to work on a single project depends on the complexity and timeline of a project. And while it’s one thing to keep track of a smaller project, it’s a whole other thing when you have multiple developers, a data scientist, and a product manager involved. Thankfully, there are several project and task management solutions for productivity enthusiasts.

Jira is an Agile project management product that’s very popular among dev teams. It was originally designed to be an issue-tracking and bug-tracking product and has evolved into a powerful work management tool for teams of all sizes. Along with built-in features like commenting and categorization, teams can pick from numerous plugins and integrations to get the most out of the platform.

Asana allows you to assign and prioritize tasks and workflows for multiple projects at once. There’s also a timeline tool to help you manage dependencies and foresee potential project bottlenecks. A big advantage of Asana is that there’s full transparency on what everyone on a project is supposed to do. This makes it a great choice for Agile projects, especially sprints.

Trello is another popular project management solution that was essentially designed for Kanban, which is another Agile methodology. Once your team sets up its first project in Trello, you’ll notice that the app mimics the sticky notes of a Kanban Board with cards and columns (or lists). One big advantage to this approach is that it’s easy for everyone on the team to see who is doing what. And, unlike paper-based Kanban sticky notes, Trello allows you to open cards for more information, including labels and attachments.

Notion is a project management solution that we know very well here at Codecademy. Through our partnership with Notion, anyone involved in the project can access updates to learn who is working on what, what the status is, and what the timeline is. It’s been particularly helpful for Codecademy engineers to organize all their information in one place and eliminate the need to bounce between numerous tools for project details.

GitHub Issues, which is available by default in every GitHub repository, helps you to plan and track your work. You can focus on important tasks and keep plans up to date simultaneously with GitHub Issues.

Lastly, if you’re looking for a task management option yourself, the Google Tasks extension is a Kanban-style list that’s helpful to track your own to-dos, and you can easily share it with anyone.

4. Document creation, storage, and management

With 73 million users, it’s clear that GitHub is a favorite in the development community. While devs use the software Git to track changes made to their code, they host their work and store different versions of a project on GitHub. Devs can have their own personal accounts on GitHub to showcase their work, and there’s also a version made specifically for entire teams of devs to store and manage files.

For API documentation, Swagger is a solid option to check out, especially for RESTful APIs and GraphiQL/GraphQL Playground for GraphQL APIs. One feature Codecademy devs appreciate about Swagger is how it updates docs on the endpoint every time you change a field, so self-documentation isn’t necessary if you use Swagger.

The two other big players here are Google Workspace and Microsoft 365. Both options are browser-based experiences that allow engineering teams to collaborate in real-time on a variety of documents, as well as manage your own file storage and share documents and folders with colleagues.

If you’re interested in looking into Notion for its project management software, it’s also worth noting that you can use Notion to manage, save, and share files directly in the app.

5. Communication

Real-time messaging is the core function of Slack, but that’s a bit like calling your smartphone a tool for just talking. Engineers use Slack to bring together project groups, whether everyone is based around the world or just around the office. Slack makes it easy to create and manage messaging channels based on specific topics, and groups of related messages within a channel can be bundled as threads. So, when you need to look up responses to a question you posted, it’s easy to see everything as one group rather than searching through a ton of message bubbles.

Sometimes text-based communication just doesn’t cut it or maybe you just want to see your teammate’s face once in a while. Zoom can be particularly helpful these days to get through a long stretch of remote work or to help flesh out what might be lost through text.

6. Support and troubleshooting

If you have a question about coding or a problem you need help with, Stack Overflow is likely the first place you go, and you’re definitely not alone. (Though if you’re not familiar with Stack Overflow, it’s a public platform that features questions and answers on all things computer programming.) Over 100 million programmers and code enthusiasts use Stack Overflow to problem-solve and connect with others in the community. It’s truly an invaluable resource!

Collaboration is a key skill for developers

As a developer, you’ll likely be doing a lot of solo work, but you’ll also collaborate with your teammates in some capacity, whether that’s through pair programming or just checking in for a one-on-one. Either way, having the skills to effectively collaborate with your team is important. Also, one way to stand out as a job candidate is to highlight your knowledge and experience with different collaboration tools, so don’t forget to add these to your resume if you have experience with any of these tools.

Feeling motivated to take your skills to the next level or learn a new tool, software, or programming language to prep for your next job? Check out our full course catalog where you can learn about Git & GitHub, Intermediate SQL for Product Managers, API Development with Swagger and OpenAPI — just to name a few topics.

Our Career Center is another great resource that can help you navigate the job-hunting process, especially if you’re looking for interview prep help.


Developer Tools Courses & Tutorials | Codecademy

Writing code is as much about the tools at your disposal as it is about the actual code you write. These tools that allow you to run code locally on your computer and collaborate with others to publish programs. Talk to the computer through the command line and merge your first line of code on git.

Word of the Day: verboten

0

This word has appeared in 19 articles on NYTimes.com in the past year. Can you use it in a sentence?

Do You Like a Comeback Story?

0

The superstar quarterback Tom Brady recently retired, only to announce his return to football less than two months later. Have you ever found it hard to say goodbye to something?

Lesson of the Day: ‘A Call to Remember the 200,000 Black Troops Who Helped Save the Union’

0

In this lesson, students will learn about the contributions of Black soldiers during the Civil War and consider the importance of honoring their service.

Teaching About Architecture

0

In this lesson, students will reflect on the work of Francis Kéré, including a school he designed. Then they will examine their own school to try to understand the decisions architects make.