-
Posts
301 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que psykotico postou
-
Java Thread Runnable pode parar sozinho sem apresentar erro?
psykotico respondeu ao tópico de sandrofabres em Java/Android SDK
A Thread de segundo plano ainda é um processo filho do sistema principal ... Se por algum motivo o processo principal terminar, a thread finalizará instantaneamente. Um outro ponto pra melhorar a execução de threads, é usar um ExecutorService, que controla o total de threads em segundo plano ... https://www.baeldung.com/java-executor-service-tutorial -
Computador para Design Gráfico e Jogos
psykotico respondeu ao tópico de psykotico em Montagem e upgrade de computadores de mesa
Eu não encontrei a fonte na Loja da Pichau, mas encontrei na Terabyte ... Aí o orçamento ficou assim: Processador AMD Ryzen 7 5700G 3.8GHz (4.6GHz Turbo), 8-Cores 16-Threads, Cooler Wraith Stealth, AM4, Com vídeo integrado, 100-100000263BOX (x1) placa-mãe MSI B550M PRO-VDH, Chipset B550, AMD AM4, mATX, DDR4 (x1) Memória DDR4 Geil Orion RGB, 8GB, 3200MHz, Red, GAOSR48GB3200C16BSC (x2) SSD Adata Ultimate SU650 240GB , M.2 2280, Leitura 550MBs e Gravação 500MBs, ASU650NS38-240GT-C (x1) HD Western Digital Caviar Blue 1TB, Sata III, 7200RPM, 64MB, WD10EZEX (x1) Cooler para Processador DeepCool Gammaxx 400 V2, Red, 120mm, Intel-AMD, DP-MCH4-GMX400V2-RD (x1) Fonte XPG, Pylon, 550W, 80 Plus Bronze, PFC Ativo (x1) Gabinete Gamer Gamemax Revolt 3606, RGB, Mid Tower, Vidro Temperado, Black, Sem Fonte, Com 4 Fans (x1) (Nesse não precisou das Ventoinhas porque já vem na Torre, e eu diminuí o SSD para 240GB) Total: R$ 4.756,51 -
Computador para Design Gráfico e Jogos
psykotico respondeu ao tópico de psykotico em Montagem e upgrade de computadores de mesa
@Shaman93 Só umas dúvidas. Water Coler não seria melhor na refrigeração?? Faz anos que não vejo isso então estou bem por fora. Outra dúvida: a fonte 450W, caso futuramente eu adicione uma GPU, não ficaria pesada para essa fonte? Eu pensei inicialmente em uma de 500W mas não achei no site quando estava montando a config -
Pessoal, bom dia! Estou montando uma configuração pro meu enteado, com foco em Design Gráfico e Design 3D (apenas o curso por enquanto), e claro, alguns jogos como CS, Fortnite, League of Legends, essas coisas. Meu orçamento é de R$ 5.000,00 no máximo. Então montei a seguinte configuração na Pichau, vendo alguns vídeos no youtube: Processador AMD Ryzen 7 5700G, 8-Core, 16-Threads, 3.8GHz (4.6GHz Turbo), Cache 20MB, AM4, 100-100000263BOX placa-mãe ASUS Prime B450M-GAMING/BR DDR4 Socket AM4 Chipset AMD B450 Memoria Team Group T-Force Vulcan Pichau, 16GB (2x8), DDR4, 3200MHz, C16, Vermelha, TLPRD48G3200HC16F01 SSD Kingston NV1, 500GB, M.2 2280, PCIe NVMe, Leitura 2100 MB/s, gravação 1700 MB/s, SNVS/500G HD Toshiba P300 1TB 3.5" Sata III 6GB/s, HDWD110UZSVA Water Cooler KWG Crater E1-120R RGB Kit Ventoinhas TGT Mirage, 3x120mm, Led RGB, TGT-MRG120-RGB3 Fonte Corsair VS Series VS600 80 Plus White 600W, CP-9020224-BR Gabinete Gamer Aigo DarkFlash Aquarius Mesh Lateral Acrilico Preto Total: R$ 4.815,04 A ideia é pegar um PC básico por enquanto e mais pra frente, se for necessário, investir em uma GPU melhor.
-
Ok, Desculpe falha minha ... Por estar trabalhando muito com JSON, acabei passando a anotação errada (Sim, caso você queira trabalhar com AJAX, essa seria a anotação correta) .. Desculpe mesmo. vamos a duas soluçoes: A primeira é você anotar com @RequestParam e pegar atributo por atributo. Não é tão simples, mas talvez em casos mais específicos te ajude: @RequestMapping(value="/", method=RequestMethod.POST) public String form(@RequestParam("nome") String nome, @RequestParam("email") String email, @RequestParam("telefone") String telefone, @RequestParam("mensagem") String mensagem) { Contato contato = new Contato(); contato.setNome(nome); contato.setEmail(email); contato.setMensagem(mensagem); contato.set cr.save(contato); return "redirect:/Index"; } A segunda, e acredito que seja a que mais se adeque ao que você deseja (O Thymeleaf automaticamente seta o ModelAttribute quando você utiliza th:object="${contato}") : @RequestMapping(value="/", method=RequestMethod.POST) public String form(@ModelAttribute Contato contato) { cr.save(contato); return "redirect:/Index"; }
-
Opa ... No seu Controller, falta anotar o parâmetro para o Spring entender que esse valor está relacionado ao request: @RequestMapping(value="/", method=RequestMethod.POST) public String form(@RequestBody Contato contato) { cr.save(contato); return "redirect:/Index"; }
-
Java JSF, Hibernate - Foreign key is Null!
psykotico respondeu ao tópico de Doctore em Java/Android SDK
Sim ... Na verdade como você disse que estava aprendendo, achei que trabalhar apenas com valores simples na view e no MB seria mais tranquilo pra você entender. Mas se já está abstraindo isso, perfeito, é assim mesmo -
Java JSF, Hibernate - Foreign key is Null!
psykotico respondeu ao tópico de Doctore em Java/Android SDK
No form, você está mostrando o valor do ID e o nome da pessoa. você pode utilizar um DOM Input hidden pra fazer essa parte e poder recuperar o Id da pessoa pelo menos. <h:inputHidden value="#{user.id}" id="hiddenId" /> -
Java JSF, Hibernate - Foreign key is Null!
psykotico respondeu ao tópico de Doctore em Java/Android SDK
O velho caso do Relacionamento Bidirecional ... é terrível e gera vários erros mesmo ... Não é elegante fazer isso, mas meu sono não me deixa pensar em algo melhor ... public void addTelefone(Pessoa pessoa, Telefone telefone) { try { sessao = HibernateUtil.getSessionFactory().openSession(); if (pessoa.getTelefones() == null) { pessoa.setTelefones(new ArrayList<Telefone>()); } pessoa.getTelefones().add(telefone); telefone.setPessoa(pessoa); sessao.save(telefone); transacao.commit(); } catch (Exception e) { e.printStackTrace(); } finally { sessao.close(); } } O Problema do bidirecional é que ele tem problemas para entender que quando você seta um, implicitamente você está setando o outro ... Forçando dessa forma, você garante que o mesmo objeto está sendo setado nos dois lados ... -
Exatamente como disse o @Boko Moko. Mas é mais interessante você estudar sobre encapsulamento, na Orientação a Objetos. Assim você começa a entender sobre atributos, métodos e suas características.
-
Existem várias formas. Acredito que a forma mais simples de você fazer isso é inserindo cada linha em uma Lista de Strings, como abaixo: String linha; List<String> lista = new ArrayList<String>() while( (linha = reader.readLine()) != null ){ lista.add(linha); } E depois disso utilizar algum algorítmo de ordenação para ordenar a lista. PORÉM: Se forem números, tome cuidado pos ele tende a ordenar Strings por caractere, o que resulta em algo como [1,10,11,12 ... 2,20,21 ...] ... Assim, teria que se atentar a essa situação ... Outra forma é utilizar a Biblioteca Collections ... Collections.sort(list, comparator); Nesse caso, para evitar a Situação de ordem de números, você teria que implementar a Classe comparator para indicar o maior e menor.
-
Java Como pegar o ID do usuário após buscar login JavaFx
psykotico respondeu ao tópico de Elyton Moreira em Java/Android SDK
É que você tá chamando o método com o seguinte parâmetro: logindao logi = new logindao(); //... logi.Alterar(login.getSenha()); ou seja, você tá passando uma String Senha, para um método e lá você está aguardando que o Objeto seja um LoginBean acredito que deva funcionar se você alterar a chamada do método para: logi.Alterar(login); -
Java Como pegar o ID do usuário após buscar login JavaFx
psykotico respondeu ao tópico de Elyton Moreira em Java/Android SDK
Isso exato ... assim você não precisa ficar buscando o código antes de fazer o update e faz tudo num processo apenas ... outra coisa interessante é validar pra ver se ele preencheu o campo senha ... só fazer um !senha.isEmpty() assim ele evita salvar logins com senha vazia .... -
Java Como pegar o ID do usuário após buscar login JavaFx
psykotico respondeu ao tópico de Elyton Moreira em Java/Android SDK
Não necessariamente. Veja, se (e exclusivamente se) o campo login for único no banco (ou seja, só vai existir valores diferentes) então qualquer pesquisa por login só vai retornar um campo, correto ... Com isso, na sua pesquisa: String sql = "Select * from usuario where login = ? "; Já faz exatamente o que eu quis dizer. Com isso, seu update ficaria com String sql = "update usuario set senha = ? where login = ?"; Da forma que você está fazendo, dá a chance do usuário mudar inclusive o campo login. Com isso eu posso colocar TODOS os logins da tabela com o mesmo nome, e depois disso, o sistema não conseguirá identificar qual é qual. Exemplo: ++++++++++++++++++++++++++++++++++++++++ | codigo | login | senha | +--------+---------------+-------------+ | 1 | usuario1 | umasenha | | 2 | outrouser | outrasenha | | 3 | maisum | maisoutra | ++++++++++++++++++++++++++++++++++++++++ Se eu no primeiro momento fizer login = "outrouser" terei: Select * from usuario where login = 'outrouser'; o que retornaria o código 2 para a tela. Mas, se depois de atualizar o form eu completar com as informações login = "maisum" e senha = "blabla", eu tenho: update usuario set login = 'maisum',senha = 'blabla' where codigo = 2 O que me resulta em uma tabela assim: ++++++++++++++++++++++++++++++++++++++++ | codigo | login | senha | +--------+---------------+-------------+ | 1 | usuario1 | umasenha | | 2 | maisum | blabla | | 3 | maisum | maisoutra | ++++++++++++++++++++++++++++++++++++++++ E com isso, como seu sistema localizará o usuário "maisum" correto? Porém, se você utilizar a constraint unique para o campo login, nunca terá esse problema de duplicação na coluna, e com isso, você já poderá fazer o update da forma que eu expliquei ali em cima. PS.: Não sei se é o caso, mas por boa prática de segurança, geralmente alteração de senha só é realizada em uma console de admin, ou após o usuário estar logado. Se ele está logado, basta você manter os dados do usuário em um objeto estático (ou um Bean, caso você utilize Injeção de Dependência) e buscar os valores antes do update, só solicitando a senha. Se for numa console admin, como você já listou todos os usuários, você novamente já tem os valores de login na tela de listagem, e pode reaproveitar inclusive o mesmo form para update de senha. -
Java metodo validar login com hibernate
psykotico respondeu ao tópico de José Duarte de Barros Neto em Java/Android SDK
Tente com Object result = consulta.getSingleResult(); return result == null; você está solicitando para ele executar uma ação de update no banco, mas é uma query simples ... como você sempre tem o objeto consulta instanciado, ele nunca vai dar false ... -
Java Arrastar imagem de um site do navegador para aplicação
psykotico respondeu ao tópico de Fernando Mordini em Java/Android SDK
Acho que esse tópico aqui vai te ajudar: https://stackoverflow.com/questions/8769336/drag-image-from-browser-to-drop-onto-jlabel -
no caso a correta seria a resposta 1 ... p.push(8); p.push(15); Object ob = pop(); p.push(23); p.push(ob); p.push(p.top()); p.push(p.pop());
-
Java Não estou conseguindo fechar o código - Netbeans
psykotico respondeu ao tópico de jajaHB em Java/Android SDK
Cara, analisando seu código me deparei com uma série grande de erros... - No switch case, você finaliza a estrutura, mas abre um "case 2" logo após. Verifica a ordem de chaves pois está completamente errada. - Objeto materias não foi inicializado - Você cria dois objetos com nomes dataNascimento; - valorHoraria não foi criado - chamada do Parser está errada: Interger.Integer.parseInt(...) ou Interger.parseInt(...) ... o correto é Integer.parseInt() - disciolinasExistentes não foi criado - método materias.IndexOutOF não existe ... o correto é materias.indexOf(...) Veja, não consigo nem analisar se há erro de lógica com tanto erro de compilação ... verifique isso antes... -
Java Como pegar o ID do usuário após buscar login JavaFx
psykotico respondeu ao tópico de Elyton Moreira em Java/Android SDK
Esse tipo de abordagem é um pouco estranha, já que no fim, a informação que você tem para alterar não é o id, e sim o login ... Apenas pra entender o motivo, porque você quer que apareça os id do usuário na tela de alteração de senha?? Veja, se isso força alguns processos a mais só pra satisfazer esse caminho. você precisaria: - Pesquisar o login no banco para buscar o id do usuário a partir do campo login. - Setar o id do usuário no campo da tela para ele ser exibido. - Executar o comando de update no banco com os valores novos. Se essa necessidade do id não for obrigatória, basta fazer o update com um where apontando apenas o campo login (lembrando que o campo login deve ter constraint de unicidade na tabela) -
Java Monitor 4k e aplicação em JAVA
psykotico respondeu ao tópico de jonas zuffo requião em Java/Android SDK
Pelo que vi, o Java tem alguns problemas com telas com DPI muito alto ... sendo assim, se sua aplicação foi um JAR executável, é só executar com java -jar <ARQUIVO.JAR> -Dsun.java2d.dpiaware=false Do contrário, existe a possibilidade de setar isso direto na JVM, mas não encontrei como fazer aqui no momento. -
Java ArrayList e método p/ retornar um objeto
psykotico respondeu ao tópico de Juliana Batista da Silva em Java/Android SDK
Eu não entendi exatamente qual a dúvida. Mas vamos lá ... Para fazer o get pelo id, você pode fazer exatamente como fez no método de exclusão ... mas retornando o objeto. public void getFor(int id) { for(int i = 0;i<lista1.size();i++) { if(lista1.get(i).getId()==id) { return lista1.get(i); } } } Acabei não compreendendo se fornecedor possui um id ou não, então fiz acreditando que ele possua. Todos os outros métodos se assemelham muito a esse, então basta seguir esse modelo. PS.: Para melhorar a compreensão do seu código (isso vale pra qualquer linguagem), tente usar nomes de variáveis, atributos e métodos mais contextualizados. Ao invés de lista e lista1, use listaProdutos e listaFornecedores ... nos métodos tb ... getProdutos() para retornar a lista de produtos ... getProduto(id) para retornar um único produto ... assim o código fica mais natural e fácil para entender e dar manutenção -
Não ... isso é Solidity, uma linguagem com traços do Javascript, usada muito nos blockchain ... https://en.wikipedia.org/wiki/Solidity
-
Java Como usar Getters e Setter em java
psykotico respondeu ao tópico de gabreu2504 em Java/Android SDK
Sim ... esses warnings indicam que você tem atributos privados no código, mas não tem uma forma de recuperar ou atualizar esses dados. Se essas informações fosse informações que você utilizasse em outro método, ele não acusaria o warning. O caso é que você seta eles no construtor, ou calcula eles em um método, mas o valor nunca é recuperado. -
Java problemas com probabilidade em java
psykotico respondeu ao tópico de Wagner Luiz em Java/Android SDK
Pelo que você colocou do seu problema, você tem que: 1- incluir as sequencias de numeros. 2- solicitar o numero a ser procurado. 3- calcular a probabilidade Acho que com isso você já tem como começar ... Tente postar alguma parte de código para a gente poder ajudar. Sem isso, fica difícil entender qual a sua dúvida. -
Java Comparar lote de arquivos via hash
psykotico respondeu ao tópico de marcel.mc em Java/Android SDK
Pelo que entendi, você quer apenas verificar duplicidade, sem de fato executar a deleção ou algo assim ... bem, eu faria invertido. O hash é o seu identificador único. É por ele que você identifica que não existe um outro "arquivo idêntico". (está entre aspas porque você está usando hash MD5. O MD5 tem um problema principalmente com arquivos muito grandes, gerando hashes semelhantes para arquivos diferentes. Dependendo do caso, o SHA1 pode servir melhor a você, mas não é algo extremo. Raramente acontece, mas acontece) Sendo assim, eu usarioa um Map<String, String> mas usando o Hash como key, e o valor sendo o Path. Então eu faria algo como: Map<String, String> fileMap = new HashMap<String, String>(); List<File> fileList = new ArrayList<File>(FileUtils.listFiles(filePath, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)); for (File file : fileList) { String hash = calculaHash(file); //verifica se já existe algum arquivo com a mesma hash if (fileMap.containsKey(hash)) { //Indica que já existe um arquivo System.out.println("O arquivo " + file.getAbsolutePath() + " já foi encontrado no caminho " + filemap.get(hash)); } else { //Inclui o arquivo na lista fileMap.put(hash, file.getAbsolutePath()); } } Assim eu percorro a lista de arquivos apenas uma vez, já verificando os arquivos durante o processo.
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