{"id":1258,"date":"2016-03-04T07:05:43","date_gmt":"2016-03-04T06:05:43","guid":{"rendered":"http:\/\/pensalla.cat\/?p=1258"},"modified":"2016-03-04T12:08:22","modified_gmt":"2016-03-04T11:08:22","slug":"els-arxius","status":"publish","type":"post","link":"https:\/\/pensalla.cat\/?p=1258","title":{"rendered":"Els arxius"},"content":{"rendered":"<div style=\"padding-top:0px;\t\r\npadding-right:0px;\r\npadding-bottom:0px;\r\npadding-left:0px;\r\nmargin-top:0px;\r\nmargin-right:0px;\r\nmargin-bottom:0px;\r\nmargin-left:0px;\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" \r\n\t\t\t\t        data-url=\"https:\/\/pensalla.cat\/?p=1258\" \r\n\t\t\t\t        data-via=\"jjofra\"\r\n\t\t\t\t\t    data-text=\"Els arxius\"\r\n\t\t\t\t\t    data-related=\"\"\r\n\t\t\t\t\t    data-count=\"none\"\r\n\t\t\t\t\t    data-hashtags=\"\"\r\n\t\t\t\t\t    data-lang=\"autoLANGauto\"\r\n\t\t\t\t\t    data-counturl=\"pensalla.cat\"\r\n\t\t\t\t\t    data-size=\"medium\"\r\n\t\t\t\t\t    data-dnt=\"false\"\t> Tweet <\/a> <\/div>\r\n\t\t                <script>\r\n\t\t\t\t\t    !function(d,s,id) {\r\n\t\t\t\t\t      var js,fjs=d.getElementsByTagName(s)[0];\r\n\t\t\t\t\t      if(!d.getElementById(id)) {\r\n\t\t\t\t\t       js=d.createElement(s);js.id=id;js.src=\"https:\/\/platform.twitter.com\/widgets.js\";fjs.parentNode.insertBefore(js,fjs);\r\n\t\t\t\t\t      }\r\n\t\t\t\t\t    }\r\n\t\t\t\t\t   (document,\"script\",\"twitter-wjs\");\r\n\t\t\t\t\t    <\/script><div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>Quan treballem en un ordinador a tota la nostra tasca li posem un nom i la guardem ben endre\u00e7ada per poder trobar-la en un futur, el que endrecem i amb el que solem treballar\u00a0\u00a0es diuen arxius ja siguin de text, imatge, so o tot combinat. Anem a especificar quin tipus hi ha, com podem crear-ne i organitzar per facilitar-nos la feina.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><a href=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg\" rel=\"attachment wp-att-1259\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1259\" src=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat-300x225.jpg?resize=300%2C225\" alt=\"330px-Dip\u00f2sit_d\u2019Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat\" width=\"300\" height=\"225\" srcset=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg?resize=100%2C75&amp;ssl=1 100w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg?resize=150%2C113&amp;ssl=1 150w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg?resize=200%2C150&amp;ssl=1 200w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/330px-Dip%C3%B2sit_d%E2%80%99Arxiu_dels_Jutjats_de_Sant_Boi_de_Llobregat.jpg?w=330&amp;ssl=1 330w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Qu\u00e8 \u00e9s un arxiu?<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>Abans d tot, una definici\u00f3 m\u00e9s o menys acad\u00e8mica: un arxiu \u00e9s un conjunt de bytes que poden o no, tenir un significat.<\/div>\n<div>&nbsp;<\/div>\n<div>Encara que un arxiu, o el que nosaltres entenem per un arxiu, pot estar format per dus parts o dos conjunts, ara veureu.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Data fork i Resource fork<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>Quan es va dissenyar el sistema operatiu dels Macs, d\u2019aix\u00f2 ja fa uns anys, es va decidir que un arxiu tindria dos components:<\/div>\n<div>&nbsp;<\/div>\n<div>Al data fork, a on hi ha el contingut del text d\u2019un editor, una imatge, etc, realment el que entenem per arxiu, \u00e9s a dir les dades<\/div>\n<div>&nbsp;<\/div>\n<div>Al resource fork pot haver-hi codi de programa, scripts o, fins i tot, una previsualitzaci\u00f3 de la foto, \u00e9s un tipus d\u2019informaci\u00f3 estructurada, enfront de la desestructura de les dades del data fork que \u00e9s una corrua de bytes un darrere l&#8217;altre<\/div>\n<div>&nbsp;<\/div>\n<div>i, encara, per afegir m\u00e9s complexitat, al cat\u00e0leg del disc hi ha la \u2018firma\u2019 d\u2019un arxiu, el tipus d\u2019arxiu i el creador de l\u2019arxiu.<\/div>\n<div>&nbsp;<\/div>\n<div>Ja veieu que les coses es compliquen quan es vol facilitar la vida a l\u2019usuari, de fet el motiu en el fons de tota aquesta complexitat, va ser per facilitar poder fer dos clics a un arxiu i obrir directament l\u2019aplicaci\u00f3 que li correspon, recordeu que estic parlant de la prehist\u00f2ria \ud83d\ude42<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Les extensions<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>Com poden saber qu\u00e8 hi ha dins un arxiu?\u00a0i com pot saber l\u2019ordinador amb quin programa ha de tractar l\u2019arxiu? per aix\u00f2 es van inventar les extensions.<\/div>\n<div>&nbsp;<\/div>\n<div>La idea inicial, als anys 60 va ser de Digital, aix\u00f2 es va \u2018popularitzar\u2019 inicialment al cp\/m i despr\u00e9s al dos, quan es van inventar el sistema d\u2019extensions amb tres lletres (i 8 lletres pel nom de l\u2019arxiu), els altres, com Unix o Linux, no tenien aquesta limitaci\u00f3 de 8+3, amb el temps, w95, NT, i succesius es va treure la limitaci\u00f3.<\/div>\n<div>&nbsp;<\/div>\n<div>Per citar exemples d\u2019altres sistemes, als linux es pot tenir m\u00e9s d\u2019una extensi\u00f3, p.ex. arxiu.tar.gz<\/div>\n<div>&nbsp;<\/div>\n<div>Si en voleu <a href=\"http:\/\/fileinfo.com\/filetypes\/common\" target=\"_blank\">una llista de les m\u00e9s usades<\/a>,\u00a0i una de <a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_file_formats\" target=\"_blank\">ben extensa a la wikip\u00e8dia<\/a>.<\/div>\n<div>&nbsp;<\/div>\n<div>Les extensions no les assigna ning\u00fa, cada fabricant podria fer servir el que volgu\u00e9s, i aix\u00f2 ha portat a conflictes, per exemple l\u2019extensi\u00f3 .rpm es fa servir pel gestor de paquets RPM i pels arxius de Real Player.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>El MIME<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>Per acabar-ho d\u2019embolicar, als protocols d\u2019internet el MIME identifica el tipus de dades que estem enviant o rebent, per exemple \u2018Content type: text\/plain&#8217;<\/div>\n<div>&nbsp;<\/div>\n<div>Amb aix\u00f2 el receptor ha de saber qu\u00e8 fer amb aquell conjunt de bytes, si els t\u00e9 definits, i com els mostrar\u00e0 a l\u2019usuari o si els guardar\u00e0 o si arrancar\u00e0 un programa concret per mostrar-los.<\/div>\n<div>&nbsp;<\/div>\n<div>\u00c9s la forma de correlacionar tipus d\u2019arxius a internet i consta de dues parts, un \u2018type\u2019 i un \u2018subtype\u2019, per exemple una p\u00e0gina html tindr\u00e0 el MIME \u00a0text\/html \u00a0i encara pot tenir informaci\u00f3 addicional com la codificaci\u00f3, per exemple charset=UTF-8<\/div>\n<div>&nbsp;<\/div>\n<div>Per\u00f2 aix\u00f2 es pot complicar perqu\u00e8 el subtype pot tenir el sufix de l\u2019arxiu (l\u2019extensi\u00f3):<\/div>\n<div>application\/xhtml+xml<\/div>\n<div>&nbsp;<\/div>\n<div>En aquest cas s\u00ed que hi ha un registre, i el registre el porta la IANA, aix\u00ed que si voleu saber quins hi ha, <a href=\"https:\/\/www.iana.org\/assignments\/media-types\/media-types.xhtml\" target=\"_blank\">aneu a la IANA<\/a>.<\/div>\n<div>&nbsp;<\/div>\n<div>i si voleu saber les equival\u00e8ncies entre extensions i media type, aneu a <a href=\"http:\/\/www.sitepoint.com\/web-foundations\/mime-types-complete-list\/\" target=\"_blank\">aquest enlla\u00e7<\/a>.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Un sol arxiu?<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>Com ho fem si volem \u2018agrupar\u2019 m\u00e9s d\u2019un arxiu dins un arxiu? segons en quin sistema operatiu farem servir m\u00e9s un sistema que l\u2019altre, per\u00f2 el que s\u2019ha acabat imposant a Windows, Mac i Linux \u00e9s el zip, encara que hist\u00f2ricament el \u2018tar\u2019 \u00e9s el qui s\u2019emporta el lideratge al Linux i, ara en des\u00fas, el \u2018sit\u2019 era el l\u00edder als Macs.<\/div>\n<div>&nbsp;<\/div>\n<div>Estrictament, els tar no comprimeixen, nom\u00e9s agrupen arxius, per\u00f2 es pot tenir un tar comprimit, el cas m\u00e9s conegut \u00e9s el .tar.gz<\/div>\n<div>&nbsp;<\/div>\n<div>Tots aquests sistemes ens permeten conservar un sistema de directoris dins l\u2019arxiu i\u00a0tamb\u00e9 serveixen per comprovar la integritat de forma que si quan es \u2018desagrupa\u2019 detecta algun error, avisa a l\u2019usuari i no segueix per evitar deixar un arxiu incorrecte.<\/div>\n<div>&nbsp;<\/div>\n<div>Aix\u00ed que, com a resum, el zip suma arxius amb l\u2019estructura de directori, els hi afegeix compressi\u00f3, coher\u00e8ncia i fins i tot posa un password.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Compressions<\/b><\/div>\n<div>&nbsp;<\/div>\n<div><a href=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/sess411.gif\" rel=\"attachment wp-att-1260\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1260 size-thumbnail\" src=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/sess411-150x150.gif?resize=150%2C150\" alt=\"sess411\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/sess411.gif?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/sess411.gif?resize=100%2C99&amp;ssl=1 100w, https:\/\/i0.wp.com\/pensalla.cat\/wp-content\/uploads\/2016\/03\/sess411.gif?zoom=2&amp;resize=150%2C150&amp;ssl=1 300w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>I, finalment, es pot comprimir el contingut, hi ha sistemes de compressi\u00f3 d\u2019arxius amb p\u00e8rdua o sense (zip i jpeg), \u00a0segons si quan es descomprimeix tornem a tenir exactament el mateix contingut o b\u00e9 no \u00e9s possible recuperar el contingut original.<\/div>\n<div>&nbsp;<\/div>\n<div>I no, no \u00e9s m\u00e0gia, el sistema de compressi\u00f3 i descompressi\u00f3 d\u2019arxius permet reduir la mida d\u2019un arxiu i, quan volem, tornar-lo a la situaci\u00f3 inicial, per fer-ho aprofita que les dades s\u00f3n redundants, un exemple molt simple:<\/div>\n<div>&nbsp;<\/div>\n<div>suposeu que dins un arxiu tenim aix\u00f2:<\/div>\n<div><code>fffffffuuuuuuuuuuuu<\/code><\/div>\n<div>\n<div>\n<div>un programa de compressi\u00f3 pot deixar-ho aix\u00ed:<\/div>\n<div><code>f7u12<\/code><\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<div>\u00e9s a dir, 7 lletres f i 12 lletres u, fixeu-vos la difer\u00e8ncia de llargada \ud83d\ude03<\/div>\n<div>&nbsp;<\/div>\n<\/div>\n<\/div>\n<div>Els senyors Lempel i Ziv, es van inventar un sistema de compressi\u00f3 o algorisme (el Lempel-Ziv) que m\u00e9s tard va perfeccionar el senyor Welch (LZW) per catalogar repeticions, el sistema era crear un diccionari amb les paraules o seq\u00fc\u00e8ncies de car\u00e0cters m\u00e9s repetides a un arxiu i despr\u00e9s nom\u00e9s s\u2019ha de fer refer\u00e8ncia a l\u2019entrada del diccionari, per aix\u00f2 els sistemes\u00a0sense p\u00e8rdua s\u00f3n m\u00e9s lents per crear l\u2019arxiu comprimit,<\/div>\n<div>&nbsp;<\/div>\n<div>Els sistemes amb p\u00e8rdua, encara que no permetin recuperar l\u2019arxiu original, s\u00f3n molt utilitzats, el sistema elimina dades i es redueix la mida, es fan servir per arxius d\u2019imatge, v\u00eddeo i so, encara que redu\u00efm la qualitat (arxius mp3, mp4, jpg)<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b>Coher\u00e8ncia o integritat<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>El fet de fer anar amunt i avall els arxius ens obliga a tenir un sistema d\u2019integritat per saber que el que ha sortit i el que s\u2019ha rebut \u00e9s el mateix, el que fa el zip quan els comprimeix.<\/div>\n<div>&nbsp;<\/div>\n<div>Per aix\u00f2 es va inventar el crc, \u00e9s un checsum (control de redund\u00e0ncia c\u00edclica),\u00a0 molt simple, per cada byte se suma el seu valor, i el resultat de la suma s\u2019envia, si qui el rep fa la mateixa operaci\u00f3 i n\u2019obt\u00e9 el mateix resultat, les possibilitats que sigui el mateix arxiu s\u00f3n grans, per\u00f2 hi ha\u00a0problemes, com per exemple, si es canvien d\u2019ordre els bytes \ud83d\ude42<\/div>\n<div>&nbsp;<\/div>\n<div>La soluci\u00f3 \u00e9s el sistema SHA-256 (SHA = secure hash algorithm), \u00e9s una funci\u00f3 criptogr\u00e0fica hash de fins a 512 bits, i, de moment, no s\u2019ha trobat cap col\u00b7lisi\u00f3 al sistema SHA.2 (una col\u00b7lisi\u00f3 \u00e9s el cas en qu\u00e8 dos fitxers diferents donen el mateix valor de hash), aix\u00ed que si dos arxius, una vegada fets els c\u00e0lculs de SHA-256 donen el mateix resultat, podeu afirmar que s\u00f3n el mateix arxiu.<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>B\u00e9, ja veieu que podr\u00edem parlar molta estona d\u2019arxius, la base del nostre sistema per guardar les nostres dades!<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div style=\"padding-top:0px;\t\r\npadding-right:0px;\r\npadding-bottom:0px;\r\npadding-left:0px;\r\nmargin-top:0px;\r\nmargin-right:0px;\r\nmargin-bottom:0px;\r\nmargin-left:0px;\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" \r\n\t\t\t\t        data-url=\"https:\/\/pensalla.cat\/?p=1258\" \r\n\t\t\t\t        data-via=\"jjofra\"\r\n\t\t\t\t\t    data-text=\"Els arxius\"\r\n\t\t\t\t\t    data-related=\"\"\r\n\t\t\t\t\t    data-count=\"none\"\r\n\t\t\t\t\t    data-hashtags=\"\"\r\n\t\t\t\t\t    data-lang=\"autoLANGauto\"\r\n\t\t\t\t\t    data-counturl=\"pensalla.cat\"\r\n\t\t\t\t\t    data-size=\"medium\"\r\n\t\t\t\t\t    data-dnt=\"false\"\t> Tweet <\/a> <\/div>\r\n\t\t                <script>\r\n\t\t\t\t\t    !function(d,s,id) {\r\n\t\t\t\t\t      var js,fjs=d.getElementsByTagName(s)[0];\r\n\t\t\t\t\t      if(!d.getElementById(id)) {\r\n\t\t\t\t\t       js=d.createElement(s);js.id=id;js.src=\"https:\/\/platform.twitter.com\/widgets.js\";fjs.parentNode.insertBefore(js,fjs);\r\n\t\t\t\t\t      }\r\n\t\t\t\t\t    }\r\n\t\t\t\t\t   (document,\"script\",\"twitter-wjs\");\r\n\t\t\t\t\t    <\/script>","protected":false},"excerpt":{"rendered":"<p>Tweet &nbsp; &nbsp; Quan treballem en un ordinador a tota la nostra tasca li posem un nom i la guardem ben endre\u00e7ada per poder trobar-la en un futur, el que endrecem i amb el que solem treballar\u00a0\u00a0es diuen arxius ja<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/pensalla.cat\/?p=1258\">Read more <span class=\"screen-reader-text\">Els arxius<\/span><span class=\"meta-nav\"> &#8250;<\/span><\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[2],"tags":[],"class_list":["post-1258","post","type-post","status-publish","format-standard","hentry","category-articles"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pensalla.cat\/index.php?rest_route=\/wp\/v2\/posts\/1258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pensalla.cat\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pensalla.cat\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pensalla.cat\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pensalla.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1258"}],"version-history":[{"count":0,"href":"https:\/\/pensalla.cat\/index.php?rest_route=\/wp\/v2\/posts\/1258\/revisions"}],"wp:attachment":[{"href":"https:\/\/pensalla.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pensalla.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pensalla.cat\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}