Jak zostać świetnym programistą? Czym właściwie są dobre praktyki programowania? Z których warto korzystać? Uchylimy rąbka tajemnicy. Eksperci od kodu w Altkom Software & Consulting zdradzili nam, co jest ich zdaniem ważne, aby kod był czysty.
Strona głównaUżytkownik
witek1902 | użytkownik
Sztuka programowania 1332 dni, 12 godzin, 23 minuty temu 205 źrodło rozwiń
In this post, I will try to show two useful techniques: custom test data builders and asserts. I will also try to point out how certain DDD tactical patterns help write better tests.
Sztuka programowania 1394 dni, 11 godzin, 52 minuty temu 71 źrodło rozwiń
What is technical debt? The best explanation of this term, coined by Ward Cunningham, was provided by Marin Fowler. We are unable to evolve IT systems perfectly. Every added or modified functionality introduces little deficiencies in software quality. These deficiencies accumulate over time and make it harder for us to sustain the pace at which we deliver our systems to production.
Sztuka programowania 1481 dni, 13 godzin, 9 minut temu 42 źrodło rozwiń
Our teams, at Altkom Software & Consulting, are using the Camunda BPM platform successfully in many projects for over 5 years. We designed, built, and deployed solutions based on Camunda in the financial and insurance industries allowing our customers to digitize their business and deliver business value faster, directly to their customers. Five years ago Camunda was a novelty, now it is well known and established platforms, one of the leaders in the workflow automation area, but most of the projects...
Architektura 1614 dni, 13 godzin, 28 minut temu 72 źrodło rozwiń
Outbox pattern is simple, yet powerful tool. Let’s see how does it work and what are the consequences of applying it. With outbox, instead of sending a message over the wire to message broker, we save a message to our microservice database as part of current business transaction. This way we achieve internal consistency inside our service. No messages will be sent if a transaction is rolled back...
Sztuka programowania 1865 dni, 13 godzin, 17 minut temu 136 źrodło rozwiń
We observe that more and more customers are starting to use cloud computing. This is no longer a forbidden fruit, but it is becoming one of the key elements of modern IT infrastructure. Most companies have some combination of cloud and on-premise solutions. The number of applications from different vendors used in large corporations as well as smaller startups are growing rapidly. The second notable trend is the willingness to react quickly, change strategies and generate innovative ideas based on as muc...
Architektura 1900 dni, 13 godzin, 14 minut temu 49 źrodło rozwiń
In this article we are going to show you how you can combine SignalR and RabbitMQ to build real time server-client communication. We will extend our insurance sales portal with chat service. This chat will let insurance agents communicate with each other. We also will use this chat service to send users information about certain business events like new product availability, successful sale or insurance product or tariff changes.
Sztuka programowania 1908 dni, 12 godzin, 52 minuty temu 138 źrodło rozwiń
We live in a world of dynamically changing technologies. New ways of architecturing our solutions, new frameworks and libraries seem to appear on almost daily basis. But good software engineering is not about fancy frameworks and solutions aggressively promoted by their vendors. It is not about doing something because Netflix or Google did it. It is about taking well-thought-out decisions based on facts and knowledge. That’s why it is important to be familiar basic architectural concepts like CQRS. It is...
Architektura 2002 dni, 12 godzin, 56 minut temu 234 źrodło rozwiń
Persistence is a solved issue, isn’t it? What is Marten? Using Marten Adding Marten to a project Setting Marten up Customizing schema and mapping Saving aggregates Loading aggregates Querying Compiled queries Patching data Marten Pros & Cons Summary
Sztuka programowania 2037 dni, 13 godzin, 28 minut temu 115 źrodło rozwiń
In this article we are going to focus on another fundamental concepts of microservice based architecture – api gateways.
Sztuka programowania 2065 dni, 12 godzin, 56 minut temu 142 źrodło rozwiń
In this article we will design internal architecture of non-trivial microservice that is responsible for both managing its data state and exposing it to the external world. Basically our microservice will be responsible for creation and various modifications of its data and also will expose API that will allow other services and applications to query for this data.
Sztuka programowania 2087 dni, 12 godzin, 53 minuty temu 231 źrodło rozwiń
In this article we are going to focus on service discovery, which is one of the fundamental concepts of microservice based architecture. Service discovery is a mechanism that allows services to find each others network location. There are many possible implementations of this pattern, but in this article we will focus on implementation that consist of Service Registry component and Service Registry Clients.
Sztuka programowania 2087 dni, 12 godzin, 53 minuty temu 244 źrodło rozwiń
In first article in our series about building microservices in .NET core we are going to focus on internal architecture of a typical microservice. There are many options to consider depending on microservice type. Some services in your system will be typical CRUD so there is no use debating on their design...
Sztuka programowania 2117 dni, 11 godzin, 49 minut temu 191 źrodło rozwiń
I liked .NET technology from its inception. In fact I left the dark star of overxmlized J2EE development to join forces of rebellion around 2004. Over the years my team here at Altkom Software & Consulting built and maintained more and more complex business solutions for insurance and banking. While Java was in stagnation .NET platform developed very quickly. We wanted to find out possible options for dealing with typical microsevice related tasks like service discovery, service communication synchro...
Architektura 2124 dni, 11 godzin, 44 minuty temu 304 źrodło rozwiń
As a Software House that develops a lot of B2C and B2B systems we have to deal with content management systems on the daily basis. We use the most popular CMS solutions like LifeRay or Sitecore. These products offer great functionalities and experience for content creators and marketing. But they also heavily affect our systems architecture and usually tightly couple our solution to chosen CMS. Also our customers have to deal with this kind of heavy and strong dependency. Do we have any viable alternati...
Architektura 2131 dni, 11 godzin, 23 minuty temu 104 źrodło rozwiń
Azure Functions 2.0 – real world use case for serverless architecture From technical point: C# and .NET Core, Azure Functions 2.0, CosmosDB, Azure Queue, BLOB, Tables, integration with JS Report, Twilio, SendGrid, monitoring with Application Insight. From business point: We had an idea to implement a billing in serverless architecture for a customer who sells its services in subscription based model. Customer sends a list of its employees who can use offered services. Based on contract prices for eac...
Temat mikroserwisów w świecie IT jest ciągle żywy. Jak każda nowość – generuje dużo szumu i wzbudza wiele kontrowersji. Jeszcze do niedawna rozmowy o architekturze mikroserwisowej dotyczyły tylko i wyłącznie backendu aplikacji. Przestarzały, nielubiany i krytykowany przez wielu monolit spychany był w stronę warstwy prezentacji. W pewnym momencie zaczęto się zastanawiać – czy coś nam zaraz nie wybuchnie?
Architektura 2174 dni, 11 godzin, 42 minuty temu 162 źrodło rozwiń
W tym artykule pokażemy, jak w prosty sposób wewnątrz naszego chatbota użyć usługi interpretacji języka naturalnego LUIS, zbudowanej i rozwijanej przez Microsoft w ramach Cognitive Services.
Boty nie są nowym rozwiązaniem. Istnieją na rynku od wielu lat. Obecnie, ich znaczenie i wykorzystanie w komunikacji z klientami istotnie rośnie, między innymi za sprawą coraz większej popularności komunikatorów internetowych. Dzięki połączeniu ChatBota z używanymi na co dzień kanałami komunikacji typu Facebook Messenger, możemy zaproponować nasze usługi za pośrednictwem i...
Mikrousługi (ang. microservices) to styl architektoniczny zorientowany na szybkość rozwoju oprogramowania, rozumianą jako liczba funkcjonalności tworzonych w jednostce czasu oraz czasochłonność całego procesu wytwórczego – od koncepcji do wdrożenia (time to market). Coraz większej popularności podejścia mikrousługowego sprzyja obecna wysoka zmienność otoczenia biznesowego, co zmusza firmy do szybkiego reagowania celem uniknięcia sytuacji kiedy dobre rozwiązanie wdrożone zbyt późno staje się złym rozwią...
Architektura 2257 dni, 12 godzin, 50 minut temu 138 źrodło rozwiń