GopherCon 2014

Crea tus propias herramientas de desarrollo con Go

Alan Shreve  · 
go

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

so my name is Alan Shrieve I'm at inconceivable on the Internet's and today I'm going to talk about living outside of the cloud and we'll get to exactly what that means in just a little bit so I just want to give you an idea of exactly where

we're going with this presentation this one is going to be focusing on the practical nitty-gritty kind of stuff it's not every day that I get to talk to so many Gophers so I want to go into like the real like details like sink into some of the things

that most most of the time I don't get to talk about so just kind of a quick overview of what we'll talk about in the talk just a motivation and then about why we're talking about these things and then I'll talk about how to embed assets in

your programs how to cross compile how to deal with terminal UX how to do crash reporting and how to do auto updating alright so why why am I talking about being these things why why did they matter to me I work on a developer tool called end rock show of

hands how many people have heard of or used and rock and not bad so there's there's a problem with end rock and the problem is so this is the big architecture diagram of end Rock it's a tool that runs here it runs on your laptop it doesn't

run here and running on a laptop running on computers that I don't control is difficult and it's a lot of not here so that's I think unique client activity over weeks over the last month so there's there a lot of users that you have to deal

with so when you're talking about there are a number of problems that that occur when you're dealing with when you're dealing with web services are sorry when you're dealing with console active like command-line tools things that you deploy

to other environments that you don't have to deal with when you're developing Web Services and they add like a whole okay so they're not web services are not really easy they're all sorts of like distributed systems problems and things like

that but they have a whole bunch of other problems that you typically don't have to think about so as a thought experiment like think of the typical service that you work on your your web service and think about if you deployed it every day now that's

too easy think about if you deployed it a hundred times a day and on wildly different platforms and operating systems and that every deployment that you did continues to run forever and that each deployment was deployed by a different engineer or sis op or

whatever and that some of them are actually gorgeous I grew up with a quarry they're really bad at computers okay so this is this is like operating like out in the real world like out in environments that you don't control I was talking last night

with baron and he called these hostile environments which I like a lot so just like how wildly different like platforms and archit architectures are we talking about this was a support request I got and rock is crashing immediately when I tried to run it on

Windows 2000 on some really old hardware I was like why okay I don't know so I was like searching around Google and like came across like other people would run into this found an issue on Google code so a little bit of trivia this particular processor

didn't have the sse2 instructions so it couldn't actually do the floating point math that go to the Glee ships with if you have this problem you can actually solve it there's a special environment variable to change how go does floating-point so

it did actually end up working all right so I want to talk about how you embed assets into your go programs this is is a problem that most of you probably don't have if you're so what do I mean by assets first this is what I mean by assets if you like

have a website it's like all of your static files and things like that templates and CSS and stuff like that you're like why like why do I care about this right why does this matter and it matters it doesn't matter so much like on your host service

because you can put the assets on the Box yourself and you can guarantee right that I'm going to invoke my web service from this directory and it will always be able to find the assets because they're always being going to be put in this path but remember

in the in the outside world you have to code for corgis okay and they will do horrible things like they will move your program to an entirely different part of the file system or they'll put it in a different directory or after it starts running they'll

move it or delete it or I don't know yeah they'll run it from shelves like things all sorts of things right there people all right so when you're thinking about deployment artifacts even on your own systems this is this is kind of something that

you think about where you're like oh man well I could have a whole bunch of extra static assets but it'll be a lot nicer if I just had one artifact right and this is what you know people are talking about when they build fat jars or wars in the jvm

[ ... ]

Nota: se han omitido las otras 2.507 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.