Skip to content

Instantly share code, notes, and snippets.

@rookim
Last active May 20, 2022 15:32
Show Gist options
  • Save rookim/700bf4f6792ec27f96bf8e8d4b30ebee to your computer and use it in GitHub Desktop.
Save rookim/700bf4f6792ec27f96bf8e8d4b30ebee to your computer and use it in GitHub Desktop.
Follow my weekly progress as I become a software developer!

Ro on Rails

Updated every week!
"Believe you can and you're halfway there." -Theodore Roosevelt
Join me in my journey to become a software developer :D


Day 114: May 1, 2022 Sunday

Rewind, Reflect, Repeat!

  • The past several weeks have been big on deepening my understanding of data structures and algorithms! I finally understand recursion and merge sort, which truly felt like a huge accomplishment! Recursion is a fundamental technique in programming that is often used to break down problems into smaller components. Often, using recursion over iterating through a data structure is much cleaner, concise, and easier to implement once you understand it. Merge sort is one way you can sort data that uses a recursive pattern called Divide and Conquer. In simple terms, merge sort will split an array continuously into to 2 arrays until it reaches the exit or base case - an array that only has one element. This is because an array with only one element is technically sorted. This array is then plugged into a helper function that sorts two arrays together. If you'd like, you can take a look at my code for merge sort in JavaScript and Ruby. It's also linked in the Resources section below!
  • The internet is such an amazing resource. There are so so many resources out there to help you practice data structures and algorithms so that you're ready for that technical interview coming up! It's really up to you to do your research to see which websites and courses best fit their needs. I have personally been using a website called AlgoMonster. I've also heard great things about the Grokking the Coding Interview course. I linked both in the Resources section as well!

Ro Reacts

  • Besides studying data structures and algorithms, I'VE BEEN APPLYING FOR JOBS!! It's definitely an experience for sure. If it feels exhausting and neverending, just know that you're not alone. We will get through this together! My biggest piece of advice is to know your boundaries and your worth. Just know - THERE IS A COMPANY THAT WANTS YOU FOR YOU! I've personally had the most success with interviews where I was genuinely myself. Not saying I wasn't myself in other interviews, but I'm sure all of us have taken interviews that seemed fantastic on paper, to the point where you tried to fit that company's ideal candidate profile in the hopes that they would hire you. It's nothing to fret about; we've all been there! Remember, in these interviews, you are interviewing the company as much as they are interviewing you! Keeping this in mind has helped me formulate better questions for interviews as well since I genuinely want to know if this company would be a good fit for me were I to be hired - a WIN WIN!
  • My next piece of advice would be consistency. Nothing is more important than keeping at it little by little everyday. If you've ever been in school or in any environment where you had tests and quizzes, you may relate to my experience where I would often cram for exams. DO NOT DO THIS! You will burn out and none of the things you learn will actually stick! Even taking 30 minutes everyday and devoting your whole attention to solving a LeetCode problem or studying an algorithm/data structure will serve you very well. It has served me well. And find a way to keep yourself accountable! For me personally, I try to update this work journal as often as I can and post on my LinkedIn at least once a week about what I'm working on. You are more than welcome to reach out to me on LinkedIn if you need a friend to just hear you out; I'm all ears!
  • OH! I also finished my first week as a Teaching Assistant at Actualize! What a fun experience! It's amazing how many things I forgot I knew! For example, I totally forgot about using the super keyword to inherit from a parent class in a child class. Oops! But hey, I know now! ..Until I forget again and I have to Google it, haha!

Resources

RAD MEMZ

meme


Day 82: March 30, 2022 Wednesday

Rewind, Reflect, Repeat!

  • My final week at the Actualize Coding Bootcamp consisted mostly of applying the bootstrap theme I bought on wrapbootstrap.com to my capstone project. It's a very simple theme, and that's exactly why I chose it! But because it is such a simple theme, it did not have some of the features I wanted for my project. For example, my cards looked really wonky and would exhibit weird behavior when I would minimize the screen. I could not get the cards to be the same height. I spoke with a classmate, Erin, about what to do, and she recommended that I use vanilla bootstrap to customize my own cards. And that's exactly what I did! Go ahead and take a peak, pretty please :)

Ro Reacts

  • The week seriously flew by! With it being the last week of the Actualize Coding Bootcamp (and frantically wrapping up my capstone project to make it presentable) on top of a busy work schedule, I can only find time now to relax and breathe a little. I am so thankful for my instructor Dani, my two TAs Jack and Laura, and my cohortmates for such an enjoyable and unforgettable bootcamp experience.
  • Everyone in my cohort did an amazing job on their capstone presentations! I'M SO PROUD!!
  • Reflecting back on bootcamp and my capstone project, I am so glad I finished the MVP for my project as quick as I did. As a result, I was able to step out of my comfort zone by implementing many JS libraries and node modules! I was able to produce something I am very proud of. My project represents that while I have a lot to learn, I am more than capable of using what I currently know to continue to expand my knowledge and try new things.
  • If there is anything I could do differently, I guess it would be really internalizing and manifesting the concept of "It's never too early" right from the very beginning. It was never too early for me to make that career change to software development. It was never too early for me to start my job search. It was never too early for me to reach out to my career counselor Sarah about resume and cover letter help. The early bird gets the worm! As long as I am persistent and continue to be a go-getter, there is no goal that I cannot reach. Cheers to staying motivated and consistent even through the tough times! I CAN DO IT!

Random

  • Ummm, how did I hold off on watching Toilet-Bound Hanako-kun for so long?!?! I binged the entire first season in one night... Such a cute anime! The title is interesting at the very least, but it makes sense once you watch it haha!

RAD MEMZ

meme


Day 72: March 20, 2022 Sunday

Rewind, Reflect, Repeat!

  • WOW, only ONE MORE WEEK of Actualize Coding Bootcamp left! With the end drawing near, this week has been centered around working on capstone projects. I actually completed my MVP (minimum viable product) fairly early, so this week has been a big discovery week for me!
  • One cool feature I was able to implement was frontend validations through the Vuelidate library when a user is creating a new account. Thanks to this, my frontend will prevent from an unnecessary POST request being made to my backend. For example, I have it set up so that my password has to contain an uppercase letter, a lowercase letter, a special symbol, a number, and a minimum count of 6 characters. Only when a user inputs a password (and a matching password) that contains all those requirements that an axios POST request will be made to my backend.
  • One SUPER cool feature I was able to implement was OAuth with Google!! Man was this a challenging process! I used the vue-google-oauth2 node pacakge to accomplish allowing a user to log in with their Google credentials to view all their Calendar events in my app's calendar interface. I also display all upcoming anime episodes in the calendar interface, but I have yet to code it so that those anime events appear on the user's personal Google calendar or even a separate Calendar. Huge shoutout to my TA Jack for helping me along the way! I would like to eventually have my app create a new calendar in a user's Google Calendar with information about upcoming anime episodes.
  • What I'm working on now is creating a Discord bot for my app! I want to somehow connect the bot to the user's account on my web app (wakuwaku). Then, a user can send commands to my bot to see upcoming anime episode information without going on to the website itself. It's a work in progress, so I'll check back next week with my progress!

Ro Reacts

  • To be completely honest, when I first started working on my capston project, I told myself that this project needed to be perfect. I set the expectation for myself that I would accept no less than perfect for the final result. It wasn't a huge burden I was trying to put on myself or anything like that, but I definitely had unreasonable standards for myself that I did not have for anyone else. Halfway into my project, I realized that I was being completely silly, and that the whole point of this was to try out new things and learn as much as I could about anything. Incorporating libraries into my projects was a huge weakness of mine, and so I made that the focal point of my project from then on. And I'm so glad I shifted my perspective away from perfection and towards discovery! If I hadn't, I wouldn't have Google OAuth in my project. I wouldn't have a freaking Discord bot either! The immense satisfaction and the amount of FUN I've been having these past several weeks actually surprises me. Was coding always this fun??? I mean it was always fun, don't get me wrong, but it definitely wasn't always "as-soon-as-I-get-home-from-my-9-hour-shift-at-a-retail-job-I'm-working-on-my-project" fun! Haha! Speaking of which, I came home from a 7-hour shift today, and the first thing I did (after I washed my hands) was open my project! Life is great man.

Random

  • In random news, I watched the Jujutsu Kaisen 0 movie! I give it somewhere between a 7/10 or 7.5/10. The fight scenes were fantastic of course, but I found the plot to be a little lacking. If you haven't watched it yet, DON'T LEAVE RIGHT WHEN IT FINISHES! There's an end credit scene! My friends and I made the mistake of leaving right afterwards, and we ended up sprinting back to the theater to watch it. Embarrassingly enough, I was pretty sore the next day... Anyways, we luckily didn't leave the building, so we came back just in time. I have my brother to thank since he was still in the theater with his group of friends. Thanks for the text, little brother!

RAD MEMZ

The penguin in this meme is so cute.
meme


Day 66: March 14, 2022 Monday

Rewind, Reflect, Repeat!

  • In the 10th week of bootcamp (only 2 more weeks left!), my class as a whole worked together to bring a a resume web app alive. We were divided into 3 teams: the resume data API team, the student portal team (frontend app that would allow students to login, and view/update their resume information), and the student catalog team (frontend app that displayed an index of students and their capstone projects). I was in the resume data API team, and I worked with Dylan, Erin, and Thomas to create database models and RESTful routes for student data. The whole point of this project was to practice the skills of teamwork and git branching. This was an invaluable experience because it gave me an idea of how working as a software developer in the real world would actually be like.
  • Thanks to the team project, I learned all about the git workflow: pulling, branching, fixing merge conflicts, and working in a team on a single project. Branching is a feature that is available in many modern version control systems. When someone wants to add a new feature to an app or program, they can create a new branch off of the main branch to test new code without it affecting the main code. Remember, NEVER push up untested code to merge with the main branch!! Test, test, TEST!
  • I also learned about microservice and monolith architectures. The microservice architecture is very similar to the idea of decomposition that I wrote about many entries ago. The work is broken up into smaller independent units. In a monolithic application however, everything is one single unified unit. Both architectures have its pros and cons. Microservices are great for organization, flexibility, and scalability. Each component can be deployed and updated independently, even though other components may not be ready for production. Also, it's very flexible in choosing different technologies. Because each componenet is independent, different components can use different languages and frameworks and use one that is best suited for their own component. As for monolithic applications, it's much easier to deploy. There are not many moving parts like there are for microservices. It's also much easier to develop because everything is all in one place. With that being said, if the end goal is a microservices architecture, do not start with a monolith!!

Ro Reacts

  • Programming is a team sport, and through this class project, I've realized just how important the ability to communicate with others effectively is. Even more so than one's coding capability! I remember on the 2nd day, when my group was struggling through merging our code to the main branch from our own respective branches, feeling a little frustrated at the slow pace we were going. In hindsight however, I'm thankful that our group took the time to understand the git branching process and make sure we were doing the right thing. Because of this, we practiced communicating to each other the issues we were going through and the possible options we had to get through the issues. This made the rest of our project go incredibly smoothly; even my instructor was impressed with how well we worked together!
  • I am still forging on with the job search hunt! I applied to a Ruby on Rails apprentice developer position that I am super excited about! Can't wait to hear back!

Random

RAD MEMZ

I really felt this in my soul...

meme


Day 56: March 4, 2022 Friday

Rewind, Reflect, Repeat!

  • I got my feet a little wet in test-driven development (TDD). TDD is a process where test cases are written first before the actual code. In essence, when one writes code using this TDD style, the test is expected to fail first because the software lacks the code that would otherwise make the test pass. When writing the actual code out, it is written as simple as possible. And I love it!! It's tedious, but it forces you to go one step at a time. You really cannot get stuck with TDD. Many may find this process cumbersome and too slow, but I can really appreciate it as someone who has a tendency to tackle problems head-on. Immediately trying to solve a very complicated problem can be detrimental when you're stuck and cannot pinpoint the issue. I've definitely found myself in a rabbit hole where I couldn't figure out the issue and had to scrap my entire code and start over. As my instructor always says, "slow down to speed up!"
  • On the topic of computer science, I learned about linked lists. A linked list is very similar to an array in that it is a linear collection of data. The biggest difference is where the elements are being stored. Unlike elements of an array, elements of a linked list can be stored anywhere in the memory. Elements are known as nodes, and each node contains data and a pointer to the next node in line. As a result, accessing elements at an index of a linked list has a Big O notation of O(n), whereas for an array, it's O(1) as long as you know the index. Linked lists really shine when it comes to insertion of data at the beginning or in the middle given a node. All that needs to be done is redirecting the pointers of all the nodes to point to the right nodes.
  • I also learned alternative frameworks in the frontend and backend! At Actualize, Vue.js and Ruby on Rails are primarily used by instructors to teach students the fundamentals of full-stack web development. This week however, Dani gave my cohort the opportunity to discover and learn more about Django, Express, and React. Working with Django and Express definitely helped me to appreciate Rails as a budding software developer, but it really wasn't so bad! Wow, my efforts in learning is really paying off! I remember feeling slightly frustrated when working with new languages and frameworks, but this time around, I felt confident. :D
  • I'll be deploying my capstone project web app with Heroku, so I learned the basics of how to do that in class. In addition, I learned how to deploy the frontend and backend separately with Netlify. Shoutout to you Chad! Chad is an awesome human who currently works as an engineering manager over at Netlify.

Ro Reacts

  • I got my backend of my capstone project approved yesterday, so I've been working on frontend stuff. Man, is it super satisfying! Just seeing everything come together has been such a rewarding experience. Although learning can be very challenging, it is so worth it to me! This is definitely the career for me! I wish I didn't have work all weekend, I just want to keep working on my capstone project!
  • That being said, I need to be careful to not burn myself out. I am grabbing KBBQ with my friends tomorrow though, so that will definitely be a fun time.
  • This week was so refreshing for me, in terms of my feelings and emotions. I was feeling very discouraged last week because I was not picking up HTML/CSS/Vue.js as quickly as I would've liked, but being able to actually make progress on my frontend app for my capstone project has definitely boosted my confidence. Yay for the frontend!!

Random

  • I know I said last week that I would document my programming journey on LinkedIn... I'm just going to post something now before I chicken out! Meghan has definitely inspired me to do this even more after she told my group in Feelings Time the kind of positive response she got when she posted on LinkedIn.
  • Jujutsu Kaisen 0 is coming out soon! March 17! Go watch it!

RAD MEME OF THE WEEK

meme


Day 49: Feb 25, 2022 Friday

Rewind, Reflect, Repeat!

  • This week was pretty much all about HTML and CSS! Yay for the frontend. I also took a lot of time discovering the CSS framework Bootstrap (and even a little bit of Materialize too). Bootstrap is an initiative by Twitter and is the most popular CSS framework to my knowledge. It definitely was the only CSS framework I knew of before this week anyway, so there you go. It's well known for its "mobile-first" philosophy. Gone were the days of separate projects and refactoring code just to ensure your web app was compatible with devices with smaller screen sizes. It's amazing honestly. With Bootstrap, someone like me (who doesn't have a natural affinity for the frontend stuff) can whip out an awesome-looking web app in no time at all. Bootstrap also offers pretty much any kind of UI component you'll ever need: nav bars, buttons, cards, forms, you name it! On the other hand, your website can end up looking like a lot of the other ones you comes across in the internet, but is that really a bad thing?? I'm a programmer, not a designer!
  • On the topic of computer science, I learned about the concept of recursion. It's basically designing an algorithm to break down the original problem into smaller instances, until the problem becomes so small that it can be solved directly. Often times, functions will call themselves from within their own code to achieve this. I know, my brain was pretty fried from this concept too, but let it marinate, sleep on it, and you'll be a little less confused!
  • On Wednesday Februray 23, I attended an event hosted by Actualize Coding Bootcamp that featured Justin, a senior developer advocate at Redis. I gained exposure into the world of Redis. A lot of it was over my head, BUT I did take away the fact that Redis is key-value database stored in RAM and not spinny disks.

Ro Reacts

  • HTML, CSS, and the Bootstrap framework does not come intuitively to me, so this week has been the most challenging and frustrating week for me so far. Well, it looks like a lot of deliberate practice time!
  • I got my database schema, routing, and wireframes for my capstone project approved by Dani, so I'm finally able to start coding the backend! Heck yeah! I've already generated my models, controllers, and serializers. I do need custom associations in my Favorite model because I'll be pulling data from a 3rd party API (thank you tvmaze), so I'm waiting for next week's lesson on custom associations to do that! Next up is creating some dummy data in my seeds file to put my associations through the wringer and make sure they're doing their jobs!

Random

  • I've decided to start documenting new things I learn on LinkedIn! It sounds super scary, but I'm feeling motivated after I had an awesome and enlightening conversation with Chad, an engineering manager at Netlify. He encouraged me to put myself out there and market myself to the world!
  • I created a Twitch account to stream my codes! Come follow me @roOnRails :) I still need to figure out some logistics (and by that, I mean waiting on a friend to help me set up my Twitch because I have no idea what I'm doing), but I plan on streaming weekly to hold myself accountable and make new friends.

RAD

meme


Day 44: Feb 20, 2022 Sunday

Rewind, Reflect, Repeat!

  • I learned how to add frontend validations to my Vue.js application! These validations are not required to appear on the backend, but only implementing frontend validations may not be best practice. In the context of my Vue.js app (https://github.com/rookim/movie-vue-app), I used the JWT (JSON Web Token) stored in localStorage to conditionally show and hide links. For example, if the user is logged in, they are able to view the logout link that removes their JWT from localStorage. If a user is not signed in, they will see the signup and login links. To do this, I simply add some logic in the methods option to make this work.

Ro Reacts

  • This past week has been an especially hectic week for me, with visiting LA for my birthday and whatnot. So I definitely struggled with managing my time, making sure I was caught up with lectures and completing my assignments in a timely manner.
  • Something I have gotten better at this week is problem solving with very limited knowledge. There were lectures I missed due to an overlap in class time and my flight, and as a result, doing the homework with nearly no idea of what I'm doing was common. Thanks to this, I deliberately practice my Google search and reading documentation skills. While it took much me longer to complete the homework than usual, I proved to myself that I am perfectly capable of solving new problems with what I already knew!

Day 35: Feb 11, 2022 Friday

Rewind, Reflect, Repeat!

  • I learned how to build a CRUD application using Vue.js! CRUD stands for Create, Read, Update, and Destroy and they represent four basic functions that many programmers use when constructing their web application. It's a very well-known convention. Now how is it different from the REST (Representational State Trasfer) concept? REST is a conventionally-accepted architectural style for software and especially for web APIs. CRUD on the other hand is an acronym for the four major functions used to interact with database applications. It serves as a quick reminder of what sort of data manipulation functions are needed for an application to feel complete. There is certainly overlap between the two concepts, but they are NOT the same thing!
  • Did you know that objects in JavaScript are stored and copied "by reference?" What I mean by that is, storing data of objects works a bit differently than storing data of primitive values. If I were to set a variable called person equal to an object { name: "ro" }, and then I set a separate variable called developer equal to the variable person, JavaScript under the hood is simply copying over the reference and not that actual object data itself. As a result, if I were to alter the person variable and perform person.name = "lyn" instead, that change will also be reflected in the developer variable!!
  • I also learned how to make Single Page Apps (SPA) and Multi Page Apps (MPA)! In the most simplest terms, SPAs are apps that does not require page reloading during their use. All code is frontloaded when the app is first accessed, whereas for MPAs, they require a page reload when the content changes. As such, there are both pros and cons to both. I'll have to carefully consider what type of app is best for my capstone project! (I'm definitely guessing that a SPA will suffice lol...)

Ro Reacts

  • I'm already halfway through my bootcamp, can you believe it?! Something I struggling with is constantly feeling this sort of sense of inadequacy and uncertainty. I certainly acknowledge that I'm making immense progress, but I feel like I am always fighitng with this thought of "am I doing enough?"
  • Something I have improved is maintaining a better sleep schedule! It has greatly helped in concentrating in class and in motivating me. Sleep is soooooo important, I can't stress that enough.
  • Advice I would give myself a couple of weeks ago is to stop staying up late to code!!! The code will be there in the morning when you wake up, I promise!!!

Random

  • BIG facepalm moment on Tuesday night haha. Apparently the wrong homework was assigned, and most of us (except Kevin of course) struggled. We struggled together though, at least I did with Ben, Erin, and Greg. We were up pretty late tackling the homework, but hey, that's better than wanting to bang my face against my computer by myself.
  • Honestly, my classmates are all amazing resources. Whenever I have the time, I always try to reach out to my cohort mates about studying and doing homework together, and those experiences have been very valuable. Everyone provides a different perspective that I would have never considered before. I'm sad I only have 6 weeks with them left!!

Day 28: Feb 4, 2022 Friday

Rewind, Reflect, Repeat!

  • As of today, I have officially learned everything I need to know to build a full-on web app! I REPEAT: AS OF TODAY, I HAVE OFFICIALLY LEARNED EVERYTHING I NEED TO KNOW TO BUILD A WEB APP!

  • This week was all about JavaScript! I'm not going to lie, JavaScript has been a pretty steep learning curve for me. There's a lot more attention to detail that is required when writing in JavaScript. Some key differences I've noticed between JavaScript and Ruby are:

    1. JavaScript (JS) can be used as both a front-end and back-end language. The browser speaks JS. Ruby seems to be primarily a back-end language. As a result, JavaScript is a lot more flexible. There are many more things you can achieve and accomplish with JavaScript. But that's not to say Ruby is inferior! I LOVE RUBY!
    2. JavaScript is what they call asynchronous code. If a block of code is taking time to run, JavaScript will just dump in a queue and move right on to the next block of code. Ruby is completely synchronous. It waits for every line of code to be completed before moving on to the next. This definitely adds another level of complexity to JavaScript! If a block of code has a dependency on a previous block of code, there could be issues!!
    3. Syntax in JS is wild! Forgetting one lone semicolon CAN AND WILL break your code! I have also found writing out methods for data types to be confusing. I kept forgetting the return statement when writing certain methods like the sort() method and the reduce() method, and while my code seemed to run fine, I would not get any output. That's where I learned my lesson that JS does not have implicit return very well!! Small syntax errors can really turn into a big mess later on, so I always remind myself to slow down to speed up!
  • Along with JS, I learned a framework for it! Vue.js! With HTML, CSS, JS, and Vue under my belt, I finally have all the tools I need to build a full-stack web app! ISN'T THAT AWESOME!! Vue has an awesome feature called directives that allow the developer to manipulate the DOM using special HTML attributes. Every directive starts with "v-" to indicate that it's a special HTML attribute that exists thanks to Vue. With directives, I am able to output a certain action when the user clicks a HTML-rendered button for example (like revealing a super-secret hidden message).

  • In job hacking, I worked on building our own personal website! Mine's still a work in progress, but here it is!

Ro Reacts

  • These weekly emails from Ruby Weekly are a gold mine. Job opportunites, recent and relevant news, articles/tutorials, a useful tip, and more?! My only complaint is that there is not enough hours in a day to read through all this, AND deliberately practice code, AND job search!
  • Advice I would give to my past self learning all this material is to work hard to have a consistent sleep schedule!! Being tired during class is a horrible way to learn. You don't retain as much information, and it's so much harder to concentrate. I KNOW you're in the process of rewatching Attack on Titan, and it's so hard to put the phone down, but it can wait!!

Random

  • If JavaScript were a Kanto Pokemon, it would totally be a Weedle. Weedles are EVERYWHERE! Especially for a more advanced trainer, Weedles can get super annoying, but soon enough you realize it's still kind of useful for leveling up. Even though you're tired of seeing it everywhere, you might as well catch it because you're bound to gain experience from it nonetheless.
  • My birthday was on February 1! It snowed a lot here in Chicago suburbs though, so I had to cancel my trip to Chicago. I did absolutely nothing instead and it was glorious :) I LOVE CAKE!!

Day 21: Jan 28, 2022 Friday

Rewind, Reflect, Repeat!

  • I am kind of struggling with brainstorming ideas for my capstone project. My ideas so far: record the price of a security every minute and translate that data into a graph, securely and safely store account information (emails, passwords, security questions and answers, etc.), keep track of the anime you are currently watching and know exactly when the next episode is coming out, malware protection, keep track of all the products you are currently using in your skincare routine. WHICH TO DO! This is where I go slack Dani and pick her brain..
  • I've gotten much better at incorporating Ruby methods! I used the map method like crazy this week lol.
  • A resource I find extremely helpful when I'm stuck is the exercises channel in the Actualize Byte Club slack! Going over the exercises we did that day gives my brain a much-needed jumpstart when reviewing concepts and ideas.

Ro Reacts

  • This week's community nights was none other than MVC CRIBZ! I got to see everyone's homes, and it was wonderful. I think my personal favorite was Camden's house.
  • Is it just me, or does it seem like time is transporting itself?! We're already 1 month in!
  • Must practice... decomposition...

Random

  • Did you know, Rhydon is the first pokemon to ever be created?

Day 14: Jan 21, 2022 Friday

Rewind, Reflect, Repeat!

  • I learned about association methods and how to link different models.
  • Farmers have many cows! Cows are branded by one farmer!! Although I guess it's not impossible theoretically for a cow to have many owners..
  • Refer to the farmer serializer in the cow serializer to finetune information outputted about the farmer associated with the cow.

Ro Reacts

  • The more I learn about all the components that go into a rails application, the more I'm like huh?! When you add one new concept (in today's case, I learned about association methods and serializers), you have to make sure you change the rest of your app accordingly so that it doesn't break! Talk about super confusing!
  • I played a fun little game on association methods and thanks to that, I think I was the most engaged in the lesson than I ever was. More games, Dani!

Random

meme


Day 13: Jan 20, 2022 Thursday

Rewind, Reflect, Repeat!

  • Sanitizing database is important for when I am accepting user input to prevent against SQL injection!

Day 11: Jan 18, 2022 Tuesday

Rewind, Reflect, Repeat!

  • I learned computer science stuff like Big O Notation! I definitely need to study up on this more.
  • I went over whiteboarding in class.. (Clarify, Visualize, Verify, Code, Debug, Refactor)

Ro Reacts

  • Whiteboarding in technical interviews somehow seems scarier... No way to run your code?! THE HORROR! No syntax highlighting?! JUST END ME! (not exactly)

Random

  • I said I would update this every business day... OOPS. I'll do my best from here on out. Heh.

Day 7: Jan 14, 2022 Friday

Rewind, Reflect, Repeat!

  • I am STILL struggling with holding myself back and decomposing first when I code. Today was an extremely frustrating day for me. I learned about REST conventions and other verbs besides GET in web requests. I could not get anything to work, and I asked more questions today during exercises than I did for the past 2 weeks of class! Ugh. I understood what I had to do conceptually, but my fingers were typing way faster than I could properly think.

Ro Reacts

  • I'm finding out that while I love aesthetics and looking at pretty websites, I'm definitely more of backend kind of gal.

Random

  • TIL (Today I Learned) programmers for the most part follow a convention when creating APIs (Application Programming Interface). They're called REST (Representational State Transfer) APIs. Through a REST API, you can allow various clients to communicate with a server. By not following these commonly-accepted conventions, it can serve as a detractor in the future and confuse those maintaining and utilizing that API. We primarily focused on properly naming the routes in our apps to pull up a specific type of data. We learned routes that start with the verbs GET, POST, PATCH, and DELETE. The GET verbs serves as a way for the client to retrieve data that is meant to be read. The POST verb allows the client to send a request to add a piece of data to an existing database. The PATCH verb updates existing data. Finally, the DELETE verb DESTROYS data!! It's very destructive!!

Day 0: Jan 7, 2022 Friday

Rewind, Reflect, Repeat!

  • I learned about APIs today. For now, I understand them as things that provide data. Not going to lie, I'm still struggling to understand exactly what it is. It's hard for me to visualize an API.
  • DECOMPOSE! DECOMPOSE! I'm realizing how important decomposing is. I'm getting better at doing this even for problems I find easy, but with targeted practice, I hope to continue to improve this skill!
  • Modules are very similar to classes. You can't create instances from them, but you can use them as a namespace to wrap around classes.

Ro Reacts

  • I love learning Ruby! I might even like it better than Python, dare I say!?
  • I need to get on Twitter because it's apparently the hot dev hub right now.

Random

  • I don't have anything to write here today, but I'm creating this section just in case I have other things I'd like to add to my work journal!!!!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment