Ir ao conteúdo
  • Cadastre-se

Luis Gabriel Goes

Membro Pleno
  • Posts

    20
  • Cadastrado em

  • Última visita

Reputação

2
  1. @PlayerUzU Tu acha que vale então pegar apenas um pent DDR5? Ou dois de 4?
  2. Olá a todos, Recentemente, tenho pesquisado sobre a nova geração de memórias DDR5 e estou curioso sobre suas capacidades. Eu entendo que a tecnologia DDR5 traz muitas melhorias em relação à DDR4, incluindo velocidades mais altas e maior eficiência energética. No entanto, uma coisa que não consegui encontrar informações claras é se um único módulo de memória DDR5 pode operar em dual channel. Eu sei que, com as gerações anteriores de memória DDR, você precisava de dois módulos de memória para habilitar o dual channel. Alguém poderia me esclarecer se isso mudou com a DDR5? Um único módulo de memória DDR5 já é capaz de operar em dual channel? Agradeço antecipadamente por qualquer informação que possam fornecer.
  3. Consegui resolver o bug, apenas peguei a data de criação que já estava no banco e dei um set. Caso alguém, tenha uma solução melhor, por favor, responder abaixo. @Override public ProductDetailDTO update(ProductDetailDTO productDetailDTO) { // Busca o produto existente apenas uma vez Product existingProduct = jpaCore.findById(productDetailDTO.getId()); if (existingProduct == null) { throw new EntityNotFoundException("O produto que você deseja editar não existe!"); } // Mapeia o DTO para a entidade do produto Product product = modelMapperConverter.map(productDetailDTO, Product.class); // Mantém o valor de createdOn do produto existente product.setCreatedOn(existingProduct.getCreatedOn()); // Atualiza o produto e mapeia o resultado para o DTO return modelMapperConverter.map(jpaCore.update(product), ProductDetailDTO.class); }
  4. Estou enfrentando um problema de conversão usando o ModelMapper. Estou desenvolvendo uma API e, ao atualizar o objeto, o ModelMapper está definindo um dos campos como NULL. Tentei configurá-lo de várias maneiras, mas nenhuma delas resolveu o problema. Em uma dessas configurações, até consegui salvar no banco de dados, mas houve um problema de regra de negócios. Basicamente, o objeto tem campos como tempo de criação, tempo de atualização e tempo de exclusão. Quando o objeto é criado, ele vem com os tempos de criação e atualização definidos. No entanto, quando o objeto é atualizado, ocorre um erro. O ModelMapper está definindo o tempo de criação como NULL, o que não deveria acontecer. O framework nem deveria definir o tempo de criação ao converter de UpdateDto para DetailDto e de DetailDto para Produto. Já sei a razão do erro, mas não sei como corrigi-lo. A classe DetailDto tem os três campos de tempo mencionados acima, enquanto a classe UpdateDto tem apenas o campo de atualização. Isso está fazendo com que o ModelMapper defina o campo de criação como NULL. A classe Produto tem todos os três campos. As classes Java são apresentadas abaixo. @SuppressWarnings("unused") @Configuration public class ModelMapperConfig { @Bean public ModelMapper modelMapper() { ModelMapper modelMapper = new ModelMapper(); modelMapper.getConfiguration() .setMatchingStrategy(MatchingStrategies.STRICT) .setFieldMatchingEnabled(true) .setFieldAccessLevel(org.modelmapper.config.Configuration.AccessLevel.PRIVATE) .setPropertyCondition(Conditions.isNotNull()) .setSkipNullEnabled(true); // Configuração para não sobrescrever campos não nulos // Adicionar um mapeamento personalizado para ProductUpdateDTO e ProductDetailDTO modelMapper.createTypeMap(ProductUpdateDTO.class, ProductDetailDTO.class) .addMappings(mapper -> mapper.skip(ProductDetailDTO::setCreatedOn)); modelMapper.createTypeMap(ProductDetailDTO.class, Product.class) .addMappings(mapper -> mapper.skip(Product::setCreatedOn)); return modelMapper; } @Bean public ModelMapperConverter modelMapperConverter() { return new ModelMapperConverter(); } } @RestController @RequestMapping("/products") public class ProductController { @Autowired private ProductService service; @Autowired private ModelMapperConverter modelMapperConverter; @PostMapping(produces = {"application/json"}, consumes = {"application/json"}) public ResponseEntity<ProductDetailDTO> create(@RequestBody @Valid ProductCreateDTO productCreateDTO) { var productDetails = service.save(modelMapperConverter.map(productCreateDTO, ProductDetailDTO.class)); productDetails.add(linkTo(methodOn(ProductController.class).detail(productDetails.getId())).withSelfRel()); return ResponseEntity.created(productDetails.getRequiredLink(IanaLinkRelations.SELF).toUri()).body(productDetails); } @PutMapping(produces = {"application/json"}, consumes = {"application/json"}) public ResponseEntity<ProductDetailDTO> update(@RequestBody @Valid ProductUpdateDTO productUpdateDTO) { var productDetails = service.update(modelMapperConverter.map(productUpdateDTO, ProductDetailDTO.class)); productDetails.add(linkTo(methodOn(ProductController.class).detail(productDetails.getId())).withSelfRel()); return ResponseEntity.ok(productDetails); } @GetMapping(value = "/{id}", produces = {"application/json"}) public ResponseEntity<ProductDetailDTO> detail(@PathVariable UUID id) { var productDetails = service.findById(id); productDetails.add(linkTo(methodOn(ProductController.class).detail(id)).withSelfRel()); return ResponseEntity.ok(productDetails); } @GetMapping(produces = {"application/json"}) public ResponseEntity<Page<ProductListDTO>> listAll(@PageableDefault(size = 15, sort = {"created_on"}) Pageable pageable) { var products = service.findAll(pageable); products.forEach(product -> product.add(linkTo(methodOn(ProductController.class).detail(product.getId())).withSelfRel())); return ResponseEntity.ok(products); } @DeleteMapping public ResponseEntity<Void> remove(@RequestBody List<UUID> ids) { service.remove(ids); return ResponseEntity.noContent().build(); } } @Table(name = "products") @Entity(name = "Product") public class Product { @Id @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; @Column(name = "name", nullable = false) private String name; @Column(name = "price", nullable = false) private BigDecimal price; @Column(name = "description") private String description; @Column(name = "category", nullable = false) @Enumerated(EnumType.STRING) private Constants.ProductCategory category; @Column(name = "image_url") private String imageUrl; @Column(name = "created_on", nullable = false) private LocalDateTime createdOn; @Column(name = "updated_on", nullable = false) private LocalDateTime updatedOn; @Column(name = "deleted_on") private LocalDateTime deletedOn; public Product() { } // getters and setters // equals and hashcode } @JsonInclude(JsonInclude.Include.NON_NULL) public class ProductDetailDTO extends RepresentationModel<ProductDetailDTO> implements Serializable { @Serial private static final long serialVersionUID = 1L; private UUID id; private String name; private BigDecimal price; private String description; private Constants.ProductCategory category; private String imageUrl; private LocalDateTime CreatedOn; private LocalDateTime UpdatedOn; private LocalDateTime DeletedOn; public ProductDetailDTO() { } // getters and setters // equals and hashcode } public class ProductUpdateDTO extends RepresentationModel<ProductUpdateDTO> implements Serializable { @Serial private static final long serialVersionUID = 1L; @NotNull private UUID id; private String name; private BigDecimal price; private String description; private Constants.ProductCategory category; private String imageUrl; private LocalDateTime UpdatedOn; public ProductUpdateDTO() { setUpdatedOn(LocalDateTime.now()); } // getters and setters // equals and hashcode } @Service public class ProductService implements JpaService<Product, ProductDetailDTO, ProductListDTO> { private final JpaCore<Product> jpaCore; private final ModelMapperConverter modelMapperConverter; @Autowired public ProductService(@Qualifier("productJpaCore") JpaCore<Product> jpaCore, ModelMapperConverter modelMapperConverter) { this.jpaCore = jpaCore; this.modelMapperConverter = modelMapperConverter; } @Override public ProductDetailDTO save(ProductDetailDTO productDetailDTO) { return modelMapperConverter.map(jpaCore.save(modelMapperConverter.map(productDetailDTO, Product.class)), ProductDetailDTO.class); } @Override public ProductDetailDTO update(ProductDetailDTO productDetailDTO) { Product product = modelMapperConverter.map(productDetailDTO, Product.class); if (jpaCore.findById(productDetailDTO.getId()) == null) { throw new EntityNotFoundException("O produto que você deseja editar não existe!"); } return modelMapperConverter.map(jpaCore.update(product), ProductDetailDTO.class); } @Override public ProductDetailDTO findById(UUID id) { return modelMapperConverter.map(jpaCore.findById(id), ProductDetailDTO.class); } @Override public Page<ProductListDTO> findAll(Pageable pageable) { return jpaCore.findAllNotDeleted(pageable).map(product -> modelMapperConverter.map(product, ProductListDTO.class)); } @Override public void remove(List<UUID> ids) { jpaCore.remove(ids); } } public class ModelMapperConverter { @Autowired private ModelMapper modelMapper; public <S, T> T map(S source, Class<T> targetClass) { return modelMapper.map(source, targetClass); } } Hibernate: select p1_0.id,p1_0.created_on,p1_0.deleted_on,p1_0.updated_on,p1_0.category,p1_0.description,p1_0.image_url,p1_0.name,p1_0.price from products p1_0 where p1_0.id=? Hibernate: select p1_0.id,p1_0.created_on,p1_0.deleted_on,p1_0.updated_on,p1_0.category,p1_0.description,p1_0.image_url,p1_0.name,p1_0.price from products p1_0 where p1_0.id=? Hibernate: update products set created_on=?, deleted_on=?, updated_on=?, category=?, description=?, image_url=?, name=?, price=? where id=? 2024-02-07T16:17:41.672-03:00 WARN 21784 --- [nio-8080-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23502 2024-02-07T16:17:41.673-03:00 ERROR 21784 --- [nio-8080-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : ERRO: null value in column "created_on" of relation "products" violates not-null constraint Detalhe: Registro que falhou contém (2d771dd4-9baa-46bd-844f-0e22285ae555, Macarrão francês, 8.00, Macarrão francês 500 gramas., CATEGORY1, wwww.macarrao_frances.com.br, null, 2024-02-07, null). 2024-02-07T16:17:41.676-03:00 INFO 21784 --- [nio-8080-exec-5] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements 2024-02-07T16:17:41.685-03:00 ERROR 21784 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [created_on" of relation "products]] with root cause org.postgresql.util.PSQLException: ERRO: null value in column "created_on" of relation "products" violates not-null constraint Detalhe: Registro que falhou contém (2d771dd4-9baa-46bd-844f-0e22285ae555, Macarrão francês, 8.00, Macarrão francês 500 gramas., CATEGORY1, wwww.macarrao_frances.com.br, null, 2024-02-07, null).
  5. @Edvaldo J. Frederico @Zenitsu Obrigado, pessoal, eu não havia notado a diferença. Tenho outra dúvida: vocês acham que já vale a pena trocar de DDR4 para DDR5? Eu vi uma comparação no canal MWInformática e a diferença em jogos é praticamente nula. Às vezes, a DDR4 até apresenta um desempenho superior ao da DDR5. Não sei se isso ocorre porque a DDR5 é recente e as engines ainda não conseguem aproveitá-la ao máximo. Enfim, qual é a opinião de vocês?
  6. Aqui está o texto corrigido e melhorado: Olá a todos! Como estão? Espero que estejam bem. Recentemente, estava pesquisando no site da Kabum por placas-mãe compatíveis com o i5 13400F e me deparei com a ASUS TUF GAMING B760M-Plus. Segundo as informações no site da Kabum, essa placa-mãe suporta DDR4. No entanto, ao verificar o site oficial da ASUS, notei que mencionam apenas DDR5. Alguém poderia esclarecer essa discrepância para mim? O título do produto na Kabum é: placa-mãe ASUS TUF GAMING B760M-Plus, Intel LGA 1700, mATX, D4, DDR4 - 90MB1DI0-M0EAY0 Aqui está o link para o produto na Kabum: https://www.kabum.com.br/produto/404822/placa-mãe-ASUS-tuf-gaming-b760m-plus-intel-LGA-1700-matx-d4-DDR4-90mb1di0-m0eay0 E aqui está o link para as especificações no site da ASUS: https://www.ASUS.com/br/motherboards-components/motherboards/tuf-gaming/tuf-gaming-b760m-plus/techspec/
  7. @Pedroou Eu sei, mas já é uma base. Por exemplo, daqui para lá, o i5 de 13° vai abaixar mais ainda o preço. Provável que terá as RTXs cinco mil. Esse é apenas um esboço.
  8. Olá a todos, como estão? Espero que estejam bem. Estou atualmente planejando a aquisição do meu próximo computador, programando a compra para os meses de outubro e novembro de 2024. Abaixo, compartilho as configurações detalhadas: Placa-mãe: placa-mãe ASUS TUF GAMING B760M-Plus, Intel LGA 1700, mATX, D4, DDR4 - 90MB1DI0-M0EAY0 Processador: Intel Core i5-12400 Placa de vídeo: MSI Placa de Vídeo RTX 4060 TI Ventus 2X Black 8G OC MSI NVIDIA GeForce, 8GB GDDR6, DLSS, Ray Tracing, G-Sync memória RAM: 2x Memória XPG Spectrix D35G, RGB, 16GB, 3200MHz, DDR4, CL16, Preto - AX4U320016G16A-SBKD35G Fonte: Fonte XPG Kyber, 750W, 80 Plus Gold, PCIe 5.0, Bivolt, Preto - KYBER750G-BKCBR SSDs: SSD 1TB Kingston KC3000, M.2 2280 PCIe, NVMe, Leitura: 7000MB/s e Gravação: 6000MB/s - SKC3000S/1024G SSD 512 GB XPG S70 Blade, M.2 NVMe, PCIe Gen4x4, Leitura: 7200MB/s e Gravação: 2600MB/s - AGAMMIXS70B-512G-CS Gabinete: Gabinete Gamer XPG Starker Air, Mid-Tower, LED RGB, ATX, Lateral em Vidro Temperado, 2x Cooler Fan RGB, Preto - STARKERAIR-BKCWW Cooler: Cooler para Processador NZXT T120, 120mm, Intel e AMD, Preto - RC-TN120-B1
  9. Olá a todos, como estão? Espero que estejam bem! Tenho uma dúvida que gostaria de compartilhar com vocês. Se eu combinar uma RTX 4060TI com um processador i5-10400F, será que vou enfrentar gargalos de CPU? Atualmente, estou usando uma GTX 1660 SUPER, mas estou pensando em fazer um upgrade de placa de vídeo, uma vez que percebi que a minha já está começando a ficar defasada. Alguns de vocês poderiam me sugerir placas RTX da terceira geração, mas estou considerando a possibilidade de adquirir uma da quarta geração, devido aos recursos como o DLS 3.0 e o gerador de quadros, que estão disponíveis apenas nas RTX da série 4 mil. Enfim, aqui está a configuração do meu PC: Nota: Também gostaria de mencionar a questão das novas fontes necessárias para as RTX mais recentes. Configuração do meu PC: Processador: Core i5-10400F Placa de vídeo: GTX 1660 SUPER Galaxy Placa-mãe: Rog Strix B460-F Gaming memória RAM: 16GB XPG SPECTRIX D41 DDR4 RGB (2x8) Sistema de resfriamento: Kit Cooler Fan com 3 Unidades Cougar Vortex VK120 ARGB Fonte de alimentação: Corsair CV550, 550W, 80 Plus Bronze - CP Agradeço antecipadamente por qualquer conselho ou sugestão que possam fornecer!
  10. Valeu, pessoal! Quanto à placa de vídeo, mesmo considerando a nova série RTX 4000, o aumento de desempenho é praticamente insignificante, girando em torno de 10%. A transição de uma 1660 Super para uma 4060 Ti resultaria em um salto de desempenho considerável. Além disso, estou empolgado com a perspectiva do DLSS 3.0 e a geração de frames. Apesar de a AMD ter anunciado o FSR3 como concorrente, ainda mantenho minha preferência pela linha verde (Nvidia), e também é válido mencionar que o aumento de desempenho das novas placas da AMD também foi pouco expressivo. Claro, se tiver um orçamento folgado, posso considerar a opção da 4070. Enfim, estou curioso para saber a opinião de todos vocês.
  11. Será que uma plataforma AM5 o ganho de performance é tão alto comparado com LGA1200? Além de que DDR5 tá os olhos da cara. ] O SSD de 1tb pra jogos. O outro para o Windows e programas que uso, como VSCode, IntelliJ. E um para guardar clipes de jogos e outros aplicativos que não uso tanto. Estou me livrando de HD. Retrocesso da zorra. E o que seria uma placa-mãe "superdimensionada"?
  12. Olá a todos, espero que estejam bem. Gostaria de pedir sugestões para a escolha das peças do meu próximo computador. Embora eu vá realizar a compra apenas no próximo ano, já estou me adiantando no planejamento. Já elaborei uma configuração inicial e gostaria de receber o feedback e opiniões de vocês: Placa-mãe: ASUS TUF Gaming Z690-Plus D4 Processador: Intel Core i5-12400F Armazenamento: SSD 500 GB Kingston NV2 SSD 1TB Kingston NV2 (preço: R$ 250,47) Placa de Vídeo: MSI NVIDIA GeForce RTX 4060 Ti GAMING X 8G memória RAM: XPG Spectrix D50 RGB (2 x 8gb) Refrigeração líquida: ASUS TUF Gaming LC Water Cooler Resfriamento adicional: Kit 3 Cooler FAN ASUS TUF Gaming TF120 Fonte de Alimentação: MSI MAG A650BN Estou também, já pensando em futuras atualizações. Desde já, agradeço antecipadamente por quaisquer sugestões ou melhorias que possam oferecer. Estou ansioso para ouvir suas opiniões!
  13. Olá pessoas, como vão? Estou juntando uma graninha para trocar de computador, e queria saber quanto vale atualmente meu computador. Segue peças abaixo: Configuração do PC: i5-10400f GTX 1660 super Galaxy Rog Strix B460-F Gaming 16GB RAM XPG SPECTRIX D41 DDR4 RGB (2x8) Kit Cooler Fan com 3 Unidades Cougar Vortex VK120 ARGB Fonte Corsair CV550, 550W, 80 Plus Bronze - CP
  14. Oi, tudo bem? Estou enfrentando um problema com o overlay da Nvidia. Após algum tempo utilizando o computador, não consigo mais fazer clips e gravar. Quando pressiono Alt + Z, o overlay é aberto, mas ao tentar salvar na função de repetição instantânea ou iniciar uma gravação, nada acontece. É importante mencionar que fiz uma alteração para salvar os vídeos (tanto da repetição quanto das gravações) no HD, pois meu SSD tem pouco espaço. Além disso, quando reinicio o Overlay pelo GeForce Experience, a repetição instantânea parece estar ativada, mas ao clicar para desativá-la, o widget correspondente que informa "a repetição instantânea está desligada" não aparece. E quando fecho e abro novamente o Overlay com Alt + Z, a repetição instantânea está desligada. Um possível causa para o problema seria ou o Windows Defender ou o Msi Aftburner. O estranho é que eu nunca tive esse problema. De qualquer jeito, agradecido a quem estiver disponível a ajudar. Configuração do PC: i5-10400f GTX 1660 super Rog Strix B460-F Gaming 16GB RAM
  15. @Éric H.X Rapaz, eu não sei o que aconteceu. Não sei se foi algum bug do Windows 11, mas depois de um tempo, voltou a funcionar. O único problema que estou enfrentando agora é que o Overlay da Nvidia, especificamente a função de gravação (repetição instantânea e gravar), está travando após algum tempo. Eu criei uma postagem sobre isso e estou aguardando uma resposta. Agradeço pela sua resposta e, caso esse bug volte a ocorrer, seguirei os passos do link que você enviou.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...