{"id":2834,"date":"2017-05-22T13:50:00","date_gmt":"2017-05-22T12:50:00","guid":{"rendered":"http:\/\/www.diogonunes.com\/blog\/?p=2834"},"modified":"2020-05-15T14:23:12","modified_gmt":"2020-05-15T13:23:12","slug":"csharp-write-read-images-sql-server","status":"publish","type":"post","link":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/","title":{"rendered":"Insert and read images on SQL Server using C#"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?resize=580%2C442\" alt=\"archive-005\" width=\"580\" height=\"442\" class=\"aligncenter size-full wp-image-2849\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?w=1600&amp;ssl=1 1600w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?resize=400%2C305&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?resize=768%2C585&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?resize=1024%2C780&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?resize=1200%2C914&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/p>\n<p><!--more--><\/p>\n<h3>Writing to SQL Server database<\/h3>\n<p><strong>base64 to byte[]<\/strong><\/p>\n<pre><code>\/\/ Restore the byte array.\nbyte[] newBytes = Convert.FromBase64String(strBase64);\n<\/code><\/pre>\n<p><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/system.convert.frombase64string%28v=vs.110%29.aspx\">Source<\/a><\/p>\n<p><strong>byte[] to SQL varbinary<\/strong><\/p>\n<pre><code>byte[] buffer = File.ReadAllBytes(\"Path\/to\/your\/image\/\");\nSqlCommand command = new SqlCommand();\ncommand.Text=\"INSERT INTO YOUR_TABLE_NAME (image) values (@image)\";\ncommand.Parameters.AddWithValue(\"@image\",buffer);\ncommand.ExecuteNonQuery();\n<\/code><\/pre>\n<p><a href=\"http:\/\/stackoverflow.com\/a\/7325145\/675577%E2%80%8B%E2%80%8B\">Source<\/a><\/p>\n<h3>Reading from SQL Server database<\/h3>\n<p><strong>Scalar to byte[]<\/strong><\/p>\n<pre><code>const string sql = \"SELECT data FROM files WHERE name = @name\";\nusing (var conn = db.CreateConnection())\nusing (var cmd = conn.CreateTextCommand(sql))\n{\n    cmd.AddInParam(\"name\", DbType.String, name);\n    conn.Open();\n    return cmd.ExecuteScalar() as byte[];\n}\n<\/code><\/pre>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/22771133\/insert-byte-array-into-sql-server-from-c-sharp-and-how-to-retrieve-it\/22771540#22771540\">Source<\/a><\/p>\n<p><strong>byte[] to base64<\/strong><\/p>\n<pre><code>\/\/ Convert the array of bytes to a base 64 string.\nbyte[] bytes = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };\nString strBase64 = Convert.ToBase64String(bytes);\n\n\/\/ Restore the byte array.\nbyte[] newBytes = Convert.FromBase64String(s);\n<\/code><\/pre>\n<p><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/system.convert.frombase64string%28v=vs.110%29.aspx\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2849,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[47,29],"class_list":["post-2834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-c-sharp","tag-coding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Insert and read images on SQL Server using C# - The Geeky Gecko<\/title>\n<meta name=\"description\" content=\"Code examples in C# about converting byte[] to base64 and SQL Server&#039;s varbinary. This allows you to save images to your DB and get them back again.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Insert and read images on SQL Server using C# - The Geeky Gecko\" \/>\n<meta property=\"og:description\" content=\"Code examples in C# about converting byte[] to base64 and SQL Server&#039;s varbinary. This allows you to save images to your DB and get them back again.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\" \/>\n<meta property=\"og:site_name\" content=\"The Geeky Gecko\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-22T12:50:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-15T13:23:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1219\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Diogo Nunes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:site\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diogo Nunes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\"},\"author\":{\"name\":\"Diogo Nunes\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"headline\":\"Insert and read images on SQL Server using C#\",\"datePublished\":\"2017-05-22T12:50:00+00:00\",\"dateModified\":\"2020-05-15T13:23:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\"},\"wordCount\":36,\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1\",\"keywords\":[\"c#\",\"coding\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\",\"name\":\"Insert and read images on SQL Server using C# - The Geeky Gecko\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1\",\"datePublished\":\"2017-05-22T12:50:00+00:00\",\"dateModified\":\"2020-05-15T13:23:12+00:00\",\"description\":\"Code examples in C# about converting byte[] to base64 and SQL Server's varbinary. This allows you to save images to your DB and get them back again.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1\",\"width\":1600,\"height\":1219},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.diogonunes.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Insert and read images on SQL Server using C#\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/\",\"name\":\"The Geeky Gecko\",\"description\":\"The Geeky Gecko\",\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\",\"name\":\"Diogo Nunes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"width\":799,\"height\":799,\"caption\":\"Diogo Nunes\"},\"logo\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.diogonunes.com\",\"https:\/\/x.com\/dialexnunes\"],\"url\":\"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Insert and read images on SQL Server using C# - The Geeky Gecko","description":"Code examples in C# about converting byte[] to base64 and SQL Server's varbinary. This allows you to save images to your DB and get them back again.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"Insert and read images on SQL Server using C# - The Geeky Gecko","og_description":"Code examples in C# about converting byte[] to base64 and SQL Server's varbinary. This allows you to save images to your DB and get them back again.","og_url":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/","og_site_name":"The Geeky Gecko","article_published_time":"2017-05-22T12:50:00+00:00","article_modified_time":"2020-05-15T13:23:12+00:00","og_image":[{"width":1600,"height":1219,"url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","type":"image\/jpeg"}],"author":"Diogo Nunes","twitter_card":"summary_large_image","twitter_creator":"@dialexnunes","twitter_site":"@dialexnunes","twitter_misc":{"Written by":"Diogo Nunes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#article","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/"},"author":{"name":"Diogo Nunes","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"headline":"Insert and read images on SQL Server using C#","datePublished":"2017-05-22T12:50:00+00:00","dateModified":"2020-05-15T13:23:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/"},"wordCount":36,"publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","keywords":["c#","coding"],"articleSection":["Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/","url":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/","name":"Insert and read images on SQL Server using C# - The Geeky Gecko","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","datePublished":"2017-05-22T12:50:00+00:00","dateModified":"2020-05-15T13:23:12+00:00","description":"Code examples in C# about converting byte[] to base64 and SQL Server's varbinary. This allows you to save images to your DB and get them back again.","breadcrumb":{"@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#primaryimage","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","width":1600,"height":1219},{"@type":"BreadcrumbList","@id":"https:\/\/www.diogonunes.com\/blog\/csharp-write-read-images-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.diogonunes.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Insert and read images on SQL Server using C#"}]},{"@type":"WebSite","@id":"https:\/\/www.diogonunes.com\/blog\/#website","url":"https:\/\/www.diogonunes.com\/blog\/","name":"The Geeky Gecko","description":"The Geeky Gecko","publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c","name":"Diogo Nunes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","width":799,"height":799,"caption":"Diogo Nunes"},"logo":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.diogonunes.com","https:\/\/x.com\/dialexnunes"],"url":"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/archive-005.jpg?fit=1600%2C1219&ssl=1","jetpack-related-posts":[{"id":2835,"url":"https:\/\/www.diogonunes.com\/blog\/csharp-send-image-xml\/","url_meta":{"origin":2834,"position":0},"title":"Sending image in XML using C#","author":"Diogo Nunes","date":"19 June, 2017","format":false,"excerpt":"On the sender side, start with your image as a byte[]. Convert the array to a text representation (a base64 string) using Convert.ToBase64String(array). Put that base64 string into the XML. On the receiver side, simply decode the base64 back to byte[] using Convert.FromBase64String(string). For details on each of those operations\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/hands-opening-envelope-on-crowded-desk.jpg?fit=1200%2C667&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/hands-opening-envelope-on-crowded-desk.jpg?fit=1200%2C667&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/hands-opening-envelope-on-crowded-desk.jpg?fit=1200%2C667&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/hands-opening-envelope-on-crowded-desk.jpg?fit=1200%2C667&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/09\/hands-opening-envelope-on-crowded-desk.jpg?fit=1200%2C667&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1451,"url":"https:\/\/www.diogonunes.com\/blog\/calling-webservice-without-wsdl-or-web-reference\/","url_meta":{"origin":2834,"position":1},"title":"Calling Web Service without WSDL or Web Reference","author":"Diogo Nunes","date":"17 November, 2014","format":false,"excerpt":"Once I had to test in C# a dozen of web services developed by a third-party. However they provided no WSDL and no ASMX - therefore it would be impossible to use Web References. They only provided the name of the web methods, their urls, calling credentials and an XML\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/11\/77043.jpg?fit=675%2C450&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/11\/77043.jpg?fit=675%2C450&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/11\/77043.jpg?fit=675%2C450&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2554,"url":"https:\/\/www.diogonunes.com\/blog\/tests-that-criticize-the-product\/","url_meta":{"origin":2834,"position":2},"title":"Testing for agile teams: Tests that review the product (#5)","author":"Diogo Nunes","date":"13 March, 2017","format":false,"excerpt":"This post is part of the \"Testing for Agile Teams\" series. All that's left is to possibly find some obscure or interesting bugs. And to avoid things like \"that's what I said, but it\u2019s not what I meant.\" Business-Facing Tests (Q3) All about trying to recreate actual experiences of the\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/03\/Agile-Testing-Book-Part-3.jpg?fit=489%2C340&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":844,"url":"https:\/\/www.diogonunes.com\/blog\/software-too-good-to-be-free\/","url_meta":{"origin":2834,"position":3},"title":"Software too good to be free","author":"Diogo Nunes","date":"16 June, 2014","format":false,"excerpt":"Previously I motivated you to donate to your favorite open source projects. This time I'll show you really useful online services that require no installation and cost you nothing! Maybe five years ago you would have to install (and pay) to get most of this features. Today you just connect\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"if-it-sounds-too-good-to-be-true-it-must-be-true","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/12\/if-it-sounds-too-good-to-be-true-it-must-be-true-400x400.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":441,"url":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","url_meta":{"origin":2834,"position":4},"title":"Running and debugging your Play app","author":"Diogo Nunes","date":"31 March, 2014","format":false,"excerpt":"Running locally play run will start the local (Netty) server and your app will be available at localhost:9000. play ~run will start the local server and reload it automatically every time you change a file of you app, that way you don't need to hit refresh (F5) on your browser.\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":379,"url":"https:\/\/www.diogonunes.com\/blog\/set-up-your-rails-env\/","url_meta":{"origin":2834,"position":5},"title":"Setting up your Rails environment from scratch","author":"Diogo Nunes","date":"12 May, 2014","format":false,"excerpt":"This is a complete yet summarized guide to set up a Ruby on Rails development environment on Linux. Installing and configuring Sublime Text, Github, and Heroku are optional but we're included for the sake of completeness. Since these are the de facto tools for editing source code, managing code repositories\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"original photo: goo.gl\/QE43FV","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/05\/rails-worker-assembly-construction.jpg?fit=620%2C230&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/05\/rails-worker-assembly-construction.jpg?fit=620%2C230&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/05\/rails-worker-assembly-construction.jpg?fit=620%2C230&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/comments?post=2834"}],"version-history":[{"count":1,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2834\/revisions"}],"predecessor-version":[{"id":3045,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2834\/revisions\/3045"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media\/2849"}],"wp:attachment":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media?parent=2834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/categories?post=2834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/tags?post=2834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}