Сообщения

MS Lesson26: Threads

Изображение
1. Process - emeliyyat sistemi terefinden ishe salinan, oz ayrica yaddash sahesine malik olan programin icra nusxesidir.  Mes biz kompumuzda muxtelif programlar acanda Paint, Excel ve s. bunlar ferqli proseslerdir.  OS her bir prosese ferqli registerler, stack memory, heap memory assign edir.  Restoran misali: Restoran = process Bina = yaddash (RAM) Ishciler = thread Yeni process ishe salinmish bir programdir. * Her proses oz yaddashinda ishleyir, bashqasina toxuna bilmez. * OS her prosese unikal ID verir. * Yaratmaq / silmek bahalidir. * Biri crash olsa, digerine tesir etmir.  Bir prosesin icinde coxlu thread ola biler. Amma bir thread yalniz bir prosese aid ola biler.  Java kodu bashlayanda JVM ozu de bir nece thread yaradir: * main thread - bizim kodumuz * GC thread - Garbage Collector * Finalizer thread * Signal Dispatcher thread 2. Thread - process icinde ishleyen ayrica ish axinidir. Kodun setir setir icra olundugu yoldur.  Restoran - process Ashpaz 1...

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...