7 Tips Para Ser un Programador Más PRO

Sdílet
Vložit
  • čas přidán 8. 07. 2024
  • 🟣 HOSTINGER: www.hostinger.com/sarosi
    Código de descuento SAROSI
    🎓 Mis Cursos en Mastermind
    www.mastermind.ac/?ref=225b86
    📱 REDES SOCIALES
    Discord: discordapp.com/invite/bHPnUr7
    Instagram: / antoniosarosi
    Twitter: / antoniosarosi
    🎵 MÚSICA
    Shelter - Broken Elegance
    • [Chillstep] Broken Ele...
    Discovery - AK
    • AK - Discovery
    Hip Hop Instrumental - Csus
    • Csus - Hip hop instrum...
    Moonlit Lover - Dimatis
    • Dimatis - Moonlit Lover
    Afterlife - SkyFlair & Exal
    • SkyFlair & Exal - Afte...
    Once Upon A Time - Tulpa & Temporal
    • Tulpa & Temporal - Onc...
    Minimalist - Virtual Riot (Wayr Remix)
    • 【Chillstep】Virtual Rio...
    📋 INDICE
    00:00 Tip 1: Pasar un CSV a SQL
    04:02 Hostinger
    05:39 Tip 1 Parte 2: CSV a SQL con ORM
    08:28 Tip 2: La Calculadora...
    09:25 Tip 3: Early Return
    12:34 Tip 3 Parte 2: Continue en bucles
    15:05 Tip 4: Diccionario en vez de switch
    20:11 Tip 5: ¿Cómo se pone en marcha tu proyecto?
    22:14 Tip 6: Docstrings
    24:08 Tip 7: camelCase y snake_case
    TAGS
    #programacion
  • Věda a technologie

Komentáře • 321

  • @AntonioSarosi
    @AntonioSarosi  Před rokem +79

    Algunas notas que estáis mencionado:
    - Se puede rellenar una tabla con un CSV directamente desde consola. Efectivamente, pero no siempre es tan fácil, a veces tienes que convertir los datos a otro formato (rediseño de la BD) o sacar los datos de otra API o de otro sito. El tip es agrupar los inserts, no tanto el CSV, el CSV era solo un ejemplo.
    - En compiladores más antiguos no se puede cambiar un if dentro de otro por un and porque no garantizan que la evaluación del and sea de izquierda a derecha. En estos casos lo que se puede hacer es poner uno después de otro, si es que vas a retornar nulo u otro valor.
    - No es el lenguaje como tal el que tiene un "estándar" para la nomenclatura de variables/funciones/clases. Existen varios estándares para cada lenguaje. A lo o que me refería es a usar el estándar mayoritario, que usa la mayoría de gente.

    • @fernandomoran3163
      @fernandomoran3163 Před rokem

      Cual es tu lenguaje favorito

    • @fullpeliculafhdhdsd9242
      @fullpeliculafhdhdsd9242 Před rokem

      Buena aclaración.

    • @alexestrada9588
      @alexestrada9588 Před rokem

      @@no-name1.612 khee

    • @revytech1001
      @revytech1001 Před rokem

      Si, en la práctica antes de cada registro se requieren validaciones que no dependen del tipo de dato si no del modelo de negocio. A medida que estas se cumplan se pueden ir agregando al query.

    • @flavioe.salasm.9922
      @flavioe.salasm.9922 Před rokem

      the Art of postgresql... te enseña a no ser tan pendejo....

  • @jinjanwarrior5912
    @jinjanwarrior5912 Před rokem +131

    Me molarian más videos de este estilo

  • @mihailion2468
    @mihailion2468 Před rokem +20

    Para el primer tip, puedes mejorarlo aún más usando el LOAD DATA INFILE de mySQL, que lo que hace es básicamente leer directamente el fichero y lo vuelca a base de datos, ya te imaginas lo rápido que puede llegar a ser

    • @jsanca
      @jsanca Před rokem +1

      Eso mismo iba a decir, sin embargo el uso del script es muy valido cuando se necesita procesamiento de la linea, escapar, componer, agregar, remover, etc

    • @arielcg_
      @arielcg_ Před rokem +1

      El tema con eso es que necesitas acceso al propio servidor, porque el INFILE es un archivo en el disco del servidor. Como estés en una base de datos administrada por otros (como puede ser Amazon RDS), ya no puedes hacer eso. Y aún si tienes acceso, tienes que saber en qué directorio colocar el archivo, ya que MySQL no puede leer de cualquier lugar del sistema.

  • @lautarochaparro1332
    @lautarochaparro1332 Před rokem +5

    2 videos en menos de una semana gracias por todo antonio, te queremos. con mucho amor tu comunidad.

  • @mikeldiaz3249
    @mikeldiaz3249 Před rokem

    Excelente vídeo!!! Tus explicaciones son bastante detalladas y claras.
    Apoyo para que hagas más vídeos de estos, siendo jr. me ayuda muchísimo.

  • @cokeDeToro
    @cokeDeToro Před rokem

    Mola este vídeo! dale con más tips!!

  • @jufran_87
    @jufran_87 Před rokem

    Excelentes consejos, muchas gracias por compartir

  • @brunomontd
    @brunomontd Před rokem

    Que buen vidio! Antoniooo

  • @03zet
    @03zet Před rokem +1

    Muchas gracias por los tips Antonio, yo recientemente he conseguido mi primer trabajo como desarrollador y estos tips me van a servir bastante y desde luego que los aplicaré, espero que de vez en cuando subas videos de este estilo.

  • @danielmesa5722
    @danielmesa5722 Před rokem +2

    Cada día más crack 💥💥, sería bueno más videos de estos con ejemplos con código como buenas prácticas, principios solid, refactoring o patrones. (me gustó mucho que cada topic tenía su ejemplo práctico)

  • @leo_perez_2023
    @leo_perez_2023 Před 10 měsíci

    muy bueno, muchas gracias! bien venidos los consejos!

  • @jmrodev
    @jmrodev Před rokem

    Muy buen video con grandes concejos !!!

  • @newentu
    @newentu Před rokem

    Excelente datos!!

  • @lazaroaltedill
    @lazaroaltedill Před rokem

    10/10 super el video tome nota de todos los consejos , los aplique en un proyecto y la verdad que se nota la diferencia. Sigue con videos asi. Slaudos

  • @VirusZyrus
    @VirusZyrus Před rokem +26

    Crea mas videos asi... nos ayudan mucho a mejorar el rendimiento de nuestros proyectos

  • @unlugartrufado
    @unlugartrufado Před rokem +9

    En cuanto a la nomenclatura..... no depende del lenguaje, depende de los estándares de naming. Por ejemplo en python se suele usar PEP8, pero hay otros. Y en C ocurre igual. Hay varios estándares. Cada uno usa el que quiere. De hecho suele ser habitual indicárselo a linter para que te advierta cuando lo incumples. Pero no es cosa propia del lenguaje en la mayoría de los casos. De hecho si así fuera, estaría implementado en el lexer.

  • @maqarg
    @maqarg Před rokem

    Excelente!!! Gracias por el video. Saludos desde Buenos Aires Argentina!

  • @ignacioinzerilli2382
    @ignacioinzerilli2382 Před rokem

    Me gustarian mas videos de este estilo, muy bueno, grandee

  • @jonathan8406
    @jonathan8406 Před rokem

    Que buenos pro tips Antonio, El pattern matching fue mi favorito junto con los objetos y diccionarios y también sobre los DocStrings, Rust rules!

  • @David-iv4eq
    @David-iv4eq Před rokem +1

    Muchas Gracias, justamente empezaré un proyecto de la Uni, aplicaré lo que dijiste :3
    Me gustan este tipo de videos jajaja

  • @hiscariotex
    @hiscariotex Před rokem

    Vamos papi. Otro video

  • @saidneder41
    @saidneder41 Před rokem

    Tremendo Antonio!

  • @josewilhelm2717
    @josewilhelm2717 Před rokem

    Buen video! Sí me gustarían más videos así!

  • @unlimited_code
    @unlimited_code Před rokem

    ¡Excelente! - ¡Buen trabajo Tony!

  • @darkcomtech
    @darkcomtech Před rokem +1

    Me gustan estos videos que te ayudan a mejorar la refactorización y el estilo del código.

  • @michaelrivera1070
    @michaelrivera1070 Před rokem

    Muchas gracias por tu consejos, han sido de gran ayuda

  • @juanorozco5298
    @juanorozco5298 Před rokem

    Muchas gracias por este video, nos ayudas a muchos ❤❤

  • @Mariomm_marti
    @Mariomm_marti Před rokem +28

    Una cosa, en el primer tip es tan extremadamente lento porque haces una query por insert, pero lo habitual (cuando no los importas sino que rellenas desde una API o algo así) es hacer INSERT INTO [... ]VALUES([...]),([...]),([...])... En PostgreSQL al menos, los datos se almacenan paginados de 8KB en 8KB. Si no recuerdo mal, usan LSMTrees para optimizar la inserción. Al pasar todos los VALUES en una sola query, es capaz de analizar cómo guardar mejor la información y es mucho más rápido (si mandas los values de uno en uno, no sabe cuál es el siguiente y no puede optimizar el espacio para el anterior).
    El comentario va con la intención de explicar el motivo, que no es solo el interrupt del sistema operativo.
    Muchos ORM aprovechan esto y te obligan a hacer el #commit() o algo así para generar una sola query. Espero que te resulte de utilidad (quizá ya lo sabías), y que leas esto :)

  • @GROOVETECHSETS
    @GROOVETECHSETS Před rokem

    Mas videos como este, en serio... Buenísimo!

  • @diegogutierrez8473
    @diegogutierrez8473 Před rokem

    muy bueno, esperamos parte 2

  • @dos2ratosmas
    @dos2ratosmas Před rokem

    Muy bueno lo del Early return, lo vi varias veces usado y no entendia porque lo hacian, gracias!

  • @tekunramirez
    @tekunramirez Před rokem

    hey muchas gracias por tus aportes

  • @anomfb
    @anomfb Před rokem

    buen consejos amigo. bien explicado. y con ejemplos. no solo habla. sino que tambien muestra como usarse. que bueno.

  • @eacardenase
    @eacardenase Před rokem

    Tremendo contenido! Justo he estado pensando en cómo hacer una query con un archivo .csv a una base de datos y has dado justo en el clavo!

  • @irvagui
    @irvagui Před rokem

    Buenísimos tips 👌👌

  • @davidromaniuk
    @davidromaniuk Před rokem

    Tu amor por la perfeccion es fantastica

  • @pacofernandez2863
    @pacofernandez2863 Před rokem

    Muy buen video💪🏼

  • @migueljurado6783
    @migueljurado6783 Před rokem

    Muy bueno Don Antonio! jej

  • @1desgerasl
    @1desgerasl Před rokem

    Muy acertado todo.

  • @MuStevenPlay
    @MuStevenPlay Před rokem

    Grande Sarosi, nice video

  • @CodeWithDesign
    @CodeWithDesign Před rokem

    Vamoss por mas... falta esto en youtube.. te sigo crack..

  • @ofaaoficial
    @ofaaoficial Před rokem

    Gran vídeo!

  • @julianromero6114
    @julianromero6114 Před rokem

    Que buen video amigo, toma tu like

  • @josedanielmendoza2305

    Ufff bellísimo... nada de esto métodos lo habia visto antes ... están buenisimos

  • @johanx22x
    @johanx22x Před rokem +4

    Acerca del tip 4, tambien se puede aplicar lo mismo a la hora de llamar a una función, es mucho mejor que esta se encuentre en un diccionario o un mapa que hacer un montón de condiciones para cada caso, solo hay que investigar un poco el lenguaje con el cual se esta trabajando para encontrar la manera de hacerlo, en caso de ser posible te ahorras varias lineas de codigo y ganas un codigo mas limpio y legible.

  • @dariorodrigotorrejon4004

    Genio me sirvió mucho el vídeo para el día a día 😁 saludos desde Argentina y seguí así!

  • @bernardoabel4136
    @bernardoabel4136 Před rokem

    muy buen video, aprendi mucho

  • @ciwic
    @ciwic Před rokem

    Buenos tips!

  • @danielroa9618
    @danielroa9618 Před rokem

    Muchas gracias, me gustan este tipo de videos, haz mas de este tipo, saludos desde Colombia

  • @latinmu
    @latinmu Před rokem

    muy buenos tips, soy nuevo en el mundo del desarrollo y me van a servir bastante en mi carrera profesional.

  • @noelserdna
    @noelserdna Před rokem

    un video muy chulo.... aunque muchos los conocía volverlos a escuchar siempre es bueno

  • @dmz3010
    @dmz3010 Před rokem

    Thanks Maquina!

  • @agustinvega7746
    @agustinvega7746 Před 10 měsíci

    Que buen video bro! saludos desde las tierras caribeñas de Colombia!

  • @johanpalaciose
    @johanpalaciose Před rokem

    Grande Antonio

  • @edgaralejandrogonzalez6689

    Me he tardado en verlo (lo tenía pendiente) pero me encantó, estaría genial una segunda parte

  • @brandonlopez6328
    @brandonlopez6328 Před rokem

    Bárbaro! Buen video bro

  • @AliHamza-en8cn
    @AliHamza-en8cn Před rokem +1

    Video increíble de mucha ayuda para los que están empezando espero que haya segunda parte. Eres un crack.

  • @marcosMartinez-wm7bd
    @marcosMartinez-wm7bd Před rokem

    mas de estos videos!

  • @josevicente632
    @josevicente632 Před rokem

    Excelente video!! Saludos desde colombia

  • @alberto3028
    @alberto3028 Před rokem +1

    24:02 No solo sirve para que te aparezca en el IDE, el jsdoc en js sirve como validador de tipos tal y como hace typescript si añades un checkJS: true al tsconfig, además podrás ejecutar el tsc solo como validador en la línea de comandos, sin tener que transpilar a JS. Ese es el valor fundamental del jsdoc, tener validación de tipos sin necesidad de typescript, ya que al final es solo sugar.

  • @kcireorenom8430
    @kcireorenom8430 Před rokem

    sigue así, esos temas están guapos.

  • @lucabarraud6484
    @lucabarraud6484 Před rokem

    Muy bueno tu video, nuevo suscriptor.

  • @fullpeliculafhdhdsd9242

    Buen video 👍 😉 👌, me gusto.

  • @Magistrado1914
    @Magistrado1914 Před rokem

    Excelente vídeo y explicación
    Visto en 04/11/2022

  • @ProfeDuilio
    @ProfeDuilio Před rokem

    Bravo Antonio 👏

  • @gustavodiaz9732
    @gustavodiaz9732 Před rokem

    Gracias maestro

  • @dairoparra
    @dairoparra Před rokem

    Me gustó bastante el video.

  • @aluissp
    @aluissp Před rokem

    Algunas me las sabía otras no, buen video Antonio

  • @asdas9
    @asdas9 Před rokem

    no me sabia el de continue bastante util tu video :D

  • @TheJFMR
    @TheJFMR Před rokem

    Buenos trucos, el del early return me gustó. Me lo habían contado, pero ahora lo entendí.

  • @jesuopin1612
    @jesuopin1612 Před rokem

    VIDEAZOO!

  • @mdelama
    @mdelama Před rokem

    Excelente video

  • @eduardocortez5839
    @eduardocortez5839 Před rokem

    eres grande bro

  • @azraelaxel3124
    @azraelaxel3124 Před rokem +1

    he programado por dos años (por hobby) en proyectos propios... pero todos los consejos me sirvieron mucho!.... por ahí no tanto el de CSV a SQL, pero si piensas en la teoría de lo que has dicho igual se aplica a muchas cosas más (simplificar el código para que todo entre, de ser posible, en una sola línea de código)... espero que saques nuevos videos así!

    • @alister_
      @alister_ Před rokem +1

      Simplificar no significa reducir la cantidad de líneas de código. Lo importante es que sea fácil de entender, fácil de mantener y fácil de modificar.

  • @zeusjean
    @zeusjean Před rokem

    vamos por la parte 2 :)

  • @zavirydantes
    @zavirydantes Před rokem

    Muy buen video, otra cosa que veo hacer a mucha gente, incluso con experiencia, es poner condicionales ante boleanos en vez de devolver la expresion boleana directamente. Un saludo!

  • @donbuche
    @donbuche Před rokem

    Guapo el vídeo, Antoñeteeee

  • @M4rc05
    @M4rc05 Před rokem

    más! :D

  • @daumienebi
    @daumienebi Před rokem

    Justo podía llegar a necesitar algo así para una aplicación que estoy creando, pero en mi caso tengo los datos en un JSON. Muchas gracias!

  • @SystemsAdventure
    @SystemsAdventure Před rokem +1

    Genial 👌

  • @edwinroman30
    @edwinroman30 Před rokem

    ¡Qué tal Antonio 👊🏼. Muy interesante la serie!

  • @diegolopezcuentas5979

    Me gustó mucho.

  • @chrrissoft2404
    @chrrissoft2404 Před rokem

    Hola Antonio, me gustan muchos tus videos, se ve realmente que eres muy pro y tines mucho conocimiento, seguro que es el resultado de muchas horas de estudio y de experiencia programado.
    Se que a programar se aprende programado, pero ¿Tines algún truco para aprender?. Saludos crack.

  • @neo-clon
    @neo-clon Před rokem +1

    La verdadera razón del tiempo que toma el insert, es que en cada uno se ejecuta de forma implicita un begin transaction con su respectivo commit

    • @UnDarkVader
      @UnDarkVader Před rokem +1

      ... además del tiempo de validación de sintaxis por parte del motor de BD para cada instrucción recibida

  • @sentadoensilla
    @sentadoensilla Před rokem

    Algunas veces el insert involucra varias tablas, en esos casos debemos hacer mas trucos, pero siempre es mejor aplicar estructuras enves de ciclos

  • @johanj_____________7918

    Excelente

  • @Centorios
    @Centorios Před rokem

    Por temas de atomicidad, esta manera de encararlo es mas rapido pero en caso de haber un error en el proceso se ROLLBACKEA toda la transaccion, al hacerlo de manera poco optima estarias asegurando la atomicidad de todos los datos (solamente no se insertaria el o los valores erroneos, no se descartarian todos los datos)

  • @soycarlosramos
    @soycarlosramos Před rokem

    No puedo creer que en serio me quedé 1/2h viendo este video. Estuvo buenísimo. Like y suscrito ¡Muchas gracias!

  • @pavelramos
    @pavelramos Před rokem +2

    Me has animado a darle una revisada a javascript y node, yo es que no soy desarrollador, pero si cargo mi arsenal en pendrives para ahorrarme varias horas manuales en la oficina. Habrás encontrado alguna herramienta que se asemeje a pillow de python en js? Felicidades por como ha crecido el canal y sobre todo el contenido!

  • @iiaaannn._5087
    @iiaaannn._5087 Před rokem

    increíble

  • @kriollo_dev
    @kriollo_dev Před rokem +1

    Hola Antonio, como siempre buenos videos, sólo un alcance; para hacer un insert de un csv más y más pro, puedes usar el load data de mysql, con php se puede y mucho más rápido y eficiente, yo lo ocupo para cargar archivos de miles de registros cada hora y la base ninse inmuta... eso no más, gracias por los videos

  • @kiyo211
    @kiyo211 Před rokem

    Te admiro mucho kpo

  • @PedroGonzalez-su8wv
    @PedroGonzalez-su8wv Před rokem +2

    Al ver que duraba 27 minutos pensé en que se me iba a hacer eterno, pero se pasó de volada, haces muy interesantes tus videos incluso para explicar cosas técnicas bro (:

  • @christianquispe4017
    @christianquispe4017 Před rokem

    tambien puedes crear chunks de N registros y ejecutas por bloques los querys de INSERT

  • @sispemspe8662
    @sispemspe8662 Před rokem +5

    En Oracle, si yo quiero hacer eso, tengo varias alternativas, 1) generar un archivo CTL para levantarlo con un loader, 2) crear una tabla externa con el archivo y usarlo como parte de la base de datos, 3) correr los inserts dentro del servidor desde una interfaz sql abierta directamente en la base, 4) crear un proceso de base que levante todo eso en memoria y luego lo inserte utilizando una sentencia forall. Todas esas alternativas eliminan el tráfico de red que generan los lenguajes no nativos a la base de datos, o lo minimizan, como él caso de la 4ta alternativa. Esa sentencia tiene como propiedad el aprovechar los paquetes del tráfico de red en toda su capacidad.

    • @secundariab.2741
      @secundariab.2741 Před rokem

      Bro, y si tienes multibles tablas como 5 que estan relacionadas con la informacion que vas a procesar, cual seria la solucion? crear un store procedure para insertar las 5 a la vez?

    • @sispemspe8662
      @sispemspe8662 Před rokem +2

      @@secundariab.2741 primero tenes que determinar el orden en el que vas a insertar, si tenes múltiples tablas con datos relacionados, por lo general, unas son transaccionales y otras son tablas base que alimentan a las primeras. Para que los inserts no fallen, tenes que empezar por las tablas base, y luego ir a insertar en las transaccionales. Una vez que determinaste el orden en que deben ser insertados los registros, elegís alguno de los métodos, dependiendo de cómo estes trabajando los datos.

  • @nightwingx0747
    @nightwingx0747 Před rokem

    me gusta tu canal saludos y exitos!!!

  • @christianosorio7473
    @christianosorio7473 Před rokem

    El Early Return lo conocia como Guard Clauses, excelente vídeo

  • @josereyess1583
    @josereyess1583 Před rokem

    Grande Antonio.
    Deberías hacer un vídeo explicando mejor sobre como refactorizar refactorizar código 👍

  • @densohc2223
    @densohc2223 Před rokem +1

    llevo mas de 2 meses tratando de aprender progrmacion y siento que no aprendo nada con este video me has echo entender varias cosas y seguire intentado aprender js mas a profundo que es lo que me interese ay html y css

  • @_chris_6786
    @_chris_6786 Před rokem

    Antes de pasar a mi comentario, felicitarte por este enorme esfuerzo que haces. Está súper.
    Con respecto al último tip sobre nomenclaturas, es cierto, pero...
    En el "corpus" de todos los lenguajes de programación existen elementos comunes, esos son:
    * variables
    * constantes
    * funciones
    * clases
    * keywords
    etc...
    Lo bueno sería poder diferenciar estos elementos, y en el caso de variables y funciones, ambas escritas en snake_case, no se pueden distinguir cuál es cuál. Por ello, estaría bueno que, para nombres de variables y propiedades de una clase usemos siempre snake_case en minúsculas, y para nombres de funciones usemos camelCase (esto también aplica para métodos).
    En general lo usaríamos asi:
    * variables o propiedades (snake_case)
    * constantes (MAYÚSCULAS)
    * funciones y métodos (camelCase)
    * clases (UpperCamelCase)
    * parámetros (snake_case) ya que los parámetros son variables
    En mi mejor entender, con esta forma sí ya podemos distinguir a los elementos.
    Un fuerte abrazo y más videos así.

    • @AntonioSarosi
      @AntonioSarosi  Před rokem

      Hace años podría ser interesante hacer eso, pero hoy en día como tienes coloreado de sintaxis sabes cuál es cuál. Yo al menos me baso más en el color que el formato del nombre para saber si es función/clase/variable, etc