the end of devOps

--Originally published at How to HACK or not

The last month I used some of my time to learn and remember some stuff about devOps, linux, git repositories, setting up servers and the use of tools like cron. As I said some of this activities were more to remember knowledge that I mostly had in my networks classes or operative systems; but in the majority this activities were new to me, some of them I never tried them before and I have to say it was fun.

Part 1part 2, and part 3 of my adventure learning some of devOps can be found on those links in another of my blog entries. You’re free to read them, those are short and maybe funny. I will summarize for you what you will found if decide to read the posts:

In part 1 I wrote about how wrong we are people with the concept of devOps, like it’s completely different of what we think, well not that completely but yeah no ones knows exactly what it means or what to do when working on DevOps.

In part 2 I installed a linux distribution with a virtual machine in my laptop along with python and java and some other tools to start working with DevOps, basically was setting up the environment to be able to do something.

In part 3 we started working! This was a difficult task, I had to create cron jobs, and start automating stuff of my repo using my my tiny  and slow window of linux, it was fun though, but I don’t think this is something I would do for living haha.

In general I loved/hated this activities because:

  1. Is something a haven’t done in a while, so doing something different from what I am used to is good, it’s like relax BUT Continue reading "the end of devOps"

Python Unit testing

--Originally published at How to HACK or not

For this blog entry, we are focusing in unit testing on python. While doing some research it’s kinda similar to JUnit (for unit testing on java) and it’s python (my first programming language) so I hope it be as easy as it sounds.

First I read an article recommended by our professor about small talk and testing on it using a framework to support it. Interesting article, but most useful is the tool Hypthes.is which allow us classmates to make annotations on the document so we could share our thought about the paper.

Screen Shot 2019-04-07 at 13.54.27.png

Also, we could read the paper thanks to Wayback Machine which allows to see all versions of some websites so, while I was on this I use the occasion to look into a website I like to see how it looked years ago. I chose instagram because is my favorite social network and app, I obviously knew that there wasn’t a website since the beginnings but I had the doubt of what they used to show and I found this:

Screen Shot 2019-04-07 at 14.01.59.png

 

It’s nostalgic to see the old version of instagram before Facebook happened. I think Instagram have one of the best app designs (until their last update that I don’t love) but the oldie one is pretty pretty, it would be nice to have a feature like use the old design or something. But well… let’s continue with python.

For this task we had to look into a LinkedIn course about using PyCharm for unit testing on python: Unit Testing and Test Driven Development in Python course. First we defined some test cases

Screen Shot 2019-04-07 at 14.16.27.png

and then we run themScreen Shot 2019-04-07 at 14.08.49.png

At the end all test cases were successful and the tutorial was fun to do. I truly feel I have learned something new and useful because the course Continue reading "Python Unit testing"

Intro to DevOps part3

--Originally published at How to HACK or not

Now, in this entry we’ll see Intro to devOps volume 3 (I love Guardians of the Galaxy movies). This is the third part of the blogs about devOps and how to setup a full environment for deployment, automation, etc. using a linux machine. In this part I’ll talk and try to do the setup for GitHub, ssh and keys.

The first step in this part is to have a GitHub account which I already have (yay), you can review it here. Now I should create a repo for testing this, the teacher said we should use some web content, it is the most common thing nowadays I suppose. So, for this I will use a repo that I used to learn and practice Angular.

I lost some time because by looking at my profile, something I don’t use, my first years in GitHub were basically nothing in terms of contributions compared to now and it’s because of my different jobs, it’s great companies use such useful tools like GitHub.

Okay, now I realized that I should’ve went by the Node way when installing web servers because it’s what I usually do haha, so let’s do that “how to install node in ubuntu and after that we can continue.

Next is setting up my two factor authentication on my GitHub account which I have already did before. And for the SSH keys, I have created them before but I need to create one for my linux machine. Usually this is easy, but oh yisus it’s difficult to do it from a virtual machine! and I don’t use the same commands as for my Mac so ugh…

After that I cloned my GitHub repository and made some changes to see it actually works, made some modifications and yeah, everything perfect.

At last Continue reading "Intro to DevOps part3"

Intro to DevOps part2

--Originally published at How to HACK or not

This is the second part of my blog Intro to DevOps, which I wrote two weeks ago. In this part I’m installing a Linux distribution, installing support for development and at last setting up the first test of Cron.

I’m using a MacBook Pro 2016 and I don’t want to deal with all the complicated stuff to install linux right on hardware so I am using a virtual machine from Oracle, VirtualBox. Last time I installed a Virtual Machine and a Linux distribution was in my Networks class two years ago, so let see if I don’t get in trouble.

First, this is newer version of virtual box that the one I used previously so I’m dealing with “where do I click to install the linux distribution”. Oh, I downloaded Ubuntu Desktop, btw.

I thought I was installing the version with no UI, but it does, so it’s new for me too. It’s taking so long… Ok! it’s done, I have Linux Ubuntu in my Mac. Now, the next step is to setup my programming languages, I think I’m just gonna install Java and Python.

Installing java was so hard, I don’t know if I went for an incorrect path or what, I don’t even know if I actually installed it. Python 3 was much easier, just a few commands and that was it. Now GitHub, it should be easy… and it was :D. Next I have to setup web deployment, for this I’ll go for LAMP, it’s something I have done before. For this I’m following the instructions on How to install LAMP Stack on Ubuntu and it was just fine, long, but not hard.

Now, the last thing to do in this blog is to setup the first test use of Cron on the server. Okay, I Continue reading "Intro to DevOps part2"

The secret life of bugs

--Originally published at How to HACK or not

Although the title sounds interesting, the original reading from which I am writing this post (The Secret Life of Bugs) was really boring, interesting, but also boring. I mean I get it because it involves a lot of research, but I don’t think there was fully necessary to include all the information in just now document.

I like it includes data collected from surveys and (I wasn’t surprised) it’s hard to see or bad that most people is still doing manual testing instead of automated and as usual the major kind of bugs found were Code Bugs and the least are spec bugs, which is pretty reasonable because if specs aren’t well defined from the beginning, then, well, the project just won’t work.

That’s all what my mind can give for this entry, sorry but my head is just tired. Peace!

Intro to DevOps

--Originally published at How to HACK or not

This is a post about me giving you an introduction to DevOps, but for this I had to learn myself what DevOps mean. First I would like to say what I think of DevOps before I read anything, only pure experience and casual discussions about this with colleagues and friends.

DevOps sounds like development operations, which is operaciones de desarrollo in Spanish (it’s easier for me if I translate first). With this in mind, I would say that a devOps developer would be in charge of creating a flow system for all the tools and stuff the system could need, this is from servers to deployment but nothing to do in the code of the project in particular. I mean, he or she will establish the environment for the -for example- a web developer may be able to work and deploy all changes he or she make. Something like that.

Okay, now the definition I found on the post my professor recommended us (What is DevOps?) says a lot, a lot of DevOps and finding a single definition is so hard that I just kept the one the author gives first:

DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.

So I am right in one thing, DevOps involves all the process, actually is kinda a process by what I understood, also it talks more about the environment where the project will be developed and not the system itself. Also, there were given other points I think are useful to “fully” understand what this methodology is.

  • Infrastructure Automation – create your systems, OS configs, and app deployments as code.
  • Continuous Delivery – build, test, deploy your apps in a fast and automated manner.
  • Site Continue reading "Intro to DevOps"

Trying JUnit

--Originally published at How to HACK or not

Now, for the Software Quality and Testing class, we went into JUnit for unit testing in java. To try it out I followed a tutorial, more like a class, that was pretty nice, I’ll give you the link somewhere in the post so you can do it by yourself. The reason I am l¡hiding the link over there is to you to read some of my post. It will be short, I promise.

Okay, I begun with Eclipse, the IDE for developers, more like java developers. I have always liked to use this IDE since I was in my first semesters of college. Okay, Eclipse already have JUnit or you just install the plugin if not.

I tried JUnit before in my Architecture class, so this was more like a refresh of what JUnit is. Some useful concepts and tools are this:

  • JUnit promotes the idea of “first testing then coding”, which emphasizes on setting up the test data for a piece of code that can be tested first and then implemented. This approach is like “test a little, code a little, test a little, code a little.”
  • A Unit Test Case is a part of code, which ensures that another part of code (method) works as expected. To achieve the desired results quickly, a test framework is required. JUnit is a perfect unit test framework for Java programming language.
  • Fixtures is a fixed state of a set of objects used as a baseline for running tests.
  • A test suite bundles a few unit test cases and runs them together. In JUnit, both @RunWith and @Suite annotation are used to run the suite test.
  • Test runner is used for executing the test cases.
  • JUnit classes are important classes, used in writing and testing JUnits.

So, what I learned

Screen Shot 2019-02-06 at 00.05.05
Screen Shot 2019-02-06 at 00.06.09.png
Screen Shot 2019-02-06 at 00.07.25.png
Screen Shot 2019-02-06 at 00.10.15.png
Continue reading "Trying JUnit"

Second test

--Originally published at How to HACK or not

Okay, I have not wrote any blog entry since my first blog post explaining what this blog would be about. The topic is the same, Software quality and testing. Now it has been three or maybe four weeks since the course began and I have to say, I haven’t been so much into it. I mean, I like the course and the topic, but for personal reasons I haven’t giving my best trying to learn.

Don’t misunderstand me, I have not been doing research about the course, BUT I have been having work experience with related to this. True, I didn’t say that about me, I am currently working as a frontend developer and yes, you may think (I used to) that there is no testing or QA in fronted development, but oh my carrot, there is a lot of testing. Actually, when I’m about to finish a component for a web app or something we always joke saying “I finished the task, now I have to wait for Dara to say it is wrong” because it’s true, there’s always something the designer don’t like how it looks or how it feels and we know the importance of user experience, so we always have in mind those little corrections we know we will have to do. So yeah, there is a lot of QA in frontend development.

In rare cases the page is approved without corrections and then it’s like:

giphy-1

Well, keeping with what the class has been for me, I have missed some of them, hope it doesn’t make me miss the semester 😬. Agh, hate that I get distracted by my thoughts so easily. Okay, in the class we have worked about our final project, I don’t know if I discussed it already but you can see what’s it

🙂
Continue reading "Second test"

Software de Calidad

--Originally published at How to HACK or not

This is my introduction to a new category that I’ll include in my posts. It will be related to Software Quality and Testing and the reason I will begin with this is that I am taking this class in my new and last semester of college.

Now that I think of, it is bad/wrong/mysterious/weird/funny that I am taking this class in my last semester when it is supposed to be taken in the 6th (2 years ago (yeah, it is my 10th semester)). The reason of why I think this is bc I believe software testing as really important phase in you project development usually left for the last.

I believe is important to be testing your code from the first line you write (ok, no that much) to the last one, but right now I will no give more arguments because, again, I’m taking this so important class in my last semester and I need to learn more.

Anyways, I have been much time without writing, I have to make myself used to it. Hope my post be good enough for you.