// მიმდინარე მდგომარეობას მუტაციას ახდენს -> setPhotos([...photos, photo]); // ცვლილებები არ ჩანს // ცვლადის მუტაცია // გასაღები არ არის
ERP Consultant
როგორ არის მოწყობილი Git-ის სამუშაო პროცესი პროექტში? რა დარგები გამოიყენება?
რა უნდა გავაკეთოთ, თუ ფოლდერი რეკურსიული შემოწმების დროს წაკითხვის უფლება არ აქვს?
რა არის აქციებსა და ობლიგაციებს შორის განსხვავება?
პაკეტი com.example.photogallery.controller; იმპორტი com.example.photogallery.model.Photo; იმპორტი com.example.photogallery.service.PhotoService; იმპორტი org.springframework.beans.factory.annotation.Autowired; იმპორტი org.springframework.web.bind.annotation.*; იმპორტი org.springframework.web.multipart.MultipartFile; იმპორტი java.util.ArrayList; იმპორტი 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; } }
გთხოვთ, თქვენი გამოცდილებისა და როლების შესახებ ბოლო პროექტებში, ტექნოლოგიების სტეკი
თუ ორი სერვისი ერთდროულად ცდილობს ერთივე ჩანაწერის ჩაწერას მონაცემთა ბაზაში, რა მოხდება?
სერვისების ჯაჭვში ერთ-ერთი სერვისი პასუხს აღარ აძლევს. როგორ გადაწყვეტთ პრობლემას ეტაპობრივად?
რა არის ფიუჩერსი ფინანსურ ინსტრუმენტად?
ფუნქცია FindFilesByExtension დაწერეთ, რომელიც რეკურსიულად ეძებს ფაილებს დირექტორიაში და აბსოლუტური გზების სეგმენტებს აბრუნებს ([]string), რომლებიც აკმაყოფილებენ შემდეგ პირობებს: ფაილის გაფართოება == targetExtension (დიდი და პატარა ასოების გათვალისწინებით) ფაილის ზომა > minSizeKB ფუნქციამ უნდა გაიაროს ყველა შიდა დირექტორია. დირექტორიის სტრუქტურის მაგალითი: /projects/ ├── doc.pdf (2048 KB) ├── report.docx (512 KB) ├── src/ │ ├── Main.go (2 KB) │ ├── Utils.go (5 KB) └── images/ └── photo.jpg (3072 KB) ტესტების მაგალითები: 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-ის სახელწოდების ნოტაციებში?
თუ რეკურსიული შემოწმების დროს დირექტორია ვიპოვეთ, რა გზას გამოვიყენებთ?
რასაც იცნობთ მიკროწესვიან არქიტექტურაში, რა ანტიპატერნები არიან?