Posts about Learn
One of the most challenging yet common activities development teams run into with Git is resolving merge conflicts. This happens when multiple developers are making changes in a repository at the same time.
This post provides a walkthrough of how to get through two typical Git conflict scenarios. To set the scene, Grant and I are two developers working on a simple web page. We’re starting out with two files, index.html and styles.css. Our repository is hosted at GitHub, and in this case we are both working directly on the master branch.
Do unread messages make your skin crawl? Does the thought of setting up email filters make you break into a cold sweat? Did accidentally hitting ‘reply all’ send you into a mental tailspin? If you replied ‘YES!’ to any (or maybe all) of the above, you’re not alone.
With nearly 1 billion active users around the world, it’s safe to say that Gmail is one of the most popular email services out there. Google’s email powerhouse is relied upon by businesses, universities and everyday people. What is the reason for such widespread popularity you ask? With a killer mobile app and sensational plugins, features and settings, Gmail allows users to create an inbox experience that is unique to them. But true Gmail masters are few and far between. Such a feat takes years of careful practice, preparation and a borderline obsessive amount of labeling. No matter if you’re looking to become a Gmail deity or just looking to add a little extra productivity to your day, here are a few tips to help you tackle your inbox.
One of my many roles at Grand Circus was Director of Marketing and Admissions. This meant it was my job to create ways for people to learn more about Grand Circus, our work and ultimately decide if a coding bootcamp was right for them. So about a year and a half ago, I started organizing Open Houses where Grand Circus staff and former students would answer questions, tour people around our space and introduce people to our community.
Here’s the thing that I noticed during these Open Houses: people are awkward—including all of my coworkers. Now, I’m not falling into that usual stereotype trap that pigeonholes “techies” as nerds unable to make eye contact or carry on a conversation. No. The coworkers I’m referring to are actually all of our non-technical people.
Here’s what would happen as people would walk into our space:
“Welcome to Grand Circus! Are you here for the Open House?”
“Great! We’re so happy you’re here. After you sign in, feel free to grab coffee or tea around the corner and sit wherever you’d like. We’ll start in about 10 minutes.”
This would happen every. Single. Time. So, I decided to do something about this. I created a training for the staff at Grand Circus that we’ve now integrated into all of our bootcamps.
I call it The Chioke Principle. (Hey. I created it. Why can’t I name it after myself? Plus, it helps you remember the steps.) So get ready to learn how to mingle, network and meet some new folks like a boss.
If you are considering becoming a .NET developer through our .NET (C#) Development Bootcamp, here are 10 things to know about the language you should know before you embark on our bootcamp:
1. I heard that .NET was only for Windows or PC users. Is that true?
Not anymore! Thanks to .NET Core, a set of tools consisting of the runtime, library and compiler components, you can create apps that run on Windows, Mac OS X and Linux. .NET Core runtime, libraries, and compiler are all open source on GitHub and are taking contributions. (more…)
One of my favorite parts about working at Grand Circus is getting to know students as they begin the process of changing careers. As the Director of Learning, I’m lucky enough to get to hang out with all of the students in all of the programs. Getting to know Yasmine was especially exciting for me though, not just because she’s amazing, but because we both share a background in teaching. So when I was given an opportunity to put the spotlight on an alumni, she was my obvious choice!
Yasmine is originally from Farmington Hills, MI and took our Front-End Bootcamp in October of 2015. I’m so excited to share more about her background, her bootcamp experience, and her incredible advice to prospective students.
Five great tools for building websites:
What is AngularJS?
At its core, Angular is a web application framework. The whole point of a framework is to streamline common tasks to make the whole process go more quickly.
Think of it this way: if you’re building a house (or any building, really), there are certain things you know you’re going to need: a frame, walls, electrical, plumbing. If there were a way to make creating a plumbing infrastructure quicker and easier, every construction company would be lining up to use it for their projects. Application frameworks work similarly. Let’s take a look at each of the major components that streamlines the app-making process in Angular.
Major Components of Angular:
The basic building block of an angular application is the module. A module is any collection of smaller angular components that come together to make up the features of a web app. Some simple web applications can be made up of a single module, but it’s generally good practice to try to break up your code into multiple modules so they can be easily reused.
Angular is a sort of subspecies of MVC framework, which stands for Model-view-controller. MVC is a standardized pattern for web applications. As MVC became more popular, it has morphed into a number of variations. Angular is one such mutation. Angular is most commonly referred to as an MV* or MVVM (Model-view-viewmodel). The reason for the confusion has to do with the fact that Angular doesn’t really have the key elements that go into an MVC. It doesn’t really have models. It has controllers, but they operate quite different from traditional controllers in an MVC. Controllers in Angular are all about interacting with the $scope, which is feature that gives Angular part of its special sauce. In brief, $scope is the part of Angular that allows two-way data binding to happen. What is two-way data binding? Big topic, short answer is: it’s what makes this possible.
The example seems simple enough, but what’s happening under the hood is that the model and the heading are bound so that when one changes so does the other. When you type in the input box, it changes the model. The heading, which is displaying the model, automatically changes also. Magic! A controller’s primary responsibility is to interact with the view.
Angular services are where the traditional business logic happens. Services are used to interact with external services via AJAX. They are also used for information sharing internal to the application. Controllers cannot share information with one another directly. We can use services as intermediaries. These are often the real workhorses of an Angular application.
Directives in Angular are a way to extend the native HTML. By default, Angular has a number of built-in directives. It’s also possible to create custom directives to further extend the language and functionality of HTML. Directives are a very deep topic. In brief, directives are responsible for DOM manipulation and creating more clarity in the markup itself.
While not a part of the core Angular framework anymore, routing is a major part of many web applications. Routing is what allows a single-page-application to switch between controllers and views dynamically. The advantages of using routes and single-page application really come down to improving the end-user’s experience. Angular originally shipped with a routing solution that is still available as an add-on.
Angular is a big framework. There’s a lot going on in it. It can be intimidating to step into. Hopefully this overview will help clarify some of the more important pieces you should focus on when learning to use Angular. You can find out more about each of these components by going through an introductory course on angular like this one from Code School. It’s free and a good introduction to some of the concepts we’ve discussed. Happy learning!
What keeps you busy during the day?
I work for Quicken Loans on the Marketing Team (specifically the email team) as a Front-End Email Developer. I write the HTML code for all of the emails that we send at QL.
Why’d you take the class in the first place?
Did you have any experience in coding or programming before?
Yes I did. I began taking Computer Science courses at Wayne State University 3 years ago and got about halfway through the program. I’ve also made WordPress websites for friends and family in the past.
What was the most surprising thing you learned about yourself during the class?
Do you look at technology differently now?
Technology is a little less intimidating now, but on the downside, some of the “magic” was also lost.
What’d you end up building?
I built a website for me to display show dates for my fledgling stand up comedy career. [You can check it out here or a snapshot below.]
Now that you’re done and created a website, any plans to continue?
I want to clean up the site I built in class and make it better, but also I want to start dipping my toes into the pool of becoming a professional web developer.
Have you used your skills since the class ended?
What are your thoughts on Grand Circus?
Grand Circus is a great low pressure place for people to kick start their careers in IT!
You’ve already learned the basics of using the command line for beginners in Part 1. It’s time to get a bit more advanced. Now that we can move around and see where we are in our file system, we can use the file systems to create new files and directories. Personally, this is one set of commands that I find to be much faster than any method of creation offered by the operating system.
Setting up new directories & files
mkdir <new-directory-name> – This command is short for Make Directory. It may come as no surprise to you that this command creates a new directory. Like cd, mkdir needs an argument to use for the name of the new directory.
Now we have made files and directories and now we can move freely among them we can actually manipulate them with a new host of terminal commands.
cp <source-file> <destination-file> – The cp command is short for Copy. This command allows a user to make copies of current files. This commands needs two arguments. The first is to designate the file we wish to copy. The second is to name the file that we wish to copy to. That file may not currently exist and that’s okay. Like touch, cp will create the new file then copy the source file’s contents into it.
mv <source-file> <renamed-file-or-location> – The mv (Move) command allows for a couple of different applications. Firstly, we can, as the name implies, move a file to another destination. The other, less obvious, usage for this command is to rename files and folders.
rm <file-or-directory> – Finally if we need to get rid of a file we can use the rm command. Like cd, rm accepts an argument that is the path to the file you want to delete.
flags – As if all of this wasn’t enough, each of these commands can be modified through the cunning use of flags. A flag modified or changes the behavior of a command. Flags are applied after the command. For instance, if you use the –l command in conjunction with the ls command, so ls –l, the command still lists all of the directory’s contents, but in list form. Additionally, if we include a –a flag with our ls command it will list all files, even hidden ‘dot’ files. We can even combine them to do both!
That’s a lot! But we’ve barely even had a taste of working with the terminal. Maybe in the future we can look a little deeper at commands like top, more, and tail. Working with the terminal can be a great skill to become fluent with. Many great software tools are best operated from the command line (see: git). It is my opinion that fluency with the command line is non-negotiable, essential skill for the modern developer. For some other information and practice check out Code Academy’s course on the subject or this e-book called, fittingly, The Command Line Crash Course.