dotnetomaniak.pl - Artykuły z tagiem APIdotnetomaniak.pl - Artykuły z tagiem API2024-03-29T15:50:39Zhttps://dotnetomaniak.pl/Tags/APICopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png58025https://dotnetomaniak.pl/6-things-you-must-know-before-you-start-using-OpenAI-ChatGPT6 things you must know before you start using OpenAI ChatGPT2023-10-11T12:53:51Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_9g_q23sVfkKILptIlk7wcg.png"/></div><div>Czy wiesz, jak używać sztucznej inteligencji w swojej aplikacji?
💬 ChatGPT staje się coraz bardziej popularny. Ma znacznie więcej mocy 🔥🔥🔥, gdy używasz API, a nie tylko interfejsu użytkownika 🖥️.
Sprawdź listę 6 rzeczy, które musisz wiedzieć, zanim zaczniesz używać OpenAI ChatGPT</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/6-things-you-must-know-before-you-start-using-OpenAI-ChatGPT"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fcodepruner.com%2fpost%2f2023%2f2023-10-11-six-things-you-must-know-before-you-start-using-openai-chatgpt%2f" style="border:0px"/></a></div></div>tazos333https://dotnetomaniak.pl/Users/IyGc6-wEHUW6dKbyamqJBQhttps://dotnetomaniak.pl/6-things-you-must-know-before-you-start-using-OpenAI-ChatGPT160Czy wiesz, jak używać sztucznej inteligencji w swojej aplikacji?
💬 ChatGPT staje się coraz bardziej popularny. Ma znacznie więcej mocy 🔥🔥🔥, gdy używasz API, a nie tylko interfejsu użytkownika 🖥️.
Sprawdź listę 6 rzeczy, które musisz wiedzieć, zanim zaczniesz używać OpenAI ChatGPThttps://codepruner.com/post/2023/2023-10-11-six-things-you-must-know-before-you-start-using-openai-chatgpt/http://dotnetomaniak.pl/Data/Thumbnails/small_9g_q23sVfkKILptIlk7wcg.pnghttps://dotnetomaniak.pl/How-to-use-apiClient-generated-by-swagger-typescript-api-CodePrunercomHow to use apiClient generated by swagger-typescript-api | CodePruner.com2023-09-02T07:20:54Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_uL2oQqButU-ZdIK-u-e6cg.png"/></div><div>W poprzednim wpisie wyjaśniłem, 'dlaczego' i 'jak' powinniśmy go generować. Teraz nadszedł czas, aby dowiedzieć się 'jak go używać' w rzeczywistym projekcie.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/How-to-use-apiClient-generated-by-swagger-typescript-api-CodePrunercom"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fcodepruner.com%2fposts%2ffrontend%2fhow-to-use-apiclient-generated-by-swagger-typescript-api%2f" style="border:0px"/></a></div></div>tazos333https://dotnetomaniak.pl/Users/IyGc6-wEHUW6dKbyamqJBQhttps://dotnetomaniak.pl/How-to-use-apiClient-generated-by-swagger-typescript-api-CodePrunercom140W poprzednim wpisie wyjaśniłem, 'dlaczego' i 'jak' powinniśmy go generować. Teraz nadszedł czas, aby dowiedzieć się 'jak go używać' w rzeczywistym projekcie.https://codepruner.com/posts/frontend/how-to-use-apiclient-generated-by-swagger-typescript-api/http://dotnetomaniak.pl/Data/Thumbnails/small_uL2oQqButU-ZdIK-u-e6cg.pnghttps://dotnetomaniak.pl/Should-you-generate-the-client-code-from-the-API-Oskar-DudyczShould you generate the client code from the API? - Oskar Dudycz2022-06-29T09:39:42Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_06tbjC0p0Um_TIS6k75CIw.png"/></div><div>Powiedzieć, że nie jestem fanem generowania kodu klienta na podstawie API, to jak nic nie powiedzieć. Uważam, że jest to jeden z pomysłów, który brzmi atrakcyjnie, ale kończy się koszmarem. To fajen marzenie, które nigdy się nie spełnia.
Dlaczego? Czytaj więcej w artykule.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Should-you-generate-the-client-code-from-the-API-Oskar-Dudycz"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fevent-driven.io%2fpl%2fclient_code_generation" style="border:0px"/></a></div></div>oskar-at-nethttps://dotnetomaniak.pl/Users/_vjrDF1E10akUDcHhn8WZA2022-06-30T07:05:43Zhttps://dotnetomaniak.pl/Should-you-generate-the-client-code-from-the-API-Oskar-Dudycz11540Powiedzieć, że nie jestem fanem generowania kodu klienta na podstawie API, to jak nic nie powiedzieć. Uważam, że jest to jeden z pomysłów, który brzmi atrakcyjnie, ale kończy się koszmarem. To fajen marzenie, które nigdy się nie spełnia.
Dlaczego? Czytaj więcej w artykule.https://event-driven.io/pl/client_code_generationhttp://dotnetomaniak.pl/Data/Thumbnails/small_06tbjC0p0Um_TIS6k75CIw.pnghttps://dotnetomaniak.pl/REST-API-Kurs-tworzenia-internetowego-interfejsu-APIREST API - Kurs tworzenia internetowego interfejsu API2021-08-09T07:25:05Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_i_7qluisQkGQ3gEZfNJzAg.png"/></div><div>AboutPressCopyrightContact usCreatorAdvertiseDevelopersTermsPrivacyPolicy & SafetyHow YouTube worksTest new features© 2021 Google LLC</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/REST-API-Kurs-tworzenia-internetowego-interfejsu-API"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fwww.youtube.com%2fwatch%3fv%3dsE6Mq8wObtE" style="border:0px"/></a></div></div>patryksladekhttps://dotnetomaniak.pl/Users/W7r4LgaGYE-ZHjQuGR8uVg2021-08-10T06:28:47Zhttps://dotnetomaniak.pl/REST-API-Kurs-tworzenia-internetowego-interfejsu-API11320AboutPressCopyrightContact usCreatorAdvertiseDevelopersTermsPrivacyPolicy & SafetyHow YouTube worksTest new features© 2021 Google LLChttps://www.youtube.com/watch?v=sE6Mq8wObtEhttp://dotnetomaniak.pl/Data/Thumbnails/small_i_7qluisQkGQ3gEZfNJzAg.pnghttps://dotnetomaniak.pl/Minimal-API-w-NET-6-pelnoprawne-API-w-kilka-minut-YouTubeMinimal API w .NET 6 - pełnoprawne API w kilka minut - YouTube2021-07-21T06:57:28Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_psrF4Uut4E2k-XkpiblZ0g.png"/></div><div>Minimal API 🤏
Świetna nowość, która ukaże się w .NET 6 dzięki, której będziemy mogli stworzyć pełnoprawne API za pomocą dosłownie kilku linii kodu.
Zobacz, w jaki sposób to zrobić i do czego może przydać się nam takie narzędzie!!!</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Minimal-API-w-NET-6-pelnoprawne-API-w-kilka-minut-YouTube"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fyoutu.be%2fy30O5frdAvQ" style="border:0px"/></a></div></div>wildcat89https://dotnetomaniak.pl/Users/WTGcNnn1YUmR-GkyIR97-Q2021-07-22T06:37:30Zhttps://dotnetomaniak.pl/Minimal-API-w-NET-6-pelnoprawne-API-w-kilka-minut-YouTube11310Minimal API 🤏
Świetna nowość, która ukaże się w .NET 6 dzięki, której będziemy mogli stworzyć pełnoprawne API za pomocą dosłownie kilku linii kodu.
Zobacz, w jaki sposób to zrobić i do czego może przydać się nam takie narzędzie!!!https://youtu.be/y30O5frdAvQhttp://dotnetomaniak.pl/Data/Thumbnails/small_psrF4Uut4E2k-XkpiblZ0g.pnghttps://dotnetomaniak.pl/Up-Running-w-OData-in-ASPNET-6-ODataUp & Running w/ OData in ASP.NET 6 | OData2021-07-13T08:15:16Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_XgBvhu6J1kaz1Q2sTrjYcA.png"/></div><div>Hassan
July 10th, 2021
Few months ago our .NET team announced a newer version of the .NET framework which continues the efforts to deliver the final parts of the .NET unifications plan that started with .NET 5. The newer version is .NET 6, which comes in with more powerful features, configurability, pluggability and extensibility across many platforms.
On top of that comes ASP.NET 6, Blazor, MAUI and so many other capabilities that makes the new foundational framework the perfect choice for software e...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Up-Running-w-OData-in-ASPNET-6-OData"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fdevblogs.microsoft.com%2fodata%2fup-running-w-odata-in-asp-net-6%2f" style="border:0px"/></a></div></div>Piotr Stapphttps://dotnetomaniak.pl/Users/uYS8cHLZukmjW_DgdZuz0Q2021-07-14T05:58:49Zhttps://dotnetomaniak.pl/Up-Running-w-OData-in-ASPNET-6-OData1200Hassan
July 10th, 2021
Few months ago our .NET team announced a newer version of the .NET framework which continues the efforts to deliver the final parts of the .NET unifications plan that started with .NET 5. The newer version is .NET 6, which comes in with more powerful features, configurability, pluggability and extensibility across many platforms.
On top of that comes ASP.NET 6, Blazor, MAUI and so many other capabilities that makes the new foundational framework the perfect choice for software e...https://devblogs.microsoft.com/odata/up-running-w-odata-in-asp-net-6/http://dotnetomaniak.pl/Data/Thumbnails/small_XgBvhu6J1kaz1Q2sTrjYcA.pnghttps://dotnetomaniak.pl/API-versioning-extension-with-ASPNET-Core-OData-8-ODataAPI versioning extension with ASP.NET Core OData 8 | OData2021-07-13T08:14:34Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_D6dzs4mcrEGYec06CHSRiA.png"/></div><div>Sam
July 9th, 2021
API versioning can help evolving our APIs without changing or breaking the existing API services. URL segment, request header, and query string are three ways to achieve API versioning in ASP.NET Core application.
ASP.NET Core OData 8, built upon ASP.NET Core, has the built-in API versioning functionality via route URL prefix template. For instance, the following code configures a version template in the route URL prefix to achieve URL based API versioning: services.AddControllers(...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/API-versioning-extension-with-ASPNET-Core-OData-8-OData"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fdevblogs.microsoft.com%2fodata%2fapi-versioning-extension-with-asp-net-core-odata-8%2f" style="border:0px"/></a></div></div>Piotr Stapphttps://dotnetomaniak.pl/Users/uYS8cHLZukmjW_DgdZuz0Q2021-07-14T05:58:49Zhttps://dotnetomaniak.pl/API-versioning-extension-with-ASPNET-Core-OData-8-OData1500Sam
July 9th, 2021
API versioning can help evolving our APIs without changing or breaking the existing API services. URL segment, request header, and query string are three ways to achieve API versioning in ASP.NET Core application.
ASP.NET Core OData 8, built upon ASP.NET Core, has the built-in API versioning functionality via route URL prefix template. For instance, the following code configures a version template in the route URL prefix to achieve URL based API versioning: services.AddControllers(...https://devblogs.microsoft.com/odata/api-versioning-extension-with-asp-net-core-odata-8/http://dotnetomaniak.pl/Data/Thumbnails/small_D6dzs4mcrEGYec06CHSRiA.pnghttps://dotnetomaniak.pl/Muhammad-Azeez-ASPNET-Core-API-ChecklistMuhammad Azeez - ASP.NET Core API Checklist2021-06-14T08:49:15Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_ILfJBGLsm0iXQ3OSp8MpCA.png"/></div><div>Building modern APIs require a lot of things to make them reliable, observable, and scalable. In no particular order, here are some of them that help you build better APIs:1. Healthchecks
Healthchecks are important in making sure that we know when anything happens to our APIs. We can setup dashboards to monitor them and setup alerting to let us know when one of the APIs is unhealthy. They are also important when deploying your apps to kubernetes. Kubernetes can monitor healthchecks of your APIs and auto...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Muhammad-Azeez-ASPNET-Core-API-Checklist"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fmazeez.dev%2fposts%2fasp-net-core-api-checklist" style="border:0px"/></a></div></div>Piotr Stapphttps://dotnetomaniak.pl/Users/uYS8cHLZukmjW_DgdZuz0Q2021-06-15T07:07:35Zhttps://dotnetomaniak.pl/Muhammad-Azeez-ASPNET-Core-API-Checklist1570Building modern APIs require a lot of things to make them reliable, observable, and scalable. In no particular order, here are some of them that help you build better APIs:1. Healthchecks
Healthchecks are important in making sure that we know when anything happens to our APIs. We can setup dashboards to monitor them and setup alerting to let us know when one of the APIs is unhealthy. They are also important when deploying your apps to kubernetes. Kubernetes can monitor healthchecks of your APIs and auto...https://mazeez.dev/posts/asp-net-core-api-checklisthttp://dotnetomaniak.pl/Data/Thumbnails/small_ILfJBGLsm0iXQ3OSp8MpCA.pnghttps://dotnetomaniak.pl/Wykorzystanie-ApiEndpoints-do-budowania-API-bd90Wykorzystanie ApiEndpoints do budowania API - bd902021-04-26T08:07:31Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small__CbhwyZwdEWh9wKoxlu8xQ.png"/></div><div>Przez lata spędzone na programowaniu aplikacji webowych stworzyłem tysiące kontrolerów. Niektóre napisałem lepiej, inne gorzej… nadal pamiętam to uczucie, gdy po raz pierwszy przenosiłem kod kontrolera do “serwisu” i czułem, że tak powinno wyglądać programowanie. Teraz wiem, że po prostu przenosiłem śmietnik z jednego miejsca do drugiego 😉 To, czy będzie nosił nazwę “XController”, “XService”, “XManager” jest bez znaczenia, o ile nadal występuje w naszym projekcie. W tym artykule zaprezentuje Ci w jaki s...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Wykorzystanie-ApiEndpoints-do-budowania-API-bd90"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fbd90.pl%2fwykorzystanie-apiendpoints-do-budowania-api%2f" style="border:0px"/></a></div></div>bd90https://dotnetomaniak.pl/Users/wlZzQxNx5EGTZG0PBNIZxA2021-04-27T07:04:15Zhttps://dotnetomaniak.pl/Wykorzystanie-ApiEndpoints-do-budowania-API-bd9021480Przez lata spędzone na programowaniu aplikacji webowych stworzyłem tysiące kontrolerów. Niektóre napisałem lepiej, inne gorzej… nadal pamiętam to uczucie, gdy po raz pierwszy przenosiłem kod kontrolera do “serwisu” i czułem, że tak powinno wyglądać programowanie. Teraz wiem, że po prostu przenosiłem śmietnik z jednego miejsca do drugiego 😉 To, czy będzie nosił nazwę “XController”, “XService”, “XManager” jest bez znaczenia, o ile nadal występuje w naszym projekcie. W tym artykule zaprezentuje Ci w jaki s...https://bd90.pl/wykorzystanie-apiendpoints-do-budowania-api/http://dotnetomaniak.pl/Data/Thumbnails/small__CbhwyZwdEWh9wKoxlu8xQ.pnghttps://dotnetomaniak.pl/Mini-Kurs-ASPNET-Core-API-dla-aplikacji-QuizowejMini Kurs ASP.NET Core API dla aplikacji Quizowej2020-08-18T18:19:58Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_LFMk4UXEH0yi1KPOe43DEg.png"/></div><div>Mini Kurs ASP.NET Core API dla aplikacji Quizowej czyli niedoszły Kurs Blazor
WebAssembly to mój konik. To jak zmienia świat, to jak zmienia technologie ciągle mnie fascynuje. Naturalnym w .NET następstwem jest Blazor.
Chciałam więc stworzyć pełen kurs Blazora napisz sobie APInapisz aplikację Server Side Blazorzmień aplikację na Client Side Blazoroczywiście pamiętaj o reużywaniu kodu czyli Blazor Componentsno to jeszcze aplikację mobilną Blazor Bindingsa może Blazor jest do kitu? aplikacja Angular
Taki...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Mini-Kurs-ASPNET-Core-API-dla-aplikacji-Quizowej"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fwww.programistkaikot.pl%2f2020%2f05%2fmini-kurs-aspnet-core-api-dla-aplikacji.html" style="border:0px"/></a></div></div>JLamchhttps://dotnetomaniak.pl/Users/QrMU0AoMM0y-j59d0YylAA2020-08-19T06:54:21Zhttps://dotnetomaniak.pl/Mini-Kurs-ASPNET-Core-API-dla-aplikacji-Quizowej3980Mini Kurs ASP.NET Core API dla aplikacji Quizowej czyli niedoszły Kurs Blazor
WebAssembly to mój konik. To jak zmienia świat, to jak zmienia technologie ciągle mnie fascynuje. Naturalnym w .NET następstwem jest Blazor.
Chciałam więc stworzyć pełen kurs Blazora napisz sobie APInapisz aplikację Server Side Blazorzmień aplikację na Client Side Blazoroczywiście pamiętaj o reużywaniu kodu czyli Blazor Componentsno to jeszcze aplikację mobilną Blazor Bindingsa może Blazor jest do kitu? aplikacja Angular
Taki...https://www.programistkaikot.pl/2020/05/mini-kurs-aspnet-core-api-dla-aplikacji.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_LFMk4UXEH0yi1KPOe43DEg.pnghttps://dotnetomaniak.pl/Import-Swagger-API-do-Postman-dla-ASPNET-Core-Web-API-DevKRImport Swagger API do Postman dla ASP.NET Core Web API - DevKR2020-04-30T21:06:41Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_YmKHX_-H_UG2tKZTvjBjcg.png"/></div><div>Leniwy programista to wydajny programista. Przekonajmy się 🙂 Mamy do sprawdzenia API, które ma dokumentacje w Swagger. Możemy z poziomu UI wywołać i sprawdzić odpowiedzi dla żądań. Jednak w celu automatyzacji najlepiej napisać żądania i testy w Postman. Unikniemy dzięki temu manualnej roboty w Swagger UI. Super automatyzacja, ale chwila czy w Postman wszystkie parametry i żądania musimy ręcznie zadeklarować?</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Import-Swagger-API-do-Postman-dla-ASPNET-Core-Web-API-DevKR"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fdevkr.pl%2f2020%2f04%2f28%2fimport-swagger-api-do-postman-dla-asp-net-core-web-api%2f" style="border:0px"/></a></div></div>Krzysztof_DevKRhttps://dotnetomaniak.pl/Users/L_8swuZU8ku3ekjD5fGAPA2020-05-04T06:51:52Zhttps://dotnetomaniak.pl/Import-Swagger-API-do-Postman-dla-ASPNET-Core-Web-API-DevKR21020Leniwy programista to wydajny programista. Przekonajmy się 🙂 Mamy do sprawdzenia API, które ma dokumentacje w Swagger. Możemy z poziomu UI wywołać i sprawdzić odpowiedzi dla żądań. Jednak w celu automatyzacji najlepiej napisać żądania i testy w Postman. Unikniemy dzięki temu manualnej roboty w Swagger UI. Super automatyzacja, ale chwila czy w Postman wszystkie parametry i żądania musimy ręcznie zadeklarować?https://devkr.pl/2020/04/28/import-swagger-api-do-postman-dla-asp-net-core-web-api/http://dotnetomaniak.pl/Data/Thumbnails/small_YmKHX_-H_UG2tKZTvjBjcg.pnghttps://dotnetomaniak.pl/How-to-use-Google-Analytics-API-Client-Library-in-C-application-bush_devHow to use Google Analytics API Client Library in C# application | bush_dev2020-03-05T18:04:30Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_YgEL1h3D9kyESuJfZ_tDkg.png"/></div><div>Google Analytics API is a very nice tool to download statistics from our website to another application. I present here how to use it.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/How-to-use-Google-Analytics-API-Client-Library-in-C-application-bush_dev"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fbush-dev.com%2fhow-to-use-google-analytics-api-client-library-in-c-application%2f" style="border:0px"/></a></div></div>bush_devhttps://dotnetomaniak.pl/Users/KPn4sXtVe0SGEJ-UNiJPug2020-03-06T07:40:39Zhttps://dotnetomaniak.pl/How-to-use-Google-Analytics-API-Client-Library-in-C-application-bush_dev2520Google Analytics API is a very nice tool to download statistics from our website to another application. I present here how to use it.http://bush-dev.com/how-to-use-google-analytics-api-client-library-in-c-application/http://dotnetomaniak.pl/Data/Thumbnails/small_YgEL1h3D9kyESuJfZ_tDkg.pnghttps://dotnetomaniak.pl/ngrok-czyli-tunelowanie-ruchu-Lukasz-Kurzyniecngrok, czyli tunelowanie ruchu | Łukasz Kurzyniec2020-02-03T09:16:42Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_uTNjHWxDE0endOGykuguzA.png"/></div><div>Ngrok to mała aplikacja, która umożliwia tunelowanie ruchu. Przydatne wtedy, kiedy istnieje potrzeba wystawienia “czegoś” publicznie na świat. Tym “czymś” może być strona www, aplikacja, serwer. Działa to w następujący sposób: uruchomiona aplikacja ngrok.exe łączy się z chmurą ngrok, która akceptuje ruch na publicznym adresie. Otrzymany ruch z publicznego adresu przekazuje do procesu ngrok.exe uruchomionego na naszym komputerze, który dalej przekazuje owy ruch do lokalnej aplikacji/serwera.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/ngrok-czyli-tunelowanie-ruchu-Lukasz-Kurzyniec"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fkurzyniec.pl%2fblog%2fngrok-tunelowanie-ruchu%2f" style="border:0px"/></a></div></div>lkurzyniechttps://dotnetomaniak.pl/Users/c69iSm6JA0W0YdfPXo3VUg2020-02-04T06:26:23Zhttps://dotnetomaniak.pl/ngrok-czyli-tunelowanie-ruchu-Lukasz-Kurzyniec1840Ngrok to mała aplikacja, która umożliwia tunelowanie ruchu. Przydatne wtedy, kiedy istnieje potrzeba wystawienia “czegoś” publicznie na świat. Tym “czymś” może być strona www, aplikacja, serwer. Działa to w następujący sposób: uruchomiona aplikacja ngrok.exe łączy się z chmurą ngrok, która akceptuje ruch na publicznym adresie. Otrzymany ruch z publicznego adresu przekazuje do procesu ngrok.exe uruchomionego na naszym komputerze, który dalej przekazuje owy ruch do lokalnej aplikacji/serwera.https://kurzyniec.pl/blog/ngrok-tunelowanie-ruchu/http://dotnetomaniak.pl/Data/Thumbnails/small_uTNjHWxDE0endOGykuguzA.pnghttps://dotnetomaniak.pl/Azure-API-Management-and-multiple-Application-InsightsAzure API Management and multiple Application Insights2019-11-20T09:37:06Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_8HXzqy4KLUunPU5AuTM1dA.png"/></div><div>Monitoring your applications or APIs is one of the most crucial elements of the DevOps world.
If you don’t do it you basically can’t solve errors properly or make new development decision based on your users behaviors, problems and needs. The easiest way to deploy APIs in Azure is to use API Management and the easiest way to monitor apps and APIs is Application Insights. One of the cool features of APIM is that you can have mul...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Azure-API-Management-and-multiple-Application-Insights"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2ftomaszwisniewski.com%2f2019-11-19-apim-appins%2f" style="border:0px"/></a></div></div>wisniahttps://dotnetomaniak.pl/Users/hr2h16mHAEK5c1kYW5Y3JQ2019-11-21T07:41:04Zhttps://dotnetomaniak.pl/Azure-API-Management-and-multiple-Application-Insights1360Monitoring your applications or APIs is one of the most crucial elements of the DevOps world.
If you don’t do it you basically can’t solve errors properly or make new development decision based on your users behaviors, problems and needs. The easiest way to deploy APIs in Azure is to use API Management and the easiest way to monitor apps and APIs is Application Insights. One of the cool features of APIM is that you can have mul...https://tomaszwisniewski.com/2019-11-19-apim-appins/http://dotnetomaniak.pl/Data/Thumbnails/small_8HXzqy4KLUunPU5AuTM1dA.pnghttps://dotnetomaniak.pl/Zaawansowane-polityki-w-API-Management-use-case-deployment-slot-Maciej-GosZaawansowane polityki w API Management - use case deployment slot - Maciej Gos2019-09-02T04:36:35Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_99rsrJJ5MEiLvrMBV1CBxQ.png"/></div><div>Do napisania tego posta zainspirowało mnie zmiana statusu na GA Azure Functions Deployment Slots, oraz próba jego użycia w aplikacji którą się zajmuję.
W skrócie do czego można wykorzystać „Deployment Slots”? Możemy je użyć do separacji środowisk pre-prod/prod lub też do testów jakiś wybranych funkcjonalności. Są one mocno powiązane z koncepcją Canary Releases lub też Blue-Green Deployment. O co chodzi z obiema koncepcjami zapraszam...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Zaawansowane-polityki-w-API-Management-use-case-deployment-slot-Maciej-Gos"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fmaciejgos.com%2fzaawansowane-polityki-w-api-management-use-case-deployment-slot%2f" style="border:0px"/></a></div></div>Maciej Goshttps://dotnetomaniak.pl/Users/z9BXP43wNEm64zKqtJ3p7w2019-09-03T05:55:53Zhttps://dotnetomaniak.pl/Zaawansowane-polityki-w-API-Management-use-case-deployment-slot-Maciej-Gos1760Do napisania tego posta zainspirowało mnie zmiana statusu na GA Azure Functions Deployment Slots, oraz próba jego użycia w aplikacji którą się zajmuję.
W skrócie do czego można wykorzystać „Deployment Slots”? Możemy je użyć do separacji środowisk pre-prod/prod lub też do testów jakiś wybranych funkcjonalności. Są one mocno powiązane z koncepcją Canary Releases lub też Blue-Green Deployment. O co chodzi z obiema koncepcjami zapraszam...https://maciejgos.com/zaawansowane-polityki-w-api-management-use-case-deployment-slot/http://dotnetomaniak.pl/Data/Thumbnails/small_99rsrJJ5MEiLvrMBV1CBxQ.pnghttps://dotnetomaniak.pl/Zabezpieczanie-Logic-Apps-za-pomoca-tokenow-Azure-AD-z-uzyciem-uslugi-API-ManagementZabezpieczanie Logic Apps za pomocą tokenów Azure AD z użyciem usługi API Management2019-08-08T13:42:39Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_G4RU5-3fEkSMLUJkwpIe-A.png"/></div><div>Learn how to secure Logic App public endpoints with Azure AD using API management.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Zabezpieczanie-Logic-Apps-za-pomoca-tokenow-Azure-AD-z-uzyciem-uslugi-API-Management"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fmarczak.io%2fposts%2f2019%2f08%2fsecure-logic-app-with-api-management%2f" style="border:0px"/></a></div></div>AdamMarczakhttps://dotnetomaniak.pl/Users/Kf6zs3QzE0SDW65A0Ma3dg2019-08-09T05:55:17Zhttps://dotnetomaniak.pl/Zabezpieczanie-Logic-Apps-za-pomoca-tokenow-Azure-AD-z-uzyciem-uslugi-API-Management1250Learn how to secure Logic App public endpoints with Azure AD using API management.https://marczak.io/posts/2019/08/secure-logic-app-with-api-management/http://dotnetomaniak.pl/Data/Thumbnails/small_G4RU5-3fEkSMLUJkwpIe-A.pnghttps://dotnetomaniak.pl/API-Management-jako-gateway-dla-Twojej-aplikacji-Maciej-GosAPI Management jako gateway dla Twojej aplikacji - Maciej Gos2019-07-22T06:43:31Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_iHDRIg-dNkGb6SKyJHaMRw.png"/></div><div>Czy usługa Azure API Management może być głównym wejście do systemu?
Obecnie w dobie architektury micro usług (microservices), oraz tworzenia API do wszystkiego wiele systemów boryka się z problemem w jaki sposób udostępniać swoje API, zarządzać dostępem do niego lub też ograniczać jego użycie.
Z pomocą przychodzi nam jedna z usług działająca w chmurze Microsoft Azure o nazwie API Management.
W niniejszym artykule głównie skupię się na wersji ser...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/API-Management-jako-gateway-dla-Twojej-aplikacji-Maciej-Gos"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fmaciejgos.com%2fapi-management-jako-gateway-dla-twojej-aplikacji%2f" style="border:0px"/></a></div></div>Maciej Goshttps://dotnetomaniak.pl/Users/z9BXP43wNEm64zKqtJ3p7w2019-07-23T06:41:55Zhttps://dotnetomaniak.pl/API-Management-jako-gateway-dla-Twojej-aplikacji-Maciej-Gos11240Czy usługa Azure API Management może być głównym wejście do systemu?
Obecnie w dobie architektury micro usług (microservices), oraz tworzenia API do wszystkiego wiele systemów boryka się z problemem w jaki sposób udostępniać swoje API, zarządzać dostępem do niego lub też ograniczać jego użycie.
Z pomocą przychodzi nam jedna z usług działająca w chmurze Microsoft Azure o nazwie API Management.
W niniejszym artykule głównie skupię się na wersji ser...https://maciejgos.com/api-management-jako-gateway-dla-twojej-aplikacji/http://dotnetomaniak.pl/Data/Thumbnails/small_iHDRIg-dNkGb6SKyJHaMRw.pnghttps://dotnetomaniak.pl/Auth0-Aplikacja-do-odpalania-rakiet-backend-Strona-SzogunaAuth0 – Aplikacja do odpalania rakiet – backend – Strona Szoguna2019-06-26T11:37:56Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_aqV4R_IMjkGZVab57ecPRA.png"/></div><div>Zabezpieczenie backendu przed nieautoryzowanym dostępem jest najważniejszym elementem kontroli dostępu.
W tym artykule pokażę jak utworzyłem prostą aplikację backendową, która wymaga autoryzacji z wykorzystaniem Auth0.
Aplikacja jest stworzona w technologii .Net core...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Auth0-Aplikacja-do-odpalania-rakiet-backend-Strona-Szoguna"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fszogun1987.pl%2fshow%2fauth0-aplikacja-do-odpalania-rakiet-backend%2f430%2f" style="border:0px"/></a></div></div>szogun1987https://dotnetomaniak.pl/Users/twaQgybr4UKU5e65n52bsg2019-06-27T06:40:39Zhttps://dotnetomaniak.pl/Auth0-Aplikacja-do-odpalania-rakiet-backend-Strona-Szoguna11210Zabezpieczenie backendu przed nieautoryzowanym dostępem jest najważniejszym elementem kontroli dostępu.
W tym artykule pokażę jak utworzyłem prostą aplikację backendową, która wymaga autoryzacji z wykorzystaniem Auth0.
Aplikacja jest stworzona w technologii .Net core...https://szogun1987.pl/show/auth0-aplikacja-do-odpalania-rakiet-backend/430/http://dotnetomaniak.pl/Data/Thumbnails/small_aqV4R_IMjkGZVab57ecPRA.pnghttps://dotnetomaniak.pl/Building-API-Gateways-With-Ocelot-Software-House-ASCBuilding API Gateways With Ocelot - Software House ASC2019-03-14T10:09:17Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_KTNGzG2A6kmJwWTkn81LFA.png"/></div><div>In this article we are going to focus on another fundamental concepts of microservice based architecture – api gateways.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Building-API-Gateways-With-Ocelot-Software-House-ASC"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2faltkomsoftware.pl%2fen%2fblog%2fbuilding-api-gateways-with-ocelot%2f" style="border:0px"/></a></div></div>witek1902https://dotnetomaniak.pl/Users/0uwA-O2wAUCYI9VYUmqR6w2019-03-15T07:01:31Zhttps://dotnetomaniak.pl/Building-API-Gateways-With-Ocelot-Software-House-ASC11420In this article we are going to focus on another fundamental concepts of microservice based architecture – api gateways.https://altkomsoftware.pl/en/blog/building-api-gateways-with-ocelot/http://dotnetomaniak.pl/Data/Thumbnails/small_KTNGzG2A6kmJwWTkn81LFA.pnghttps://dotnetomaniak.pl/Integrate-Angular-application-with-Azure-Active-Directory-authentication-ADAL-Angular-4Integrate Angular application with Azure Active Directory authentication - ADAL-Angular 42019-02-19T21:44:54Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_nLwDXKkcT0O9T4_iQWp3Eg.png"/></div><div>Integration Angular application and .NET Core API with Azure Active Directory using ADAL-Angular4 library</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Integrate-Angular-application-with-Azure-Active-Directory-authentication-ADAL-Angular-4"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fadrianszen.com%2f2019%2f02%2f19%2fangular-with-azure-active-directory-authentication-adal-angular4%2f" style="border:0px"/></a></div></div>Adrian Szeńhttps://dotnetomaniak.pl/Users/_gsrdEbm4EONP_2gidFRzQ2019-02-20T06:52:48Zhttps://dotnetomaniak.pl/Integrate-Angular-application-with-Azure-Active-Directory-authentication-ADAL-Angular-41630Integration Angular application and .NET Core API with Azure Active Directory using ADAL-Angular4 libraryhttps://adrianszen.com/2019/02/19/angular-with-azure-active-directory-authentication-adal-angular4/http://dotnetomaniak.pl/Data/Thumbnails/small_nLwDXKkcT0O9T4_iQWp3Eg.pnghttps://dotnetomaniak.pl/Postman-testowanie-API-Blog-Daniela-PlawgoPostman – testowanie API - Blog Daniela Plawgo2019-01-23T04:46:16Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_x4_NyvugcEKx6N17LvFkZw.png"/></div><div>Sposób tworzenia aplikacji webowych zmienia się na przestrzeni czasu. W świecie .NET przez lata kodowaliśmy w ASP.NET MVC, w którym widoki były generowane po stronie serwera. Od jakiegoś czasu idziemy w kierunku, w którym backend udostępnia API, z którego korzysta aplikacja po stronie przeglądarki i która generuje widoki po stronie klienta. W związku z tym zmienił się też sposób testowania aplikacji po stronie serwera. Jednym z dostępnych narzędzi, które możemy...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Postman-testowanie-API-Blog-Daniela-Plawgo"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fplawgo.pl%2f2019%2f01%2f22%2fpostman-testowanie-api%2f" style="border:0px"/></a></div></div>danielplawgohttps://dotnetomaniak.pl/Users/2gpSr8DDgU2Y9-iey0Z9mw2019-01-24T08:00:48Zhttps://dotnetomaniak.pl/Postman-testowanie-API-Blog-Daniela-Plawgo71830Sposób tworzenia aplikacji webowych zmienia się na przestrzeni czasu. W świecie .NET przez lata kodowaliśmy w ASP.NET MVC, w którym widoki były generowane po stronie serwera. Od jakiegoś czasu idziemy w kierunku, w którym backend udostępnia API, z którego korzysta aplikacja po stronie przeglądarki i która generuje widoki po stronie klienta. W związku z tym zmienił się też sposób testowania aplikacji po stronie serwera. Jednym z dostępnych narzędzi, które możemy...https://plawgo.pl/2019/01/22/postman-testowanie-api/http://dotnetomaniak.pl/Data/Thumbnails/small_x4_NyvugcEKx6N17LvFkZw.pnghttps://dotnetomaniak.pl/Szybkie-testowanie-lokalnego-API-z-ngrok-Forever-FrameSzybkie testowanie lokalnego API z ngrok - Forever F[r]ame2018-10-07T19:58:08Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_px6Z77nWMEGWcBiKOv-yxA.png"/></div><div>Na początku miesiąca miałem przyjemność udać się do Danii, aby wziąć udział w firmowym hackatonie. Wraz z dwoma osobami pracowałem tam nad prostym projektem, który miał niejako rozszerzyć możliwości GitHuba. Bez wchodzenia w zbędne szczegóły dotyczące samego projektu, całe flow prezentowało się następująco...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Szybkie-testowanie-lokalnego-API-z-ngrok-Forever-Frame"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fforeverframe.net%2fszybkie-testowanie-lokalnego-api-z-ngrok%2f" style="border:0px"/></a></div></div>dpawlukiewiczhttps://dotnetomaniak.pl/Users/3F7LM514EkOFPklktIOrVg2018-10-08T07:02:42Zhttps://dotnetomaniak.pl/Szybkie-testowanie-lokalnego-API-z-ngrok-Forever-Frame31550Na początku miesiąca miałem przyjemność udać się do Danii, aby wziąć udział w firmowym hackatonie. Wraz z dwoma osobami pracowałem tam nad prostym projektem, który miał niejako rozszerzyć możliwości GitHuba. Bez wchodzenia w zbędne szczegóły dotyczące samego projektu, całe flow prezentowało się następująco...http://foreverframe.net/szybkie-testowanie-lokalnego-api-z-ngrok/http://dotnetomaniak.pl/Data/Thumbnails/small_px6Z77nWMEGWcBiKOv-yxA.pnghttps://dotnetomaniak.pl/Hot-paths-in-performance-design-Szymon-Kulec-ScooletzHot paths in performance design | Szymon Kulec `Scooletz`2018-09-27T13:24:47Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_uUNXix4hLEq3vwVJahz_Aw.png"/></div><div>Czy szybki kod musi być brzydki? O jakie przypadki należy zadbać myśląc o performance'ie naszej aplikacji? Jak nie zamykać furtek dla wydajności?
Zapraszam do najnowszego posta.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Hot-paths-in-performance-design-Szymon-Kulec-Scooletz"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fblog.scooletz.com%2f2018%2f09%2f24%2fhot-paths-in-performance-design%2f" style="border:0px"/></a></div></div>Scooletzhttps://dotnetomaniak.pl/Users/LtUVX6bMs0abZUMu84LL5A2018-09-28T07:13:26Zhttps://dotnetomaniak.pl/Hot-paths-in-performance-design-Szymon-Kulec-Scooletz3920Czy szybki kod musi być brzydki? O jakie przypadki należy zadbać myśląc o performance'ie naszej aplikacji? Jak nie zamykać furtek dla wydajności?
Zapraszam do najnowszego posta.https://blog.scooletz.com/2018/09/24/hot-paths-in-performance-design/http://dotnetomaniak.pl/Data/Thumbnails/small_uUNXix4hLEq3vwVJahz_Aw.pnghttps://dotnetomaniak.pl/These-other-types-and-your-API-Szymon-Kulec-ScooletzThese other types and your API | Szymon Kulec `Scooletz`2018-09-11T16:51:05Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_eHMgpNX1k0ef4d-WTjhMbg.png"/></div><div>Typy takie jak List<T> czy Dictionary<T,K> wydają się niewinne. Ostatecznie, pochodzą przecież z biblioteki standardowej (BCL) samego frameworka. Czy warto używać ich w API Twojej biblioteki? Czy są jakieś zagrożenia związane z ich użyciem? Zapraszam do lektury</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/These-other-types-and-your-API-Szymon-Kulec-Scooletz"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fblog.scooletz.com%2f2018%2f09%2f10%2fthese-other-types%2f" style="border:0px"/></a></div></div>Scooletzhttps://dotnetomaniak.pl/Users/LtUVX6bMs0abZUMu84LL5A2018-09-12T07:37:45Zhttps://dotnetomaniak.pl/These-other-types-and-your-API-Szymon-Kulec-Scooletz2740Typy takie jak List<T> czy Dictionary<T,K> wydają się niewinne. Ostatecznie, pochodzą przecież z biblioteki standardowej (BCL) samego frameworka. Czy warto używać ich w API Twojej biblioteki? Czy są jakieś zagrożenia związane z ich użyciem? Zapraszam do lekturyhttps://blog.scooletz.com/2018/09/10/these-other-types/http://dotnetomaniak.pl/Data/Thumbnails/small_eHMgpNX1k0ef4d-WTjhMbg.pnghttps://dotnetomaniak.pl/Cross-Origin-Resource-Sharing-konfiguracja-w-NET-Core-Lukasz-KotCross-Origin Resource Sharing - konfiguracja w .NET Core - Łukasz Kot2018-08-16T10:05:17Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_S5gG2Qlb_EiX1y_J1hnfEg.png"/></div><div>Opublikowane w przez Łukasz Kot:
Cross-Origin Resource Sharing (w skrócie CORS) to mechanizm umożliwiający współdzielenie zasobów pomiędzy serwerami znajdującymi się w różnych domenach. Bez odpowiednio skonfigurowanego tego mechanizmu aplikacja po stronie klienta nie ma możliwości komunikacji z API.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Cross-Origin-Resource-Sharing-konfiguracja-w-NET-Core-Lukasz-Kot"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2flukaszkot.com%2f2018%2f08%2f16%2fcors-konfiguracja-w-net-core%2f" style="border:0px"/></a></div></div>Misterhttps://dotnetomaniak.pl/Users/2Kg1fBkHIkqzgaG98ilPlQ2018-08-17T06:58:09Zhttps://dotnetomaniak.pl/Cross-Origin-Resource-Sharing-konfiguracja-w-NET-Core-Lukasz-Kot2900Opublikowane w przez Łukasz Kot:
Cross-Origin Resource Sharing (w skrócie CORS) to mechanizm umożliwiający współdzielenie zasobów pomiędzy serwerami znajdującymi się w różnych domenach. Bez odpowiednio skonfigurowanego tego mechanizmu aplikacja po stronie klienta nie ma możliwości komunikacji z API.https://lukaszkot.com/2018/08/16/cors-konfiguracja-w-net-core/http://dotnetomaniak.pl/Data/Thumbnails/small_S5gG2Qlb_EiX1y_J1hnfEg.png