Kim Pham

State vs Props in ReactJS

2 minute read Published:

In React, components are used to translate raw data into rich HTML. Props and state constitute the raw data that gets transformed into HTML using the render() function of a component. State belongs to a particular component, is stored within the component, and is used only by the component itself. State can be updated within a component, for instance based on an action (such as user event or network response).

flatiron school portfolio project 005 + bringing it all together

3 minute read Published:

and…that’s a wrap. what a year and a bit it’s been. finally, i accomplished something that i’ve been thinking about doing for a long time (about 2 years?), jumped in, managing that with a full time job, life in a new country, precious life things outside of work. i had a hard time juggling everything, but i feel good about finishing the program. coding notes along the way How is the app organized?

flatiron school portfolio project 004 + church wafer javascript

2 minute read Published:

i’ve been working on my fourth portfolio project for flatiron while doing a west coast tour of the United States. inspired by my friends, ardent lovers of good food made with care and consideration, i decided to make my application about recipes. i find that the flatiron school has a solid, tight curriculum - everything i’ve learned in the program so far has built upon each other. in a specific programming language (Ruby) you start by learning about basic programming (basic operators, syntax, loops), then learn about object-oriented programming, then you learn about HTML, CSS, SQL, then you learn a lightweight Ruby framework (Sinatra), then a more powerful Ruby framework (Rails), then using Ruby and Rails with vanilla (meaning basic, or church wafer) Javascript, and finally we’ll learn to use a powerful Javascript framework (React).

flatiron school portfolio project 003 + ruby on magic

4 minute read Published:

i completed my first ever ruby on rails project - climbing_gear. that, for me, is a pretty big deal! for a long time i’ve used programming languages for scripting, adding simple functionality and building some pretty simple applications where i worked on just the frontend/backend/server. i never worked on each level of an application. so making a full stack rails application is something i’m pretty glad i got to finally do.

flatiron school portfolio project 002 + making reading lists with sinatra

2 minute read Published:

it was a quick turnaround for me to build our second portfolio project, a Sinatra app that uses a whole new slew of ruby web technologies for me, including Rack, Activerecord, Rake, and bcrypt. in brief, i built an application that behaves like a content management system in that it lets people have their own account to create a list of items to read in the future. a user can add a reading item and enter in an item’s title, url, and notes about the reading item.

flatiron school portfolio project 001 + updating nokogiri

4 minute read Published:

our cohort is is working on our first portfolio project two months into the flatiron school software engineering part time program. we were asked to create a ruby gem that provides a command line interface to interact with the application that uses an external data source (either by API or web scraping). we were able to use any external data source we wanted, so i made the obvious choice for myself and decided to scrape mountain project, a site that describes climbing routes and locations in north america.

i put the classic climbs code repository up on github with details on how to install and run the application. it’s a little object oriented application that scrapes classic sport climbs, prints out a list of those climbs, and the user can then select one of those climbs to get more details about it, scraped from a specific climb’s page, such as space boyz (point of pride note: i climbed this route in march!)

it was a fun exercise to create this application, and it helps that you get to work on content that you enjoy working with. getting to build an object oriented ruby application hardened some of the concepts for me, and helped me think through some of the ways to optimize the program by thinking hard about separation of concerns, improving performance, and trying to be DRY (don’t repeat yourself).

i wanted to note one thing, which makes me think about what it means to work in tech or to be a software developer.

the tl;dr: software development is not just about programming and getting your code to work for you, there’s many considerations to take into account to say that you have a working application. it’s the planning, setting up environment, testing, deployment, security, everything to make your code not only work but continuously operational.

i'm in the software engineering program at the flatiron school

2 minute read Published:

hello, just introducing myself here on this very website that is my own. i’m currently in the Software Engineering 10-month part-time program – part-time because i am also working full-time as a librarian! yes I like books, no I do not get to read them for my job. librarians are information professionals, so that means often times our role is to help with the organization and access of information. this can take on many forms, depending on the type of librarian you are. there are subject librarians, such as a science librarian, who might work directly with students and faculty to find the most appropriate resources for their research. there are metadata librarians, who help create, clean, structure, and organize records that are indexed and made searchable in databases. then there are technology librarians (such as myself), who helps to design the software for users to interact with databases/datastores.

in my role, i primarily do project management and am a product manager for our digital repository, a custom application to search through our collections of digitized or born digital archival materials, such as scanned photos, audio and video clips, archived websites, documents, etc.

my own tips to myself, the hopeful learner: - keep notes. copy and paste sections that are useful, even if you don’t ever go back to it (which i actually do), it helps to just go over it again to help with learning the concept. i also keep a list of methods, short code examples that i refer to when i’m coding as just a reminder of what’s available to use if i can’t remember the name or the exact functionality - look for other tools to help with learning. i use jupyter notebooks an easier way to manipulate and test code - look for other cheatsheets to help with learning. i’ve found some good xpath and regex cheatsheets out there that i just do a quick skim of if i have to create a query, cause i find the syntax is really hard to remember offhand


1 minute read Published:

hey. welcome