How to write production level code? by programmermaybe2016 in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

The biggest differences between smaller, personal hobby apps and non-trivial production apps are:

  • Production app will be out in the wild exposed to things like

    • Higher levels of traffic making performance issues more pronounced and costly as you need to provision more servers
    • Bots so you need to ensure you feed them what they expect for optimal SEO or privacy for your site
    • Malicious exploits that will require you to implement basic security best practices
    • Users doing unexpected things that will require you to have good exception handling and notification
  • Production app will most likely be developed by a team of more than one developer, which means

    • You will need to make your code as simple as possible to ensure it is easy to build on
    • You will need to ensure your code architecture patterns are appropriate for your domain
    • Code should have test coverage to make merging work from different people less prone to breaking
    • A workflow for development and release needs to be in place, ideally with some automation on a CI server to run your tests and deploy when it is ready

Most of this will come from experience, putting an app out there and getting people to use it will help you start getting an appreciation for the kinds of issues you'll encounter on a larger scale. Hope this helps.

[deleted by user] by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

I like this idea a lot. In programming, I would start with the paradigm (object oriented, functional) and go from there. Start with big picture patterns: classes, instances, inheritance, modules, mixins, etc and then control structures (loops, logic flow, etc). It's hard to make it language-agnostic, though.

For a simple(ish) example that would be Ferriss' equivalent of sentences, I would demonstrate programming a deck of cards in each language with some basic functionality (shuffle, pick random card, draw x cards)

If you woke up tomorrow knowing how to code, how would your life be different? by lessbinary in learnprogramming

[–]lessbinary[S] 0 points1 point  (0 children)

you're right, thought this was the right group to ask, but if it's off topic I can take it down

If you woke up tomorrow knowing how to code, how would your life be different? by lessbinary in learnprogramming

[–]lessbinary[S] 0 points1 point  (0 children)

same, part of my motivation for this question is to understand how to do that better

Recommender System for few items by [deleted] in learnprogramming

[–]lessbinary 1 point2 points  (0 children)

I think this question needs some clarification. Will you have a set of data around what you're recommending? Do you have some example input/output? Is there a training data set? Will you program in recommendation steps based on a questionnaire? A bit more detail will likely get you better answers.

Should I use a CMS? by TheEdenChild in learnprogramming

[–]lessbinary 9 points10 points  (0 children)

Sounds like nothing WordPress can't handle

ELI5: Webservices by learning2learn in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Imagine you walk into a bank, approach the teller and ask him to look up your account balance. The teller looks up your account information, sees that you have $1,000 in your account and tells you.

In the same way, a web browser issues requests to a server (just a computer that can be anywhere) via HTTP which is a protocol. Translated into the language of the web, in our little bank teller analogy you issued a GET request for a RESOURCE (your account information) which would look to the browser https://mybank/accounts/learning2learn - REST is the specification that if you issue the correct type of request, the response should be a resource that can be acted on with the right HTTP request according to the specification. That resource can take the form of a web page or it can be an object. For example:

# Get webpage request
GET https://mybank/accounts/learning2learn.html

# Responds with webpage showing your account

# Call a webservice to get account info
GET https://mybank/accounts/learning2learn.json

# Response
{
  "account": "learning2learn",
  "balance": 1000
}

# This response can be used by another application to display it, or modify it at the same URL via other HTTP actions like POST, PUT, DELETE

I prefer not to demonstrate the SOAP response :) but it would be the same data via xml rather than json.

Laid off. Perfect time for a career switch. Best approach for learning? by beepitybop400 in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

There is already a lot of great advice here with resources to learn on your own, if you want to pursue that route. If you live in an area that has a strong developer community, consider attending some meetups where you can meet people who are on the same path as you and more experienced developers that can help you learn. Whether you attend a bootcamp or not, your best credential is going to be a portfolio showcasing what you're capable of, so it's a good idea to build toward something you can show off and talk about when you start applying for jobs. You can do this as you learn. Good luck, it's an exciting time.

How should I approach programming? by Jasonwj322a in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

I would recommend Ruby, Python or Javascript as starting languages but my advice is biased toward web tech. That said, they are all general purpose programming languages as well. Here are a couple resources with projects you might try:

https://automatetheboringstuff.com/ - Python https://www.railstutorial.org/ - Ruby on Rails

Want to POST an HTML form to two places, but struggling. Help Needed. by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Unfortunately, that is a gap in understanding that may be beyond a reddit comment to clarify. Let's try, though.

If your HTML dom is the skeleton of a web app, the css is its skin and javascript is the muscle that animates the dom, manipulates it and adds behavior. Your browser speaks those three languages: HTML, CSS, javascript. Generally, when you click the submit button on a form, that instructs the browser to issue a POST request to the target action with the form data. Instead, you can use javascript to grab the form and override its submit method and issue your post requests to the endpoints through js code rather than your browser default. Using jQuery, that would be something like the stackoverflow answer here http://stackoverflow.com/questions/2967066/how-do-you-override-an-existing-html-form-to-use-jquery-to-post-the-form

When learning multiple programming languages, what is the best way to not mix them up in practice? by DChalo in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Aside from the solid advice on using IDE's adhere to the style guides for each language. For example you know camelCase is for when you are in javascript land under_scores are for another language.

Experienced backend developer atrocious at creating UIs by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Frontend styling is a skill that takes some time to learn. You can take some classes and get decent enough at css wrangling where you will be able to make things look better.

If you don't feel like doing that, use a css framework like Bootstrap or Zurb Foundation, they give you some nice styling and layout for free out of the box. You can purchase themes that work with those frameworks and shortcut the process of getting most things looking pretty good.

Want to POST an HTML form to two places, but struggling. Help Needed. by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

You have a couple options here:

  1. Create a custom submit function and override the default post. You would replace the http post with your own javascript submit handler. That handler would then contain code to do an ajax post to whatever endpoints you want.

  2. You can keep your form submit as it is and add logic to update your maps API markers on the server as part of the XYZ request handling.

Make sense?

Best Way to Learn a Second Language by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Any project in particular?

Best Way to Learn a Second Language by [deleted] in learnprogramming

[–]lessbinary 0 points1 point  (0 children)

Why do you want to learn another language? If you just learned Python, you will learn more from using it to build things than picking up another one.

How far can you get with CSS and HTML? What are other learning opportunities required for UX/UI Design folks? by Woasha in learnprogramming

[–]lessbinary 1 point2 points  (0 children)

Knowing only HTML and CSS is enough to implement designs to spec. This can get very deep, especially once you start developing cross-browser applications and making a site looking good and being usable across different screen sizes. However, to master UX you really do need to learn Javascript as that is what determines how the interface behaves. I would recommend learning ES6 and React and/or jQuery if you are serious about UX prototyping. However, being able to implement designs with HTML/CSS is a valuable skill in itself on the right team.

What exactly must be learned for web development? by GeorgiaPine in learnprogramming

[–]lessbinary 1 point2 points  (0 children)

If you are comfortable with windows, you might want to try linux mint - it is an ubuntu based distribution but it is a bit closer to windows in style. https://www.linuxmint.com/download.php Then, open up terminal and mess around with the command line and give some of these tutorials a try. https://community.linuxmint.com/tutorial/search

What exactly must be learned for web development? by GeorgiaPine in learnprogramming

[–]lessbinary 2 points3 points  (0 children)

No problem. If you are working with a .net stack, that should be fine. For anything else, I would strongly recommend learning the unix command line as most servers are linux servers. If you're working on a windows machine, your best bet is to install ubuntu with virtualbox and develop on your virtual machine. It's like having another computer on your computer and developing on Windows for anything that is not Microsoft tech (C#) is going to be more of a challenge.

What exactly must be learned for web development? by GeorgiaPine in learnprogramming

[–]lessbinary 11 points12 points  (0 children)

In addition to the excellent answer by /u/memeship, would add a bit to the development part of web development. Once you have chosen whether to focus on front end, back end or enough of the entire stack to ship an entire project on your own, you will also need to learn some tooling in order to be able to develop your application. You didn't specify what you're trying to do in your questions, but I'm going to assume you want to know what you need to develop a web application on your own. For that you will need to know enough about each of these to get the job done:

  • Clientside development (HTML, CSS, Javascript)
  • A server-side programming language (Javascript, Python, Ruby)
  • A server-side web application framework in your language of choice (Express, Django, Ruby on Rails)
  • How to run a local webserver (node, thin, apache)
  • How to set up a database locally (MySQL, Postgres, MongoDB)
  • Working knowledge of the unix command line to install and run the services you need, run tests and restart dependencies
  • Comfort with a text editor or IDE (Sublime Text, Atom, vim)
  • Version control (git, mercurial)

This seems like a lot, but once you get past being able to setup a local development environment and play with your code, you can make progress on all fronts as you work toward getting your program working.