<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: moondevlog</title>
    <description>The latest articles on DEV Community by moondevlog (@moondevlog).</description>
    <link>https://dev.to/moondevlog</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3223501%2F56e75d2e-101b-40f5-9562-4000d717145a.webp</url>
      <title>DEV Community: moondevlog</title>
      <link>https://dev.to/moondevlog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moondevlog"/>
    <language>en</language>
    <item>
      <title>How I Fixed a Black Screen Boot Issue After a Windows 10 Update</title>
      <dc:creator>moondevlog</dc:creator>
      <pubDate>Sat, 13 Sep 2025 20:32:29 +0000</pubDate>
      <link>https://dev.to/moondevlog/how-i-fixed-a-black-screen-boot-issue-after-a-windows-10-update-ng9</link>
      <guid>https://dev.to/moondevlog/how-i-fixed-a-black-screen-boot-issue-after-a-windows-10-update-ng9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update (Sept 14, 2025):&lt;/strong&gt; After more troubleshooting, I found the real root cause wasn’t just Windows Update itself, but Windows mistakenly triggering &lt;code&gt;SlideToShutDown.exe&lt;/code&gt; at boot. I’ve added Step 5 to explain how I fixed it by changing the power button behavior.&lt;/p&gt;

&lt;p&gt;After a recent Windows 10 cumulative update, my Windows 10 laptop refused to boot normally. Instead of the login screen, I was greeted by a black screen, or sometimes even the odd “Slide to shut down your PC” message.&lt;/p&gt;

&lt;p&gt;This article summarizes the exact steps I used to diagnose and fix the issue — without reinstalling Windows.&lt;br&gt;
If you face similar problems, these methods may help you restore your system quickly.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Symptoms
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Booting up only showed a black screen.&lt;/li&gt;
&lt;li&gt;    Sometimes, instead of Windows login, it displayed “Slide to shut down your PC”.&lt;/li&gt;
&lt;li&gt;    I had to press the power button multiple times before the login prompt finally appeared.&lt;/li&gt;
&lt;li&gt;    Logging in was extremely slow.
This clearly started right after Windows Updates on September 10, 2025.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Step 1: Check Installed Updates
&lt;/h2&gt;

&lt;p&gt;Control Panel didn’t list the new updates properly. To see exactly what was installed, I used Command Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
wmic qfe list brief /format:table

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
HotFixID   Description        InstalledOn
KB5065429  Update             9/10/2025
KB5064400  Update             9/10/2025
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This confirmed that multiple updates were installed right before the issue began.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: System File Check
&lt;/h2&gt;

&lt;p&gt;First, I made sure no core system files were broken. In an elevated Command Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
sfc /scannow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This reported and fixed some corrupted files, but the boot problem remained.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Repair Windows Image
&lt;/h2&gt;

&lt;p&gt;Next, I used DISM (Deployment Imaging Servicing and Management):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
DISM /Online /Cleanup-Image /RestoreHealth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This verified and repaired the system image. It’s safe to run and doesn’t reset Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Uninstall the Faulty Update
&lt;/h2&gt;

&lt;p&gt;Since the problem clearly started after updates, I removed the suspected KBs one by one.&lt;br&gt;
First, I uninstalled KB5065429, but the issue persisted.&lt;br&gt;
Then I uninstalled KB5064400, and after rebooting, Windows finally booted normally — no more “slide to shut down,” no more black screen.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
wusa /uninstall /kb:5065429
wusa /uninstall /kb:5064400
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 5: Fixing the “SlideToShutDown.exe” Issue (Root Cause)
&lt;/h2&gt;

&lt;p&gt;After more investigation, I realized the real cause wasn’t just the update itself.&lt;/p&gt;

&lt;p&gt;Windows had somehow set my power button behavior to trigger SlideToShutDown.exe at boot.&lt;/p&gt;

&lt;p&gt;That explained why, instead of going straight to the login screen, my PC kept showing the “Slide to shut down your PC” page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Control Panel → Hardware and Sound → Power Options&lt;/li&gt;
&lt;li&gt;Click Choose what the power buttons do&lt;/li&gt;
&lt;li&gt;Change When I press the power button to Shut down (not Sleep, not Slide).&lt;/li&gt;
&lt;li&gt;Save changes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Alternatively, you can fix it via Command Prompt (admin):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;powercfg /setacvalueindex scheme_current powerbuttons powerbuttonaction 3
powercfg /setdcvalueindex scheme_current powerbuttons powerbuttonaction 3
powercfg /SETACTIVE scheme_current

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After doing this, the black screen + Slide issue disappeared completely, and my laptop booted directly to the login screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Managing Restore Points
&lt;/h2&gt;

&lt;p&gt;While troubleshooting, I discovered that Windows had already created restore points around the updates:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sept 11, 2025 — System created before update
Sept 12, 2025 — Automatic restore point
Sept 13, 2025 — My manual restore point
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To avoid losing them, I increased the allocated space for restore points from 1% to 5% (≈47GB).&lt;br&gt;
That way, my manual checkpoint won’t get overwritten too soon.&lt;/p&gt;
&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Check updates first → Problems often start right after Windows Update.&lt;/li&gt;
&lt;li&gt;Use SFC and DISM before panicking → They fix many corruption issues.&lt;/li&gt;
&lt;li&gt;Uninstall recent KBs if needed → Especially cumulative updates.&lt;/li&gt;
&lt;li&gt;Rely on restore points → Increase space allocation so they don’t vanish.&lt;/li&gt;
&lt;li&gt;System reinstall is the last resort → Most issues can be fixed manually.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Windows updates sometimes introduce issues, and a recent one caused repeated black screens during boot on my laptop. Fortunately, I was able to resolve it without reinstalling the system.&lt;/p&gt;

&lt;p&gt;If you face similar problems after an update, try these steps before considering a full reinstall:&lt;br&gt;
Try:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    sfc /scannow
    DISM /RestoreHealth
    wmic qfe list + uninstall suspicious KBs
    System Restore if available
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These steps can often save you a lot of time and help you get your system back to normal.&lt;/p&gt;

&lt;p&gt;I’m sharing this so that if you encounter the same situation, you’ll know some practical approaches to try.&lt;/p&gt;

</description>
      <category>troubleshooting</category>
      <category>blackscreen</category>
      <category>windowsupdate</category>
      <category>windows10</category>
    </item>
    <item>
      <title>How I Migrated My PostgreSQL Database from Render to Supabase</title>
      <dc:creator>moondevlog</dc:creator>
      <pubDate>Fri, 30 May 2025 11:11:45 +0000</pubDate>
      <link>https://dev.to/moondevlog/how-i-migrated-my-postgresql-database-from-render-to-supabase-p64</link>
      <guid>https://dev.to/moondevlog/how-i-migrated-my-postgresql-database-from-render-to-supabase-p64</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A real-world migration log from a full-stack project (React + Spring Boot) — with all the mistakes I made and how I fixed them.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📚 Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Introduction
&lt;/li&gt;
&lt;li&gt;Why Supabase?
&lt;/li&gt;
&lt;li&gt;Project Architecture Overview
&lt;/li&gt;
&lt;li&gt;Setting Up Supabase
&lt;/li&gt;
&lt;li&gt;Connecting Spring Boot to Supabase
&lt;/li&gt;
&lt;li&gt;Pitfalls &amp;amp; Lessons: My Supabase Migration Mistakes
&lt;/li&gt;
&lt;li&gt;Final Thoughts: Free Hosting for Full-Stack Portfolios&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏁 1. Introduction
&lt;/h2&gt;

&lt;p&gt;I built a full-stack demo project using React + Spring Boot + PostgreSQL. Initially, I hosted my backend and database on Render. However, its free PostgreSQL database expires after 30 days.&lt;/p&gt;

&lt;p&gt;I needed a long-term free alternative — that’s when I found Supabase.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 2. Why Supabase?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Free permanent tier&lt;/li&gt;
&lt;li&gt;100% compatible with PostgreSQL&lt;/li&gt;
&lt;li&gt;Easy to manage via a modern UI&lt;/li&gt;
&lt;li&gt;Quick setup for small projects&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧱 3. Project Architecture Overview
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React + Material UI (hosted on Vercel)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Spring Boot (hosted on Render)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: Supabase PostgreSQL
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structure&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;entity&lt;/code&gt; (JPA models)
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;repository&lt;/code&gt; (Spring Data JPA)
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;controller&lt;/code&gt; (REST API)
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;config&lt;/code&gt; (security, DB)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ 4. Setting Up Supabase
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a new project &lt;/li&gt;
&lt;li&gt;Set a strong database password and region&lt;/li&gt;
&lt;li&gt;Get DB credentials from Settings-&amp;gt;Database&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔌 5. Connecting Spring Boot to Supabase
&lt;/h2&gt;

&lt;p&gt;🌐 In your Render Environment Variables:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;DB_URL&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;jdbc:postgresql://&amp;lt;host&amp;gt;:6543/postgres?sslmode=require&lt;/span&gt;
&lt;span class="py"&gt;DB_USERNAME&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;postgres.&amp;lt;project-ref&amp;gt;&lt;/span&gt;
&lt;span class="py"&gt;DB_PASSWORD&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;your-password&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚙️ Spring Boot application.properties&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;spring.datasource.url&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;${DB_URL}&lt;/span&gt;
&lt;span class="py"&gt;spring.datasource.username&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;${DB_USERNAME}&lt;/span&gt;
&lt;span class="py"&gt;spring.datasource.password&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;${DB_PASSWORD}&lt;/span&gt;
&lt;span class="py"&gt;spring.datasource.driver-class-name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;org.postgresql.Driver&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Use Pooler host&lt;br&gt;
✅ Use port 6543&lt;br&gt;
✅ Use SSL&lt;br&gt;
✅ Don’t use just postgres — copy the full username shown in Supabase.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧨 6. Pitfalls &amp;amp; Lessons: My Supabase Migration Mistakes
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="err"&gt;❌&lt;/span&gt; &lt;span class="err"&gt;Error&lt;/span&gt; &lt;span class="py"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Network is unreachable&lt;/span&gt;
&lt;span class="err"&gt;Used&lt;/span&gt; &lt;span class="err"&gt;the&lt;/span&gt; &lt;span class="err"&gt;default&lt;/span&gt; &lt;span class="err"&gt;database&lt;/span&gt; &lt;span class="err"&gt;host&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="err"&gt;Render&lt;/span&gt; &lt;span class="err"&gt;couldn't&lt;/span&gt; &lt;span class="err"&gt;connect&lt;/span&gt;
&lt;span class="err"&gt;✅&lt;/span&gt; &lt;span class="py"&gt;Fix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Use Pooler host + port 6543&lt;/span&gt;

&lt;span class="err"&gt;❌&lt;/span&gt; &lt;span class="err"&gt;Error&lt;/span&gt; &lt;span class="py"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Tenant or user not found&lt;/span&gt;
&lt;span class="err"&gt;Used&lt;/span&gt; &lt;span class="err"&gt;wrong&lt;/span&gt; &lt;span class="err"&gt;username&lt;/span&gt; &lt;span class="err"&gt;(postgres)&lt;/span&gt;
&lt;span class="err"&gt;✅&lt;/span&gt; &lt;span class="py"&gt;Fix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Use postgres.&amp;lt;project-ref&amp;gt; from Supabase dashboard&lt;/span&gt;

&lt;span class="err"&gt;❌&lt;/span&gt; &lt;span class="err"&gt;Tried&lt;/span&gt; &lt;span class="err"&gt;to&lt;/span&gt; &lt;span class="err"&gt;manually&lt;/span&gt; &lt;span class="err"&gt;create&lt;/span&gt; &lt;span class="err"&gt;tables&lt;/span&gt; &lt;span class="err"&gt;in&lt;/span&gt; &lt;span class="err"&gt;Supabase&lt;/span&gt;
&lt;span class="err"&gt;Hibernate&lt;/span&gt; &lt;span class="err"&gt;threw&lt;/span&gt; &lt;span class="err"&gt;schema&lt;/span&gt; &lt;span class="err"&gt;conflict&lt;/span&gt; &lt;span class="err"&gt;errors&lt;/span&gt;
&lt;span class="err"&gt;✅&lt;/span&gt; &lt;span class="py"&gt;Fix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Let Spring Boot create tables automatically on startup&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Testing the App &amp;amp; Uploading Data&lt;br&gt;
Once the backend started on Render, Spring Boot successfully connected to Supabase and auto-created the tables via Hibernate.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 7. Final Thoughts: Free Hosting for Full-Stack Portfolios
&lt;/h2&gt;

&lt;p&gt;If you’re showcasing projects online, this stack works great — totally free and easy to set up:&lt;/p&gt;

&lt;p&gt;Frontend: Vercel&lt;/p&gt;

&lt;p&gt;Backend: Render&lt;/p&gt;

&lt;p&gt;Database: Supabase&lt;/p&gt;

&lt;p&gt;⚠️ Performance Tip:&lt;br&gt;&lt;br&gt;
If your frontend uses a DataGrid or similar component, make sure it supports true server-side pagination.&lt;br&gt;&lt;br&gt;
Otherwise, fetching all rows at once — even with visible pagination — can slow down your app significantly.&lt;/p&gt;




</description>
      <category>springboot</category>
      <category>supabase</category>
      <category>postgres</category>
      <category>fullstack</category>
    </item>
    <item>
      <title>render</title>
      <dc:creator>moondevlog</dc:creator>
      <pubDate>Fri, 30 May 2025 05:08:09 +0000</pubDate>
      <link>https://dev.to/moondevlog/render-3ghm</link>
      <guid>https://dev.to/moondevlog/render-3ghm</guid>
      <description></description>
      <category>programming</category>
    </item>
    <item>
      <title>react</title>
      <dc:creator>moondevlog</dc:creator>
      <pubDate>Fri, 30 May 2025 05:06:59 +0000</pubDate>
      <link>https://dev.to/moondevlog/react-2dco</link>
      <guid>https://dev.to/moondevlog/react-2dco</guid>
      <description></description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
