Сообщения

MS Lesson25: AOP

  1. Cross cutting concern - tetbiqin bir cox yerinde lazim olan, amma esas biznes mentiqine aid olmayan funksionalliq. Mes: loggin, security, audit. Sade misal: createOrder, pay, deleteUser - her biri ferqli biznes ishi gorur. Amma hamisinda eyni sheyler lazim ola biler. * log yazma, * icaze yoxlamaq, * vaxt olcmek, * tranzaksiya acmaq/baglamaq. Bunlar concern-dir (narahatliq/ehtiyac), biznesin ozu deyil.  Spring Boot application ucun dependency:  implementation 'org.springframework.boot:spring-boot-starter-aspectj' Log misali: package az.etibarli.demoaop.step1.aspect; import lombok.extern.slf4j. Slf4j ; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation. After ; import org.aspectj.lang.annotation. Aspect ; import org.aspectj.lang.annotation. Before ; import org.springframework.stereotype. Component ; @Slf4j @Aspect @Component public class LoggingAspect { @Before ( " execution(public * az.etibarli.demoaop.step1.service..*(..)) " ) public vo...

MS Lesson24: Spring AI

Изображение
1. LLM - large language model. Sade dilde insanin beyni kimi dushune bilersiz. Cox oxumush agilli bir robot.                                                                                 Spring project with Spring AI Step1: generate key: https://platform.openai.com/api-keys Step2: application.yaml fayline key elave etmek: spring : application : name : demo-spring-ai ai : openai : api-key : ${ OPENAI_API_KEY :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} chat : options : model : gpt-4o-mini temperature : 0.7 Step3: package az.etibarli.demospringai.controller; import org.spring...