{"id":8194,"date":"2025-10-05T02:48:28","date_gmt":"2025-10-05T02:48:28","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=8194"},"modified":"2025-10-05T02:48:28","modified_gmt":"2025-10-05T02:48:28","slug":"%e3%80%90%e3%83%8d%e3%82%bf%e8%a8%98%e4%ba%8b%e3%80%91akamai-x-uniqlo%e3%81%ae%e3%82%b3%e3%83%a9%e3%83%9ct%e3%82%b7%e3%83%a3%e3%83%84%e3%81%ab%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%84%e3%82%8b%e3%82%b3","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/8194\/","title":{"rendered":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash &#8211; Qiita"},"content":{"rendered":"\n<\/p>\n<div>\n<h2 data-sourcepos=\"1:1-1:30\">\n<span id=\"\u3053\u306e\u30da\u30fc\u30b8\u306b\u3064\u3044\u3066\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E3%81%93%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6\"><i class=\"fa fa-link\"\/><\/a>\u3053\u306e\u30da\u30fc\u30b8\u306b\u3064\u3044\u3066<\/h2>\n<p data-sourcepos=\"2:1-3:164\">UNIQLO\u306e\u30c1\u30e3\u30ea\u30c6\u30a3T\u30b7\u30e3\u30c4\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300c<a target=\"_blank\" href=\"https:\/\/www.uniqlo.com\/jp\/ja\/contents\/sustainability\/peace-for-all\/\" rel=\"nofollow noopener\" target=\"_blank\">PEACE FOR ALL<\/a>\u300d\u3067Akamai\u3068\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u305f\u3002<br \/>\u305d\u3057\u3066\u3001\u305d\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306bbash\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30c7\u30b6\u30a4\u30f3\u3055\u308c\u3066\u3044\u3066\u3069\u306e\u3088\u3046\u306a\u610f\u5473\u3092\u6301\u3064\u306e\u304b\u6c17\u306b\u306a\u3063\u305f\u306e\u3067\u8abf\u3079\u3066\u307f\u305f\u3002<\/p>\n<p data-sourcepos=\"5:1-5:28\">T\u30b7\u30e3\u30c4\u306f\u3053\u3061\u3089\u3000\u2193<\/p>\n<p data-sourcepos=\"7:1-7:92\"><iframe id=\"qiita-embed-content__50872b70db1f3b174f87559d67a5ce32\" src=\"https:\/\/qiita.com\/embed-contents\/link-card#qiita-embed-content__50872b70db1f3b174f87559d67a5ce32\" data-content=\"https%3A%2F%2Fwww.uniqlo.com%2Fjp%2Fja%2Fproducts%2FE480814-000%2F00%3FcolorDisplayCode%3D30%26sizeDisplayCode%3D004\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\" style=\"width:100%;\" height=\"29\"><br \/>\n<\/iframe>\n<\/p>\n<p data-sourcepos=\"9:1-10:160\">\u203b \u5b9f\u306f\u4eca\u56de\u306e\u30b3\u30e9\u30dc\u306f\uff12\u56de\u76ee\u3067\u3042\u308a\u3001\u30b3\u30e9\u30dc\uff11\u56de\u76ee\u306eT\u30b7\u30e3\u30c4\u306f\u3001\u5b89\u91ce\u305f\u304b\u3072\u308d\u3055\u3093\u304c\u611b\u7528\u3055\u308c\u3066\u3044\u308b\u3068\u3042\u308b\u754c\u9688\u3067(\uff1f)\u8a71\u984c\u306b\u306a\u3063\u3066\u3044\u305f\u3002<a target=\"_blank\" href=\"https:\/\/www.youtube.com\/watch?v=HA5J4bwN6vk\" rel=\"nofollow noopener\" target=\"_blank\">\u76f4\u8fd1\u306eYoutube\u3067\u3082\u7740\u7528\u3055\u308c\u3066\u3044\u305f<\/a><br \/>\u3061\u306a\u307f\u306b\u3001\u30b3\u30e9\u30dc\uff11\u56de\u76ee\u306eT\u30b7\u30e3\u30c4\u306f<a target=\"_blank\" href=\"https:\/\/www.uniqlo.com\/jp\/ja\/products\/E459561-000\/00?colorDisplayCode=09&amp;sizeDisplayCode=004\" rel=\"nofollow noopener\" target=\"_blank\">\u3053\u3061\u3089<\/a>\u3002\u3000<\/p>\n<div data-sourcepos=\"12:1-16:3\" class=\"note info\">\n<span class=\"fa fa-fw fa-check-circle\"\/><\/p>\n<div>\n<p data-sourcepos=\"13:1-13:162\">Akamai\u306fCDN\u3067\u6709\u540d\u3067\u3042\u308b\u304c\u3001CDN\u3060\u3051\u3067\u306f\u306a\u304f\u30b5\u30a4\u30d0\u30fc\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3084\u30af\u30e9\u30a6\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u63d0\u4f9b\u3059\u308b\u56fd\u969b\u7684\u306a\u4f01\u696d<\/p>\n<p data-sourcepos=\"15:1-15:36\"><a target=\"_blank\" href=\"https:\/\/www.akamai.com\/ja\/why-akamai\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.akamai.com\/ja\/why-akamai<\/a><\/p>\n<\/div>\n<\/div>\n<h2 data-sourcepos=\"19:1-19:43\">\n<span id=\"t\u30b7\u30e3\u30c4\u306e\u30d7\u30ea\u30f3\u30c8\u3092\u898b\u3066\u307f\u308b\" class=\"fragment\"\/><a target=\"_blank\" href=\"#t%E3%82%B7%E3%83%A3%E3%83%84%E3%81%AE%E3%83%97%E3%83%AA%E3%83%B3%E3%83%88%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B\"><i class=\"fa fa-link\"\/><\/a>T\u30b7\u30e3\u30c4\u306e\u30d7\u30ea\u30f3\u30c8\u3092\u898b\u3066\u307f\u308b<\/h2>\n<p><a target=\"_blank\" href=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3bf0635fc8d3f9bc7d711b76a7f80339\" target=\"_blank\" rel=\"nofollow noopener\"><img decoding=\"async\" src=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3bf0635fc8d3f9bc7d711b76a7f80339\" width=\"400px\" srcset=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;w=1400&amp;fit=max&amp;s=aec2beccde63ec337328b9be60a4da4d 1x\" data-canonical-src=\"https:\/\/qiita-image-store.s3.ap-northeast-1.amazonaws.com\/0\/551337\/446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg\" loading=\"lazy\"\/><\/a><\/p>\n<p data-sourcepos=\"23:1-24:99\">T\u30b7\u30e3\u30c4\u3092\u898b\u3066\u307f\u308b\u3068\u3001\u9577\u3044\u6587\u5b57\u5217\u304c\u66f8\u3044\u3066\u3042\u308a\u305d\u308c\u3092base64\u3067\u30c7\u30b3\u30fc\u30c9\u3057\u3066\u304b\u3089eval\u3067\u8a55\u4fa1\u3057\u3066\u3044\u308b\u3088\u3046\u3060\u3063\u305f\u3002\u3000<br \/>\u3064\u307e\u308a\u9577\u3044\u6587\u5b57\u5217\u306f\u3001\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u304cbash64\u3067\u30a8\u30f3\u30b3\u30fc\u30c9\u3082\u306e\u3063\u307d\u3044\u3002<\/p>\n<h2 data-sourcepos=\"26:1-26:82\">\n<span id=\"\u5168\u3066\u76ee\u8996\u78ba\u8a8d\u306f\u6d41\u77f3\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067java\u3067ocr\u3092\u3057\u3066\u307f\u308b\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E5%85%A8%E3%81%A6%E7%9B%AE%E8%A6%96%E7%A2%BA%E8%AA%8D%E3%81%AF%E6%B5%81%E7%9F%B3%E3%81%AB%E6%99%82%E9%96%93%E3%81%8C%E3%81%8B%E3%81%8B%E3%82%8B%E3%81%AE%E3%81%A7java%E3%81%A7ocr%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B\"><i class=\"fa fa-link\"\/><\/a>\u5168\u3066\u76ee\u8996\u78ba\u8a8d\u306f\u6d41\u77f3\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067Java\u3067OCR\u3092\u3057\u3066\u307f\u308b<\/h2>\n<ul data-sourcepos=\"27:1-32:0\">\n<li data-sourcepos=\"27:1-29:0\">\n<p data-sourcepos=\"27:3-28:119\">\u306a\u305cJava\u3067OCR\u3092\u3059\u308b\u306e\u304b\uff1f<br \/>\u2192 OCR\u3068\u3044\u3046\u3068Python\u306e\u30a4\u30e1\u30fc\u30b8\u304c\u5f37\u304b\u3063\u305f\u306e\u3067\u3001\u3042\u3001\u3048\u3001\u3066\u3001Java\u3067\u3084\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3063\u305f<\/p>\n<\/li>\n<li data-sourcepos=\"30:1-32:0\">\n<p data-sourcepos=\"30:3-31:216\">\u5229\u7528\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\uff1f<br \/>\u2192 Google\u304c\u958b\u767a\u3057\u3066\u3044\u308bOSS\u306e<a target=\"_blank\" href=\"https:\/\/github.com\/tesseract-ocr\/tesseract\" rel=\"nofollow noopener\" target=\"_blank\">Tesseract<\/a>\u3068\u3044\u3046OCR\u30a8\u30f3\u30b8\u30f3\u3092\u30e9\u30c3\u30d7\u3057\u305f<a target=\"_blank\" href=\"https:\/\/mvnrepository.com\/artifact\/net.sourceforge.tess4j\" rel=\"nofollow noopener\" target=\"_blank\">Tess4J<\/a>\u3092\u5229\u7528\u3059\u308b<\/p>\n<\/li>\n<\/ul>\n<h3 data-sourcepos=\"33:1-33:46\">\n<span id=\"\u307e\u305a\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E3%81%BE%E3%81%9A%E3%81%AF%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><i class=\"fa fa-link\"\/><\/a>\u307e\u305a\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/h3>\n<div class=\"code-frame\" data-lang=\"console\" data-sourcepos=\"34:1-39:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"gp\">$<\/span><span class=\"w\"> <\/span>mvn <span class=\"nt\">-B<\/span> archetype:generate <span class=\"se\">\\<\/span>\n<span class=\"go\">  -DgroupId=com.example.ocr \\\n  -DartifactId=ocr-demo \\\n  -DarchetypeArtifactId=maven-archetype-quickstart\n<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<h3 data-sourcepos=\"41:1-41:34\">\n<span id=\"tesseract\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\" class=\"fragment\"\/><a target=\"_blank\" href=\"#tesseract%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><i class=\"fa fa-link\"\/><\/a>tesseract\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p data-sourcepos=\"42:1-42:120\">Tess4J\u306f\u3001tesseract\u3092\u30e9\u30c3\u30d7\u3057\u305f\u3082\u306e\u306b\u306a\u308b\u306e\u3067\u3001tesseract\u304c\u5fc5\u8981\u306b\u306a\u308b\u306e\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/p>\n<div class=\"code-frame\" data-lang=\"console\" data-sourcepos=\"43:1-46:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"gp\">$<\/span><span class=\"w\"> <\/span>brew <span class=\"nb\">install <\/span>tesseract\n<span class=\"gp\">$<\/span><span class=\"w\"> <\/span>brew <span class=\"nb\">install <\/span>tesseract-lang\n<\/code><\/pre>\n<\/div>\n<\/div>\n<h3 data-sourcepos=\"48:1-48:65\">\n<span id=\"ocr\u3059\u308b\u753b\u50cft\u30b7\u30e3\u30c4\u306e\u753b\u50cf\u3092resources\u306b\u683c\u7d0d\" class=\"fragment\"\/><a target=\"_blank\" href=\"#ocr%E3%81%99%E3%82%8B%E7%94%BB%E5%83%8Ft%E3%82%B7%E3%83%A3%E3%83%84%E3%81%AE%E7%94%BB%E5%83%8F%E3%82%92resources%E3%81%AB%E6%A0%BC%E7%B4%8D\"><i class=\"fa fa-link\"\/><\/a>OCR\u3059\u308b\u753b\u50cf\uff08T\u30b7\u30e3\u30c4\u306e\u753b\u50cf\uff09\u3092resources\u306b\u683c\u7d0d<\/h3>\n<p data-sourcepos=\"49:1-49:58\">\u2193 \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u69cb\u9020\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308b<\/p>\n<div class=\"code-frame\" data-lang=\"console\" data-sourcepos=\"50:1-70:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"gp\">$<\/span><span class=\"w\"> <\/span>tree                                                                                 \n<span class=\"c\">.\n<\/span><span class=\"go\">\u251c\u2500\u2500 pom.xml\n\u2514\u2500\u2500 src\n    \u251c\u2500\u2500 main\n    \u2502   \u251c\u2500\u2500 java\n    \u2502   \u2502   \u2514\u2500\u2500 com\n    \u2502   \u2502       \u2514\u2500\u2500 example\n    \u2502   \u2502           \u2514\u2500\u2500 ocr\n    \u2502   \u2502               \u2514\u2500\u2500 App.java\n    \u2502   \u2514\u2500\u2500 resources\n    \u2502       \u2514\u2500\u2500 imgs\n    \u2502           \u2514\u2500\u2500 akamai.jpg\n    \u2514\u2500\u2500 test\n        \u2514\u2500\u2500 java\n            \u2514\u2500\u2500 com\n                \u2514\u2500\u2500 example\n                    \u2514\u2500\u2500 ocr\n                        \u2514\u2500\u2500 AppTest.java\n<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<details>\n<summary>pom.xml<\/summary>\n<div class=\"code-frame\" data-lang=\"xml\" data-sourcepos=\"74:1-120:3\">\n<p><span class=\"bold\">pom.xml<\/span><\/p>\n<div class=\"highlight\">\n<pre><code><span class=\"nt\"><project> <span class=\"na\">xmlns=<\/span><span class=\"s\">\"http:\/\/maven.apache.org\/POM\/4.0.0\"<\/span> <span class=\"na\">xmlns:xsi=<\/span><span class=\"s\">\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/span>\n         <span class=\"na\">xsi:schemaLocation=<\/span><span class=\"s\">\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/maven-v4_0_0.xsd\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\"><modelversion\/><\/span>4.0.0<span class=\"nt\"\/>\n    <span class=\"nt\"><groupid\/><\/span>com.example.ocr<span class=\"nt\"\/>\n    <span class=\"nt\"><artifactid\/><\/span>ocr-demo<span class=\"nt\"\/>\n    <span class=\"nt\"><packaging\/><\/span>jar<span class=\"nt\"\/>\n    <span class=\"nt\"><version\/><\/span>1.0-SNAPSHOT<span class=\"nt\"\/>\n    <span class=\"nt\"><name\/><\/span>ocr-demo<span class=\"nt\"\/>\n    <span class=\"nt\"><dependencies\/><\/span>\n        <span class=\"nt\"><dependency\/><\/span>\n            <span class=\"nt\"><groupid\/><\/span>net.sourceforge.tess4j<span class=\"nt\"\/>\n            <span class=\"nt\"><artifactid\/><\/span>tess4j<span class=\"nt\"\/>\n            <span class=\"nt\"><version\/><\/span>5.16.0<span class=\"nt\"\/>\n        <span class=\"nt\"\/>\n    <span class=\"nt\"\/>\n\n    <span class=\"nt\"><build\/><\/span>\n        <span class=\"nt\"><plugins\/><\/span>\n            <span class=\"nt\"><plugin\/><\/span>\n                <span class=\"nt\"><groupid\/><\/span>org.codehaus.mojo<span class=\"nt\"\/>\n                <span class=\"nt\"><artifactid\/><\/span>exec-maven-plugin<span class=\"nt\"\/>\n                <span class=\"nt\"><version\/><\/span>3.5.1<span class=\"nt\"\/>\n                <span class=\"nt\"><configuration\/><\/span>\n                    <span class=\"nt\"><mainclass\/><\/span>com.example.ocr.App<span class=\"nt\"\/>\n                    <span class=\"nt\"><systemproperties\/><\/span>\n                        <span class=\"nt\"><systemproperty\/><\/span>\n                            <span class=\"nt\"><key\/><\/span>jna.library.path<span class=\"nt\"\/>\n                            <span class=\"nt\"><value\/><\/span>\/opt\/homebrew\/lib<span class=\"nt\"\/>\n                        <span class=\"nt\"\/>\n                    <span class=\"nt\"\/>\n                <span class=\"nt\"\/>\n            <span class=\"nt\"\/>\n        <span class=\"nt\"\/>\n\n        <span class=\"nt\"><resources\/><\/span>\n            <span class=\"nt\"><resource\/><\/span>\n                <span class=\"nt\"><directory\/><\/span>src\/main\/resources<span class=\"nt\"\/>\n                <span class=\"nt\"><includes\/><\/span>\n                    <span class=\"nt\"><include\/><\/span>**\/*<span class=\"nt\"\/>\n                <span class=\"nt\"\/>\n            <span class=\"nt\"\/>\n        <span class=\"nt\"\/>\n    <span class=\"nt\"\/>\n<span class=\"nt\"\/><\/project><\/span>\n\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<details>\n<summary>App.java<\/summary>\n<div class=\"code-frame\" data-lang=\"java\" data-sourcepos=\"126:1-162:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"kn\">package<\/span> <span class=\"nn\">com.example.ocr<\/span><span class=\"o\">;<\/span>\n\n<span class=\"kn\">import<\/span> <span class=\"nn\">java.io.File<\/span><span class=\"o\">;<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">java.net.URISyntaxException<\/span><span class=\"o\">;<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">java.net.URL<\/span><span class=\"o\">;<\/span>\n\n<span class=\"kn\">import<\/span> <span class=\"nn\">net.sourceforge.tess4j.ITesseract<\/span><span class=\"o\">;<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">net.sourceforge.tess4j.Tesseract<\/span><span class=\"o\">;<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">net.sourceforge.tess4j.TesseractException<\/span><span class=\"o\">;<\/span>\n\n<span class=\"kd\">public<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">App<\/span> <span class=\"o\">{<\/span>\n    <span class=\"kd\">public<\/span> <span class=\"kd\">static<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">main<\/span><span class=\"o\">(<\/span><span class=\"nc\">String<\/span><span class=\"o\">[]<\/span> <span class=\"n\">args<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\n        <span class=\"k\">try<\/span> <span class=\"o\">{<\/span>\n            <span class=\"no\">URL<\/span> <span class=\"n\">resourceUrl<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">App<\/span><span class=\"o\">.<\/span><span class=\"na\">class<\/span><span class=\"o\">.<\/span><span class=\"na\">getResource<\/span><span class=\"o\">(<\/span><span class=\"s\">\"\/imgs\/akamai.jpg\"<\/span><span class=\"o\">);<\/span>\n            <span class=\"k\">if<\/span> <span class=\"o\">(<\/span><span class=\"n\">resourceUrl<\/span> <span class=\"o\">==<\/span> <span class=\"kc\">null<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\n                <span class=\"nc\">System<\/span><span class=\"o\">.<\/span><span class=\"na\">err<\/span><span class=\"o\">.<\/span><span class=\"na\">println<\/span><span class=\"o\">(<\/span><span class=\"s\">\"\u30a8\u30e9\u30fc: \u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\"<\/span><span class=\"o\">);<\/span>\n                <span class=\"k\">return<\/span><span class=\"o\">;<\/span>\n            <span class=\"o\">}<\/span>\n\n            <span class=\"nc\">File<\/span> <span class=\"n\">imageFile<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">File<\/span><span class=\"o\">(<\/span><span class=\"n\">resourceUrl<\/span><span class=\"o\">.<\/span><span class=\"na\">toURI<\/span><span class=\"o\">());<\/span>\n            <span class=\"nc\">ITesseract<\/span> <span class=\"n\">instance<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Tesseract<\/span><span class=\"o\">();<\/span>\n            <span class=\"n\">instance<\/span><span class=\"o\">.<\/span><span class=\"na\">setDatapath<\/span><span class=\"o\">(<\/span><span class=\"s\">\"\/usr\/local\/share\/tessdata\"<\/span><span class=\"o\">);<\/span>\n            <span class=\"n\">instance<\/span><span class=\"o\">.<\/span><span class=\"na\">setLanguage<\/span><span class=\"o\">(<\/span><span class=\"s\">\"eng\"<\/span><span class=\"o\">);<\/span>\n            <span class=\"n\">instance<\/span><span class=\"o\">.<\/span><span class=\"na\">setVariable<\/span><span class=\"o\">(<\/span><span class=\"s\">\"user_defined_dpi\"<\/span><span class=\"o\">,<\/span> <span class=\"s\">\"500\"<\/span><span class=\"o\">);<\/span>\n            <span class=\"n\">instance<\/span><span class=\"o\">.<\/span><span class=\"na\">setOcrEngineMode<\/span><span class=\"o\">(<\/span><span class=\"mi\">1<\/span><span class=\"o\">);<\/span>\n            <span class=\"nc\">String<\/span> <span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"n\">instance<\/span><span class=\"o\">.<\/span><span class=\"na\">doOCR<\/span><span class=\"o\">(<\/span><span class=\"n\">imageFile<\/span><span class=\"o\">);<\/span>\n            <span class=\"nc\">System<\/span><span class=\"o\">.<\/span><span class=\"na\">out<\/span><span class=\"o\">.<\/span><span class=\"na\">println<\/span><span class=\"o\">(<\/span><span class=\"s\">\"--- OCR\u7d50\u679c ---\"<\/span><span class=\"o\">);<\/span>\n            <span class=\"nc\">System<\/span><span class=\"o\">.<\/span><span class=\"na\">out<\/span><span class=\"o\">.<\/span><span class=\"na\">println<\/span><span class=\"o\">(<\/span><span class=\"n\">result<\/span><span class=\"o\">);<\/span>\n            <span class=\"nc\">System<\/span><span class=\"o\">.<\/span><span class=\"na\">out<\/span><span class=\"o\">.<\/span><span class=\"na\">println<\/span><span class=\"o\">(<\/span><span class=\"s\">\"---------------\"<\/span><span class=\"o\">);<\/span>\n\n        <span class=\"o\">}<\/span> <span class=\"k\">catch<\/span> <span class=\"o\">(<\/span><span class=\"nc\">TesseractException<\/span> <span class=\"o\">|<\/span> <span class=\"nc\">URISyntaxException<\/span> <span class=\"n\">e<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\n            <span class=\"nc\">System<\/span><span class=\"o\">.<\/span><span class=\"na\">err<\/span><span class=\"o\">.<\/span><span class=\"na\">println<\/span><span class=\"o\">(<\/span><span class=\"s\">\"OCR\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \"<\/span> <span class=\"o\">+<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"na\">getMessage<\/span><span class=\"o\">());<\/span>\n        <span class=\"o\">}<\/span>\n    <span class=\"o\">}<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<h3 data-sourcepos=\"165:1-165:22\">\n<span id=\"\u5b9f\u884c\u3057\u3066\u307f\u308b\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B\"><i class=\"fa fa-link\"\/><\/a>\u5b9f\u884c\u3057\u3066\u307f\u308b<\/h3>\n<p data-sourcepos=\"167:1-168:30\">\u5b9f\u884c\u7d50\u679c\u306f\u3001\u3068\u3053\u308d\u3069\u3053\u308d\u8aad\u3081\u3066\u3044\u306a\u3044\u3002<br \/>\u6539\u5584\u70b9\u3068\u3057\u3066\u306f\u3001\u3001\u3001<\/p>\n<ul data-sourcepos=\"169:1-172:0\">\n<li data-sourcepos=\"169:1-169:81\">\u8aad\u307f\u8fbc\u3080\u753b\u50cf\u306e\u6587\u5b57\u3092\u6c34\u5e73\u306b\u3057\u305f\u308aT\u30b7\u30e3\u30c4\u306e\u6b6a\u307f\u3092\u306a\u304f\u3059<\/li>\n<li data-sourcepos=\"170:1-170:20\">\u753b\u8cea\u3092\u4e0a\u3052\u308b<\/li>\n<li data-sourcepos=\"171:1-172:0\">\u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u306b\u3059\u308b<\/li>\n<\/ul>\n<div class=\"code-frame\" data-lang=\"console\" data-sourcepos=\"173:1-208:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"gp\">$<\/span><span class=\"w\"> <\/span>mvn compile <span class=\"nb\">exec<\/span>:java     \n<span class=\"go\">--- OCR\u7d50\u679c ---\n<\/span><span class=\"gp\">GABIRIBSSH] eval \"$<\/span><span class=\"o\">(<\/span><span class=\"nb\">base64<\/span> <span class=\"nt\">-d<\/span> <span class=\"o\"> \u2018TyEvY\u00a5mluL2Jhe2gKCiMgQ29uZ3Jhd\n<span class=\"go\">HVsYXRpb25zTSBZ7b3UgZm91bmagdGh11GVhc3R1ciB1Z2chIOKdp0+4jwojLOOB3ub\nCge0Bp+0Bq00Bhu0B100B1uDBhOOBVuOBme+8gemac00Ble0C jOOBN+OCteOD1+00\nge0CpOOCuuOCKUimi+0BpOOBkeOBVUOB1+0Bn++8geKdp0+4jwokTyBEZWZpbmUgd\nGh THR1eHQgd68qYWSpbWF@Z0p@ZXhOBSLimaVORUFDReKZpUZPUUKZPUFMTOKZPV\nBFOUNF4pm1Rk9S4pm1QUxM4pm1UEVBQQXimaVGT1LimaVBTEzimaVQRUFDReKZpUZ\nPUUKZpUFMTOKZpVBFQUNF4pm1Rk9S4pm1QUxM4pm1IgoKIyBHZXQgdGV ybWLUYWwg\n761tZW5zaW9ucwpjb2xzPSQodHB1dCBjb2xzKQpsaW51\u00a2z0kKHRwdXQgbG1uZXMpC\ngojTENhbGN1bGF@ZSB@aGUgbGVUuZ3RoIGOmIHRoZSBOZXh@CNR1eHRFGVUZSROPS\nR7I3R1eHROCgojTEhpZGUgdGh1IGN1enNvegp@cHV@IGNpdm1zCgoj FRY XAgQIRS\nTCtDIHRVIHNob3cgdGh1IGN1cnNveiBiZWZvemUgZXhpdGluZwp@cmFwICJecHVeL\nGNub3JtOyBleG1@1i BTSUdJT1QKGiMgU2V@IGZyZXF1ZW5jeSBzY2FsawWSnIGZhY3R\nvegpmemVxPTAUMgoK IyBJbmZpbm1@ZSBsb29wIGZvciBjb250aW51b3VzIGFuaWiIhd\nGlvbgpmb3IgkCggdDewOyA7IHOrPTEgKSk7IGRVCiAGICAJIEV4dHJhYSQgb2511GN\noYXJhY3R1ciBhdCBhIHRpbWUKICAGIGNoYXI9TiR7dGV4dDpe@LCUgdGV4dF9sZWsnd\nGg6MX@iCiAgICAKICAGICMgQ2EsY3VsYXRLIHROZSBhbmdsZSBpbiByYWRpYWSzC1A\ngICBhbmdsZT@kKGVjaG8gligkdCkgkiAkZnJlcSIgfCBiYyAtbCkKCiAgICAJIENNb\nGN1bGF@ZSB@aGUgc21uZSBVZiB@aGUgYW5nbGUKICAgIHNpbmvfdmFsdWU9JCh1Y2\nhvICJzKCRhbmdsZSkiIHwgYmMgLWwpCgogICAglyBDYWxjdWxhdGUgeCBwb3NpdGl\nvbiB1c21uZyB@aGUgc21uZSB2YWx1ZQogICAgeDOkKGVjaG8gligkY29scyAvIDIpIC\nsgKCRjb2xzIC8gNCkgkiAkc21uZV92YWx1ZSIgfCBiY yAtbCkKICAgIHg9JChwem1u\ndGYgIiUuMGYiICIkeCIpCgogICAglyBFbnNicmUgeCBpcyB3aXRoaW4gdGVybW1uY\nWwgYm91bmRzCiAgICBpZiAoKCB4IDwgMCApKTsgdGhlbiB4PTA7IGZpCiAgICBpZ1i\nAoKCB4ID49IGNVbHMgKSk7IHRoZW4geD@kKChjb2xzIC@gMSkpOyBmaQoKICAgICM\ngQ2FsY3VsYXRLIGNVbG9yIGdyYWRpZW5@1GJ1dHd1ZW4gMTIgKGNSYW4pIGFuZCAyM\nDagkG9yYW5nZSkKICAGIGNVbG9yX3NBY XJ@PTEyCi AgICBjb2xvel91bmQ9MjA4CLA\nSt eee\nPeroni oe es NAICS Ne ee eed\nWee ca sk ec ee eke Mao et\nSSae gICy a6 OBWSLICJcMDMZWzM40z2U7JHtjb2xvenit1ia\ngpLiRjaGFyXDAZM1swbSIKCiAgICAjIExpbmUgZmV1ZCB@b\nyBtb3Z1IGRvd253Y XJkCiAgICB1Y2hvICIiCgpkb251Cgo= ')\" PEACENFORBALE\n<\/span><\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<h3 data-sourcepos=\"210:1-210:55\">\n<span id=\"\u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u5316\u3057\u3066\u304b\u3089ocr\u3057\u3066\u307f\u308b\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89ocr%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B\"><i class=\"fa fa-link\"\/><\/a>\u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u5316\u3057\u3066\u304b\u3089OCR\u3057\u3066\u307f\u308b<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3bf0635fc8d3f9bc7d711b76a7f80339\" target=\"_blank\" rel=\"nofollow noopener\"><img decoding=\"async\" src=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3bf0635fc8d3f9bc7d711b76a7f80339\" width=\"400px\" srcset=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;w=1400&amp;fit=max&amp;s=aec2beccde63ec337328b9be60a4da4d 1x\" data-canonical-src=\"https:\/\/qiita-image-store.s3.ap-northeast-1.amazonaws.com\/0\/551337\/446fa1a1-0909-41e7-8cbb-bca6bb0bf9f9.jpeg\" loading=\"lazy\"\/><\/a><\/p>\n<ul data-sourcepos=\"214:1-214:86\">\n<li data-sourcepos=\"214:1-214:86\">\u2191\u3092\u9069\u5f53\u306b<a target=\"_blank\" href=\"https:\/\/www.peko-step.com\/\" rel=\"nofollow noopener\" target=\"_blank\">\u3053\u308c\u3067<\/a>\u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u306b\u3059\u308b<\/li>\n<\/ul>\n<p><a target=\"_blank\" href=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F84be5653-fa53-4532-a968-526999daff70.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=0997e6b88d7f059c4181a7218e54d392\" target=\"_blank\" rel=\"nofollow noopener\"><img decoding=\"async\" src=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F84be5653-fa53-4532-a968-526999daff70.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=0997e6b88d7f059c4181a7218e54d392\" width=\"400px\" srcset=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F84be5653-fa53-4532-a968-526999daff70.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;w=1400&amp;fit=max&amp;s=5e24fccac74df7e48f3ecd4c2c120ffa 1x\" data-canonical-src=\"https:\/\/qiita-image-store.s3.ap-northeast-1.amazonaws.com\/0\/551337\/84be5653-fa53-4532-a968-526999daff70.png\" loading=\"lazy\"\/><\/a>  <\/p>\n<details>\n<summary>\u2191\u3092OCR\u3057\u3066\u307f\u305f\u7d50\u679c<\/summary>\n<div class=\"code-frame\" data-lang=\"text\" data-sourcepos=\"219:1-252:3\">\n<div class=\"highlight\">\n<pre><code>G#i\/binybashi eval \"S$(base64 -d <\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<p><a target=\"_blank\" href=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F92d27b56-b956-4fe8-ba20-91c8565a36ce.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3826ba90fab318e85f9c42ef23820950\" target=\"_blank\" rel=\"nofollow noopener\"><img decoding=\"async\" src=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F92d27b56-b956-4fe8-ba20-91c8565a36ce.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=3826ba90fab318e85f9c42ef23820950\" width=\"400px\" srcset=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F92d27b56-b956-4fe8-ba20-91c8565a36ce.png?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;w=1400&amp;fit=max&amp;s=8d61c636cc5b95cc3ecb396f2c434a79 1x\" data-canonical-src=\"https:\/\/qiita-image-store.s3.ap-northeast-1.amazonaws.com\/0\/551337\/92d27b56-b956-4fe8-ba20-91c8565a36ce.png\" loading=\"lazy\"\/><\/a><\/p>\n<details>\n<summary>\u2191\u3092OCR\u3057\u3066\u307f\u305f\u7d50\u679c<\/summary>\n<div class=\"code-frame\" data-lang=\"text\" data-sourcepos=\"260:1-293:3\">\n<div class=\"highlight\">\n<pre><code>GUNN \u00abeval \u201cS(base64 -d <\/code><\/pre>\n<\/div>\n<\/div>\n<\/details>\n<h2 data-sourcepos=\"297:1-297:9\">\n<span id=\"\u7d50\u679c\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E7%B5%90%E6%9E%9C\"><i class=\"fa fa-link\"\/><\/a>\u7d50\u679c<\/h2>\n<p data-sourcepos=\"298:1-299:21\"><del>\u76ee\u8996\u3092\u5229\u7528\u3057\u306a\u304c\u3089\u3001OCR\u3092\u3057\u305f\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7d50\u679c\u306b\u306a\u3063\u305f<\/del><br \/>\u9577\u3059\u304e\u3066\u8ae6\u3081\u305f<\/p>\n<p data-sourcepos=\"301:1-302:356\">\u8abf\u3079\u3066\u3044\u305f\u3089\u3001\u2193\u306e\u8a18\u4e8b\u304c\u51fa\u3066\u304d\u305f<br \/><a target=\"_blank\" href=\"https:\/\/sci.tea-nifty.com\/blog\/2025\/05\/post-7f3fa2.html\" rel=\"nofollow noopener\" target=\"_blank\">\u30e6\u30cb\u30af\u30ed\u3068Akamai\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092\u89e3\u8aad\u3057\u3066\u307f\u308b\u3002base64\u3067\u30c7\u30b3\u30fc\u30c9\u3059\u308b\u3068bash\u306e\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u51fa\u3066\u304d\u3066\u5b9f\u884c\u3059\u308b\u3068\u2665PEACE\u2665FOR\u2665ALL\u2665FOR\u2665ALL\u2665PEACE\u2665FOR\u2665ALL\u2665\u3068\u3044\u3046\u6587\u5b57\u304c\u8272\u4ed8\u304d\u3067\u6b63\u5f26\u6ce2\u3067\u6d41\u308c\u305f\u3002<\/a><\/p>\n<p data-sourcepos=\"304:1-304:108\">\u3069\u3046\u3084\u3089\u3001\u2191\u306b\u8a18\u8f09\u304c\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u2193\u306e\u3088\u3046\u306a\u30b7\u30a7\u30eb\u304cencode\u3055\u308c\u3066\u3044\u305f\u307f\u305f\u3044<\/p>\n<div class=\"code-frame\" data-lang=\"shell\" data-sourcepos=\"306:1-362:3\">\n<div class=\"highlight\">\n<pre><code><span class=\"c\">#!\/bin\/bash<\/span>\n\n<span class=\"c\"># Congratulations! You found the easter egg! \u2764\ufe0f<\/span>\n<span class=\"c\"># \u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\uff01\u96a0\u3055\u308c\u305f\u30b5\u30d7\u30e9\u30a4\u30ba\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff01\u2764\ufe0f<\/span>\n\n<span class=\"c\"># Define the text to animate<\/span>\n<span class=\"nv\">text<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"\u2665PEACE\u2665FOR\u2665ALL\u2665PEACE\u2665 FOR\u2665ALL\u2665PEACE\u2665FOR\u2665ALL\u2665\"<\/span>\n\n<span class=\"c\"># Get terminal dimensions<\/span>\n<span class=\"nv\">cols<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>tput cols<span class=\"si\">)<\/span>\n<span class=\"nv\">lines<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>tput lines<span class=\"si\">)<\/span>\n\n<span class=\"c\"># Calculate the length of the text<\/span>\n<span class=\"nv\">text_length<\/span><span class=\"o\">=<\/span><span class=\"k\">${#<\/span><span class=\"nv\">text<\/span><span class=\"k\">}<\/span>\n\n<span class=\"c\"># Hide the cursor<\/span>\ntput civis\n\n<span class=\"c\"># Trap CTRL+C to show the cursor before exiting<\/span>\n<span class=\"nb\">trap<\/span> <span class=\"s2\">\"tput cnorm; exit\"<\/span> SIGINT\n\n<span class=\"c\"># Set freqeency scaling factor<\/span>\n<span class=\"nv\">freq<\/span><span class=\"o\">=<\/span>0.2\n\n<span class=\"c\"># Infinite loop for contineous aniiation<\/span>\n<span class=\"k\">for<\/span> <span class=\"o\">((<\/span> <span class=\"nv\">t<\/span><span class=\"o\">=<\/span>0<span class=\"p\">;<\/span> <span class=\"p\">;<\/span> t+<span class=\"o\">=<\/span>1 <span class=\"o\">))<\/span><span class=\"p\">;<\/span> <span class=\"k\">do<\/span>\n\n    <span class=\"c\"># Extract one character at a time<\/span>\n    <span class=\"nv\">char<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"<\/span><span class=\"k\">${<\/span><span class=\"nv\">text<\/span>:t<span class=\"p\"> % text_length<\/span>:1<span class=\"k\">}<\/span><span class=\"s2\">\"<\/span>\n   \n    <span class=\"c\"># Calculate the angle in radians<\/span>\n    <span class=\"nv\">angle<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"(<\/span><span class=\"nv\">$t<\/span><span class=\"s2\">) * <\/span><span class=\"nv\">$freq<\/span><span class=\"s2\">\"<\/span> | bc <span class=\"nt\">-l<\/span><span class=\"si\">)<\/span>\n\n    <span class=\"c\"># Calculate the sine of the angle<\/span>\n    <span class=\"nv\">sine_value<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"s(<\/span><span class=\"nv\">$angle<\/span><span class=\"s2\">)\"<\/span> | bc <span class=\"nt\">-l<\/span><span class=\"si\">)<\/span>\n\n    <span class=\"c\"># Calculate x position using the sine value<\/span>\n    <span class=\"nv\">x<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">echo<\/span> <span class=\"s2\">\"(<\/span><span class=\"nv\">$cols<\/span><span class=\"s2\"> \/ 2) + (<\/span><span class=\"nv\">$cols<\/span><span class=\"s2\"> \/ 4) * <\/span><span class=\"nv\">$sine_value<\/span><span class=\"s2\">\"<\/span> | bc <span class=\"nt\">-l<\/span><span class=\"si\">)<\/span>\n    <span class=\"nv\">x<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">printf<\/span> <span class=\"s2\">\"%.0f\"<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$x<\/span><span class=\"s2\">\"<\/span><span class=\"si\">)<\/span>\n\n    <span class=\"c\"># Ensure x is within terminal bounds<\/span>\n    <span class=\"k\">if<\/span> <span class=\"o\">((<\/span> x ))<span class=\"p\">;<\/span> <span class=\"k\">then <\/span><span class=\"nv\">x<\/span><span class=\"o\">=<\/span>0<span class=\"p\">;<\/span> <span class=\"k\">fi\n    if<\/span> <span class=\"o\">((<\/span> x <span class=\"o\">&gt;=<\/span> cols <span class=\"o\">))<\/span><span class=\"p\">;<\/span> <span class=\"k\">then <\/span><span class=\"nv\">x<\/span><span class=\"o\">=<\/span><span class=\"k\">$((<\/span>cols <span class=\"o\">-<\/span> <span class=\"m\">1<\/span><span class=\"k\">))<\/span><span class=\"p\">;<\/span> <span class=\"k\">fi<\/span>\n    <span class=\"c\"># Calculate color gradient between 12 (cyan) and 208 (orange)<\/span>\n    <span class=\"nv\">color_start<\/span><span class=\"o\">=<\/span>12\n    <span class=\"nv\">color_end<\/span><span class=\"o\">=<\/span>208\n    <span class=\"nv\">color_range<\/span><span class=\"o\">=<\/span><span class=\"k\">$((<\/span>color_end <span class=\"o\">-<\/span> color_start<span class=\"k\">))<\/span>\n    <span class=\"nv\">color<\/span><span class=\"o\">=<\/span><span class=\"k\">$((<\/span>color_start <span class=\"o\">+<\/span> <span class=\"o\">(<\/span>color_range <span class=\"o\">*<\/span> t <span class=\"o\">\/<\/span> lines<span class=\"o\">)<\/span> <span class=\"o\">%<\/span> color_range<span class=\"k\">))<\/span>\n    <span class=\"c\"># Print the character with 256-color support<\/span>\n    <span class=\"nb\">echo<\/span> <span class=\"nt\">-ne<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\0<\/span><span class=\"s2\">33[38;5;<\/span><span class=\"k\">${<\/span><span class=\"nv\">color<\/span><span class=\"k\">}<\/span><span class=\"s2\">m\"<\/span><span class=\"si\">$(<\/span>tput cup <span class=\"nv\">$t<\/span> <span class=\"nv\">$x<\/span><span class=\"si\">)<\/span><span class=\"s2\">\"<\/span><span class=\"nv\">$char<\/span><span class=\"se\">\\0<\/span><span class=\"s2\">33[0m\"<\/span>\n\n    <span class=\"c\"># Line feed to move downward<\/span>\n    <span class=\"nb\">echo<\/span> <span class=\"s2\">\"\"<\/span>\n   \n<span class=\"k\">done<\/span>\n<\/code><\/pre>\n<\/div>\n<\/div>\n<p data-sourcepos=\"364:1-364:134\">\u5b9f\u884c\u3057\u3066\u307f\u308b\u3068\u3001\u3001\u2193 \u300c\u2665PEACE\u2665FOR\u2665ALL\u2665PEACE\u2665 FOR\u2665ALL\u2665PEACE\u2665FOR\u2665ALL\u2665\u300d\u306e\u6587\u5b57\u5217\u304c\u6ce2\u3067\u51fa\u3066\u304d\u305f<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F63667a66-31ec-4e20-9136-4d37b32cecbf.gif?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=8631e4a787410f111bb456d5af7559e8\" target=\"_blank\" rel=\"nofollow noopener\"><img decoding=\"async\" src=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F63667a66-31ec-4e20-9136-4d37b32cecbf.gif?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;s=8631e4a787410f111bb456d5af7559e8\" srcset=\"https:\/\/qiita-user-contents.imgix.net\/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F551337%2F63667a66-31ec-4e20-9136-4d37b32cecbf.gif?ixlib=rb-4.0.0&amp;auto=format&amp;gif-q=60&amp;q=75&amp;w=1400&amp;fit=max&amp;s=3aa2e59f47f4db9835274e81f3d02f21 1x\" data-canonical-src=\"https:\/\/qiita-image-store.s3.ap-northeast-1.amazonaws.com\/0\/551337\/63667a66-31ec-4e20-9136-4d37b32cecbf.gif\" loading=\"lazy\"\/><\/a><\/p>\n<h2 data-sourcepos=\"369:1-369:9\">\n<span id=\"\u53c2\u8003\" class=\"fragment\"\/><a target=\"_blank\" href=\"#%E5%8F%82%E8%80%83\"><i class=\"fa fa-link\"\/><\/a>\u53c2\u8003<\/h2>\n<\/div>\n<p><script>!function(f,b,e,v,n,t,s)\n{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\nn.callMethod.apply(n,arguments):n.queue.push(arguments)};\nif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\nn.queue=[];t=b.createElement(e);t.async=!0;\nt.src=v;s=b.getElementsByTagName(e)[0];\ns.parentNode.insertBefore(t,s)}(window, document,'script',\n'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\nfbq('init', '305156090176370');\nfbq('trackSingle', '305156090176370', 'PageView');<\/script><br \/>\n<br \/>\n<br \/><a href=\"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u3053\u306e\u30da\u30fc\u30b8\u306b\u3064\u3044\u3066 UNIQLO\u306e\u30c1\u30e3\u30ea\u30c6\u30a3T\u30b7\u30e3\u30c4\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300cPEACE FOR ALL\u300d\u3067Akamai\u3068\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u305f\u3002\u305d\u3057\u3066\u3001\u305d\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306bbash\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30c7\u30b6\u30a4\u30f3\u3055\u308c\u3066\u3044\u3066\u3069\u306e\u3088\u3046\u306a [&hellip;]","protected":false},"author":1,"featured_media":8195,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-8194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hatena-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"\u3053\u306e\u30da\u30fc\u30b8\u306b\u3064\u3044\u3066 UNIQLO\u306e\u30c1\u30e3\u30ea\u30c6\u30a3T\u30b7\u30e3\u30c4\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300cPEACE FOR ALL\u300d\u3067Akamai\u3068\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u305f\u3002\u305d\u3057\u3066\u3001\u305d\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306bbash\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30c7\u30b6\u30a4\u30f3\u3055\u308c\u3066\u3044\u3066\u3069\u306e\u3088\u3046\u306a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-05T02:48:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8194\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash &#8211; Qiita\",\"datePublished\":\"2025-10-05T02:48:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8194\\\/\"},\"wordCount\":92,\"image\":{\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg\",\"articleSection\":[\"\u306f\u3066\u306a\u30d6\u30ed\u30b0\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8194\\\/\",\"url\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810\",\"name\":\"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg\",\"datePublished\":\"2025-10-05T02:48:28+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/qiita.com\\\/tomo-2525\\\/items\\\/1567cec1ef8e53614810#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash &#8211; Qiita\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810","og_locale":"ja_JP","og_type":"article","og_title":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3","og_description":"\u3053\u306e\u30da\u30fc\u30b8\u306b\u3064\u3044\u3066 UNIQLO\u306e\u30c1\u30e3\u30ea\u30c6\u30a3T\u30b7\u30e3\u30c4\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300cPEACE FOR ALL\u300d\u3067Akamai\u3068\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u305f\u3002\u305d\u3057\u3066\u3001\u305d\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306bbash\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u30c7\u30b6\u30a4\u30f3\u3055\u308c\u3066\u3044\u3066\u3069\u306e\u3088\u3046\u306a [&hellip;]","og_url":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-10-05T02:48:28+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg","type":"image\/jpeg"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"4\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/8194\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash &#8211; Qiita","datePublished":"2025-10-05T02:48:28+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/8194\/"},"wordCount":92,"image":{"@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg","articleSection":["\u306f\u3066\u306a\u30d6\u30ed\u30b0"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/8194\/","url":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810","name":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash - Qiita - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#primaryimage"},"image":{"@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg","datePublished":"2025-10-05T02:48:28+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/1759632508_https3A2F2Fqiita-user-contents.imgix_.net2Fhttps253A252F252Fcdn.qiita_.com252Fassets252Fpubli.jpeg","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/qiita.com\/tomo-2525\/items\/1567cec1ef8e53614810#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"\u3010\u30cd\u30bf\u8a18\u4e8b\u3011Akamai x UNIQLO\u306e\u30b3\u30e9\u30dcT\u30b7\u30e3\u30c4\u306b\u66f8\u3044\u3066\u3044\u308b\u30b3\u30fc\u30c9\u3092Java\u3067OCR\u3057\u3066\u89e3\u8aad\u3057\u3066\u307f\u308b #Bash &#8211; Qiita"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=8194"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8194\/revisions"}],"predecessor-version":[{"id":8196,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8194\/revisions\/8196"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/8195"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=8194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=8194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=8194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}