<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://wiseoneup.clickvalley.in/rss/xslt"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>wiseonup</title>
    <link>https://wiseoneup.clickvalley.in/</link>
    <description>for knowledge and fun</description>
    <generator>Articulate, blogging built on Umbraco</generator>
    <item>
      <guid isPermaLink="false">1262</guid>
      <link>https://wiseoneup.clickvalley.in/articles/msvs_version-not-set-vcinsalldir-not-set-unknown-version-undefined-found-at/</link>
      <category>Technology</category>
      <title>Msvs_version not set, VCINSALLDIR not set, unknown version ‘undefined’ found at ….</title>
      <description>&lt;p&gt;Here are few things to try –&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Install Visual Studio Community edition with payload “Desktop development with C++”.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set up node-gyp on your machine. Follow this &lt;a href="https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md"&gt;url&lt;/a&gt;. For Windows here are the steps –&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/qdbbcq2z/image.png" alt="" width="500" height="314.26735218509"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Once node-gyp is setup, upgrade your dependencies to latest version that are supported by the installed node-gyp. Otherwise install node-gyp of compatible version in previous step.&lt;/p&gt;</description>
      <pubDate>Thu, 29 Dec 2022 12:00:00 +0530</pubDate>
      <a10:updated>2022-12-29T12:00:00+05:30</a10:updated>
    </item>
    <item>
      <guid isPermaLink="false">1247</guid>
      <link>https://wiseoneup.clickvalley.in/articles/access-sql-server-from-public-network/</link>
      <category>Technology</category>
      <title>How to access SQL server from public network</title>
      <description>&lt;p&gt;In order to access SQL server from network, there are couple of things that you need to do in addition to following this article by Microsoft - &lt;a href="https://docs.microsoft.com/en-us/sql/relational-databases/lesson-2-connecting-from-another-computer?view=sql-server-ver16"&gt;https://docs.microsoft.com/en-us/sql/relational-databases/lesson-2-connecting-from-another-computer?view=sql-server-ver16&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After following this article, you will have set up your SQL Express server instance to support TCP protocol and configured a fixed port. You will also have this port added to the inbound rules in windows firewall so that incoming traffic can be allowed on this port.&lt;/p&gt;
&lt;p&gt;However, you may still not be able to access your SQL server from public network although it is accessible on your LAN.&lt;/p&gt;
&lt;p&gt;The first thing that needs to be in place is a &lt;strong&gt;static IP address&lt;/strong&gt;. Talk to your internet provider and ask him to provide you a static IP address. Once you have a static IP address, you also need to know how to log in to your router (again your internet provider customer care can help you with this). Usually router can be accessed at &lt;a href="http://192.168.1.1"&gt;http://192.168.1.1&lt;/a&gt; (or 0.1) with the credentials given to you.&lt;/p&gt;
&lt;p&gt;You may have multiple devices connected on your network and we need a way to redirect incoming traffic to a specific machine that has SQL server installed on it. To do this, we need to add a &lt;strong&gt;Port Forwarding Rule&lt;/strong&gt; in your router settings that forwards all incoming requests on a specific port to this machine on network. In order to add this rule, we need to make sure the local IP address of SQL server machine remains fixed every time it connects on LAN. You can change your PC IP config from "DHCP" (which is your PC asking the router for an IP) to Manual (also known as Static IP). You can use an online guide by searching for "Configuring manual IP address”.&lt;/p&gt;
&lt;p&gt;In my case after assigning a fixed IP address to my sql server machine on LAN, I created a port forwarding rule in router like this –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/kylh3uon/router-settings-port-forwarding.png?width=500&amp;amp;height=289.8457583547558" alt="router settings port forwarding" width="500" height="289.8457583547558"&gt;&lt;/p&gt;
&lt;p&gt;And after adding this rule, my sql server was accessible from public network. Please note the server name has to be &lt;strong&gt;tcp:&lt;/strong&gt;&amp;lt;Static IP Address&amp;gt;&lt;strong&gt;,&lt;/strong&gt;&amp;lt;Port&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/nqffxbfq/sql-server-tcp-connection.png?width=480&amp;amp;height=314" alt="sql server tcp connection on port" width="480" height="314"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;P.S&lt;/p&gt;
&lt;p&gt;The sql user (admin) needs to have server role of sysadmin. It was set to public initially which failed and when I added sysadmin role, the connection worked.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/014noegh/sql-server-roles.png?width=500&amp;amp;height=472.463768115942" alt="sql server roles" width="500" height="472.463768115942"&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 31 Aug 2022 12:00:00 +0530</pubDate>
      <a10:updated>2022-08-31T12:00:00+05:30</a10:updated>
    </item>
    <item>
      <guid isPermaLink="false">1216</guid>
      <link>https://wiseoneup.clickvalley.in/articles/reactjs-navigation/</link>
      <category>Technology</category>
      <title>reactjs navigation</title>
      <description>&lt;p&gt;In this article, I am going to create a demo reactjs app that has navigation implemented to move from one view to another.&lt;/p&gt;
&lt;h2&gt;Pre-requisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;VS Code editor or any other editor.&lt;/li&gt;
&lt;li&gt;Node and npm – download and install the latest stable release from &lt;a href="https://nodejs.org/"&gt;https://nodejs.org/&lt;/a&gt;. Node 14 or higher is required for this tutorial.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Create a new react app&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;npx create-react-app react-navigation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/cd3bsb5x/create-react-app.png?width=500&amp;amp;height=250.6426735218509" alt="create-react-app" width="500" height="250.6426735218509"&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This may take less than a minute and end with this message the end –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/npzpg4da/create-react-app-success.png?width=500&amp;amp;height=195.37275064267354" alt="create-react-app-success" width="500" height="195.37275064267354"&gt;&lt;/p&gt;
&lt;p&gt;As the output from the command suggests, run these commands –&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cd react-navigation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;npm start&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By this time, we have created a blank reactjs app which is running on localhost:3000&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/4ledjqfn/react-app-blank.png?width=500&amp;amp;height=282.133676092545" alt="blank react app in localhost:3000" width="500" height="282.133676092545"&gt;&lt;/p&gt;
&lt;p&gt;And the code looks like this in VS Code –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/3q4j5z24/react-app-blank-source.png?width=500&amp;amp;height=300.77120822622106" alt="blank react app source code" width="500" height="300.77120822622106"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;Time to implement react navigation.&lt;/h1&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install react-router-dom with this command&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;               &lt;strong&gt;npm install react-router-dom -s&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open app.js in VS Code and make following changes –&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/rj4nlj2i/react-router-code-in-appjs.png?width=500&amp;amp;height=349.6143958868895" alt="react router code in app.js" width="500" height="349.6143958868895"&gt;&lt;/p&gt;
&lt;p&gt;This is the most important step to understand react navigation. Here we import BrowserRouter, Routes and Route components from react-router-dom package and use them in App component html. You can add more Route tags as you add more pages to your site.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For this example, we need two react components to act as two different pages. Create these two components under a new directory name &lt;strong&gt;pages &lt;/strong&gt;under src folder&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;HomePage.js&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/1ald2zjd/home-page-component.png?width=500&amp;amp;height=276.3496143958869" alt="sample home page component" width="500" height="276.3496143958869"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;UserPage.js&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/zs5p4fw2/user-page-component.png?width=500&amp;amp;height=281.4910025706941" alt="sample user page component" width="500" height="281.4910025706941"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Refresh your site (npm start) and you should be able to navigate between home page and user page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/n5epfkwk/react-navigation-demo.gif?width=500&amp;amp;height=203.72750642673523" alt="react navigation demo" width="500" height="203.72750642673523"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;React navigation&lt;/strong&gt; is an important concept in reactjs and almost every app needs to navigate between its views. This article helps in making this concept easy for you to understand and use the code examples given in this article to get started with &lt;strong&gt;react navigation.&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 14 Dec 2021 12:00:00 +0530</pubDate>
      <a10:updated>2021-12-14T12:00:00+05:30</a10:updated>
    </item>
    <item>
      <guid isPermaLink="false">1200</guid>
      <link>https://wiseoneup.clickvalley.in/articles/free-ssl-certificate-for-your-website-hosted-on-iis/</link>
      <category>Technology</category>
      <title>Free SSL certificate for your website hosted on IIS</title>
      <description>&lt;p&gt;SSL is the basic requirement for a website these days. It affects your site’s credibility if your site is not secure and your visitors are noticing that “Not secure” tag right in the address bar when they visit your site.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/rdqf4wg1/blog_1.png?width=500&amp;amp;height=450.0924214417745" alt="Your connection to this site is not secure" width="500" height="450.0924214417745"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;SSL certificate is also important to make sure your site’s content is browsed securely and is prevented from middle man attacks and other risks I am not aware of.&lt;/p&gt;
&lt;p&gt;So how can we implement SSL for free on a site hosted on IIS? When I googled this subject, I found some sites that provide SSL for free. The only thing was I had to sign up on the site and create an account and create a free SSL certificate for myself. The only problem with this is that over the years I have signed up on too many platforms and I tend to forget passwords and even the platforms entirely.&lt;/p&gt;
&lt;p&gt;Luckily, I found another easier way to install free SSL on IIS. It is a windows console command like utility called win-acme. You can download it from their github release page –&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/win-acme/win-acme/releases"&gt;https://github.com/win-acme/win-acme/releases&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Under the assets section, look for the one that ends with .x64.trimmed.zip. The latest at the time of this blog is &lt;a href="https://github.com/win-acme/win-acme/releases/download/v2.1.20.1/win-acme.v2.1.20.1185.x64.trimmed.zip"&gt;win-acme.v2.1.20.1185.x64.trimmed.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download and extract the contents of this zip into a folder. Open Command Prompt as Administrator.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/ev3mgt15/blog_2.png?width=442.43421052631584&amp;amp;height=500" alt="command prompt run as administrator" width="442.43421052631584" height="500"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Change your current working directory to the folder where you extracted the zip and run this command –&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;wacs.exe&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This should start a wizard –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/4ark12u1/blog_3.png?width=500&amp;amp;height=291.7737789203085" alt="win-acme wacs.exe on console" width="500" height="291.7737789203085"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Type N and hit enter. It should show a list of sites hosted on your IIS –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/zjmj4fzr/blog_4.png?width=500&amp;amp;height=163.23907455012855" alt="win-acme wacs new certificate" width="500" height="163.23907455012855"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Enter the number of the site you want to create SSL for and hit enter –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/huhlyuju/blog_winacme_wacs_step2.png?width=500&amp;amp;height=130.46272493573267" alt="win-acme wacs iis sites" width="500" height="130.46272493573267"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Enter A and hit enter –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/cmrijcpa/blog_winacme_wacs_step_final.png?width=500&amp;amp;height=303.9845758354756" alt="win-acme wacs install certificate" width="500" height="303.9845758354756"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And that should be it. Your site is hosted on SSL. You can check by visiting your site and making sure the site shows a lock icon in the address bar –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/n0aht2uz/blog_secure_site_with_https_enabled.png?width=500&amp;amp;height=36.277602523659304" alt="https enabled site with lock in address bar" width="500" height="36.277602523659304"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;P.S&lt;/p&gt;
&lt;p&gt;This solution only works for sites that have been configured with host bindings. So you should have a domain name registered with some provider. Then you should have a CNAME entry under that domain that points to the IP address of your machine where IIS is installed. And finally you should have host name populated with the domain name under Bindings of your site.&lt;/p&gt;
&lt;p&gt;If you are new to IIS, you may have to do few more things in configuration to make sure your site is redirecting to https if users try to access it on http. You can simple copy following block inside your web.config under System.WebServer tag –&lt;/p&gt;
&lt;p&gt;&lt;img src="https://wiseoneup.clickvalley.in/media/fmgf2jdt/blog_url_rewrite_block_in_webconfig.png?width=500&amp;amp;height=172.87917737789203" alt="" width="500" height="172.87917737789203"&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Make sure you have urlrewrite plugin installed in your IIS before you add this tag to web.config though. You can download it from IIS official site - &lt;a href="https://www.iis.net/downloads/microsoft/url-rewrite"&gt;https://www.iis.net/downloads/microsoft/url-rewrite&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;In this blog, I have tried to offer simplest way to install SSL certificate on a website that is hosted on IIS. I hope you liked this blog and in case you faced any issues, I would love to help. I can be reached at &lt;a href="mailto:naveenraina@outlook.com"&gt;naveenraina@outlook.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 12 Dec 2021 12:00:00 +0530</pubDate>
      <a10:updated>2021-12-12T12:00:00+05:30</a10:updated>
    </item>
  </channel>
</rss>