{"id":4408,"date":"2023-02-02T20:17:54","date_gmt":"2023-02-02T19:17:54","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=4408"},"modified":"2023-02-02T20:17:55","modified_gmt":"2023-02-02T19:17:55","slug":"100daysofcode-dia-7-nueva-idea-y-continuacion-de-otros","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2023\/02\/02\/100daysofcode-dia-7-nueva-idea-y-continuacion-de-otros\/","title":{"rendered":"100DaysOfCode: d\u00eda 7 &#8211; nueva idea y continuaci\u00f3n de otros"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Hoy he tenido un d\u00eda regular en este reto. Me he pasado parte de la ma\u00f1ana enfrascado en muchos temas y le he dado demasiadas vueltas a la parte de administraci\u00f3n. Espero recuperar tiempo ma\u00f1ana.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ttt <\/h3>\n\n\n\n<p>Aqu\u00ed el trabajo ha sido poco. Un test de un m\u00f3dulo Perl escrito y funcional que falla en todos los aspectos que tiene que fallar porque el c\u00f3digo que testea no existe en su mayor\u00eda. Respecto al m\u00f3dulo he avanzado bastante, especialmente cuando me he dado cuenta de que son tres m\u00e9todos p\u00fablicos, sin atributos de clase, y que no merec\u00eda la pena emplear bibliotecas de c\u00f3digo para automatizar la clase. Vamos, ni \u00e9sta ni ninguna de las otras tres en las que est\u00e1 compuesto. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">mydevtools<\/h3>\n\n\n\n<p>Aqu\u00ed he estado pensando bastante y me he lanzado a crear una nueva herramienta que las unifique a todas. As\u00ed, sin miedo, pero con esperanza brillando en mis ojitos de que esta vez voy a conseguirlo. <\/p>\n\n\n\n<p>No, en serio. El \u00fanico problema, si puedo llamarlo as\u00ed, que encuentro con este paquete es que son demasiados los scripts que lo componen y aunque lo tengo bastante documentado me pierdo en el nombre, los par\u00e1metros y el orden de uso que tengo que darle en cada momento. <\/p>\n\n\n\n<p>He ideado un programa llamado <em>mybuild<\/em> que va a reunir toda la funcionalidad que tienen los otros para no tener tanto espacio de nombres ocupado. Si total, las tareas son las mismas de siempre. <\/p>\n\n\n\n<p>Ahora mismo en un archivo <em>make<\/em> tengo la siguiente disposici\u00f3n con las tareas comunes en un directorio de desarrollo. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">all:\n\nbuild: build-manpages\n\nbuild-manpages: extract_pod\n        build_repo_manpages -b -s docs\n\nextract_pod:\n        extract_pod_manpages -t docs\n\ninstall:        install-docs install-lib\n\ninstall-docs:\n        build_repo_manpages -i -s docs -t $(DESTDIR)\/usr\/share\/man\n\ninstall-lib:\n        install_repo_files libmyparams-perl $(DESTDIR)\n\nclean: clean-docs clean-tmp\n\nclean-tmp:\n        find . \\( -name \"*.bak\" -o -name \"*.orig\" -o -name \"*.deb\" \\) -delete -print\n\nclean-docs:\n        build_repo_manpages -c -s docs\n<\/code><\/pre>\n\n\n\n<p>M\u00e1s o menos as\u00ed. Depende de la antig\u00fcedad del proyecto utilizar\u00e9 unos u otros para hacer lo mismo en todas las fases: inicializaci\u00f3n, construcci\u00f3n, testeo, instalaci\u00f3n y empaquetado. Y siempre tengo que mirar ejemplos de otros proyectos recientes o tirar de p\u00e1gina de manual para saber c\u00f3mo funciona. No est\u00e1 bien. <\/p>\n\n\n\n<p>La herramienta que he comenzado dar\u00e1 un aspecto m\u00e1s sencillo a los archivos <em>make<\/em>: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">all:\n\nbuild: build-docs build-binary \n\nbuild-docs:\n    mybuild build docs\n\nbuild-binary:\n    mybuild build bin\n\nclean: clean-repo clean-docs \n    mybuild clean bin\n\nclean-repo:\n    mybuild clean repo\n\nclean-docs:\n    mybuild clean docs\n<\/code><\/pre>\n\n\n\n<p>Creo que la idea se pilla. Se llama al programa con la operaci\u00f3n y luego el t\u00f3pico y se encarga, como ya hacen lo otros programas, de mirar valores por defecto, comprobar si se puede o no hacer algo, hacerlo o no, y dar los errores correspondientes; todo con la m\u00e1xima de que va a ser empleado en otros programas y que debe morirse si hay algo de verdad mal y no decir ni p\u00edo si el resto va bien o no ha tenido que hacer nada.<\/p>\n\n\n\n<p>He empezado escribiendo la documentaci\u00f3n y luego pasar\u00e9 a los test. No tengo prisa pero estar\u00eda bien que algunos de los t\u00f3picos estuviesen cubiertos como la documentaci\u00f3n, tema m\u00e1s que trillado por el paquete, lo antes posible. <\/p>\n\n\n\n<p>Ah, lo mismo el nombre es demasiado largo y lo acorto con uno de mis famosos y valorados acr\u00f3nimos. :-)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy he tenido un d\u00eda regular en este reto. Me he pasado parte de la ma\u00f1ana enfrascado en muchos temas y le he dado demasiadas vueltas a la parte de administraci\u00f3n. Espero recuperar tiempo ma\u00f1ana. ttt Aqu\u00ed el trabajo ha sido poco. Un test de un m\u00f3dulo Perl escrito y funcional que falla en todos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[1206],"tags":[1209,1214],"class_list":["post-4408","post","type-post","status-publish","format-standard","hentry","category-100daysofcode","tag-mydevtools","tag-ttt"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=4408"}],"version-history":[{"count":1,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4408\/revisions"}],"predecessor-version":[{"id":4409,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4408\/revisions\/4409"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=4408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=4408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=4408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}