// mevcut durumu değiştirir -> setPhotos([...photos, photo]); // değişiklik görmez // değişkeni değiştirir // anahtar yok
ERP Consultant
Projede Git iş akışı nasıl yapılandırılmıştır? Hangi dallar kullanılıyor?
Dizin erişim izni olmadan rekürsif tarama sırasında ne yapılmalı?
Hisse senetleri ile tahviller arasındaki fark nedir?
Son projelerdeki deneyiminiz ve rolünüz, teknolojik yığın hakkında bilgi verin
package com.example.photogallery.controller; import com.example.photogallery.model.Photo; import com.example.photogallery.service.PhotoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/api/photos") public class PhotoController { @Autowired private PhotoService photoService; private List<Photo> photos = new ArrayList<>(); private static Integer totalCount = 0; @GetMapping public List<Photo> getAllPhotos() { return photos; } @PostMapping("/upload") public String uploadPhoto(@RequestParam("file") MultipartFile file) { try { Photo photo = new Photo(); photo.setFileName(file.getOriginalFilename()); photo.setFileSize(file.getSize()); photo.setContentType(file.getContentType()); photos.add(photo); totalCount++; photoService.savePhoto(photo); return "Foto yüklendi"; } catch (Exception e) { return "Hata fotoğraf yüklenirken"; } } @GetMapping("/count") public Integer getCount() { return totalCount; } @DeleteMapping("/{id}") public void deletePhoto(@PathVariable Long id) { for (Photo photo : photos) { if (photo.getId().equals(id)) { photos.remove(photo); totalCount--; photoService.deletePhoto(id); break; } } } @GetMapping("/search") public List<Photo> searchPhotos(@RequestParam(required = false) String query) { if (query.isEmpty()) { return photos; } List<Photo> results = new ArrayList<>(); for (int i = 0; i < photos.size(); i++) { if (photos.get(i).getFileName().contains(query)) { results.add(photos.get(i)); } } return results; } }
İki hizmet aynı anda veritabanına aynı kaydı yazmaya çalışırsa ne olur?
İstek zincirindeki hizmetlerden biri yanıt vermiyor. Sorunu adım adım nasıl çözeceksiniz?
Finansal araç olarak vadeli işlem nedir?
Dizin içinde dosyaları özyinelemeli olarak arayan ve koşulları karşılayan dosyalara ilişkin mutlak yolların dilimlerini ([]string) döndüren FindFilesByExtension adlı bir fonksiyon yazın: dosya uzantısı == targetExtension (büyük/küçük harf dikkate alınmadan) dosya boyutu > minSizeKB Fonksiyon, tüm iç içe geçmiş alt dizinleri dolaşmalıdır. Dizin yapısına örnek: /projects/ ├── doc.pdf (2048 KB) ├── report.docx (512 KB) ├── src/ │ ├── Main.go (2 KB) │ ├── Utils.go (5 KB) └── images/ └── photo.jpg (3072 KB) Kontrol örnekleri: files1, _ := FindFilesByExtension("/projects", "pdf", 1000) // files1 == []string{"/projects/doc.pdf"} files2, _ := FindFilesByExtension("/projects", "go", 3) // files2 == []string{"/projects/src/Utils.go"} files3, _ := FindFilesByExtension("/projects", "jpg", 2000) // files3 == []string{"/projects/images/photo.jpg"}
Yinelenen tarama sırasında bir dizin bulursak hangi yolu kullanırız?
Go'da isimlendirme notasyonlarında kısaltmaları nasıl doğru yazmalıyız?
Mikroservis mimarisiyle ilgili hangi antipattern'leri biliyorsunuz?