// muudetakse praegust olekut -> setPhotos([...photos, photo]); // ei näe muudatusi // muudab muutuja väärtust // ilma võtmeta
ERP Consultant
Kuidas on üles ehitatud Git töövoog projektis? Milliseid haru kasutatakse?
Mida teha, kui kaustal puudub lugemisõigus rekursiivse skannimise ajal?
Mis vahe on aktsiate ja võlakirjade vahel?
Rääkige oma kogemusest ja rollist viimastes projektides, tehnoloogiate virn
pakett com.example.photogallery.controller; importada com.example.photogallery.model.Photo; importada com.example.photogallery.service.PhotoService; importada org.springframework.beans.factory.annotation.Autowired; importada org.springframework.web.bind.annotation.*; importada org.springframework.web.multipart.MultipartFile; importada java.util.ArrayList; importada 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 "Photo uploaded successfully"; } catch (Exception e) { return "Error uploading photo"; } } @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; } }
Mis juhtub, kui kaks teenust üheaegselt üritavad kirjutada sama kirje andmebaasi?
Üks päringute ahela teenustest ei vasta. Kuidas te probleemi samm-sammult lahendate?
Mis on futuur kui finantsinstrument?
Kirjutage funktsioon FindFilesByExtension, mis rekursiivselt otsib kataloogis faile ja tagastab failidele absoluutsete teede segmentide ([]string) osad, mis vastavad järgmistele tingimustele: faili laiendus == targetExtension (suurtähti ja väiketähti arvestamata) faili suurus > minSizeKB Funktsioon peab läbima kõik sisemised alamkataloogid. Kataloogi struktuuri näide: /projects/ ├── doc.pdf (2048 KB) ├── report.docx (512 KB) ├── src/ │ ├── Main.go (2 KB) │ ├── Utils.go (5 KB) └── images/ └── photo.jpg (3072 KB) Kontrollnäited: 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"}
Kui rekursiivse läbimise ajal leiame kausta, millist teed kasutame?
Kuidas õigesti kirjutada lühendeid Go nimetamismärkustes?
Milliseid antipattern'e teate mikroteenuste arhitektuuris?