<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Blogs on alexchirkin.me</title>
		<link>https://alexchirkin.me/blog/</link>
		<description>Recent content in Blogs on alexchirkin.me</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>&lt;a href=&#34;https://creativecommons.org/licenses/by-nc/4.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CC BY-NC 4.0&lt;/a&gt;</copyright>
		
		
			<lastBuildDate>Fri, 02 Jun 2023 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://alexchirkin.me/blog/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Chart integration for modern web applications</title>
				<link>https://alexchirkin.me/blog/chart-integration/</link>
				<pubDate>Fri, 02 Jun 2023 00:00:00 +0000</pubDate>
				<guid>https://alexchirkin.me/blog/chart-integration/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://alexchirkin.me/covers/plot-integration.png&#34; alt=&#34;Chart integration&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Integrating a chart into an application may appear easy task at first. If you have a container ready for the chart, all you need to do is include the necessary chart assets in a bundle and use them to render the chart. This approach works well for basic scenarios where you only need to provide data to a chart function and visualize it.&lt;/p&gt;&#xA;&lt;p&gt;However, things can get more challenging when your chart requires responsiveness to user actions or data updates. If the application&amp;rsquo;s rendering flow is beyond your control or if you need to implement additional logic to handle actions or updates, the integration task becomes more complex.&lt;/p&gt;</description>
			</item>
			<item>
				<title>State in D3 chart lifecycle</title>
				<link>https://alexchirkin.me/blog/chart-lifecycle/</link>
				<pubDate>Sun, 23 Oct 2022 00:00:00 +0000</pubDate>
				<guid>https://alexchirkin.me/blog/chart-lifecycle/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://alexchirkin.me/covers/state-lifecycle.png&#34; alt=&#34;D3 chart lifecycle&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Integration of D3 data visualizations into front-end applications can be a tricky task, when a plot lifecycle is controlled by the application,&#xA;sometimes it may be unclear how to properly connect the plot and the application.&#xA;In this article, I describe some ways to update plots with saving their internal state.&lt;/p&gt;&#xA;&lt;h2 id=&#34;plot-internal-state&#34;&gt;Plot internal state&lt;/h2&gt;&#xA;&lt;p&gt;When creating a D3 plot to visualize some data it frequently happens that to improve user experience some interactivity should be added. And with interactivity usually comes state and with that, the complexity of the plot lifecycle can increase rapidly. Many different things can be stored in the plot state, like scrolling position, selected elements, zoom value, etc.&#xA;Basically, that can be any effect of possible user input not directly related to data changes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hello world!</title>
				<link>https://alexchirkin.me/blog/first-post/</link>
				<pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
				<guid>https://alexchirkin.me/blog/first-post/</guid>
				<description>&lt;p&gt;For my first post here I have decided to put my little game created for pico-8 fantasy console.&lt;/p&gt;&#xA;&lt;p&gt;I also have a personal page on &lt;a href=&#34;https://booooring.itch.io&#34; target=&#34;_blank&#34;&gt;itch.io&lt;/a&gt;&#xA; (with not so much to see on it)&lt;/p&gt;&#xA;&#xA;&lt;div style=&#34;margin: 64px 0;display: flex;justify-content: center;&#34;&gt;&#xA;  &lt;iframe scrolling=&#34;no&#34; frameborder=&#34;0&#34; allowfullscreen=&#34;true&#34; src=&#34;https://alexchirkin.me/blog/first-post/game.html&#34; style=&#34;width: 90vw; height: 50vh; max-width: 600px;&#34; allowtransparency=&#34;true&#34; webkitallowfullscreen=&#34;true&#34; mozallowfullscreen=&#34;true&#34; msallowfullscreen=&#34;true&#34; allow=&#34;autoplay; fullscreen *; geolocation; microphone; camera; midi; monetization; xr-spatial-tracking; gamepad; gyroscope; accelerometer; xr; cross-origin-isolated&#34; id=&#34;game_drop&#34;&gt;&#xA;  &lt;/iframe&gt;&#xA;&lt;/div&gt;</description>
			</item>
	</channel>
</rss>
