Até hoje eu não faço ideia de como passei em 2 semestres de estrutura de dados na faculdade, já que eu n entendia absolutamente NADA. Aí vem o Akita e em 1hr cria uma linked list de todo o conteúdo da minha cabeça e do nada tudo faz sentido!
@@porfiriodevCara eu também tô na mesma, não dava muita atenção pra essas aulas pq meu professor tinha uma didática péssima, e eu nem imaginava da importância delas, o Akita me deu uma nova visão sobre tudo que tive contato
@@pedrobarbieri9811 nossa, a minha era MT gente boa, mas também tinha uma didática horrível! E isso é fundamental pra entender arrays, grafos, árvores, etc. Faz muita falta esse conhecimento de base
Esse vídeo é difícil. Estou aqui pela terceira vez. Não é a didática, penso que é a complexidade do conteúdo. Que legal que tenho a oportunidade de rever várias vezes. Obrigado por compartilhar o seu tempo fazendo esse trabalho pra gente.
Quando você vê o Akita falando diretamente sobre C dois vídeos seguidos, você percebe que 2021 vai ser um ano foda!! Valeu d+ Akita O vídeo que muita gente tava esperando você falar sobre: Algoritmos e Estrutura de Dados
Apreciei muito este vídeo (e o anterior). Desde já deixo aqui minha congratulação pela produção de conteúdo de qualidade sem a necessidade de click baits, enganar o público com a filosofia do oba-oba e buscar views com base em hype, práticas tão comuns entres os "dev influencers". Sou um admirador do seu trabalho. Gostaria de pontuar detalhes de security dentro de alguns tópicos abordados e fazer algumas singelas retificações. Vou me deter apenas às peculiaridades da Linguagem C a luz do ISO/IEC 9899:1999 (e 2011), até porque a exposição dos conceitos subjacentes foi muito boa. Certamente recomendarei este vídeo (e o anterior) justamente àqueles que me solicitam material introdutório sobre a relação de C com as parte mais duras da máquina que ficam debaixo do capô. Eu acho importante esses pequenos detalhes porque Secure Coding e C na prática se tornaram inseparáveis, e para aqueles que estão apredendo é quase indispensável dar atenção ao tema. 05:05 A declaração de hello designa uma array de non-const chars com "automatic storage", numa análise a priori esse objeto é bem possível que esteja alocado na stack, sim, contudo seria muito dificil este estar alocado em .rodata, pois, vulgarmente falando, os elementos desta array são mutáveis. Se `hello` fosse declarado como `static const char hello[]` a chance de ser alocado em .rodata seria muito mais plausível. 24:10 Aqui *hash não é inicializada, o que, posteriormente, pode implicar em acessos a uma POSSÍVEL "trap representation" (resumindo: um padrão de bits de uma area de memória que não pode ser traduzido num valor válido de um determinado tipo), o que pode desencadear um "undefined behavior" à luz do Padrão. Não se pode supor que todos os objetos estarão corretamente inicializados, nem mesmo se fosse utilizado "calloc()" (função que aloca o objeto e inicializa os bits da memória em zero), pois não há garantias, à luz do Padrão, que este objeto cuja representação ostenta todos bits com valor zero possa ser traduzido no valor "null pointer". O correto seria inicializar os membros com NULL. Ou seja, eu estou afirmando que, à luz do Padrão, `memset(hash, 0, sizeof(*hash))` é diferente de `*hash = (struct Hash){{0}}`. 27:45 Caso semelhante ao anterior: node->next em createNode é deixado em estado não-inicializado. Acontece que em 29:01 é apresentada a função insertNode que faz uso da expressão node->next, que implica no acesso de uma POSSÍVEL "trap representation". Sobre este tópico específico: consultar a Regra EXP33-C do SEI CERT C Coding Standard
obrigadão pelo detalhamento e, claro, tem toda razão. eu falei de calloc e esqueci de usar ele. eu fico tentando simplificar a explicação pra não ficar confuso demais pra iniciante e esqueço de detalhes assim que na real são importantes.
Cara, você é fantástico. Resumiu vários períodos da faculdade em 2 vídeos no RUclips. Recomendo fortemente para quem é autodidata. Realmente muito bom, parabéns 😬
Esse canal é a razão que ainda tenho fé na internet, eu comecei a faculdade de Ciência da Computação e comecei a assistir teus vídeos um pouco antes, está me ajudando de mais e sinto que vai me acompanhar por grande parte do meu desenvolvimento nesta carreira. Muito foda Akita! PS: Tira essas bonecas japonesas do cenário, tá me destraindo kkkk
Tua eloquência é admirável, me faz ter uma saudades absurda de programar em C novamente, e revisitar todas as Estruturas de dados que na época tive dificuldades em absorver. Monstro!!!!
Akita: voces precisam estudar Algoritmos e Estruturas de dados... Eu: puts, mas é chato :( *Akita lança video sobre o assunto* Eu: CARALHO ISSO É MUITO FODA!
Akita, ótimo vídeo mais uma vez. Sobre estatística: a curva Normal é característica da Distribuição Normal dos elementos, que apresenta ponto máximo, ou seja, pode-se haver acumulação de elementos em um determinado ponto. Acredito que o que você quis dizer era Distribuição Regular ou Uniforme, que é o cenário *IDEAL* para uma função de hash, pois os elementos se distribuem de forma igual diante de todo o domínio (inputs da função hash).
Akita, se eu não tivesse assistido 80% dos seus vídeos, eu diria que você também está fazendo Computação na Univesp. Esses dois últimos vídeos foram praticamente complementos às aulas das duas últimas semanas de Estruturas da Dados, com o adendo de fazer o link com a disciplina de Fundamentos Matemáticos para Computação. Muito legal, muito bom e muito obrigado pelo conteúdo.
Sem palavras Akita, não é a primeira vêz que eu to assistindo esse vídeo. Assisti algumas vezes pra entender, depois que entendi, assisti pra admirar os detalhes dessa Arte que vc faz. Parabéns
Depois de fazer a matéria de Estruturas de Dados duas vezes, passar com nota máxima na segunda, criar um repositório de estruturas de dados em php, finalmente consigo assistir 1 hora de video do Akita e entender 60% dele de primeira kkkkk
Obrigado Akita, comecei a faculdade de engenharia elétrica a pouco tempo e quando comecei a estudar C você começa a fazer vídeo sobre C. Vai ser um grande aprendizado!
Ótimo vídeo Fábio. Só uma observação, acho que quando se referiu a uma distribuição aleatória, em que todos os elementos têm a mesma chance de aparecer para evitar colisões, quis dizer uma distribuição uniforme, e não gaussiana. Uma distribuição gaussiana, ou normal, teria mais colisões já que é centrada na média.
Nos últimos dias , nos tempos livres , busco assistir aos vídeos deste canal. Honestamente, nunca vi um indivíduo tão capacitado fora dos filmes. Fogos ! Minha admiração
Cara, tava tendo dificuldade de entender isso na faculdade, mas o vídeo ficou muito didático e ajudou bastante. O interessante é que o Akita traz o histórico do problema junto casos reais. Acho que esse é o grande problema da faculdade, ela deixa muitas coisas muito abstratas, e trazer o contexto do problema ajuda a entender muito mais o assunto. Como pode um vídeo tão curto ser tão explicativo sobre o assunto? Parabéns pela didática!
Fabio Akita, excelente exposição dos seus conhecimentos adquiridos na prática durante todos seus anos de trabalho. Você mostrou a todos que se as pessoas não aprenderem a sintaxe da linguagem C é impossível obter sucesso no desenvolvimento de qualquer programa.
Sobre os arrays. Fui ver como é feito no python e elas são listas ligadas onde temos uma matriz que mapeia o endereço do espaço novo alocado ao índice que usamos para acessar. Dessa forma ele consegue extender a lista sem precisar alocar um novo espaço e fazer a cópia de todos os elementos e o tempo de acesso a cada um continua estático pois [1] leva ao endereço da matriz que leva ao endereço alocado. Muito obrigado pelos vídeos Akita, ajuda muito nós estudos e a motivar!
Akita, essa sua explicação de Hash ficou muito didática! Já tinha estudado e implementado, mas mesmo assim deu aquela "luz" pra olhar as coisas de forma mais visual, show!
GRANDE MESTRE FABIO, estava vendo sua participação HipstersPonto da Alura, ficou show., venho aqui e me deparo com mais um conteúdo TOP. Só tenho que lhe agradecer por nos presentear com seus ensinamento. Gratidão!
to estudando algoritmos e estruturas de dados, vi várias implementações em diferentes linguagens, só consegui entender de fato depois de assistir esse video, a forma que o Akita explica é mt boa
Parabéns Fábio Akita, Poucas pessoas fazem um review do proprio video, consequentemente cria uma geração de reprodutores de erros que defendem estarem corretos, quando vejo um contéudo assim como o seu me orgulha o tempo que fico assistindo seus videos e coletando informações para segir na carreira. Obrigado por ser alguém Profissional e Humano.
Pra quem estiver procurando uma introdução mais leve e direta ao ponto, o livro "Entendendo Algoritmos: Um guia ilustrado para programadores e outros curiosos" de Aditya Y. Bhargava é uma boa pra iniciar.
Acabei agora de assistir pela segunda vez o primeiro vídeo sobre C para ver se entendia direito, e ele posta uma continuação kkkkkkkkkkkkkk (Akita, está faltando adicionar o primeiro vídeo de C na playlist "Programação para Iniciantes")
Valeu Akita! O ecossistema de programação brasileiro carece MUITO de conteúdo de qualidade em C... é incrível sua capacidade de mesmo não sendo especialista nessa ferramenta ainda assim ser responsável por alguns dos melhores vídeos sobre o assunto. Por isso que dizem que asiático é tudo alien hehehe
Cara que massa, por isso gosto dos seus vídeos e o seu jeito de ser, não tem frescura nenhuma em ensinar e mais ainda quando está errado, e faz um vídeo refatorando um vídeo anterior, sucesso sempre Akita!
Tem uma palestra recente do próprio Brian Kernighan em que ele explica uns pontos sobre C, e na palestra ele confessa ter que procurar as assinaturas das funções da própria stdlib do C porque não sabe de cabeça, e admite que o código que usa num exemplo lá não é robusto pra escalas maiores de dados de entrada Eu me senti menos pior como programador vendo isso fslfjsgkj
Um ótimo vídeo que dá uma visão geral da área de estrutura de dados e algoritmos. É uma dos meus tópicos preferidos do mundo da computação, adorei estudar isso na faculdade. Com certeza, seu video reviveu o quanto esse tópico é fascinante. No meu canal, até estou produzindo vídeos-aulas deste tópico inspirado no Cormen e no que estudei pela graduação. Simplesmente fascinante!! Parabéns mais uma vez! =)
Parabéns pela aula, sim uma aula, há anos atras quando eu estava estudando estrutura de dados não tive este entendimento assim tão "mastigado", parabéns.
Esse vídeo foi nostálgico pra mim. C foi minha primeira paixão nas linguagens de programação e depois entendi que isso só aconteceu por que eu tinha um professor sensacional, assim como o Akita. 😆
Excelente vídeo Akita! É louco pensar que já ensinei estrutura de dados e teoria para uns (bons) ex-alunos que hoje estão na Codeminer, espero ter sido útil haha
Aos 6 minutos, é possível acontecer da string ser copiada para a stack caso seja escrito em forma/sintaxe de array e não ponteiro, principalmente se o array não for const (o compilador vai tender a copiar a string para dentro da área da stack do array, já que a section rodata não deve ser escrita durante a execução do programa), entretanto ao passar a variável para outras funções passará apenas o endereço mesmo. Eu tenho um código sobre isso no github, mas a última vez que colei aqui o youtube tirou o comentário por considerar spam provavelmente. Aos 51 mins, isso lembra o problema que foi resolvido recentemente no GTA V, onde um modder encontrou o motivo do load demorado do GTA Online: a função parecia parsear o json de itens do jogo usava uma implementação do sscanf que por baixo chamava strlen sempre, como os devs devem ter testado com uma lista pequena não notaram isso, mas conforme novos itens foram sendo adicionados no jogo o json chegou aos vários MB e o jogo começou a demorar muito pra dar load.
Eu ia exatamente falar sobre esse caso do GTA 5 , serio que sugeira aquilo, literalmente ninguém analisou o código, imagina bilhões de interações em um json maluco.
Cara muito obrigado, continua ai dando uma moral, para nós no C ou no Ruby.... está sendo muito contrutivo pra quem como eu ta começando as 39 anos, valeu .... cara sempre ta com uma camiseta foda.
Akita como sempre desbravando o mundo dos hexadecimais and bytes !!! A cada vídeo um novo ensinamento e uma nova vontade de aprender algo novo (Pra mim claro) e diferente ! #NetKita #vlw
Depois de assistir esse vídeo tenho 2 metas: 1. Assistir de novo todos os vídeos do Akita mas com caderno na mão anotando e estudando até entender tudo que tá sendo falado. 2. Necessito dessa blusa (aliás achei a sua cara dá até pra ler com a sua voz.).
Cheguei ao ponto de dormir ouvindo o podcast do akita ! parabéns seus conteúdos são de altissimo valor, irei continuar sendo seu jovem padawan mestre akita
Lembrei do livro que estou lendo da mestra Loiane Groner, Estruturas de dados e algoritmos com JavaScript, super recomendo! Como sempre, parabéns pelo conteúdo Akita! a comunidade agradece s2
Muito foda o vídeo. Comecei a ler o Introduction to Algorithms mês passado e tinha boiado na explicação do Big Theta e Big Omega. Esse vídeo deu uma esclarecida.
Que video bem feito! Vou usar esses seus vídeo como uma ajuda na hora que eu não me lembrar de algo. Uma maneira que também fica bem interessante e que penso que deve funcionar para o insertNode seria: void insertNode(struct Hash *hash, char *key, char *value){ unsigned int index = hashCode(key); struct Node *node = Hash->list[index}; if(node == NULL){ hash->list[index] = createNode(key, value); } else { while(node->next != NULL) { node = node->next; } node->next = createNode(key, value) } }
Suas explicações sempre são melhores e mais claras que dos meus professores! (Funcionário público não se esforça pelo salário que tem) Parabéns pelo canal continue assim!
22:09 Em C puro você não precisa fazer typecast do ponteiro void que o malloc retorna, o compilador faz isso automaticamente. Já em C++ sim, é obrigatório fazer o que fizeste.
@@julio9577 Em C, programador tem que ficar bem atento mesmo, por um lado, se não fizer casting, o compilador pode achar ruim que vc está atribuindo um ponteiro void* para uma variavel com outro tipo. Por outro lado, se vc fizer o casting errado, vc pode estar acessando dados corrompidos.
17:57 só um extra sobre o %d. Ele formata especificamente números inteiros decimais. Para outros tipos, é necessário usar %f ou %lf (float e double). Existem outros também, mas é fácil de encontrar sobre isso na internet 😉
Parabéns pelos vídeos, Akita. Quisera eu ter acesso a esse tipo de material durantes meus anos de faculdade. Tive que aprender alguns dos pontos explicados no vídeo na marra. Enfim, bom pro pessoal que tá aprendendo agora.
3 года назад
Seria interessante falar também das desvantagens em relação a cache misses entre as estruturas, mas aí também cairiamos em AoS vs SoA que poderiam ter um vídeo só para esses tópicos de micro optimizações. Como sempre, ótimo video!
God Akita ótimo vídeo como sempre. Quero muito ver um vídeo sobre arquiteturas e padrões de projeto seu! Você já chegou a estudar e aplicar o paradigma funcional? Tá bastante no hype hoje em dia. Fica aí outro pedido e sugestão de vídeo.
Na entrevista de emprego: Recrutador: Qual sua experiência com C? Eu: Acompanhei a playlist do Akita e acompanho até hoje. Recrutador: Bem vindo a vaga Senior!
Todas as sugestões de livros neste vídeo são muito pertinente, mas quando vi você mostrar o Rivest (57') fiquei ainda mais satisfeito e trouxe à memória o quão achava gostosa esta obra, quando estudei informática na universidade "La Sapienza" de Roma a partir de 1996. O Rivest era já um clássico naquela época. Não quero parecer saudosista e acredito que a literatura deva sempre melhorar, porém alguns clássicos continuam tendo grande valor didático. Como curiosidade, a capa do Rivest é uma obra do grande escultor estadunidense Alexander Calder, uma escultura realizada para ser pendurada e movimentada.
cara o akita é simplesmente Fodástico!! O cara tinha de tudo pra tá curtindo a vida sem compromisso nenhum e faz videos de 1hora ou mais e fora o que acontece nos bastidores (edição e companhia ltda rsrs) isso é quase uma consultoria!! P Q P. Que Deus te abençoe meu caro, você esta mudando minha visão sobre programação te conheci faz 1 ano e ontem completei 20 anos tenho muita sorte de conhecer um canal desses e poder me direcionar melhor junto com os estudos da faculdade complementar com esse mundarel de conteúdo... Isso que eu faço engenharia de produção de software... Que tem muita pouca coisa de programação no começo o forte mesmo vem a partir do 3 ano
Boa noite! muito bom o vídeo! Um sucesso, por hora conversamos sobre como ficou menos "mágico" o que acontece nos bastidores. Realmente esse erros são uma "bostinha" (coisa pequena) perto do conteúdo apresentado. Continuo aguardando a sequência e parabéns! Pena que demora 15 dias! kkkkk. Valeuuuu!
Depois desse vídeo: "só sei que nada sei e o pouco que sei, tô duvidando se sei mesmo."
Essa é a magia! Não desista!
Muito bom! 😂
30 minutos de aula ead: "que negócio chato bicho"
1 hora de vídeo do Akita: "meu Deus do céu, computação é incrível"
Até hoje eu não faço ideia de como passei em 2 semestres de estrutura de dados na faculdade, já que eu n entendia absolutamente NADA. Aí vem o Akita e em 1hr cria uma linked list de todo o conteúdo da minha cabeça e do nada tudo faz sentido!
@@porfiriodevCara eu também tô na mesma, não dava muita atenção pra essas aulas pq meu professor tinha uma didática péssima, e eu nem imaginava da importância delas, o Akita me deu uma nova visão sobre tudo que tive contato
@@pedrobarbieri9811 nossa, a minha era MT gente boa, mas também tinha uma didática horrível! E isso é fundamental pra entender arrays, grafos, árvores, etc. Faz muita falta esse conhecimento de base
Deveria ter um botão chamado "Pô, meu velho, muito obrigado pelo conteúdo e que Deus te abençoe sempre"
Recrutador: Qual sua experiência?
Eu: Estudo os vídeos do Akita.
Recrutador: Tá contratado!
Recrutador: kkkkkk Então,. toma aí uma prova com os conteúdos que ele falou!
Eu: Então, deixa...
@@RodrigoSantos-ch2ej puts ahahahahahahahaha, tem que assistir com uma lista anotando os hotspots po, pra estudar depois
"Eu estudo os videos do Akita um vez só....e entendo" - Quer virar meu sócio?
@@Viller01 vou te falar... Pior que faço isso! Mas, tem tanta coisa pra estudar que as vezes fico meio: "Tô meio perdido aqui, véio!"
@@hex_maquina kkkkk nesse nível!!
Esse vídeo é difícil. Estou aqui pela terceira vez. Não é a didática, penso que é a complexidade do conteúdo. Que legal que tenho a oportunidade de rever várias vezes. Obrigado por compartilhar o seu tempo fazendo esse trabalho pra gente.
Quando você vê o Akita falando diretamente sobre C dois vídeos seguidos, você percebe que 2021 vai ser um ano foda!! Valeu d+ Akita
O vídeo que muita gente tava esperando você falar sobre: Algoritmos e Estrutura de Dados
Lembrando que essa foi só a introdução. Tem mais pra vir. ❤️
Vim do futuro para dizer que ele já lançou o 3º vídeo de C!
E foi um ano foda d++, mesmo...
Minha 1a oportunidade na área veio depois da luz que esse e outros vídeos do homem foram lançados xD
Feliz ano novo!!!
Apreciei muito este vídeo (e o anterior). Desde já deixo aqui minha congratulação pela produção de conteúdo de qualidade sem a necessidade de click baits, enganar o público com a filosofia do oba-oba e buscar views com base em hype, práticas tão comuns entres os "dev influencers". Sou um admirador do seu trabalho.
Gostaria de pontuar detalhes de security dentro de alguns tópicos abordados e fazer algumas singelas retificações. Vou me deter apenas às peculiaridades da Linguagem C a luz do ISO/IEC 9899:1999 (e 2011), até porque a exposição dos conceitos subjacentes foi muito boa. Certamente recomendarei este vídeo (e o anterior) justamente àqueles que me solicitam material introdutório sobre a relação de C com as parte mais duras da máquina que ficam debaixo do capô. Eu acho importante esses pequenos detalhes porque Secure Coding e C na prática se tornaram inseparáveis, e para aqueles que estão apredendo é quase indispensável dar atenção ao tema.
05:05
A declaração de hello designa uma array de non-const chars com "automatic storage", numa análise a priori esse objeto é bem possível que esteja alocado na stack, sim, contudo seria muito dificil este estar alocado em .rodata, pois, vulgarmente falando, os elementos desta array são mutáveis. Se `hello` fosse declarado como `static const char hello[]` a chance de ser alocado em .rodata seria muito mais plausível.
24:10
Aqui *hash não é inicializada, o que, posteriormente, pode implicar em acessos a uma POSSÍVEL "trap representation" (resumindo: um padrão de bits de uma area de memória que não pode ser traduzido num valor válido de um determinado tipo), o que pode desencadear um "undefined behavior" à luz do Padrão. Não se pode supor que todos os objetos estarão corretamente inicializados, nem mesmo se fosse utilizado "calloc()" (função que aloca o objeto e inicializa os bits da memória em zero), pois não há garantias, à luz do Padrão, que este objeto cuja representação ostenta todos bits com valor zero possa ser traduzido no valor "null pointer". O correto seria inicializar os membros com NULL. Ou seja, eu estou afirmando que, à luz do Padrão, `memset(hash, 0, sizeof(*hash))` é diferente de `*hash = (struct Hash){{0}}`.
27:45
Caso semelhante ao anterior: node->next em createNode é deixado em estado não-inicializado. Acontece que em 29:01 é apresentada a função insertNode que faz uso da expressão node->next, que implica no acesso de uma POSSÍVEL "trap representation".
Sobre este tópico específico: consultar a Regra EXP33-C do SEI CERT C Coding Standard
obrigadão pelo detalhamento e, claro, tem toda razão. eu falei de calloc e esqueci de usar ele. eu fico tentando simplificar a explicação pra não ficar confuso demais pra iniciante e esqueço de detalhes assim que na real são importantes.
Esses 59:00 minutos de vídeo são melhores do que 4:00 horas de aula na faculdade
Akita eu te amo, entenda kkk🥰🥰🥰🥰💞
Cara, você é fantástico. Resumiu vários períodos da faculdade em 2 vídeos no RUclips. Recomendo fortemente para quem é autodidata. Realmente muito bom, parabéns 😬
Esse canal é a razão que ainda tenho fé na internet, eu comecei a faculdade de Ciência da Computação e comecei a assistir teus vídeos um pouco antes, está me ajudando de mais e sinto que vai me acompanhar por grande parte do meu desenvolvimento nesta carreira. Muito foda Akita! PS: Tira essas bonecas japonesas do cenário, tá me destraindo kkkk
Humildade é tudo. Independentemente de alguns erros, sua iniciativa e conteúdo é de grande valia meu amigo. Grande abraço!
Tua eloquência é admirável, me faz ter uma saudades absurda de programar em C novamente,
e revisitar todas as Estruturas de dados que na época tive dificuldades em absorver. Monstro!!!!
Akita: voces precisam estudar Algoritmos e Estruturas de dados...
Eu: puts, mas é chato :(
*Akita lança video sobre o assunto*
Eu: CARALHO ISSO É MUITO FODA!
Dr. Akita, o senhor é o Hermes da Informática. Thank you for share you knowledge with us.
Akita, ótimo vídeo mais uma vez. Sobre estatística: a curva Normal é característica da Distribuição Normal dos elementos, que apresenta ponto máximo, ou seja, pode-se haver acumulação de elementos em um determinado ponto. Acredito que o que você quis dizer era Distribuição Regular ou Uniforme, que é o cenário *IDEAL* para uma função de hash, pois os elementos se distribuem de forma igual diante de todo o domínio (inputs da função hash).
é uniforme, eu falei errado. tá nas erratas
Like antes de assistir com certeza, estou aprendendo sobre as entranhas de C pela primeira vez contigo!
Melhor notificação! Akita, não pare de postar nunca!!!
Que aula! Como sempre falo não sou da área mas curto demais ver as explicações e ler os comentários do pessoal!
Didática é foda!
Ah como esses vídeos são essenciais! Parabéns pelo trabalho Akita!!
Conteúdo Partilhado com êxito. Muito obrigado pelo conhecimento oferecido a comunidade. Meus parabéns pelo trabalho.
Akita, se eu não tivesse assistido 80% dos seus vídeos, eu diria que você também está fazendo Computação na Univesp. Esses dois últimos vídeos foram praticamente complementos às aulas das duas últimas semanas de Estruturas da Dados, com o adendo de fazer o link com a disciplina de Fundamentos Matemáticos para Computação. Muito legal, muito bom e muito obrigado pelo conteúdo.
1 visualização, 64 likes, este homem é um deus msm. Ansioso pra ver!
Tem coisa melhor que receber uma notificação de vídeo novo do Akita?
Esses vídeos do Akita são e estão cada vez melhores. Foi quase um semestre de Ciência da Computação em 1 hora. Excelente!
Sem palavras Akita, não é a primeira vêz que eu to assistindo esse vídeo. Assisti algumas vezes pra entender, depois que entendi, assisti pra admirar os detalhes dessa Arte que vc faz.
Parabéns
Depois de fazer a matéria de Estruturas de Dados duas vezes, passar com nota máxima na segunda, criar um repositório de estruturas de dados em php, finalmente consigo assistir 1 hora de video do Akita e entender 60% dele de primeira kkkkk
vish, vou começar essa matéria esse mês, to dando uma passada pra ver oque a por vir👀
@@gustavohenriquenascimentod3992 eai passou?
Video do Akita se refutando, tem meu like! kkkkk
Ia ser mt massa um video sobre grafos , árvores e dp
Obrigado Akita, comecei a faculdade de engenharia elétrica a pouco tempo e quando comecei a estudar C você começa a fazer vídeo sobre C. Vai ser um grande aprendizado!
Maravilha demais essa série! Assistindo já
Ótimo vídeo Fábio. Só uma observação, acho que quando se referiu a uma distribuição aleatória, em que todos os elementos têm a mesma chance de aparecer para evitar colisões, quis dizer uma distribuição uniforme, e não gaussiana. Uma distribuição gaussiana, ou normal, teria mais colisões já que é centrada na média.
Comentei mas já notaram haha.
@@matheuszabin Eu ia comentar, mas fui procurar para ver se alguém já tinha visto! kkkkk Like pros dois! ;-)
Nos últimos dias , nos tempos livres , busco assistir aos vídeos deste canal. Honestamente, nunca vi um indivíduo tão capacitado fora dos filmes. Fogos ! Minha admiração
Cara, tava tendo dificuldade de entender isso na faculdade, mas o vídeo ficou muito didático e ajudou bastante. O interessante é que o Akita traz o histórico do problema junto casos reais. Acho que esse é o grande problema da faculdade, ela deixa muitas coisas muito abstratas, e trazer o contexto do problema ajuda a entender muito mais o assunto. Como pode um vídeo tão curto ser tão explicativo sobre o assunto? Parabéns pela didática!
Sensacional, eu sempre tenho dificuldade em determinar a complexidade de algoritmos, a explicação ajudou!!!
Fabio Akita, excelente exposição dos seus conhecimentos adquiridos na prática durante todos seus anos de trabalho. Você mostrou a todos que se as pessoas não aprenderem a sintaxe da linguagem C é impossível obter sucesso no desenvolvimento de qualquer programa.
Sobre os arrays. Fui ver como é feito no python e elas são listas ligadas onde temos uma matriz que mapeia o endereço do espaço novo alocado ao índice que usamos para acessar. Dessa forma ele consegue extender a lista sem precisar alocar um novo espaço e fazer a cópia de todos os elementos e o tempo de acesso a cada um continua estático pois [1] leva ao endereço da matriz que leva ao endereço alocado.
Muito obrigado pelos vídeos Akita, ajuda muito nós estudos e a motivar!
Akita, essa sua explicação de Hash ficou muito didática!
Já tinha estudado e implementado, mas mesmo assim deu aquela "luz" pra olhar as coisas de forma mais visual, show!
Obrigada Akita pelo vídeo, cada dia sinto-me mais motivada a estudar. Excelebte canal. Parabéns.
GRANDE MESTRE FABIO, estava vendo sua participação HipstersPonto da Alura, ficou show., venho aqui e me deparo com mais um conteúdo TOP. Só tenho que lhe agradecer por nos presentear com seus ensinamento. Gratidão!
melhor notificação
Com certeza
to estudando algoritmos e estruturas de dados, vi várias implementações em diferentes linguagens, só consegui entender de fato depois de assistir esse video, a forma que o Akita explica é mt boa
Parabéns Fábio Akita,
Poucas pessoas fazem um review do proprio video, consequentemente cria uma geração de reprodutores de erros que defendem estarem corretos, quando vejo um contéudo assim como o seu me orgulha o tempo que fico assistindo seus videos e coletando informações para segir na carreira.
Obrigado por ser alguém Profissional e Humano.
Pra quem estiver procurando uma introdução mais leve e direta ao ponto, o livro "Entendendo Algoritmos: Um guia ilustrado para programadores e outros curiosos" de Aditya Y. Bhargava é uma boa pra iniciar.
Vdd, esse livro é muito bom msm!
Acabei agora de assistir pela segunda vez o primeiro vídeo sobre C para ver se entendia direito, e ele posta uma continuação kkkkkkkkkkkkkk
(Akita, está faltando adicionar o primeiro vídeo de C na playlist "Programação para Iniciantes")
bem lembrado, adicionei!
@@Akitando Tmj! Seu trabalho é incrível!
Rapaz, tive AED I semestre passado e esse vídeo já serviu como revisão para AED II que terei nesse semestre
Vlw, Akita
Muito bom! Você possui excelente didática. Por um lado foi bom ter acontecido alguns erros, pois você fez esse outro vídeo top falando de C hehehe
Akita sempre dando uma força para eu saber o quanto não sei de nada hahaha. Obrigado mestre, ótimo vídeo!
Valeu Akita! O ecossistema de programação brasileiro carece MUITO de conteúdo de qualidade em C... é incrível sua capacidade de mesmo não sendo especialista nessa ferramenta ainda assim ser responsável por alguns dos melhores vídeos sobre o assunto. Por isso que dizem que asiático é tudo alien hehehe
"Vamos consertar o C cagado do akita", acho que na leitura rápida não soaria tão bem kkkkk / 5ª série
Pelo menos não foi C# ,né kkkkkkk
kkkkkkkkkkkkk eu ri
Bug no C dos outros é refresco.
@@ruanpablo2002 Quem tem C# tem medo
Meu Deus, se fosse C# seria perfeito o comentário, em C já foi muito bom 🤣🤣🤣🤣🤣
Cara que massa, por isso gosto dos seus vídeos e o seu jeito de ser, não tem frescura nenhuma em ensinar e mais ainda quando está errado, e faz um vídeo refatorando um vídeo anterior, sucesso sempre Akita!
Tipo de notificação que melhora nosso dia.
Só digo uma coisa. Até os "FODÕES MASTER" erram, pq eu não posso errar também. Vamos pra cima nessa bagaceira. Sucesso pra todos nós.
esse é o pensamento, todos estamos igualmente sujeitos a tudo.
@@lucasgadelha137 Verdade meu amigo, vamos nos permitir a errar também, mas sempre aprendendo com os erros. Forte abraço.
Tem uma palestra recente do próprio Brian Kernighan em que ele explica uns pontos sobre C, e na palestra ele confessa ter que procurar as assinaturas das funções da própria stdlib do C porque não sabe de cabeça, e admite que o código que usa num exemplo lá não é robusto pra escalas maiores de dados de entrada
Eu me senti menos pior como programador vendo isso fslfjsgkj
Um ótimo vídeo que dá uma visão geral da área de estrutura de dados e algoritmos. É uma dos meus tópicos preferidos do mundo da computação, adorei estudar isso na faculdade. Com certeza, seu video reviveu o quanto esse tópico é fascinante. No meu canal, até estou produzindo vídeos-aulas deste tópico inspirado no Cormen e no que estudei pela graduação. Simplesmente fascinante!! Parabéns mais uma vez! =)
Parabéns pela aula, sim uma aula, há anos atras quando eu estava estudando estrutura de dados não tive este entendimento assim tão "mastigado", parabéns.
Esse vídeo foi nostálgico pra mim. C foi minha primeira paixão nas linguagens de programação e depois entendi que isso só aconteceu por que eu tinha um professor sensacional, assim como o Akita. 😆
Parabéns pelo vídeo Akita !!!! Sem duvidas um dos melhores.
26:41 esse foi o melhor exemplo pra explicação de hash que eu já ouvi, parabéns pelo conteúdo
Tava estudando estrutura de dados essa semana, tinha acabado de ver linked list. Seus vídeos são incríveis, vlww Akita.
Só aqui no Akitando eu curto o vídeo antes de assistir. Qualidade garantida!!!
Mais um vídeo de muito conteúdo!
Valeu Akita!
A camiseta ficou ótima!
Excelente vídeo Akita! É louco pensar que já ensinei estrutura de dados e teoria para uns (bons) ex-alunos que hoje estão na Codeminer, espero ter sido útil haha
Obrigadão!👊
os videos do Akita ta sendo um norte para o que eu tenho que estuda.Obrigadão, Akita.
Aos 6 minutos, é possível acontecer da string ser copiada para a stack caso seja escrito em forma/sintaxe de array e não ponteiro, principalmente se o array não for const (o compilador vai tender a copiar a string para dentro da área da stack do array, já que a section rodata não deve ser escrita durante a execução do programa), entretanto ao passar a variável para outras funções passará apenas o endereço mesmo.
Eu tenho um código sobre isso no github, mas a última vez que colei aqui o youtube tirou o comentário por considerar spam provavelmente.
Aos 51 mins, isso lembra o problema que foi resolvido recentemente no GTA V, onde um modder encontrou o motivo do load demorado do GTA Online: a função parecia parsear o json de itens do jogo usava uma implementação do sscanf que por baixo chamava strlen sempre, como os devs devem ter testado com uma lista pequena não notaram isso, mas conforme novos itens foram sendo adicionados no jogo o json chegou aos vários MB e o jogo começou a demorar muito pra dar load.
Eu ia exatamente falar sobre esse caso do GTA 5 , serio que sugeira aquilo, literalmente ninguém analisou o código, imagina bilhões de interações em um json maluco.
Cara muito obrigado, continua ai dando uma moral, para nós no C ou no Ruby.... está sendo muito contrutivo pra quem como eu ta começando as 39 anos, valeu .... cara sempre ta com uma camiseta foda.
Vídeo veio em hora bem oportuna, tava entediado vendo meu programinha compilar
Akita como sempre desbravando o mundo dos hexadecimais and bytes !!! A cada vídeo um novo ensinamento e uma nova vontade de aprender algo novo (Pra mim claro) e diferente ! #NetKita #vlw
Depois de assistir esse vídeo tenho 2 metas:
1. Assistir de novo todos os vídeos do Akita mas com caderno na mão anotando e estudando até entender tudo que tá sendo falado.
2. Necessito dessa blusa (aliás achei a sua cara dá até pra ler com a sua voz.).
mais um video de uma hora do akita, que sonho! esse cara é foda demais, like antes de assistir
Vim do javascript e estou iniciando no java e esses videos estão sendo absurdamente educativos pra mim. Muito obrigado.
Cheguei ao ponto de dormir ouvindo o podcast do akita ! parabéns seus conteúdos são de altissimo valor, irei continuar sendo seu jovem padawan mestre akita
Lembrei do livro que estou lendo da mestra Loiane Groner, Estruturas de dados e algoritmos com JavaScript, super recomendo!
Como sempre, parabéns pelo conteúdo Akita! a comunidade agradece s2
Muito foda o vídeo.
Comecei a ler o Introduction to Algorithms mês passado e tinha boiado na explicação do Big Theta e Big Omega. Esse vídeo deu uma esclarecida.
Que video bem feito! Vou usar esses seus vídeo como uma ajuda na hora que eu não me lembrar de algo. Uma maneira que também fica bem interessante e que penso que deve funcionar para o insertNode seria:
void insertNode(struct Hash *hash, char *key, char *value){
unsigned int index = hashCode(key);
struct Node *node = Hash->list[index};
if(node == NULL){
hash->list[index] = createNode(key, value);
} else {
while(node->next != NULL) {
node = node->next;
}
node->next = createNode(key, value)
}
}
um vídeo melhor que o outro... parabéns Fábio !!!
Gratidão por tudo! Obrigado Fabio Akita.
Caralho, é muito conteúdo!
Puta aula Akita, obrigado!
Acho que foi um dos seus melhores videos.
As erratas são muito importantes. Obrigado!
Akita sensei sempre ajudando. Obrigado!
Eu já chego dando like porque sei que o conteúdo é foda!
Suas explicações sempre são melhores e mais claras que dos meus professores! (Funcionário público não se esforça pelo salário que tem)
Parabéns pelo canal continue assim!
Sempre a melhor notificação, paro tudo que estou fazendo para assistir.
Nostalgia total!
Lembrei da minha época de faculdade. Obrigado!
22:09 Em C puro você não precisa fazer typecast do ponteiro void que o malloc retorna, o compilador faz isso automaticamente. Já em C++ sim, é obrigatório fazer o que fizeste.
Alguns compiladores de C podem gerar um warning ou um erro dependendo da configuração.
Realmente, e também fazer o casting no malloc pode mascarar erros.
@@julio9577 Em C, programador tem que ficar bem atento mesmo, por um lado, se não fizer casting, o compilador pode achar ruim que vc está atribuindo um ponteiro void* para uma variavel com outro tipo. Por outro lado, se vc fizer o casting errado, vc pode estar acessando dados corrompidos.
17:57 só um extra sobre o %d. Ele formata especificamente números inteiros decimais. Para outros tipos, é necessário usar %f ou %lf (float e double). Existem outros também, mas é fácil de encontrar sobre isso na internet 😉
Parabéns pelos vídeos, Akita. Quisera eu ter acesso a esse tipo de material durantes meus anos de faculdade. Tive que aprender alguns dos pontos explicados no vídeo na marra. Enfim, bom pro pessoal que tá aprendendo agora.
Seria interessante falar também das desvantagens em relação a cache misses entre as estruturas, mas aí também cairiamos em AoS vs SoA que poderiam ter um vídeo só para esses tópicos de micro optimizações. Como sempre, ótimo video!
God Akita ótimo vídeo como sempre. Quero muito ver um vídeo sobre arquiteturas e padrões de projeto seu! Você já chegou a estudar e aplicar o paradigma funcional? Tá bastante no hype hoje em dia. Fica aí outro pedido e sugestão de vídeo.
Muito bom, muita inspiração pra continuar estudando mais e mais cada dia!
mds esse video veio na hr certa, comecei minha faculdade de SI semana passada e estao passando C
Na entrevista de emprego:
Recrutador: Qual sua experiência com C?
Eu: Acompanhei a playlist do Akita e acompanho até hoje.
Recrutador: Bem vindo a vaga Senior!
Muito do que foi dito nestes vídeos deveria estar no material de muitos docentes. infelizmente passam superficialmente.
Cara, seus videos são sensacionais. Parabéns
Fazia tempo que não parava pra ver um vídeo do Akita sensei!
Aí sim, vídeo novo é sempre boa surpresa.
Às vezes é dificil de perceber que o Akita deixou o cabelo crescer...
Todas as sugestões de livros neste vídeo são muito pertinente, mas quando vi você mostrar o Rivest (57') fiquei ainda mais satisfeito e trouxe à memória o quão achava gostosa esta obra, quando estudei informática na universidade "La Sapienza" de Roma a partir de 1996. O Rivest era já um clássico naquela época. Não quero parecer saudosista e acredito que a literatura deva sempre melhorar, porém alguns clássicos continuam tendo grande valor didático.
Como curiosidade, a capa do Rivest é uma obra do grande escultor estadunidense Alexander Calder, uma escultura realizada para ser pendurada e movimentada.
cara o akita é simplesmente Fodástico!! O cara tinha de tudo pra tá curtindo a vida sem compromisso nenhum e faz videos de 1hora ou mais e fora o que acontece nos bastidores (edição e companhia ltda rsrs) isso é quase uma consultoria!! P Q P. Que Deus te abençoe meu caro, você esta mudando minha visão sobre programação te conheci faz 1 ano e ontem completei 20 anos tenho muita sorte de conhecer um canal desses e poder me direcionar melhor junto com os estudos da faculdade complementar com esse mundarel de conteúdo... Isso que eu faço engenharia de produção de software... Que tem muita pouca coisa de programação no começo o forte mesmo vem a partir do 3 ano
Boa noite! muito bom o vídeo! Um sucesso, por hora conversamos sobre como ficou menos "mágico" o que acontece nos bastidores. Realmente esse erros são uma "bostinha" (coisa pequena) perto do conteúdo apresentado. Continuo aguardando a sequência e parabéns! Pena que demora 15 dias! kkkkk. Valeuuuu!
Maravilhoso! Obrigado Akita! Estudando ja!