|IndyWatch Education Feed Archiver|
IndyWatch Education Feed was generated at Community Resources IndyWatch.
In this post youll learn the basics of CSS Flexbox, which has become a must-have skill for web developers and designers the last couple of years.
Well be using a navbar as an example, as this is a very typical use case for Flexbox. This will introduce you to its most-used properties of the module, while leaving out the ones which arent as critical.
Im also creating a free course on Flexbox. If you want early access you can leave your email here and Ill send it to you once its ready.
Now lets get started!
The two main components of a Flexbox layout are the container and the items.
Heres the HTML for our example, which contains a container with four items:
Before we turn this into a Flexbox layout the divs would be stacked on top of each other like this:Ive added a little bit of styling, but that has nothing to do with Flexbox.
To turn this into a Flexbox layout well simply give the container the following CSS property:
This will automatically position the items nicely along the horizontal axis.
If you want to check out the actual code, you can head over to this Scrimba playground.
Now lets shuffle these items around a bit.
Justify-content and align-items are two CSS properties which help us distribute the items in the container. They control how the items are positioned along the main axis and cross axis.
In our case (but not always) the main axis is horizontal and the cross axis is vertical:
In this article, well only look at justify-content, as Ive found to be using this one much more than align-items. However, in my upcoming course, Ill be going through both properties in detail.
Lets center all the items along the main axis by using justify-content:
If you are new to Slack, its a great platform for team collaboration and instant messaging used in and out of organizations to help team communication and collaboration.
I first used Slack for a study group. You can create different channels to separate messages and discussions. You can create private channels as well to keep messages private in a team.
The best functionality is that it also allows integrations on its platform. And this is what makes it different than other messaging and collaboration platforms.
You can integrate Google Calendar, Twitter, Trello, and more. It also lets you create custom applications like bots.
In this post, I will walk you through building a MeetupBot for Slack using Node.js. It will give you list of meetups going on near your location based on your interest.
It will use Slacks slash commands. You can type /meetupbot from within Slack to call the MeetupBot and it will greet you along with the list of commands.
You will need basic knowledge of Node.js and how APIs work. Lets get started.
The Command Patterns definition is a stressful one to look at. The formal definition is that it:
Lets forget about it for a second and take a trip to Hawaii.
And live in a luxury hotel.
We spent the day on the beach, scuba dived, and did some sightseeing. Its time to get back to the hotel to chill, eat, and plan for the next day.
After getting back to the hotel, we want to:
We check out the hotels service menu and find three service items matching our needs.
We then call the front desk to place these three requests. A concierge picks up our call, writes down our list of requests, and acts on each service request as instructed by the service menu.
Then each staff member executes according to each specific request:
Lets recap what just happened.
a. We selected the services we wanted from the menu and submitted them to a concierge.
b. The concierge wrote these service requests down as a list.
c. After we hung up, instructed by the service menu, the concierge sent our requests to corresponding departments.
d. Each department executed on the given request.
1. We submitted these three requests to the concierge:...
Ever thought of having your own website for putting up your project portfolio or resume or a blog for yourself. By the end of this article, you will be able to create one.
To put up a website, you need to have a space (aka hosting) where all your files will be uploaded. Whenever someone types your website and clicks enter, these are the files that are served/presented to the user on the browser.
Lets get started with what you need to have/know:
I believe you might already have a Gmail account, which is enough. If not create one.
Download it from here.
Firebase is a mobile and web application platform, acquired by Google a few years ago. Firebase offers hosting as one of its features. However, many mobile developers use it for Analytics, Notifications, Crash Reporting of apps. We are going to use it for hosting our website.
Windows: You will get a simple portable executable file. You can place it anywhere and run via command line. You can add it to your path variable in Windows environment variables to get it referenced anywhere.
Mac: You can install it using Homebrew. If you dont have brew installed on your mac, you can download the tarball from here.
Either way, make sure you are able to access Hugo by giving below command.
Head over to the location where you have decided to create your website and enter the command below:
$ hugo new site <path_to_folder>
At the given location you can see a folder structure as s...
By Faraz Usmani (Flickr) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons
The title is really pretentious, isnt? Yeah, it is. Although Ive been working with PHP for years, how could I state what are the best practices and tools for the job? I couldnt, but Im going to do so.
Im seeing a real change in the way developers are doing their job with PHP, not only is the language drastically changing to become more mature and robust with new versions and improvements, but the entire ecosystem around it is changing.
New tools, libraries, frameworks and articles are being created, patterns are being defined to make code more elegant and easy to understand. Several people are thinking about ways to make the work (and your life as a developer) more productive, clean and fun.
Im not an early adopter of new trends, actually, I only adopt a new tool when Im sure there is a community behind it and I really think it will improve my work. What I always do is try to write my code following the best practices.
Because of that, It took me time to start using things like Composer and PHPUnit. About a year ago, more or less, Ive opened my heart to all those shiny new things.
PSR came first, then Composer, PHPUnit, Travis-ci and several other libraries and amazing tools. Im even using an IDE now (Vim FTW, but PHPStorm with XDebug integration is a must for a sane workflow)!
There are tons of articles around the web about how awful PHP is, how your life would be terrible if you had to work with PHP code, how the language is ugly and whatever else you could think of!
If you are going to work with legacy code, maybe your life will not be that good, but if you have the opportunity to work on a new project and are able to use all the new tools, youre going to see this new PHP Im gonna talk about.
I have several problems working with PHP on a daily basis, but one cannot close their eyes to the changes taking place in the language, community and the ecosystem. There is a long road ahead, but things are getting mature in the land of PHP.
I started creating an SDK for an internal API in the company I work for, just as a pet project, and decided to follow best practices. Most of them I was already doing, but Ive made few changes in the way I do some things. Those changes and what I learned in the last year are the subject of this article and what I call Mo...
An example using Docker to test and build your pipeline
In the past you may have tried different tools to manage the deployment of your applications effectively. In this tutorial, Ill be showing you a quick and easy way to set up continuous integration for your environment using GitLab and Docker. So lets get started.
Here is what well be setting up:
Tools like Jenkins are good for continuous integration and delivery. Mantis helps with issue tracking. But to improve the efficiency and quality of our project, we need to bring all these tools together. For example, we may want a git commit hook up with existing issues, or trigger an automated test after pushing commits to the master branch.
Usually, most tools already provide out of the box integration with other common services but it is still difficult to configure them at times. Moreover, the workflow would be broken if any one of the services in the chain go down. So it would be great if there were a single platform which could fulfil all these requires and that is why weve chosen GitLab.
GitLab.com is a SAAS based service where you can host your Git repository, track issues and write the wiki in markdown. GitLab CI also allows you to setup continuous integration utilizing any Docker image available on Docker Hub. Lets take a look at the following example.
GitLab CI uses a YAML file .gitlab-ci.yml to define the project configuration, which includes a definition of all the stages that need to be run after a CI/CD pipeline is triggered in response to a git push/merge. In this example, we have a simple Node.js project and we would like to make sure the code is good by linting and running a unit test. To play along, fork this repository and check it out.https://medium.com/media/bd82dab2a5a888a68b48e0ad5cd1f0e1/href
In the above YAML configuration file we defined 3 stages. Each stage is just a gulp task defined in gulpfile.js. Anyone could run the task locally as long as the have Node.js installed. But in GitLab CI, we only need to mention which Docker image is needed. In our case, that is node:6.11.2. Further...
As a serial entrepreneur and product maker, one of the biggest rewards for me is seeing products that Ive built being adopted and loved by people at scale. Something else that I equally enjoy (if not more) is documenting the builds, launches, and growth stages that follow in an attempt to provide transparent insights and takeaways to others. With both of these, the more I can build, document and share, the more people I can reach along the way, translating to more personal reward for me.
One of my recent side projects that I built in the open and documented (Levels and Ben Tossell style) was with a weekend chatbot build for Artchatbot. To be honest, I was a bit taken back by the amount of positive feedback and questions I received while sharing the process, launch, and results and even the analytics along the way. Not only was there overwhelming interest in the weekend build, but I also discovered an amazing community of others in the chatbots space that I was now a part of.
With this recent experience building a chatbot, I also immediately saw how I could leverage chatbots and the ability to rapidly prototype, test, and launch a product via chatbots in other areas where a conversation-like product interface is the best solution. I knew that my next chatbot was going to be one for my personal brand to have a conversation, engage with people, and scale my personal reach where I could share my work.
Im not going to dive into the benefits of chatbots in general, since thats already been extensively covered by other domain experts.
With multiple channels to share content across, it can be hard to connect the dots. Since I do have a very small, but hyper-engaged following on some channels, it is my goal to be omni-present, relevant and reach out to these people and others similar to them that spend their time engaging with me. Some of these channels are:
By using a chatbot, I can push out a core message...
|IndyWatch Education Feed Archiver|
IndyWatch Education Feed was generated at Community Resources IndyWatch.
Resource generated at IndyWatch using aliasfeed and rawdog