// joriy holatni o'zgartiradi -> setPhotos([...photos, photo]); // o'zgarishni ko'rmaydi // o'zgaruvchini o'zgartiradi // kalit yo'q
ERP Consultant
Loyiha bo'yicha Git ish jarayoni qanday tuzilgan? Qaysi tarmoqlar ishlatiladi?
Rekursiv o'tish davomida papka o'qish uchun ruxsatga ega bo'lmasa nima qilish kerak?
Aksiya va obligatsiyalar o'rtasidagi farq nima?
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 yuklandi"; } catch (Exception e) { return "Foto yuklashda xatolik"; } } @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; } }
So'nggi loyihalarda tajribangiz va rolingiz, texnologiyalar steki haqida gapiring
Agar ikkita xizmat bir vaqtning o'zida ma'lumotlar bazasida bir xil yozuvni yozishga harakat qilsa, nima bo'ladi?
So'rovlar zanjiridagi xizmatlardan biri javob bermayapti. Muammoni bosqichma-bosqich qanday hal qilasiz?
Moliyaviy asbob sifatida kelajak nima?
Fayl kengaytmasi == targetExtension bo'lgan va quyidagi shartlarga javob beradigan fayllarni qidiradigan va ularning absolyut yo'llarining bo'laklarini ([]string) qaytaradigan FindFilesByExtension funksiyasini yozing: fayl kengaytmasi == targetExtension (katta-kichik harf hisobga olinmaydi) fayl hajmi > minSizeKB Funktsiya barcha ichki kataloglarni o'tishi kerak. Katalog tuzilmasining misoli: /projects/ ├── doc.pdf (2048 KB) ├── report.docx (512 KB) ├── src/ │ ├── Main.go (2 KB) │ ├── Utils.go (5 KB) └── images/ └── photo.jpg (3072 KB) Tekshirish misollari: 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"}
Go'da nomlash notatsiyalarida qisqartmalarni qanday to'g'ri yozish kerak?
Rekursiv o'tish davomida katalogni topganimizda qaysi yo'lni ishlatamiz?
Mikroxizmat arxitekturasi bo'yicha qanday antipatternlarni bilasiz?