Software Development and Programming Careers (Official Discussion Thread)

TrebleMan

Superstar
Joined
Jul 29, 2015
Messages
5,592
Reputation
1,180
Daps
17,541
Reppin
Los Angeles
Picked up Elixir/Phoenix again, it's pretty beast when it comes to using it as a web server for HTML templating. Really sat down to see how Plug and Ecto worked, had the roughest time with understanding changesets, but then I was getting the has_many/belongs_to relationship backwards with build_assoc. After getting that down, I really prefer the way it hits the DB over most languages now.

That being said, for portfolios is it common to have apps that will make requests to other api's that you have written in a different language? Maybe even write an app with two different back end languages? Like let's say one language takes requests and hits the DB but also sends the data in that request to an endpoint you have in another language which does the heavy computations with the data structures before sending it back to the first language to hit persistent storage?

edit: I guess it wouldn't be so much different than hitting any other api server-side.
 
Last edited:

KritNC

All Star
Joined
Jun 5, 2012
Messages
3,440
Reputation
610
Daps
4,085
Reppin
Costa Rica
Picked up Elixir/Phoenix again, it's pretty beast when it comes to using it as a web server for HTML templating. Really sat down to see how Plug and Ecto worked, had the roughest time with understanding changesets, but then I was getting the has_many/belongs_to relationship backwards with build_assoc. After getting that down, I really prefer the way it hits the DB over most languages now.

That being said, for portfolios is it common to have apps that will make requests to other api's that you have written in a different language? Maybe even write an app with two different back end languages? Like let's say one language takes requests and hits the DB but also sends the data in that request to an endpoint you have in another language which does the heavy computations with the data structures before sending it back to the first language to hit persistent storage?

edit: I guess it wouldn't be so much different than hitting any other api server-side.

Ecto is pretty nice but I would recommend moving your Repo calls out of web and into lib. (This will be the default in Phoenix 1.3)

The best summary of Plug I have seen is:

Each step or "plug" in the pipeline copies and enriches the conn struct with more data.

Glad to see someone else working with Elixir and Phoenix. Changesets are a little bit tricky but once you get a hang of them they are really nice. Have you built anything with Phoenix yet that you can share, I would love to check it out.
 
Last edited:

TrebleMan

Superstar
Joined
Jul 29, 2015
Messages
5,592
Reputation
1,180
Daps
17,541
Reppin
Los Angeles
Ecto is pretty nice but I would recommend moving your Repo calls out of web and into lib. (This will be the default in Phoenix 1.3)

The best summary of Plug I have seen is:

Each step or "plug" in the pipeline copies and enriches the conn struct with more data.

Glad to see someone else working with Elixir and Phoenix. Changesets are a little bit tricky but once you get a hang of them they are really nice. Have you built anything with Phoenix yet that you can share, I would love to check it out.

I absolutely love plugs and the functional programming approach to representing the connections like that. Then how those built conn structs are available near in the phoenix app, great stuff. I absolutely love how that limits the querying of databases because you could store things like user id on conn.assigns.

I built a RESTful API a few months ago with Phoenix that had some MVC + websockets in them and a ReactJS front end, but ended up not wanting to push it to github. I stopped out of sheer frustration when I first started. I'm actually pretty familiar with the language, but back then the intricacies and nuances were killing me. In particular a lot of the "magic" threw me off at first, but when you find out more of what's going on in the background/under the hood it's a really nice language.

The changesets and models were killing me at first regarding the relational database stuff. Like if :post has_many :comments relationships were throwing me off when I'd use build_assoc. Also being that it's described as :posts in the migration file when creating a postgres table and model schemas in the phoenix models. I just couldn't figure it out. Then if I had
Code:
build_assoc(%Post{post_id: 5}, :comments)
I'd expect a
Code:
%{Postpost_id: 5, comment_id: 5}
to be returned with it's comments, but rather it'd return back a
Code:
%Comment{id: 5, post: post}
instead and for some reason never was able to make the mind switch until recently. But yeah changesets were definitely confusing at first, but great once you make a few realizations/find out what they are.

Honestly, part of the reason I think I was getting confused too is the Programming Phoenix book by the framework's owner was really dense and took a way too detailed approach to presenting it for me. Not blaming him for my own mistakes, but I thought it was a very complicated introduction and didn't give the big picture enough.

In general though it's a very well put together language, I'll be working on a separate project with it starting tomorrow. What's funny is I think your post a few pages back got me re-interested in it again.
 
Last edited:

EffYou

Pissing excellence since 1995
Joined
Oct 12, 2014
Messages
3,453
Reputation
50
Daps
11,819
Learning JavaScript currently and it's going lovely :takedat:


Self teaching, trying to land a jr web developer job before the year ends. Also plan on going to school for computer science (hopefully get a company/job that wants to pay my way thru, if not I'll just grind it out and pay for 1-2 classes a semester out of pocket :wow:)



Thanks @kevm3 For helping me get started
 

kevm3

follower of Jesus
Supporter
Joined
May 2, 2012
Messages
16,292
Reputation
5,551
Daps
83,488
Learning JavaScript currently and it's going lovely :takedat:


Self teaching, trying to land a jr web developer job before the year ends. Also plan on going to school for computer science (hopefully get a company/job that wants to pay my way thru, if not I'll just grind it out and pay for 1-2 classes a semester out of pocket :wow:)



Thanks @kevm3 For helping me get started

Keep it up bruh. Grind hard at it and you'll get a job with it.
 

Matt504

YSL as a gang must end
Joined
Sep 7, 2013
Messages
45,083
Reputation
14,687
Daps
272,825
Learning JavaScript currently and it's going lovely :takedat:


Self teaching, trying to land a jr web developer job before the year ends. Also plan on going to school for computer science (hopefully get a company/job that wants to pay my way thru, if not I'll just grind it out and pay for 1-2 classes a semester out of pocket :wow:)



Thanks @kevm3 For helping me get started

what resources are you using to learn?
 

Mr Rager

Leader of the Delinquents
Supporter
Joined
Feb 9, 2014
Messages
15,572
Reputation
5,640
Daps
69,883
Reppin
Mars
Seems like there's no hope for even a jr dev job without a computer science degree :mjcry:
I have a Master's but its in Criminal Justice, and I can't afford to go back to school for CS :snoop:
Does anyone have any good job search resources or recommendations ? Indeed and Monster have too much spam to wade through
 

EffYou

Pissing excellence since 1995
Joined
Oct 12, 2014
Messages
3,453
Reputation
50
Daps
11,819
what resources are you using to learn?
Errything lol

I mean I bounce around platforms when I get stuck.

-Team treehouse(used their trial, ill become a permanent member soon)
-Udemy (I brought the web dev class by colt Steele)
-SoloLearn(iOS app where I picked up html/CSS/JS courses for on the go)
-a beginners guide Javascript(study guide)


2-5 hours of studying erryday

Going ham :jawalrus:







Steep learning curve, but shyt finally starting to make sense :gladbron:
 

ViShawn

Superstar
Supporter
Joined
Aug 26, 2015
Messages
13,715
Reputation
5,126
Daps
45,812
YaWTrj9.png


Gonna build me a Raspberry Pi Cluster and play with some configuration management tools :blessed:
 

Obreh Winfrey

Truly Brehthtaking
Supporter
Joined
Nov 18, 2016
Messages
20,706
Reputation
25,201
Daps
131,205
Anyone else download Linux distros just to mess around with them in VirtualBox for a few days and then never touch them again :mjgrin:
 

Obreh Winfrey

Truly Brehthtaking
Supporter
Joined
Nov 18, 2016
Messages
20,706
Reputation
25,201
Daps
131,205
I can be guilty of this. Usually in the context of a project or something though
I think I do it more to find a distro with a good aesthetic. Some distros look a little janky and that's offputting for me. For example I liked the performance of Lubuntu but it just didn't look that great. I stumbled upon Manjaro (what I run when I browse The Coli) and I like the look and feel, but I think I prefer Debian-based distros since for some reason. I just downloaded ZorinOS, LuninuxOS, and SuperX a short while ago. I'll give them a bit of a test run and hopefully settle on one for a sandbox dev environment. If none of them are any good then maybe I'll make another Manjaro box or go back to Ubuntu or Lubuntu.
 

ViShawn

Superstar
Supporter
Joined
Aug 26, 2015
Messages
13,715
Reputation
5,126
Daps
45,812
I think I do it more to find a distro with a good aesthetic. Some distros look a little janky and that's offputting for me. For example I liked the performance of Lubuntu but it just didn't look that great. I stumbled upon Manjaro (what I run when I browse The Coli) and I like the look and feel, but I think I prefer Debian-based distros since for some reason. I just downloaded ZorinOS, LuninuxOS, and SuperX a short while ago. I'll give them a bit of a test run and hopefully settle on one for a sandbox dev environment. If none of them are any good then maybe I'll make another Manjaro box or go back to Ubuntu or Lubuntu.

Just go Arch Linux and customize it yourself bruh :hhh:
 
Top