CINXE.COM
ryuuji – カーリルのブログ
<!DOCTYPE html> <html lang="ja" class="no-js"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="pingback" href="https://blog.calil.jp/xmlrpc.php"> <script> (()=>{var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),function({ampUrl:n,isCustomizePreview:t,isAmpDevMode:r,noampQueryVarName:o,noampQueryVarValue:s,disabledStorageKey:i,mobileUserAgents:a,regexRegex:c}){if("undefined"==typeof sessionStorage)return;const d=new RegExp(c);if(!a.some((e=>{const n=e.match(d);return!(!n||!new RegExp(n[1],n[2]).test(navigator.userAgent))||navigator.userAgent.includes(e)})))return;e.g.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("amp-mobile-version-switcher");if(!e)return;e.hidden=!1;const n=e.querySelector("a[href]");n&&n.addEventListener("click",(()=>{sessionStorage.removeItem(i)}))}));const g=r&&["paired-browsing-non-amp","paired-browsing-amp"].includes(window.name);if(sessionStorage.getItem(i)||t||g)return;const u=new URL(location.href),m=new URL(n);m.hash=u.hash,u.searchParams.has(o)&&s===u.searchParams.get(o)?sessionStorage.setItem(i,"1"):m.href!==u.href&&(window.stop(),location.replace(m.href))}({"ampUrl":"https:\/\/blog.calil.jp\/author\/ryuuji?amp=1","noampQueryVarName":"noamp","noampQueryVarValue":"mobile","disabledStorageKey":"amp_mobile_redirect_disabled","mobileUserAgents":["Mobile","Android","Silk\/","Kindle","BlackBerry","Opera Mini","Opera Mobi"],"regexRegex":"^\\\/((?:.|\\n)+)\\\/([i]*)$","isCustomizePreview":false,"isAmpDevMode":false})})(); </script> <script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <title>ryuuji – カーリルのブログ</title> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <link rel='dns-prefetch' href='//pagead2.googlesyndication.com' /> <link rel="alternate" type="application/rss+xml" title="カーリルのブログ » フィード" href="https://blog.calil.jp/feed" /> <link rel="alternate" type="application/rss+xml" title="カーリルのブログ » ryuuji による投稿のフィード" href="https://blog.calil.jp/author/ryuuji/feed" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog.calil.jp\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.5"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://blog.calil.jp/wp-includes/css/dist/block-library/style.min.css?ver=6.5.5' media='all' /> <style id='wp-block-library-theme-inline-css'> .wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #111;--wp--preset--color--light-gray: #f1f1f1;--wp--preset--color--yellow: #f4ca16;--wp--preset--color--dark-brown: #352712;--wp--preset--color--medium-pink: #e53b51;--wp--preset--color--light-pink: #ffe5d1;--wp--preset--color--dark-purple: #2e2256;--wp--preset--color--purple: #674970;--wp--preset--color--blue-gray: #22313f;--wp--preset--color--bright-blue: #55c3dc;--wp--preset--color--light-blue: #e9f2f9;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--dark-gray-gradient-gradient: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(42,42,42,1) 100%);--wp--preset--gradient--light-gray-gradient: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(215,215,215,1) 100%);--wp--preset--gradient--white-gradient: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(230,230,230,1) 100%);--wp--preset--gradient--yellow-gradient: linear-gradient(90deg, rgba(244,202,22,1) 0%, rgba(205,168,10,1) 100%);--wp--preset--gradient--dark-brown-gradient: linear-gradient(90deg, rgba(53,39,18,1) 0%, rgba(91,67,31,1) 100%);--wp--preset--gradient--medium-pink-gradient: linear-gradient(90deg, rgba(229,59,81,1) 0%, rgba(209,28,51,1) 100%);--wp--preset--gradient--light-pink-gradient: linear-gradient(90deg, rgba(255,229,209,1) 0%, rgba(255,200,158,1) 100%);--wp--preset--gradient--dark-purple-gradient: linear-gradient(90deg, rgba(46,34,86,1) 0%, rgba(66,48,123,1) 100%);--wp--preset--gradient--purple-gradient: linear-gradient(90deg, rgba(103,73,112,1) 0%, rgba(131,93,143,1) 100%);--wp--preset--gradient--blue-gray-gradient: linear-gradient(90deg, rgba(34,49,63,1) 0%, rgba(52,75,96,1) 100%);--wp--preset--gradient--bright-blue-gradient: linear-gradient(90deg, rgba(85,195,220,1) 0%, rgba(43,180,211,1) 100%);--wp--preset--gradient--light-blue-gradient: linear-gradient(90deg, rgba(233,242,249,1) 0%, rgba(193,218,238,1) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='twentyfifteen-fonts-css' href='https://blog.calil.jp/wp-content/themes/twentyfifteen/assets/fonts/noto-sans-plus-noto-serif-plus-inconsolata.css?ver=20230328' media='all' /> <link rel='stylesheet' id='genericons-css' href='https://blog.calil.jp/wp-content/themes/twentyfifteen/genericons/genericons.css?ver=20201026' media='all' /> <link rel='stylesheet' id='twentyfifteen-style-css' href='https://blog.calil.jp/wp-content/themes/twentyfifteen/style.css?ver=20241112' media='all' /> <style id='twentyfifteen-style-inline-css'> /* Custom Header Background Color */ body:before, .site-header { background-color: #00b5ed; } @media screen and (min-width: 59.6875em) { .site-header, .secondary { background-color: transparent; } .widget button, .widget input[type="button"], .widget input[type="reset"], .widget input[type="submit"], .widget_calendar tbody a, .widget_calendar tbody a:hover, .widget_calendar tbody a:focus { color: #00b5ed; } } /* Custom Sidebar Text Color */ .site-title a, .site-description, .secondary-toggle:before { color: #ffffff; } .site-title a:hover, .site-title a:focus { color: rgba( 255, 255, 255, 0.7); } .secondary-toggle { border-color: rgba( 255, 255, 255, 0.1); } .secondary-toggle:hover, .secondary-toggle:focus { border-color: rgba( 255, 255, 255, 0.3); } .site-title a { outline-color: rgba( 255, 255, 255, 0.3); } @media screen and (min-width: 59.6875em) { .secondary a, .dropdown-toggle:after, .widget-title, .widget blockquote cite, .widget blockquote small { color: #ffffff; } .widget button, .widget input[type="button"], .widget input[type="reset"], .widget input[type="submit"], .widget_calendar tbody a { background-color: #ffffff; } .textwidget a { border-color: #ffffff; } .secondary a:hover, .secondary a:focus, .main-navigation .menu-item-description, .widget, .widget blockquote, .widget .wp-caption-text, .widget .gallery-caption { color: rgba( 255, 255, 255, 0.7); } .widget button:hover, .widget button:focus, .widget input[type="button"]:hover, .widget input[type="button"]:focus, .widget input[type="reset"]:hover, .widget input[type="reset"]:focus, .widget input[type="submit"]:hover, .widget input[type="submit"]:focus, .widget_calendar tbody a:hover, .widget_calendar tbody a:focus { background-color: rgba( 255, 255, 255, 0.7); } .widget blockquote { border-color: rgba( 255, 255, 255, 0.7); } .main-navigation ul, .main-navigation li, .secondary-toggle, .widget input, .widget textarea, .widget table, .widget th, .widget td, .widget pre, .widget li, .widget_categories .children, .widget_nav_menu .sub-menu, .widget_pages .children, .widget abbr[title] { border-color: rgba( 255, 255, 255, 0.1); } .dropdown-toggle:hover, .dropdown-toggle:focus, .widget hr { background-color: rgba( 255, 255, 255, 0.1); } .widget input:focus, .widget textarea:focus { border-color: rgba( 255, 255, 255, 0.3); } .sidebar a:focus, .dropdown-toggle:focus { outline-color: rgba( 255, 255, 255, 0.3); } } </style> <link rel='stylesheet' id='twentyfifteen-block-style-css' href='https://blog.calil.jp/wp-content/themes/twentyfifteen/css/blocks.css?ver=20240715' media='all' /> <style id='akismet-widget-style-inline-css'> .a-stats { --akismet-color-mid-green: #357b49; --akismet-color-white: #fff; --akismet-color-light-grey: #f6f7f7; max-width: 350px; width: auto; } .a-stats * { all: unset; box-sizing: border-box; } .a-stats strong { font-weight: 600; } .a-stats a.a-stats__link, .a-stats a.a-stats__link:visited, .a-stats a.a-stats__link:active { background: var(--akismet-color-mid-green); border: none; box-shadow: none; border-radius: 8px; color: var(--akismet-color-white); cursor: pointer; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; font-weight: 500; padding: 12px; text-align: center; text-decoration: none; transition: all 0.2s ease; } /* Extra specificity to deal with TwentyTwentyOne focus style */ .widget .a-stats a.a-stats__link:focus { background: var(--akismet-color-mid-green); color: var(--akismet-color-white); text-decoration: none; } .a-stats a.a-stats__link:hover { filter: brightness(110%); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); } .a-stats .count { color: var(--akismet-color-white); display: block; font-size: 1.5em; line-height: 1.4; padding: 0 13px; white-space: nowrap; } </style> <link rel='stylesheet' id='enlighterjs-css' href='https://blog.calil.jp/wp-content/plugins/enlighter/cache/enlighterjs.min.css?ver=m5wxU77ceEVJ+mV' media='all' /> <script src="https://blog.calil.jp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script src="https://blog.calil.jp/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script id="twentyfifteen-script-js-extra"> var screenReaderText = {"expand":"<span class=\"screen-reader-text\">\u30b5\u30d6\u30e1\u30cb\u30e5\u30fc\u3092\u5c55\u958b<\/span>","collapse":"<span class=\"screen-reader-text\">\u30b5\u30d6\u30e1\u30cb\u30e5\u30fc\u3092\u9589\u3058\u308b<\/span>"}; </script> <script src="https://blog.calil.jp/wp-content/themes/twentyfifteen/js/functions.js?ver=20221101" id="twentyfifteen-script-js" defer data-wp-strategy="defer"></script> <!-- Site Kit によって追加された Google タグ(gtag.js)スニペット --> <!-- Google アナリティクス スニペット (Site Kit が追加) --> <script src="https://www.googletagmanager.com/gtag/js?id=G-H31ZD00FYW" id="google_gtagjs-js" async></script> <script id="google_gtagjs-js-after"> window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} gtag("set","linker",{"domains":["blog.calil.jp"]}); gtag("js", new Date()); gtag("set", "developer_id.dZTNiMT", true); gtag("config", "G-H31ZD00FYW"); </script> <!-- Site Kit によって追加された終了 Google タグ(gtag.js)スニペット --> <link rel="https://api.w.org/" href="https://blog.calil.jp/wp-json/" /><link rel="alternate" type="application/json" href="https://blog.calil.jp/wp-json/wp/v2/users/2" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.calil.jp/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.5" /> <meta name="generator" content="Site Kit by Google 1.149.1" /><link rel="alternate" type="text/html" media="only screen and (max-width: 640px)" href="https://blog.calil.jp/author/ryuuji?amp=1"> <!-- Site Kit が追加した Google AdSense メタタグ --> <meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236"> <meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com"> <!-- Site Kit が追加した End Google AdSense メタタグ --> <style id="custom-background-css"> body.custom-background { background-color: #f2f2f2; background-image: url("https://blog.calil.jp/wp-content/uploads/2019/07/company-bg.png"); background-position: left top; background-size: auto; background-repeat: repeat; background-attachment: scroll; } </style> <link rel="amphtml" href="https://blog.calil.jp/author/ryuuji?amp=1"> <!-- Google AdSense スニペット (Site Kit が追加) --> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5522924758352312&host=ca-host-pub-2644536267352236" crossorigin="anonymous"></script> <!-- (ここまで) Google AdSense スニペット (Site Kit が追加) --> <style>#amp-mobile-version-switcher{left:0;position:absolute;width:100%;z-index:100}#amp-mobile-version-switcher>a{background-color:#444;border:0;color:#eaeaea;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:600;padding:15px 0;text-align:center;-webkit-text-decoration:none;text-decoration:none}#amp-mobile-version-switcher>a:active,#amp-mobile-version-switcher>a:focus,#amp-mobile-version-switcher>a:hover{-webkit-text-decoration:underline;text-decoration:underline}</style><link rel="icon" href="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-cropped-calil-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-cropped-calil-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-cropped-calil-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-cropped-calil-1-270x270.png" /> <style id="wp-custom-css"> /* カスタム CSS 機能へようこそ。 使い方についてはこちらをご覧ください (英語ドキュメンテーション)。http://wp.me/PEmnE-Bt */ .more-link { background-color: #00b8ee; padding: 10px; color: #ffffff; } /* CSS Migrated from Jetpack: */ /* カスタム CSS 機能へようこそ。 使い方についてはこちらをご覧ください (英語ドキュメンテーション)。http://wp.me/PEmnE-Bt */ .more-link { background-color: #00b8ee; padding: 10px; color: #ffffff; border: none !important; transition: all .3s ease; float: right; } .more-link:hover { opacity: .8; color: #ffffff; } .pagination .prev, .pagination .next { background-color: #00b8ee; transition: all .3s ease; } .pagination .prev:hover, .pagination .next:hover { background-color: rgba(0,184,238,0.58); } .site-info { /* display: none;*/ } </style> </head> <body class="archive author author-ryuuji author-2 custom-background wp-custom-logo wp-embed-responsive"> <div id="page" class="hfeed site"> <a class="skip-link screen-reader-text" href="#content"> コンテンツへスキップ </a> <div id="sidebar" class="sidebar"> <header id="masthead" class="site-header"> <div class="site-branding"> <a href="https://blog.calil.jp/" class="custom-logo-link" rel="home"><img width="248" height="248" src="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-badge.png" class="custom-logo" alt="カーリルのブログ" decoding="async" fetchpriority="high" srcset="https://blog.calil.jp/wp-content/uploads/2016/06/cropped-badge.png 248w, https://blog.calil.jp/wp-content/uploads/2016/06/cropped-badge-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></a> <p class="site-title"><a href="https://blog.calil.jp/" rel="home">カーリルのブログ</a></p> <p class="site-description">図書館をもっと楽しく</p> <button class="secondary-toggle">メニューとウィジェット</button> </div><!-- .site-branding --> </header><!-- .site-header --> <div id="secondary" class="secondary"> <div id="widget-area" class="widget-area" role="complementary"> <aside id="recent-posts-2" class="widget widget_recent_entries"> <h2 class="widget-title">最近の記事</h2><nav aria-label="最近の記事"> <ul> <li> <a href="https://blog.calil.jp/2024/09/passkey.html">より安全なログイン方法「パスキー(Passkey)」に対応しました</a> <span class="post-date">2024年9月3日</span> </li> <li> <a href="https://blog.calil.jp/2024/06/openbs.html">書店在庫情報プロジェクトの実証実験を開始します</a> <span class="post-date">2024年6月21日</span> </li> <li> <a href="https://blog.calil.jp/2023/07/chatgpt-2.html">ChatGPTを活用した蔵書検索サポーターの実証実験を開始します</a> <span class="post-date">2023年7月26日</span> </li> </ul> </nav></aside><aside id="text-3" class="widget widget_text"> <div class="textwidget"><a href="/more">すべての記事を見る</a> <br /> <br /> <br /> <br /> <a href="https://calil.jp/" style="text-decoration:none;border-bottom:none"> <img src="https://blog.calil.jp/wp-content/uploads/2016/06/calil-logo.png"> </a></div> </aside> </div><!-- .widget-area --> </div><!-- .secondary --> </div><!-- .sidebar --> <div id="content" class="site-content"> <section id="primary" class="content-area"> <main id="main" class="site-main"> <header class="page-header"> <h1 class="page-title">投稿者: <span>ryuuji</span></h1> </header><!-- .page-header --> <article id="post-3640" class="post-3640 post type-post status-publish format-standard hentry category-press tag-99"> <header class="entry-header"> <h2 class="entry-title"><a href="https://blog.calil.jp/2024/09/passkey.html" rel="bookmark">より安全なログイン方法「パスキー(Passkey)」に対応しました</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p class="has-medium-font-size">カーリルをご利用いただきありがとうございます。カーリルでは、より安全なログイン方法「パスキー(Passkey)」を導入しました。従来サポートされている外部アカウント連携によるログインに加えて、パスキーを設定いただくことで、連携サービスでログインできなくなった場合でも安全にカーリルにログインできるようになります。</p> <figure class="wp-block-image size-large is-style-default"><img decoding="async" width="1024" height="689" src="https://blog.calil.jp/wp-content/uploads/2024/09/image-1024x689.png" alt="カーリルのログイン画面" class="wp-image-3646" srcset="https://blog.calil.jp/wp-content/uploads/2024/09/image-1024x689.png 1024w, https://blog.calil.jp/wp-content/uploads/2024/09/image-300x202.png 300w, https://blog.calil.jp/wp-content/uploads/2024/09/image-768x517.png 768w, https://blog.calil.jp/wp-content/uploads/2024/09/image.png 1301w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <h3 class="wp-block-heading">パスキーとは?</h3> <p>パスキーは、従来のパスワードに代わる、新しい認証技術です。従来のパスワードは、強力なものであっても第三者に流出したり、忘れてしまったりするリスクがありますが、パスキーはそのようなリスクを大幅に軽減します。パスキーは、デバイスに保存された暗号鍵を利用して認証を行うため、第三者にログイン情報が漏洩するリスクが低く、より安全にご利用いただけます。また、パスキーは生体認証(指紋認証や顔認証など)やデバイスのPINを利用するため、パスワードを覚えておく必要がなく、スムーズにログインすることができます。</p> <h3 class="wp-block-heading">カーリルでのパスキー利用方法(PCの場合)</h3> <p>1. カーリルのトップページにアクセスします<br>2. 従来のログイン方法でカーリルにログインします(すでにログインしている場合は不要です)<br>3. 右上の設定メニューから「アカウント設定」をクリック<br>4. 左メニューから「パスキーの設定」ページを開きます<br>5. 「新しくパスキーを設定」ボタンをクリックしてください</p> <h3 class="wp-block-heading">カーリルでのパスキー利用方法(スマートフォンの場合)</h3> <p>1. カーリルのトップページにアクセスします<br>2. 従来のログイン方法でカーリルにログインします(すでにログインしている場合は不要です)<br>3. 左上のメニューボタンから、「アカウント設定」を開きます<br>4. ページ下部のメニューから「パスキーの設定」ページを開きます<br>5. 「新しくパスキーを設定」ボタンをクリックしてください</p> <figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="771" src="https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-1024x771.jpg" alt="スマートフォンでのパスキー登録例" class="wp-image-3658" style="width:307px;height:auto" srcset="https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-1024x771.jpg 1024w, https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-300x226.jpg 300w, https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-768x578.jpg 768w, https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-1536x1157.jpg 1536w, https://blog.calil.jp/wp-content/uploads/2024/09/PXL_20240903_004810001-3-2048x1542.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <h3 class="wp-block-heading">利用にあたっての制限</h3> <ul> <li>パスキーの登録には、パスキーに対応したOSやデバイス、ブラウザが必要となります。</li> <li>新規登録時は、引き続き外部アカウント連携によるログインのみがご利用いただけます。これはスパムアカウントを抑制しカーリルの運用コストを低減するための制約です。</li> <li>1つのカーリルアカウントに登録できるパスキーは最大10個です。</li> </ul> <p></p> <p></p> <p></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">投稿日: </span><a href="https://blog.calil.jp/2024/09/passkey.html" rel="bookmark"><time class="entry-date published" datetime="2024-09-03T13:41:59+09:00">2024年9月3日</time><time class="updated" datetime="2024-09-03T13:42:12+09:00">2024年9月3日</time></a></span><span class="byline"><span class="screen-reader-text">作成者 </span><span class="author vcard"><a class="url fn n" href="https://blog.calil.jp/author/ryuuji">ryuuji</a></span></span><span class="cat-links"><span class="screen-reader-text">カテゴリー </span><a href="https://blog.calil.jp/category/press" rel="category tag">プレスリリース</a></span><span class="tags-links"><span class="screen-reader-text">タグ </span><a href="https://blog.calil.jp/tag/%e3%83%88%e3%83%83%e3%83%97%e3%83%9a%e3%83%bc%e3%82%b8" rel="tag">トップページ</a></span> </footer><!-- .entry-footer --> </article><!-- #post-3640 --> <article id="post-3607" class="post-3607 post type-post status-publish format-standard hentry category-press category-108"> <header class="entry-header"> <h2 class="entry-title"><a href="https://blog.calil.jp/2023/07/chatgpt-2.html" rel="bookmark">ChatGPTを活用した蔵書検索サポーターの実証実験を開始します</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>カーリルでは、<a href="https://blog.calil.jp/2023/03/chatgpt.html">ChatGPTを活用した「蔵書検索サポーター」を実装し実証実験への協力図書館を募集</a>しました。ユーザーが検索キーワードにヒットする本がなかった場合に、ChatGPTを活用して、自然文の質問から適切な検索キーワードを提案することを想定しています。実際の図書館の蔵書検索と連携することで、その図書館の蔵書にあわせたキーワード提案を実現します。</p> <p>実証実験の実施に向けて各図書館との調整を進めてまいりましたが、この度、準備が整いましたので発表いたします。8月以降に順次サービスを立ち上げ予定です。実証実験による検索サービスを一般公開するかどうかは、各図書館の運用により異なります。今後、10月を目途にフィードバックをとりまとめてレポートを発表する予定です。ご協力いただく図書館は以下の通りです。北海道から沖縄まで、さまざまな規模の図書館にご協力いただくことになりました。</p> <ul> <li><a href="https://try.calil.jp/withai-2004315-p2khiare/" data-type="link" data-id="https://try.calil.jp/withai-2004315-p2khiare/">中札内村図書館(北海道)</a> <a href="https://twitter.com/nakasatsunailib/status/1712663436939985292" data-type="link" data-id="https://twitter.com/nakasatsunailib/status/1712663436939985292">X投稿</a></li> <li>埼玉県立図書館</li> <li>埼玉県立飯能高校図書館</li> <li>新名学園旭丘高等学校図書館(神奈川県)</li> <li>県立長野図書館</li> <li>京都府立丹後緑風高校久美浜学舎図書館</li> <li>沖縄工業高等専門学校図書館</li> </ul> <p>仮想的な蔵書情報による<a href="https://try.calil.jp/withai/" data-type="link" data-id="https://try.calil.jp/withai/">デモサイト</a>は引き続きご利用いただけます。</p> <p>今後、各図書館の判断にて実証実験が一般公開される場合には、このページでもURLをお知らせします。発表に含まれる図書館以外にも、多くの図書館に実証実験への協力を検討いただき感謝しています。カーリルでは、引き続き「図書館をもっと楽しく。」をミッションとして、図書館に関わる技術開発に取り組みます。</p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">投稿日: </span><a href="https://blog.calil.jp/2023/07/chatgpt-2.html" rel="bookmark"><time class="entry-date published" datetime="2023-07-26T11:28:55+09:00">2023年7月26日</time><time class="updated" datetime="2024-05-15T14:26:41+09:00">2024年5月15日</time></a></span><span class="byline"><span class="screen-reader-text">作成者 </span><span class="author vcard"><a class="url fn n" href="https://blog.calil.jp/author/ryuuji">ryuuji</a></span></span><span class="cat-links"><span class="screen-reader-text">カテゴリー </span><a href="https://blog.calil.jp/category/press" rel="category tag">プレスリリース</a>, <a href="https://blog.calil.jp/category/%e5%9b%b3%e6%9b%b8%e9%a4%a8%e7%b7%8f%e5%90%88%e5%b1%952023" rel="category tag">図書館総合展2023</a></span> </footer><!-- .entry-footer --> </article><!-- #post-3607 --> <article id="post-3590" class="post-3590 post type-post status-publish format-standard hentry category-press category-108 category-1"> <header class="entry-header"> <h2 class="entry-title"><a href="https://blog.calil.jp/2023/07/openbd-v1-end.html" rel="bookmark">「openBD API(バージョン1)」の終了によるカーリルへの影響について</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>カーリルでは、書誌・書影情報の自由な流通を目指して、出版社団体である版元ドットコムと共同で<a href="https://openbd.jp/">openBDプロジェクト</a>を推進してきました。このプロジェクトでは、出版社団体である版元ドットコムの会員社が提供する書誌データだけではなく、版元ドットコムが受信している、<a href="https://jpro2.jpo.or.jp/" data-type="link" data-id="https://jpro2.jpo.or.jp/">出版情報登録センター(JPRO)</a>のデータを含めることで、網羅率の高い書誌・書影情報の配信が実現しました。カーリルは、配信インフラの運用を担ってきました。</p> <p>2023年6月5日から、JPROから版元ドットコムへのデータ配信が停止され、openBDのデータ更新に遅延が発生しておりました。その後、版元ドットコムにおいてJPROとの協議が継続しておりました。この間、版元ドットコムとカーリルでは緊密に連携して対応を検討してきましたが、最終的に、現状スキームによるオープンな書誌・書影情報の提供継続は困難と判断しました。2023年7月25日、openBDプロジェクトから、<a href="https://openbd.jp/news/20230725.html" data-type="link" data-id="https://openbd.jp/news/20230725.html">「openBD API(バージョン1)」の提供終了について</a> とのお知らせが公表されました。</p> <p>カーリルでは代替APIの設計など、バージョン1の提供終了がopenBDに依存しているプロジェクトにとって最小の影響となるよう努力します。カーリルでは、図書館および出版情報のパブリックインフラを担う覚悟をもって、引き続き書誌・書影情報の自由な流通を目指すとともに、版元ドットコムとの共同事業に取り組みます。</p> <p>なお、openBDの提供するAPIは、カーリルの各種ウェブサービスでも幅広く活用されています。カーリルが提供する検索サービスには、多様な情報源を組み合わせているため、ただちに影響はありませんが、書影や詳細な書誌情報(内容紹介や目次など)の提供に影響が出る可能性があります。現在、この影響を最小限とするため、カーリルとしてもJPROとの協議を申し込んでいます。</p> <h4 class="wp-block-heading">影響が懸念されるサービス</h4> <ul> <li><a href="https://calil.jp/">カーリル</a><br>・書影の網羅率が低下します<br>・本の個別ページに掲載している、内容紹介や目次情報の提供ができなくなります<br>・近刊情報(未発売)の本が検索結果に表示されなくなります</li> <li><a href="https://gk.calil.jp/">カーリル学校図書館支援プログラム</a><br>・検索サービス内での書影の網羅率が低下します(従来からGoogle Booksとも連携しているため、Google Booksに書影がある場合は引き続き表示されます)<br>・内容紹介や目次情報の提供ができなくなります<br>・国立国会図書館が提供する書影APIとの連携を検討しています</li> <li><a href="https://blog.calil.jp/2020/04/bookwalk.html" data-type="link" data-id="https://blog.calil.jp/2020/04/bookwalk.html">カーリル ブックウォーク</a><br>・サービスを終了します</li> <li><a href="https://blog.calil.jp/2016/04/unitrad.html" data-type="link" data-id="https://blog.calil.jp/2016/04/unitrad.html">カーリル Unitrad API</a><br>・新刊リクエスト等で連携している近刊情報はNDLサーチのAPIと連携しており影響はありません<br>・なおAPIを活用したユーザーインターフェース上で表示している書影がopenBDの場合は網羅率が低下します</li> </ul> <h4 class="wp-block-heading">関連情報</h4> <p><a href="https://openbd.jp/news/20230725.html" data-type="link" data-id="https://openbd.jp/news/20230725.html">「openBD API(バージョン1)」の提供終了について</a></p> <p></p> <p></p> <p></p> <p></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">投稿日: </span><a href="https://blog.calil.jp/2023/07/openbd-v1-end.html" rel="bookmark"><time class="entry-date published" datetime="2023-07-25T11:33:30+09:00">2023年7月25日</time><time class="updated" datetime="2024-05-15T14:26:57+09:00">2024年5月15日</time></a></span><span class="byline"><span class="screen-reader-text">作成者 </span><span class="author vcard"><a class="url fn n" href="https://blog.calil.jp/author/ryuuji">ryuuji</a></span></span><span class="cat-links"><span class="screen-reader-text">カテゴリー </span><a href="https://blog.calil.jp/category/press" rel="category tag">プレスリリース</a>, <a href="https://blog.calil.jp/category/%e5%9b%b3%e6%9b%b8%e9%a4%a8%e7%b7%8f%e5%90%88%e5%b1%952023" rel="category tag">図書館総合展2023</a>, <a href="https://blog.calil.jp/category/%e6%9c%aa%e5%88%86%e9%a1%9e" rel="category tag">未分類</a></span> </footer><!-- .entry-footer --> </article><!-- #post-3590 --> <article id="post-2583" class="post-2583 post type-post status-publish format-standard hentry category-press"> <header class="entry-header"> <h2 class="entry-title"><a href="https://blog.calil.jp/2019/11/local.html" rel="bookmark">カーリルローカルがアップデートされました</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>2019年11月、地域資料の横断検索サービス「カーリルローカル 」 を大幅にアップデートしました。アップデートは昨年から段階的に行われていたため、日常的にご活用いただいている方は、すでに気づいているかもしれません。改めてアップデートの概要と今後の計画について整理したいと思います。サービスは停止時間なく切り替えられました。</p> <figure class="wp-block-image"><img decoding="async" width="1024" height="665" src="https://blog.calil.jp/wp-content/uploads/2019/11/検索画面-1024x665.png" alt="" class="wp-image-2584" srcset="https://blog.calil.jp/wp-content/uploads/2019/11/検索画面-1024x665.png 1024w, https://blog.calil.jp/wp-content/uploads/2019/11/検索画面-300x195.png 300w, https://blog.calil.jp/wp-content/uploads/2019/11/検索画面-768x499.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><a href="https://calil.jp/local/">新しいカーリルローカルの検索画面</a></figcaption></figure> <h2 class="wp-block-heading">主な変更点</h2> <ul><li>検索対象図書館を大幅に拡大しました</li><li>従来のカーリルローカルと比較して大幅な高速化を実現しました</li><li>検索対象となる図書館が、各都道府県の相互貸借ネットワーク(図書館同士の協定)などとなるべく一致する運用になりました</li><li>従来のカーリルでは検索対象に入らなかった、ISBNでの検索が十分にできない図書館も検索対象に追加されました</li><li>スマートフォンで快適に操作できるようになりました </li><li>カスタム横断検索とお気に入り図書館の横断検索機能は完全に廃止されます。これまでは廃止予告はしていたものの、そのまま維持されていました。(<a href="https://blog.calil.jp/2017/03/endofservice.html">2017年3月に告知した内容</a>)</li><li>「Internet Explorer 10」などの古いブラウザのサポートが完全に終了しました</li></ul> <h2 class="wp-block-heading">カーリルローカルの歴史</h2> <p>カーリルローカルは<a href="https://blog.calil.jp/2011/02/blog-pos-25.html">2011年2月にサービスを開始</a>しました。それまでのカーリルはISBNの付与された本のみを検索対象としていました。そのため主に図書館司書からの「すべての本を対象にしてほしい」との要望が多く(本当に多かったのです)寄せられたことを受けて開発されました。当時は都道府県立図書館による横断検索サービスが提供されていない地域もあり、またあったとしても十分に機能していない場合もあったため、必要性は極めて高いと考えられました。しかし広告収入などが期待しにくく、収益性が確保できない状況が続きました。そのため、カーリル本体の補完的サービスとして提供されているに過ぎませんでした。あるいは、いろいろな限界がある中で、まずはできることのひとつだったのです。</p> <p>もちろんこのようなサービスモデルに満足することができなかったため、次世代のカーリルのための技術開発として、図書館の蔵書検索に関する<a href="https://blog.calil.jp/2016/04/unitrad.html">新しいAPIの開発</a>に取り組んできました。いろいろな偶然が重なり、その技術開発の成果は最初に京都府立図書館の横断検索サービスに採用されることになりました。</p> <figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="642" src="https://blog.calil.jp/wp-content/uploads/2019/11/京都府立-1024x642.png" alt="" class="wp-image-2589" srcset="https://blog.calil.jp/wp-content/uploads/2019/11/京都府立-1024x642.png 1024w, https://blog.calil.jp/wp-content/uploads/2019/11/京都府立-300x188.png 300w, https://blog.calil.jp/wp-content/uploads/2019/11/京都府立-768x481.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><a href="https://www.library.pref.kyoto.jp/cross/cross.html">京都府立図書館の横断検索サービス</a> powered by カーリルと表示されている</figcaption></figure> <p>ウェブサービスを安定的に提供するためには、インフラへの継続的投資が必要になるため、収益性の確保は大きな課題です。(特にサービスの継続性にフォーカスすればなおさらです)もともとこの投資は、カーリルそのものを改善するためにも必要な技術でもあったため、これをきっかけに多くの図書館と運用コストを分担できるようになったことはとても幸運でした。</p> <p>またカーリルローカル開始時に同時に提供された「カスタム検索機能」は自由な組み合わせの横断検索サービスをだれでも無料で作れる画期的なものでした。このサービスそのものは廃止されてしまいますが、このとき私たちが実現したかったことは<a href="https://blog.calil.jp/2016/06/unitradlocal.html">「Unitrad ローカル」</a>に継承されています。</p> <figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="655" src="https://blog.calil.jp/wp-content/uploads/2019/11/333-1024x655.png" alt="" class="wp-image-2594" srcset="https://blog.calil.jp/wp-content/uploads/2019/11/333-1024x655.png 1024w, https://blog.calil.jp/wp-content/uploads/2019/11/333-300x192.png 300w, https://blog.calil.jp/wp-content/uploads/2019/11/333-768x491.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><a href="https://tonami.calil.jp/">富山県砺波市の図書館では、検索結果に県立図書館と混ぜている</a></figcaption></figure> <p>2019年度の予定まで含めると、47都道府県中で11の府県立図書館がこの <a href="https://blog.calil.jp/2016/04/unitrad.html">「カーリル Unitrad API 」</a> を採用しました。これにより、図書館が提供する横断検索サービスの品質が向上すれば、カーリルローカルは終息してよいのではないかという議論がカーリルのチーム内ではあがります。それが<a href="https://blog.calil.jp/2017/03/endofservice.html">2017年の一部サービス廃止のブログ</a>からも読み取れます。しかし、この予想に反して、カーリルローカルのアクセスは増え続けました。残念ながら、多くの図書館では技術的評価もないまま同じ業者にシステムを丸投げしているため、横断検索サービスの品質はさらに低下しており、結果として図書館業務においてカーリルローカルの利用が増加していたのです。このことは、アクセス統計などからも明らかでした。</p> <h2 class="wp-block-heading">カーリルローカルの優位性</h2> <p>私たちは新しいカーリルローカルのミッションは、国内の図書館蔵書の検索性に関する「最低保証」だと考えました。カーリルローカルは、機能面や速度面では決して優位性があるものではありません。しかし、当たり前の検索を、当たり前にできるようにするための継続性が必要です。 このようなニーズに対応するため、 2018年からこれまでバラバラに運用していたカーリルローカルのバックエンドインフラを「カーリル Unitrad API 」と共通化するための開発を進めてきました。</p> <p>可能な限り共通化をしながらも、Unitrad APIで投入された、キャッシュによる超高速化や並び順の最適化、データストリーミングによる通信量の圧縮、リアルタイム書誌同定など、快適性や業務効率を上げるために必要な複雑な技術をバイパスし、横断検索に最低限必要な機能のみで再構成しました。これにより運用にかかるデータセンターのコスト(CPUやネットワーク、メモリなど)を最大限に圧縮しました。複雑性を排除したことにより、データセンターでの障害時にもより安定して継続したサービスの提供が期待できます。これらのさまざまな地味な工夫により、今後さらにアクセスが増加したとしても、広告なし、かつ無料でサービスを提供できる見通しが立ちました。</p> <p>さらにシステム更新時の対応速度は、これまでカーリル本体と比べて遅く1週間~1か月程度であったものが、3日程度に短縮される見込みです。</p> <h2 class="wp-block-heading">今後の計画</h2> <p>カーリルローカルは、今後はトップレベルのサービスとしてメンテナンスされます。現時点では、ウェブアクセシビリティへの対応が不十分なところもありますので引き続き改善を予定しています。また、ご意見ご要望について、これまで多くのフィードバックをいただいていたにもかかわらず、このような事情から十分な対応はできていなかったのではないかと思います。改めて、現状のサービスをご活用いただき、フィードバックをいただければカーリルチーム一同とても励みになります。</p> <p>今回廃止された「お気に入り図書館の横断検索」については、カーリル本体との統合を計画しています。この機能をご利用いただいていた方にはご不便をおかけしますが、今後のアップデートに期待してください。</p> <p>これからもカーリルをよろしくお願いいたします。</p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">投稿日: </span><a href="https://blog.calil.jp/2019/11/local.html" rel="bookmark"><time class="entry-date published" datetime="2019-11-01T15:38:49+09:00">2019年11月1日</time><time class="updated" datetime="2020-06-30T13:28:51+09:00">2020年6月30日</time></a></span><span class="byline"><span class="screen-reader-text">作成者 </span><span class="author vcard"><a class="url fn n" href="https://blog.calil.jp/author/ryuuji">ryuuji</a></span></span><span class="cat-links"><span class="screen-reader-text">カテゴリー </span><a href="https://blog.calil.jp/category/press" rel="category tag">プレスリリース</a></span> </footer><!-- .entry-footer --> </article><!-- #post-2583 --> <article id="post-2488" class="post-2488 post type-post status-publish format-standard hentry category-1"> <header class="entry-header"> <h2 class="entry-title"><a href="https://blog.calil.jp/2018/10/lf2018.html" rel="bookmark">第20回図書館総合展に出展します</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>カーリルは10月30日から開催される、日本最大の図書館の展示会「図書館総合展」に出展します。今年は、ミニブック「いまやっていることリスト#1」を作りました!ブース番号86を探してカーリルブースにお立ち寄りください。</p> <h3 class="wp-block-heading">カーリルブースの見どころ</h3> <h4 class="wp-block-heading">高速書影撮影を体験してみよう</h4> <p>カーリルが8月に発表した、汎用的な書影撮影システム<a href="https://openbookcamera.com/">「Open Book Camera v1」</a>の実機デモを行います。実際の撮影を体験できます。また、システムの組み込みや機械学習を活用する方法について直接エンジニアが質問に答えます。</p> <figure class="wp-block-image"><img loading="lazy" decoding="async" width="873" height="517" src="https://blog.calil.jp/wp-content/uploads/2018/10/9cfc210f-fa9f-4aec-93fb-cb34038015b5.png" alt="" class="wp-image-2497" srcset="https://blog.calil.jp/wp-content/uploads/2018/10/9cfc210f-fa9f-4aec-93fb-cb34038015b5.png 873w, https://blog.calil.jp/wp-content/uploads/2018/10/9cfc210f-fa9f-4aec-93fb-cb34038015b5-300x178.png 300w, https://blog.calil.jp/wp-content/uploads/2018/10/9cfc210f-fa9f-4aec-93fb-cb34038015b5-768x455.png 768w" sizes="(max-width: 873px) 100vw, 873px" /></figure> <h4 class="wp-block-heading">Unitrad APIで新しいサービスを実現しよう</h4> <p>カーリルの各種APIを活用したサービスがたくさん誕生しています。カーリルの提供する無償のAPI及び、図書館業務用の高速APIの活用例を紹介します。具体的な導入事例を紹介しながら、未来の図書館サービスを考えます。<br>★関連情報 <a href="http://133.167.45.213/2016/04/unitrad.html">Unitrad APIの運用を開始します。</a></p> <h3 class="wp-block-heading">カーリルオンラインショップ【期間限定】</h3> <p>カーリルが2016年の図書館総合展で販売したオリジナルマグカップに、新しいデザインが登場!マグカップの大きさや形は前回と同じなので並べてお使いいただけます。今回もカーリルの本社がある岐阜県内の陶器メーカーにご協力いただきました!図書館総合展に来られなくても大丈夫。期間限定で<a href="https://calil.stores.jp/items/5812348999c3cdaa090037eb">オリジナルグッズのショップ</a>を開設しました。</p> <figure class="wp-block-image"><img loading="lazy" decoding="async" width="3024" height="2016" src="https://blog.calil.jp/wp-content/uploads/2018/10/完成-min.jpg" alt="" class="wp-image-2489" srcset="https://blog.calil.jp/wp-content/uploads/2018/10/完成-min.jpg 3024w, https://blog.calil.jp/wp-content/uploads/2018/10/完成-min-300x200.jpg 300w, https://blog.calil.jp/wp-content/uploads/2018/10/完成-min-768x512.jpg 768w, https://blog.calil.jp/wp-content/uploads/2018/10/完成-min-1024x683.jpg 1024w" sizes="(max-width: 3024px) 100vw, 3024px" /><figcaption>カーリルオリジナルマグカップ2018(ディスカバリー)</figcaption></figure> <div class="storesjp-button" data-storesjp-item="5812348999c3cdaa090037eb" data-storesjp-variation="5bd1bb21c49cf367fd00071e" data-storesjp-name="calil" data-storesjp-layout="layout_a" data-storesjp-lang="ja"></div><script>(function(d,s,id){var st=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}var nst=d.createElement(s);nst.id=id;nst.src="//btn.stores.jp/button.js";nst.charset="UTF-8";st.parentNode.insertBefore(nst,st);})(document, "script", "storesjp-button");</script> <p>図書館総合展は、誰でも無料で入場できます。ぜひ足をお運びください。</p> <p>日時: 2018年10月30日 (火) – 2018年11月1日 (木)<br>会場:パシフィコ横浜<br>公式HP <a href="http://www.libraryfair.jp/">http://www.libraryfair.jp/</a></p> <h3 class="wp-block-heading">今日は準備中</h3> <p>10月28日は、ブースの説明をしています。状況は随時掲載します!(10時48分更新)</p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">投稿日: </span><a href="https://blog.calil.jp/2018/10/lf2018.html" rel="bookmark"><time class="entry-date published" datetime="2018-10-29T10:48:20+09:00">2018年10月29日</time><time class="updated" datetime="2018-10-29T10:52:05+09:00">2018年10月29日</time></a></span><span class="byline"><span class="screen-reader-text">作成者 </span><span class="author vcard"><a class="url fn n" href="https://blog.calil.jp/author/ryuuji">ryuuji</a></span></span><span class="cat-links"><span class="screen-reader-text">カテゴリー </span><a href="https://blog.calil.jp/category/%e6%9c%aa%e5%88%86%e9%a1%9e" rel="category tag">未分類</a></span> </footer><!-- .entry-footer --> </article><!-- #post-2488 --> <nav class="navigation pagination" aria-label="投稿"> <h2 class="screen-reader-text">投稿ナビゲーション</h2> <div class="nav-links"><span aria-current="page" class="page-numbers current"><span class="meta-nav screen-reader-text">ページ </span>1</span> <a class="page-numbers" href="https://blog.calil.jp/author/ryuuji/page/2"><span class="meta-nav screen-reader-text">ページ </span>2</a> <span class="page-numbers dots">…</span> <a class="page-numbers" href="https://blog.calil.jp/author/ryuuji/page/4"><span class="meta-nav screen-reader-text">ページ </span>4</a> <a class="next page-numbers" href="https://blog.calil.jp/author/ryuuji/page/2">次ページ</a></div> </nav> </main><!-- .site-main --> </section><!-- .content-area --> </div><!-- .site-content --> <footer id="colophon" class="site-footer"> <div class="site-info"> <a class="privacy-policy-link" href="https://blog.calil.jp/privacy" rel="privacy-policy">プライバシーポリシー</a><span role="separator" aria-hidden="true"></span> <a href="https://ja.wordpress.org/" class="imprint"> Proudly powered by WordPress </a> </div><!-- .site-info --> </footer><!-- .site-footer --> </div><!-- .site --> <div id="amp-mobile-version-switcher" hidden> <a rel="" href="https://blog.calil.jp/author/ryuuji?amp=1"> モバイルバージョンに移動 </a> </div> <script src="https://blog.calil.jp/wp-content/plugins/enlighter/cache/enlighterjs.min.js?ver=m5wxU77ceEVJ+mV" id="enlighterjs-js"></script> <script id="enlighterjs-js-after"> !function(e,n){if("undefined"!=typeof EnlighterJS){var o={"selectors":{"block":"pre.EnlighterJSRAW","inline":"code.EnlighterJSRAW"},"options":{"indent":2,"ampersandCleanup":true,"linehover":true,"rawcodeDbclick":false,"textOverflow":"break","linenumbers":true,"theme":"enlighter","language":"generic","retainCssClasses":false,"collapse":false,"toolbarOuter":"","toolbarTop":"{BTN_RAW}{BTN_COPY}{BTN_WINDOW}{BTN_WEBSITE}","toolbarBottom":""}};(e.EnlighterJSINIT=function(){EnlighterJS.init(o.selectors.block,o.selectors.inline,o.options)})()}else{(n&&(n.error||n.log)||function(){})("Error: EnlighterJS resources not loaded yet!")}}(window,console); </script> </body> </html>