<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Weblog</title><link>https://blog.apatin.ru/</link><description>Личный блог с мыслями и наблюдениями</description><managingEditor>rss@apatin.ru Daniel Apatin</managingEditor><webMaster>rss@apatin.ru Daniel Apatin</webMaster><copyright>Daniel Apatin</copyright><lastBuildDate>Wed, 16 Oct 2024 18:05:00 +0300</lastBuildDate><atom:link href="https://blog.apatin.ru/rss.xml" rel="self" type="application/rss+xml"/><item><title>Защита email-адреса с помощью SVG</title><link>https://blog.apatin.ru/p/hide_email_by_svg/</link><pubDate>Wed, 16 Oct 2024 18:05:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/hide_email_by_svg/</guid><description>
&lt;p>Использование SVG для защиты электронной почты — это эффективный подход, позволяющий скрыть email-адрес от ботов, в то время как он остается доступным для людей. Рассмотрим, как это работает и чем отличается от методов на основе JavaScript, таких как
&lt;a href="https://blog.apatin.ru/p/how-cloudflare-protect-email/">метод Cloudflare&lt;/a>.&lt;/p>
&lt;h2 id="преимущества-svg">Преимущества SVG&lt;/h2>
&lt;p>SVG (Scalable Vector Graphics) позволяет отображать текст как изображение, что делает его менее доступным для спам-ботов. Адрес электронной почты может быть закодирован внутри SVG-файла, что усложняет его парсинг.&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/hide_email_by_svg/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Создание контента в Hugo из внешнего источника (json)</title><link>https://blog.apatin.ru/p/hugo-generate-content-from-external-source/</link><pubDate>Thu, 24 Feb 2022 21:34:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/hugo-generate-content-from-external-source/</guid><description>
&lt;p>Случилось то, что многие ждали, в
&lt;a href="https://github.com/gohugoio/hugo/releases/tag/v0.90.0" target="_blank" rel="external nofollow noreferrer">Hugo 0.90&lt;/a> появилось &lt;strong>resources.Get&lt;/strong>. А затем и &lt;strong>getJSON&lt;/strong>/&lt;strong>getCSV&lt;/strong>.&lt;/p>
&lt;p>Это позволяет использовать в качестве источника данных для формирования контента внешние ресурсы, например rss-json фид.&lt;/p>
&lt;p>Давайте попробуем это использовать и построим блог из внешних данных, например из rss блога Github.&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/hugo-generate-content-from-external-source/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Airtag — опыт использования альтернативной прошивки</title><link>https://blog.apatin.ru/p/airtag-alternative-usage-experience/</link><pubDate>Thu, 27 May 2021 09:15:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/airtag-alternative-usage-experience/</guid><description>
&lt;p>Спустя две недели использования альтернативной прошивки для nRF5x, работающей в сети Apple, хочу поделиться опытом.&lt;/p>
&lt;p>Я остановился на версии
&lt;a href="https://github.com/acalatrava/openhaystack-firmware" target="_blank" rel="external nofollow noreferrer">acalatrava/openhaystack-firmware&lt;/a>, которая имеет меньшее энергопотребление. Сама прошивка залита в метку, которая находится в герметичном корпусе и висит на ошейнике собаки.&lt;/p>
&lt;figure>
&lt;noscript>
&lt;style>
img.lazy {
display: none;
}
&lt;/style>
&lt;img src="https://blog.apatin.ru/images/airtag-map.png" width="600px" alt="Изображение позиции точек на карте" />
&lt;/noscript>
&lt;picture>
&lt;source
type="image/webp"
data-sizes="50vw"
data-srcset="https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_1650x0_resize_q75_h2_box_2.webp 1650w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_060b8a20f8b8f2a527623ea775206a55.webp 320w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_d1f1af53b1466d0a797d4a3e67f59098.webp 640w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_956afe01a19ee870e68c6b82ffbaad63.webp 480w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_91ad7ae0a970fbb018d842ce17dc00ce.webp 800w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_4e18bd9724e2239b2c617157f7567567.webp 1600w"
/>
&lt;img
class="lazy"
loading="lazy"
decoding="async"
data-sizes="50vw"
style="max-width: 100%;"
src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAMAAABjCgsuAAAB8lBMVEX59e2t4PSr3/Op3vH///&amp;#43;q3vL/Oy&amp;#43;u4fX639f8/N2o3PCn3fD69Ov28urTiXn68uny7eWm2&amp;#43;759Oz9/Pv38&amp;#43;v07&amp;#43;f68Obv6uK9ydrn4tv67eXl39f75d7p5d77&amp;#43;vj8&amp;#43;9z3ypit4fVNTU3WzsPBzt/t59757d/66eL49/Xi3dT&amp;#43;/v7VzMH008r53NPy0MaDgoLYz8Xh2tHf187u7Of32dHZ1tD43tbd1Mvw7uv29PL18/Dc2tXz8u2oqaz649zr6OH11s7IxcD79tW3tbLCytvCv77b0sjb6u&amp;#43;x3vDovLL3z5319O364dru8u/vysDn7&amp;#43;/irKH406Xtw7n8&amp;#43;fPltKrr6ubMysZCnL/30q/T6PD2y6D65LzL5vC/vLb78c7fpJjV0szQzcj3ypuVlJGbmpe54vHi7e/c09qKiIb317n2zqjo2NimpKD52a377Mj56trC5O/537VZWFb44Mm0sKre397P0dujnpllZGK6ubrbnZCuqqT&amp;#43;/vb55tSQjov33ML66cLYl4nx3Nj5485ycG3Wjn640&amp;#43;V8e3fMs7Gt2ezDwc6usLHXkoMvLy3exb9rqcX/QjY/PjyQgHpWosL9/erOoqCgwtOBscf/ZFigjYeQuc3/q6T/8vH/iX7/WEuxydZ8n60ODQ397t&amp;#43;KYVm1eGvZU0h7s56ZAAACGklEQVR4nFyUO47zMAyEeQASAojJFrlGGuGH&amp;#43;hSCoCpFgLTZ2vevfvAhP9aODcT&amp;#43;hhzSokgVUAAFRYr8yE/8pNiBYi8UysqqqqREjhdd&amp;#43;OmUImwKgP1iVmIiqIeROA&amp;#43;8&amp;#43;APP7DSYwURK9t80ctXseCjAacszqOFYeDmdbCK7cThjYrIHXjHKhXUlODQmUy&amp;#43;CSMtf/GfHETlYOCv3onf/OMVHGOKl8qoJBKKszBUneO&amp;#43;PnOK7AKsX61odsDJL1MvuivLEqXtBHVJGFmCiFCRriEL9E6VkOYkb0O23W7Ivg7WqwkY6YYjzBOrUO52C2YqKtRa87MEtfu/o6J1W&amp;#43;niVcDkyyLJjkm4Z4mVJrrirfJIZqCfcWmtnS7AlbytRz1ndiTjcRhu0Z89R0ZyoLN9bk/QYbQw6t1&amp;#43;hXbuu9rLjvTdxvI0xx6RMEM1RT0BRR/qRsFLHHI85J2XPFXufKIcWEHjwGvi045eOr5QdWpfxknzCdtBlKZQo18c8aA8/H4k/n0/Kat1QoIGHn1ur7nwG/Xw/KTp4LNflSKRJbXXnHX&amp;#43;/3xQfGGuPyD0KEuFrveKfDyF2mTWgKROI4&amp;#43;M1X&amp;#43;HG6Y8JOEcU&amp;#43;1jHUcXiP&amp;#43;YF3zZapa75B1zieH1kb5Lftm2jy055D9quKOD1&amp;#43;7rgXxMo1A3JvRW5G15LlXqrD/Pvfhb&amp;#43;/X59u3dDht7EZPd/93ar3qHXX/77PwAA//9aR7gOHTyo3QAAAABJRU5ErkJggg=="
data-srcset="https://blog.apatin.ru/images/airtag-map.png 1650w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_280x0_resize_box_2.png 320w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_560x0_resize_box_2.png 640w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_440x0_resize_q75_h2_box_2.webp 480w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_800x0_resize_box_2.png 800w, https://blog.apatin.ru/images/airtag-map_hu5c3151748ffdeb60fd5fa6821a477133_64807_1600x0_resize_box_2.png 1600w"
width="600px"
alt="Изображение позиции точек на карте"
/>
&lt;/picture>
&lt;/figure>
&lt;p>У работы метки есть особенности, такие как:&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/airtag-alternative-usage-experience/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Эмуляция Apple Airtag при помощи nRF51822 iBeacon</title><link>https://blog.apatin.ru/p/airtag-emulation-with-nrf51822/</link><pubDate>Mon, 03 May 2021 16:51:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/airtag-emulation-with-nrf51822/</guid><description>
&lt;p>Apple выпустила в продажу новый продукт — AirTag, но в России он пока не продается, да и цена в 2990 руб. для радиометки достаточно высокая.&lt;/p>
&lt;p>К счастью, в этот раз Apple выпустила
&lt;a href="https://en.wikipedia.org/wiki/AirTag_%28tracker%29" target="_blank" rel="external nofollow noreferrer">продукт&lt;/a>, аналоги которого могут создавать и
&lt;a href="https://developer.apple.com/find-my/" target="_blank" rel="external nofollow noreferrer">другие производители&lt;/a>.&lt;/p>
&lt;p>У меня завалялся свободный nRF51822 iBeacon, стоимостью 250 руб., на который оказалось возможным залить совместимую с Apple Airtag
&lt;a href="https://github.com/seemoo-lab/openhaystack" target="_blank" rel="external nofollow noreferrer">прошивку&lt;/a>.&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/airtag-emulation-with-nrf51822/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Переезд на Github Pages</title><link>https://blog.apatin.ru/p/to-gh-pages/</link><pubDate>Sun, 31 Jan 2021 17:17:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/to-gh-pages/</guid><description><p>Понаблюдав некоторое время за этим блогом и проанализировав поведение пользователя, я пришел к выводу, что этому сайту достаточно статичного контента. Поиском по сайту за последние 3 года воспользовались пару раз.</p></description></item><item><title>Как Cloudflare защищает email</title><link>https://blog.apatin.ru/p/how-cloudflare-protect-email/</link><pubDate>Sun, 26 Apr 2020 11:30:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/how-cloudflare-protect-email/</guid><description>
&lt;p>Как опубликовать адрес электронной почты на сайте, не боясь, что в него тут же начнут валиться горы спама?&lt;/p>
&lt;p>В большинстве случаев эту задачу решают так: вставка адреса картинкой; написание особым способом, который читатели сайта смогут расшифровать (не всегда); форма для ввода текста письма. Разберём плюсы и минусы каждого.&lt;/p>
&lt;h2 id="вставка-адреса-картинкой">Вставка адреса картинкой&lt;/h2>
&lt;p>[+] большинство ботов не читают тексты с картинки&lt;/p>
&lt;p>[-] оформление картинки нужно как-то вписать в контекст&lt;/p>
&lt;p>[-] картинку нужно хранить и беречь&lt;/p>
&lt;p>[-] не получится создать письмо по нажатию на картинку&lt;/p>
&lt;h2 id="написание-особым-способом">Написание особым способом&lt;/h2>
&lt;p>[+] скорее всего боты не смогут понять что это адрес электронной почты&lt;/p>
&lt;p>[-] как и некоторые посетители сайта: help 911 (собака) mail com (замените пробелы на точки)&lt;/p>
&lt;p>[-] боты всё же умеют разбирать большинство таких &amp;ldquo;шифровок&amp;rdquo;&lt;/p>
&lt;h2 id="форма-для-ввода-текста-письма">Форма для ввода текста письма&lt;/h2>
&lt;p>[+] ваша почта явно не указана&lt;/p>
&lt;p>[-] форма ввода текста — источник для спама (популярные капчи тоже разгадываются)&lt;/p>
&lt;p>[-] разработка и поддержка формы ввода письма&lt;/p>
&lt;p>[-] люди могут не хотеть писать в некую форму, не зная получит ли нужный человек письмо&lt;/p>
&lt;p>Есть ли способ замаскировать почту так, чтобы и посетителям было удобно и боты на неё не обращали внимания?&lt;/p>
&lt;p>&lt;em>Cloudflare Email Address Obfuscation&lt;/em> позволяет подменять адреса на html-страничках таким образом, чтобы они перестали быть понятными ботам.&lt;/p>
&lt;p>
&lt;a href="#">&lt;span class="__email__" data-class="472f222b37697e7676072a262e2b6924282a">[email&amp;nbsp;protected]&lt;/span>&lt;/a>
-&amp;gt; 472f222b37697e7676072a262e2b6924282a&lt;/p>
&lt;p>&lt;strong>Откройте исходный код страницы и убедитесь, что там нет адреса электронной почты!&lt;/strong>&lt;/p>
&lt;p>Если интересно как работает этот способ и как сделать аналогичное решение у себя, читайте дальше.&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/how-cloudflare-protect-email/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Github Actions и автоматическое создание релизов на Go</title><link>https://blog.apatin.ru/p/github-actions-go-release/</link><pubDate>Fri, 27 Sep 2019 12:26:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/github-actions-go-release/</guid><description>
&lt;p>Если вам как и мне надоело делать релизы на Github для тех кто хочет попробовать последние изменения в коде, то можно автоматизировать это средствами самого Github, а именно Github Actions.&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/github-actions-go-release/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Лайфхаки для путешествий с айфоном</title><link>https://blog.apatin.ru/p/iphone_travel_lifehacks/</link><pubDate>Sat, 24 Nov 2018 08:28:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/iphone_travel_lifehacks/</guid><description>
&lt;p>В последнем путешествии обнаружились пара лайфхаков, которые заметно упростили некоторые моменты… с айфоном, о них немного далее.&lt;/p>
&lt;p>Обычно во время путешествия в стране назначения я брал местную симкарту, отключал лишние потребители трафика и наблюдая за ежедневным расходом трафика ограничивал (или нет) себя.&lt;/p>
&lt;p>В этом путешествии по Японии нас было двое и прикинув стоимость аренды wifi-модема или двух симкарт было решено взять wifi-модем. Стоимость и разницу называть не буду, уточню только то, что получилось по нашему тарифу 22 ГБ трафика на 12 дней (по итогу мы израсходовали 20 ГБ, немного экономя).&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/iphone_travel_lifehacks/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Медовый месяц</title><link>https://blog.apatin.ru/p/honeymoon/</link><pubDate>Tue, 06 Nov 2018 00:13:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/honeymoon/</guid><description>
&lt;p>Месяц мёда!&lt;/p>
&lt;p>Поднимите руку, кто еще так думал?&lt;/p>
&lt;p>Спасибо, вижу ваши руки…&lt;/p>
&lt;p class="foot">&lt;a href="https://blog.apatin.ru/p/honeymoon/">Читать далее&lt;/a>&lt;/p></description></item><item><title>Halloween</title><link>https://blog.apatin.ru/p/halloween_2018/</link><pubDate>Wed, 31 Oct 2018 18:40:00 +0300</pubDate><author>rss@apatin.ru (Daniel Apatin)</author><guid>https://blog.apatin.ru/p/halloween_2018/</guid><description><figure><noscript><style>
img.lazy {
display: none;
}</style><img src="/images/halloween.jpg" width="600px" alt="фотография тыквы"/></noscript><picture><source type="image/webp" data-sizes="50vw" data-srcset="/images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_960x0_resize_q75_h2_box.webp 960w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_72155a0c259c72ad75c6a2e4e2f48e53.webp 320w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_d730d9362e2e2cf8fbb6c0400d9ae410.webp 640w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_e8b6f3f253119cd2786d2f075261bc65.webp 480w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_9ea564a1d3c4b3b95ca0416e3c058643.webp 800w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_520dd5ea15a56010955f513107d4cb96.webp 1600w"/><img class="lazy" loading="lazy" decoding="async" data-sizes="50vw" style="max-width: 100%;" src="data:image/jpeg;base64,/9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDIBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIACQAMAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APAqcBQBU0aZpMpIjCUuyraw5HShocDpSuacjKJWm1YkTFQkU0ZtWHKOatwLk1TB5q1C+DSZpTNOKIEUksQAoinAHWklnBFY63Ov3bGfOuDVRutWpnyaqsa2RyVLDaepNMp60zNFhXbHWkZ29aatDVJpfQjYk1Gae1MNUjNn/9k=" data-srcset="/images/halloween.jpg 960w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_280x0_resize_q75_box.jpg 320w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_560x0_resize_q75_box.jpg 640w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_440x0_resize_q75_h2_box.webp 480w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_800x0_resize_q75_box.jpg 800w, /images/halloween_hu1f98665394ad4b85cf343024475422ac_25285_1600x0_resize_q75_box.jpg 1600w" width="600px" alt="фотография тыквы"/></picture></figure></description></item></channel></rss>