<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GoScrapy Blog</title><link>http://goscrapy.com.ar/</link><description>Recent content on GoScrapy Blog</description><generator>Hugo -- gohugo.io</generator><managingEditor>jackgris2@gmail.com (Gabriel Pozo)</managingEditor><webMaster>jackgris2@gmail.com (Gabriel Pozo)</webMaster><lastBuildDate>Fri, 30 Jun 2023 19:15:51 -0300</lastBuildDate><atom:link href="http://goscrapy.com.ar/index.xml" rel="self" type="application/rss+xml"/><item><title>Different approaches to do Pagination in an API Rest</title><link>http://goscrapy.com.ar/post/different-approaches-to-do-pagination-in-an-api-rest/</link><pubDate>Fri, 30 Jun 2023 19:15:51 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/different-approaches-to-do-pagination-in-an-api-rest/</guid><description>Introduction In this post, I will talk about Pagination in Rest API, my idea was only to talk about that topic and create a tiny repository where I can show a simple example. But I started adding some features, like Docker, Kubernetes, Makefile, etc. (sometimes that kind of thing happens 😀) That made me think that I can explain many topics with the same repository, the idea will be to add more features or technologies and every post will be related to un tag version.</description></item><item><title>How to Write a Pub Sub Service With Go</title><link>http://goscrapy.com.ar/post/how-to-write-a-pub-sub-service-with-go/</link><pubDate>Sun, 04 Jun 2023 12:14:36 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/how-to-write-a-pub-sub-service-with-go/</guid><description>An overview of the Pub/Sub pattern and how it works. What is Pub/Sub? The Pub/Sub (publish/subscribe) pattern is a messaging pattern used in distributed systems to enable asynchronous communication between components or systems. It allows for the decoupling of senders (publishers) and receivers (subscribers) by introducing an intermediary called a message broker or message bus.
How does its work? Publishers: Publishers are responsible for sending messages to specific topics. A topic is a named channel or category to which messages can be published.</description></item><item><title>Working With Websocket</title><link>http://goscrapy.com.ar/post/working-with-websocket/</link><pubDate>Sat, 20 May 2023 20:33:13 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/working-with-websocket/</guid><description>What are websockets and why are they important for web applications? WebSockets are an essential technology for enabling two-way communication between a client and a server over a single (Enable real-time communication), long-lived connection. They provide real-time, low-latency communication between a web application and a server, allowing for a more interactive and dynamic user experience.
Are a separate implementation on top of TCP, unlike HTTP. They were standardized by the IETF as RFC 6455 in 2011, and the current API specification allowing web applications to use this protocol is known as websockets.</description></item><item><title>Building an Authorization Service With Fiber Using JWT</title><link>http://goscrapy.com.ar/post/building-an-authorization-service-with-fiber-using-jwt/</link><pubDate>Wed, 10 May 2023 23:05:55 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/building-an-authorization-service-with-fiber-using-jwt/</guid><description>What is JWT? JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.
Although JWTs can be encrypted to provide secrecy between parties, we will focus on signed tokens.</description></item><item><title>Build your own OAuth2 server</title><link>http://goscrapy.com.ar/post/build-your-own-oauth2-server/</link><pubDate>Tue, 09 May 2023 18:09:36 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/build-your-own-oauth2-server/</guid><description>What is OAuth2? OAuth 2.0, which stands for “Open Authorization”, is a standard designed to allow a website or application to access resources hosted by other web apps on behalf of a user. It replaced OAuth 1.0 in 2012 and is now the de facto industry standard for online authorization. OAuth 2.0 provides consented access and restricts actions of what the client app can perform on resources on behalf of the user, without ever sharing the user&amp;rsquo;s credentials.</description></item><item><title>Basics about a gRPC Server</title><link>http://goscrapy.com.ar/post/basics-about-a-grpc-server/</link><pubDate>Sun, 16 Apr 2023 20:39:08 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/basics-about-a-grpc-server/</guid><description>What&amp;rsquo;s gRPC? gRPC is a Remote Procedure Call (RPC) framework. RPC is an action-based paradigm, similar to remotely calling a function from another microservice. This makes gRPC a type of inter-process communication (IPC) protocol built around Protobufs to handle messaging between the client and the server. gRPC is perfect for intensive and efficient communication, because it supports client and server streaming.
Difference with REST? In contrast, REST is a resource-based protocol, which means the client tells the server what resource needs to be created, read, updated, or deleted based on the body of the request.</description></item><item><title>Rest Api Design</title><link>http://goscrapy.com.ar/post/rest-api-design/</link><pubDate>Thu, 13 Apr 2023 19:34:36 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/rest-api-design/</guid><description>Maybe I should have written this article before the previous one. But sometimes one doesn&amp;rsquo;t know where to start, so now I will explain what you need to take care of when you design a Rest API.
Why? Designing a REST API follows specific design principles that allow for flexibility, scalability, and independence between client and server applications. The design should follow the six REST design principles to ensure uniformity, decoupling, statelessness, cacheability, a layered system, and optional code on demand.</description></item><item><title>Documenting Api With Swag</title><link>http://goscrapy.com.ar/post/documenting-api-with-swag/</link><pubDate>Tue, 11 Apr 2023 19:23:48 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/documenting-api-with-swag/</guid><description>Think on this, you’ve finished developing a new API, and now have to write documentation to guide you when building client-side applications that consume the API. You start thinking of various ways to achieve this, and you lay out multiple alternatives like Swagger, Docusaurus, Postman and many more. You remember all the work involved in the API documentation phase and wonder if there are shortcuts to speed things up. You need to do this because who will use an API without any documentation?</description></item><item><title>Graceful Shutdown</title><link>http://goscrapy.com.ar/post/graceful-shutdown/</link><pubDate>Mon, 03 Apr 2023 18:58:13 -0300</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/post/graceful-shutdown/</guid><description>How to implement a graceful shutdown in Go? You need to start thinking about these kinds of questions when creating a server that needs to maintain a state. For example, if you have a web server running in one AWS EC2 instance and you fix some security issues and want to update the server. If you don&amp;rsquo;t manage correctly maybe you can lose the data that never was saved in the database or can provoke some bad user experience on every update because lose all connections without any response to the requests because you don&amp;rsquo;t wait to finish sending the response.</description></item><item><title>About me</title><link>http://goscrapy.com.ar/page/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>jackgris2@gmail.com (Gabriel Pozo)</author><guid>http://goscrapy.com.ar/page/about/</guid><description>My name is Gabriel Pozo. I&amp;rsquo;ve been a software developer for some time.
I start doing some work with Python 2.6 in 2008 and developing Android apps with Java 1.6 (when Android Studio didn&amp;rsquo;t exist) for the Android 2.2 version. It&amp;rsquo;s been some time since that and I hope my experience be useful for anyone who needs it.
I work with Go and Python. I do some things with React. If you want can write me an Email or send me a DM on Twitter.</description></item></channel></rss>