Snippets Collections
/**
 * @author      Justus van den Berg (jfwberg@gmail.com)
 * @date        August 2024
 * @copyright   (c) 2024 Justus van den Berg
 * @license     MIT (See LICENSE file in the project root)
 * @description Class that converts JSON with nested objects to flat values and splits out
 *              each child list to it's own individual list using the path as map key
 *              The parent map key is called "parent", child map keys are based on the
 *              path like: "Opportunities" or Opportunities.OpportunityContactRoles
 * @use case    The main use case is to transform SOQL query results that can be used
 *              for exporting CSV or XLSX data that require individual tables for child lists.
 *              A secondary use is to store related data for archiving purposes where a 
 *              potential reverse loading of related data might be required.
 * - https://medium.com/@justusvandenberg/dynamically-handle-salesforce-soql-subquery-response-data-using-apex-8130bd0622aa
 */
public with sharing class SoqlMultiTableParser {

    /** **************************************************************************************************** **
     **                                          PRIVATE CONSTANTS                                           **
     ** **************************************************************************************************** **/
    // Parameter names to be ignored when creating the data table
    private final static Set<String> ATTRIBUTE_FILTER = new Set<String>{'attributes','done','totalSize','nextRecordsUrl'};

    // List parameter names of this type will not be appended, this allows for a more flat table
    private final static Set<String> LIST_NAME_FILTER  = new Set<String>{'records'};

    
    /** **************************************************************************************************** **
     **                                       PUBLIC SUPPORT METHODS                                         **
     ** **************************************************************************************************** **/
    /**
     * @description  Create table from an untyped Object list
     * @param input  A list of Objects to traverse
     * @param output The final output map
     * @return       A list of flattened JSON records
     */
    public static Map<String,List<Map<String,Object>>> create(Object[] input){

        // Create a variable for the data output
        Map<String,List<Map<String,Object>>> output = new Map<String,List<Map<String,Object>>>();

        // Input validation, if the input is null, return an empty list
        if(input == null){return output;}

        // Populate the data by traversing the input and add the data to the output
        // Set the path to an empty string, as it is the top level we begin with
        traverseList(input, output, 'parent');

        // Return the flat table
        return output;
    }


    /** **************************************************************************************************** **
     **                                       PRIVATE TRAVERSE METHODS                                       **
     ** **************************************************************************************************** **/
    /**
     * @description Traverse the parent list 
     * @param input  The input to traverse
     * @param output The final output map
     * @param path   The location in the traverse path
     */
    private static void traverseList(Object[] input, Map<String,List<Map<String,Object>>> output, String path){

        // Each list goes into it's own flat table, so create the empty set, map and 
        // populate the lists paths
        if(!output.containsKey(path)){
            output.put(path, new List<Map<String,Object>>());
        }
        
        // Having this type casting again seems redundant, but doing the check in here
        // saves having to do it twice, what on 10k+ statements gives a small performance improvement
        for(Integer i=0, max=input.size();i<max;i++){

            // Create a new row to combine the values in the list
            Map<String,Object> row = new Map<String,Object>();

            // Handle each child object according to it's type
            if(input[i] instanceof Map<String,Object>){
                traverseMap((Map<String,Object>) input[i], output, row, path, path);
            
            // If the child is a list, traverse the child list
            }else if(input[i] instanceof Object[]){
                traverseList(
                    (Object[]) input[i],
                    output,
                    (LIST_NAME_FILTER.contains(path?.substringAfterLast('.'))) ?
                        path?.substringBeforeLast('.') :
                        path
                );
            // Anything other than objects and maps, primitive data types are not supported
            // i.e. String Lists ['a','b','c'] or [1,2,3,] etc. So simply ignore these values
            }else{
                continue;
            }
            
            // After the traversal is complete, Add the full row to the table
            if(!row.isEmpty()){output.get(path).add(row);}
        }
    }


    /**
     * @description Method to traverse a map
     * @param input    The input to traverse
     * @param output   The final output map
     * @param row      The current row in the traverse path
     * @param path     The location in the traverse path
     * @param listPath The current list path (map key) in the traverse path
     */
    private static void traverseMap(Map<String,Object> input, Map<String,List<Map<String,Object>>> output, Map<String,Object> row, String path, String listPath){
        
        // Iterate all the values in the input
        for(String key : input.keySet() ){

            // Continue if an attribute needs to be ignored
            if(ATTRIBUTE_FILTER.contains(key)){continue;}

            // Create the path for the specfic child node
            String childPath = ((String.isNotBlank(path) && path != 'parent') ? path + '.' + key : key);

            // If the child node is an object list, traverse as list
            if(input.get(key) instanceof Object[]){
                traverseList(
                    (Object[]) input.get(key),
                    output,
                    (LIST_NAME_FILTER.contains(childPath?.substringAfterLast('.'))) ?
                        childPath?.substringBeforeLast('.') :
                        childPath
                );
            
            // If the child node is an object, (i.e. owner.name), traverse as map
            }else if(input.get(key) instanceof Map<String,Object>){
                traverseMap(
                    (Map<String,Object>) input.get(key),
                    output,
                    row,
                    childPath,
                    listPath
                );

            // If it's not a map or a list, it must a value, so add the value to row
            }else{
                populateRow(
                    input.get(key),
                    childPath,
                    row,
                    listPath
                );
            }
        }
    }


    /**
     * @description Method to add the value to a row at the end of a traversel path
     * @param input    The input to traverse
     * @param path     The location in the traverse path
     * @param row      The current row in the traverse path
     * @param listPath The current list path (map key) in the traverse path
     */
    private static void populateRow(Object input, String path, Map<String,Object> row, String listPath){
        
        // Add the value to the row		
        row.put(path.removeStart(listPath).removeStart('.'),input);
    }

}
let cupsOfSugarNeeded = 2;
let cupsAdded = 0;

do {
  cupsOfSugarNeeded = cupsOfSugarNeeded - cupsAdded;
  cupsAdded++;
  console.log(`Needed: ${cupsOfSugarNeeded}\n Added: ${cupsAdded}`);
} while (cupsAdded < cupsOfSugarNeeded);
# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.4.4-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.4.4-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'
# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.4.4
# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.4-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.4.4-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.4-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .
$ git clone https://github.com/docker/docker-nodejs-sample
1.- de esta manera: 
'modules' => [
    'gridview' =>  [
        'class' => '\kartik\grid\Module',
                    ],
     'redactor' => [
            'class' => '\yii\redactor\RedactorModule',
            'uploadDir' => '@webroot/path/to/uploadfolder',
            'uploadUrl' => '@web/path/to/uploadfolder',
            'imageAllowExtensions'=>['jpg','png','gif']
        ]
        ],
  
2.- O de esta otra manera:
  return [
    'id' => 'app-backend',
    'basePath' => dirname(__DIR__),
    'controllerNamespace' => 'backend\controllers',
    'bootstrap' => ['log'],
    'modules' => [ 'redactor' => 'yii\redactor\RedactorModule'], /* el redactor esta aqui */
    'components' => [
        'request' => [
            'csrfParam' => '_csrf-backend',
        ],
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
            'authTimeout' => 60 * 10, // auth expire 
        ],
        'session' => [
            // this is the name of the session cookie used for login on the backend
            'name' => 'advanced-backend',
            'cookieParams' => [/*'httponly' => true,*/'lifetime' => 60 * 10//3600 * 24 * 30
            ],
            'timeout' => 60 * 10,//3600 * 24 * 30,
            'class' => 'yii\web\DbSession',
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        /*
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
            ],
        ],
        */
    'site/captcha/<refresh:\d+>' => 'site/captcha',
    'site/captcha/<v:\w+>' => 'site/captcha',
    ],
    'params' => $params,
];
 
class DSU {
public:
    vector<int> parent, rank;

    DSU(int n) {
        parent.resize(n);
        rank.resize(n, 0);
        for (int i = 0; i < n; i++) {
            parent[i] = i;
        }
    }

    int find(int x) {
        if (x != parent[x]) {
            parent[x] = find(parent[x]);
        }
        return parent[x];
    }

    void union_sets(int x, int y) {
        int rootX = find(x);
        int rootY = find(y);
        if (rootX != rootY) {
            if (rank[rootX] > rank[rootY]) {
                parent[rootY] = rootX;
            } else if (rank[rootX] < rank[rootY]) {
                parent[rootX] = rootY;
            } else {
                parent[rootY] = rootX;
                rank[rootX]++;
            }
        }
    }
};  
	    add_filter('use_block_editor_for_post', '__return_false', 10);
    add_filter( 'use_widgets_block_editor', '__return_false' );
/*

This script is meant to be used with a Google Sheets spreadsheet. When you edit a cell containing a
valid CSS hexadecimal colour code (like #000 or #000000), the background colour will be changed to
that colour and the font colour will be changed to the inverse colour for readability.

To use this script in a Google Sheets spreadsheet:
1. go to Tools » Script Editor » Spreadsheet;
2. erase everything in the text editor;
3. change the title to "Set colour preview on edit";
4. paste this code in;
5. click File » Save.
*/

/*********
** Properties
*********/
/**
 * A regex pattern matching a valid CSS hex colour code.
 */
var colourPattern = /^#([0-9a-f]{3})([0-9a-f]{3})?$/i;


/*********
** Event handlers
*********/
/**
 * Sets the foreground or background color of a cell based on its value.
 * This assumes a valid CSS hexadecimal colour code like #FFF or #FFFFFF.
 */
function onEdit(e){
  // iterate over cell range  
  var range = e.range;
  var rowCount = range.getNumRows();
  var colCount = range.getNumColumns();
  for(var r = 1; r <= rowCount; r++) {
    for(var c = 1; c <= colCount; c++) {
      var cell = range.getCell(r, c);
      var value = cell.getValue();

      if(isValidHex(value)) {
        cell.setBackground(value);
        cell.setFontColor(getContrastYIQ(value));
      }
      else {
        cell.setBackground('white');
        cell.setFontColor('black');
      }
    }
  }
};


/*********
** Helpers
*********/
/**
 * Get whether a value is a valid hex colour code.
 */
function isValidHex(hex) {
  return colourPattern.test(hex);
};

/**
 * Change text color to white or black depending on YIQ contrast
 * https://24ways.org/2010/calculating-color-contrast/
 */
function getContrastYIQ(hexcolor){
    var r = parseInt(hexcolor.substr(1,2),16);
    var g = parseInt(hexcolor.substr(3,2),16);
    var b = parseInt(hexcolor.substr(5,2),16);
    var yiq = ((r*299)+(g*587)+(b*114))/1000;
    return (yiq >= 128) ? 'black' : 'white';
}
Udemy Clone Software! Our powerful Learning Management Software enables you to create a feature-packed eLearning website that's easy to use and navigate. In short, our Udemy Clone Script, Expert plus LMS, is the perfect ready-made solution to quickly launch your eLearning platform without having to build from scratch.
Gear up your business with immutable, decentralized, and secure blockchain technologies. As the best-in-class blockchain development company, we help startups, firms, and enterprises build more automated, transparent, and effective versions of their businesses with our wide variety of blockchain development services.
Starting an online poker game development software involves several key steps, from planning to execution. Here's a general guide:

1. Market Research
Understand the Market: Study the online poker industry, including current trends, popular games, target audience, and competitors.
Legal Considerations: Research the legal requirements for operating an online poker game in your target regions.
2. Define Your Game Concept
Game Type: Decide on the type of poker game (e.g., Texas Hold'em, Omaha, etc.).
Unique Features: Identify features that will set your game apart, such as multi-table tournaments, customizable avatars, or social interaction features.
3. Choose the Right Technology
Programming Languages: Select appropriate languages (e.g., JavaScript, C#, or Unity) based on your team's expertise.
Platform: Decide whether your game will be web-based, mobile, or desktop.
Server Infrastructure: Choose a reliable server to handle real-time data processing and secure user transactions.
4. Develop the Game
UI/UX Design: Create an intuitive and visually appealing interface.
Game Logic Development: Write the core game algorithms, including card shuffling, dealing, and player interactions.
Integration of Features: Implement payment gateways, anti-fraud mechanisms, and social media integrations.
5. Testing
Beta Testing: Conduct thorough testing to identify bugs, ensure fairness in gameplay, and optimize performance.
Feedback: Collect feedback from testers to make necessary improvements.
6. Launch and Marketing
Soft Launch: Start with a soft launch to gather initial user feedback.
Marketing Strategy: Develop a marketing plan to promote your poker game, including SEO, social media campaigns, and partnerships with influencers.
7. Post-Launch Support
Regular Updates: Continuously update the game with new features, bug fixes, and improvements.
Customer Support: Provide robust customer support to assist players with any issues.
8. Monetization
In-Game Purchases: Offer virtual goods or premium memberships.
Advertising: Consider in-game advertising to generate additional revenue.
Starting an online poker game development software requires a well-thought-out plan, a skilled development team, and a solid understanding of the market. By following these steps, you can build a successful online poker platform.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            background-color: antiquewhite;
            color: black;
            text-align: center;
        }
    </style>
</head>
<body>
    <script>
                console.log("K before declaring=",k);
                var k;  
               function vardemo()
                 { 
                    {
                    var k=7;
                    console.log("K after decalring in function=",k);
                    var k=77;
                 }
                      console.log("K value after assigning value in same block",k);
                      }
                      vardemo();
            console.log("k after funtion=",k);           
            var k=8;
            console.log("K after assigning value =",k);    
            
            
            let a;
            console.log("a before intlization=",a);
            a=15;
            console.log("after declaration a=",a)
            function f()
            {
                let a=10;
                if(true)
                {
                    let a=20;
                    console.log("a after declaring in function=",a);
                }
                console.log("after block a=",a);
            }
            f();
            a=16;
            console.log("after declaring again a=",a);

            try {
                    const n=90;
                    console.log(" constant n=",n);
                    n=89;
                    console.log(" constant number after assigning again=",n);
                    
            }catch(e){ 
                       {console.log("Error :",e.message);}

                    } 
                   
    </script>
    
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.slim.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Notice</h2>
  <!-- Button to Open the Modal -->
  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
    click
  </button>

  <!-- The Modal -->
  <div class="modal fade" id="myModal">
    <div class="modal-dialog modal-lg"> 
        <div class="modal-header">
          <h4 class="modal-title">Information</h4>
          <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>
      <div class="modal-content">
              <!-- Modal body -->
      
        
       


        <div class="container">
            <h2>Inline form</h2>
            <p>Make the viewport larger than 576px wide to see that all of the form elements are inline and left-aligned. On small screens, the form groups will stack horizontally.</p>
            <form class="form-inline" action="/action_page.php">
              <label for="email">Email:</label>
              <input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
              <label for="pwd">Password:</label>
              <input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pswd">
              <div class="form-check">
                <label class="form-check-label">
                  <input class="form-check-input" type="checkbox" name="remember"> Remember me
                </label>
              </div>
              <button type="submit" class="btn btn-primary">Submit</button>
            </form>
          </div>


           <!-- Modal footer -->
        <div class="modal-footer">
            <button type="button" class="btn btn-s" data-dismiss="modal">ok</button>
          </div>
        
      </div>
    </div>
  </div>
  
</div>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Button group</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
   



<div class="container">



<h4>Hey I am a collapsable button and click me to see the effects</h2>






    <button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#demo">Submit</button>
    <div id="demo" class="collapse">
    you successfully submitted  the form
  </div>

  <h4>button group-outlined</h4>

  <div class="btn-group" role="group" aria-label="Basic outlined example">
      <button type="button" class="btn btn-outline-primary">First</button>
      <button type="button" class="btn btn-outline-primary">Second</button>
      <button type="button" class="btn btn-outline-primary">Third</button>
    </div>
</div>



   
<div class="container mt-5">
    <h4>Checkbox type buttons</h4>
    <div class="btn-group" role="group" aria-label="Basic checkbox toggle button group">
        <input type="checkbox" class="btn-check" id="btncheck1" autocomplete="off">
        <label class="btn btn-outline-primary" for="btncheck1">Checkbox 1</label>
      
        <input type="checkbox" class="btn-check" id="btncheck2" autocomplete="off">
        <label class="btn btn-outline-primary" for="btncheck2">Checkbox 2</label>
      
        <input type="checkbox" class="btn-check" id="btncheck3" autocomplete="off">
        <label class="btn btn-outline-primary" for="btncheck3">Checkbox 3</label>
      </div>

<h4>
    Radio type button group
</h4>
      <div class="btn-group" role="group" aria-label="Basic radio toggle button group">
        <input type="radio" class="btn-check" name="btnradio" id="btnradio1" autocomplete="off" checked>
        <label class="btn btn-outline-primary" for="btnradio1">Morning</label>
      
        <input type="radio" class="btn-check" name="btnradio" id="btnradio2" autocomplete="off">
        <label class="btn btn-outline-primary" for="btnradio2">Afternoon</label>
      
        <input type="radio" class="btn-check" name="btnradio" id="btnradio3" autocomplete="off">
        <label class="btn btn-outline-primary" for="btnradio3">Evening</label>
        <input type="radio" class="btn-check" name="btnradio" id="btnradio4" autocomplete="off" checked>
        <label class="btn btn-outline-primary" for="btnradio4">Night</label>
      </div>
      

</div>

 


    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: Introducing Xero Boost Days! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Please see below for what's on this week! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-29: Monday, 29th July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Edwards*.\n:Lunch: *Lunch*: from *12pm* in the kitchen.\n:massage:*Wellbeing*: Pilates at *SP Brisbane City* is bookable every Monday! Watch this channel on how to book."
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-31: Wednesday,31st July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Edwards*.\n:late-cake: *Morning Tea*:from *10am* in the kitchen."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*LATER THIS MONTH:*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*Wednesday, 21nd August*\n :blob-party: *Social +*: Drinks, food, and engaging activities bringing everyone together."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: Xero Boost Days! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Please see below for what's on this week! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-31: Wednesday, 14 August",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Café Partnership: Enjoy free coffee and café-style beverages from our partner, *Elixir Sabour*, which used to be called Hungry Bean.\n:breakfast: *Morning Tea*: Provided by *Elixir Sabour* from *9AM - 10AM* in the All Hands.\n:massage:*Wellbeing*: Crossfit class at *Be Athletic* from 11am."
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-1: Thursday, 15th August",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Café Partnership: Enjoy coffee and café-style beverages from our partner, *Elixir Sabour*, which used to be called Hungry Bean.\n:late-cake: *Lunch*: Provided by *Elixir Sabour* from *12:30PM - 1:30PM* in the All Hands."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*LATER THIS MONTH:*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*Thursday, 22nd August*\n :blob-party: *Social +*: Drinks, food, and engaging activities bringing everyone together."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0/r?cid=Y185aW90ZWV0cXBiMGZwMnJ0YmtrOXM2cGFiZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Sydney Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
function changeColor() {
    
    const randomColor = Math.floor(Math.random() * 16777215).toString(16);

    if (document.body.style.backgroundColor !== 'black') {
        document.body.style.backgroundColor = randomColor;
    }
    
    document.body.style.backgroundColor = '#' + randomColor;
    console.log(randomColor);
}
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from transformers import BertTokenizer, BertForSequenceClassification
from transformers import Trainer, TrainingArguments
import torch
from sklearn.metrics import accuracy_score

# Step 1: Load the dataset
file_path = './dataset/Amazon-Product-Reviews - Amazon Product Review (1).csv'
df = pd.read_csv(file_path)

# Step 2: Check the first few rows and column names
print("First few rows of the dataset:")
print(df.head())

print("\nColumns in the dataset:")
print(df.columns)

# Step 3: Handling missing values
df = df.dropna()

# Step 4: Convert categorical variables to numeric
categorical_columns = ['marketplace', 'product_id', 'product_title', 'product_category', 'vine', 'verified_purchase', 'review_headline']
label_encoders = {}

for column in categorical_columns:
    if column in df.columns:
        le = LabelEncoder()
        df[column] = le.fit_transform(df[column])
        label_encoders[column] = le

# Step 5: Feature Engineering
if 'review_date' in df.columns:
    df['Year'] = pd.to_datetime(df['review_date']).dt.year

# Extract features and target
X_text = df['review_body']  # Textual data
y = df['sentiment']

# Split the data
X_train_text, X_test_text, y_train, y_test = train_test_split(
    X_text, y, test_size=0.2, random_state=42
)

# Step 6: Prepare data for BERT
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')

def tokenize_function(texts):
    return tokenizer(texts, padding='max_length', truncation=True, max_length=512)

train_encodings = tokenize_function(X_train_text.tolist())
test_encodings = tokenize_function(X_test_text.tolist())

class SentimentDataset(torch.utils.data.Dataset):
    def __init__(self, encodings, labels):
        self.encodings = encodings
        self.labels = labels

    def __getitem__(self, idx):
        item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}
        item['labels'] = torch.tensor(self.labels.iloc[idx])
        return item

    def __len__(self):
        return len(self.labels)

train_dataset = SentimentDataset(train_encodings, y_train)
test_dataset = SentimentDataset(test_encodings, y_test)

# Step 7: Train a BERT model
model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2)

training_args = TrainingArguments(
    output_dir='./results',
    num_train_epochs=3,
    per_device_train_batch_size=8,
    per_device_eval_batch_size=8,
    warmup_steps=500,
    weight_decay=0.01,
    logging_dir='./logs',
    logging_steps=10,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
    eval_dataset=test_dataset,
)

trainer.train()

# Step 8: Evaluate the model
predictions = trainer.predict(test_dataset)
preds = predictions.predictions.argmax(axis=1)
accuracy = accuracy_score(y_test, preds)

print(f"\nAccuracy of the BERT model: {accuracy:.4f}")
#include<iostream>
using namespace std;
int main()
{
    int age;
    cout<<"enter the age";
    cin>>age;
    if (age>18)
    {
        cout<<"valid for vote";
    }
    else
    {
        cout<<"not valid for vote";
    }
    return 0;
}
Open the Windows Registry Editor (regedit), and go to the following key:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/FileSystem
Set the value of the NtfsDisable8dot3NameCreation key to 1.
Restart the system.
npm install xlsx file-saver
npm install ts-md5 --save
npm install xlsx-style
npm install xlsx file-saver
npm install ts-md5 --save
IFS(
[_THISROW] = MAXROW("Expenses", "_ROWNUMBER", [_THISROW].[Title] = [Title]),True
)
import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { Router } from '@angular/router';
import { Md5 } from 'ts-md5';
import { environment } from '../../environments/environment';
import { OrderService } from '../Services/order.service';
import { MatSnackBar } from '@angular/material/snack-bar';
import { UserService } from '../Services/userprofile.service';
import { CartItemViewModel, OrderViewModel } from '../shared/order';
import { PaymentViewModel } from '../shared/payment';
import { PaymentService } from '../Services/payment.service';
import { Subscription } from 'rxjs';

declare global {
  interface Window {
    payfast_do_onsite_payment: (param1: any, callback: any) => any;
  }
}

  @Component({
    selector: 'app-payfast',
    standalone: true,
    imports: [],
    templateUrl: './payfast.component.html',
    styleUrl: './payfast.component.css'
  })
  export class PayfastComponent implements OnInit {
    memberId!: number;
    finalAmount: number = 0;
    private finalAmountSubscription!: Subscription;

    constructor(private router : Router, private orderService : OrderService, private paymentService : PaymentService , private userService: UserService, private formBuilder: FormBuilder, private snackBar: MatSnackBar, private cdr: ChangeDetectorRef) {
      
    }

    ngOnInit(): void {
      this.fetchMemberId();
      this.finalAmountSubscription = this.paymentService.getFinalAmount().subscribe(amount => {
        this.finalAmount = amount;
        console.log("Retrieved final amount from subscription:", this.finalAmount); // Debugging line
        this.cdr.detectChanges(); // Force change detection
      });
    }

    ngOnDestroy(): void {
      if (this.finalAmountSubscription) {
        this.finalAmountSubscription.unsubscribe();
      }
    }

    getSignature(data : Map<string, string>) : string {
      let tmp = new URLSearchParams();
      data.forEach((v, k)=> {
        tmp.append(k, v)
      });
      let queryString = tmp.toString();
      let sig = Md5.hashStr(queryString);
      return sig;
    }

    async doOnSitePayment() {
      await this.fetchMemberId();

      let onSiteUserData = new Map<string, string>();
      onSiteUserData.set("merchant_id", "10033427")
      onSiteUserData.set("merchant_key", "mu83ipbgas9p7")

      onSiteUserData.set('return_url', window.location.origin + '/payment-success')
      onSiteUserData.set('cancel_url', window.location.origin + '/payment-cancel')

      // Gather required user data from orderService or other sources
      const userData = this.orderService.getUserData();
      onSiteUserData.set("email_address", userData.email);
      
      // Set amount and item_name
      onSiteUserData.set('amount', this.finalAmount.toFixed(2)); // Use the final amount from shared service
      onSiteUserData.set('item_name', 'Cart Purchase');

      // Optional passphrase for added security
      onSiteUserData.set('passphrase', 'HelloWorldHello'); // Use if you have a passphrase

      let signature = this.getSignature(onSiteUserData);
      onSiteUserData.set('signature', signature);

      let formData = new FormData();
      onSiteUserData.forEach((val, key) => {
        formData.append(key, val);
      });

      fetch(environment.payfastOnsiteEndpoint, {
        method: 'POST',
        body: formData,
        redirect: 'follow'
      })
      .then(response => response.json())
      .then(respJson => {
          let uuid = respJson['uuid'];
          window.payfast_do_onsite_payment({ 'uuid': uuid }, (res: any) => {
            if (res == true) {
              this.createOrder().then((orderResponse) => {
                this.createPayment(orderResponse);
                this.snackBar.open('Payment Successful', 'Close', { duration: 5000 });
              });         
            } else {
              this.snackBar.open('Payment Failed', 'Close', { duration: 5000 });              
            }
          });
        })
        .catch(error => {
          console.error('Error processing payment:', error);
          this.router.navigate(['/cancel']);
        });
      }

      //order
      private fetchMemberId() {
        const user = localStorage.getItem('User');
        if (user) {
          const userData = JSON.parse(user);
          this.memberId = userData.userId;
      
          // Optional: Fetch and validate member details if needed
          this.userService.getMemberByUserId(this.memberId).subscribe({
            next: (member) => {
              if (member && member.member_ID) {
                this.memberId = member.member_ID;
                console.log('Member ID:', this.memberId); // Check if this logs the correct ID
              } else {
                console.error('Member ID is undefined in the response');
                this.snackBar.open('Failed to retrieve member information', 'Close', { duration: 5000 });
              }
            },
            error: (error) => {
              console.error('Error fetching member:', error);
              this.snackBar.open('Failed to retrieve member information', 'Close', { duration: 5000 });
            }
          });
        } else {
          this.snackBar.open('User not logged in', 'Close', { duration: 5000 });
          this.router.navigate(['/login']);
        }
      }

      private createOrder(): Promise<OrderViewModel> {
        return new Promise((resolve, reject) => {
          if (this.memberId === undefined) {
            this.snackBar.open('Member ID is not available', 'Close', { duration: 5000 });
            reject('Member ID is not available');
          } else {
            this.orderService.getCartItems().subscribe({
              next: (cartItems) => {
                const order = this.prepareOrderDetails(cartItems);
                this.orderService.createOrder(order).subscribe({
                  next: (orderResponse) => {
                    this.snackBar.open('Order Created Successfully', 'Close', { duration: 5000 });
                    resolve(orderResponse);
                  },
                  error: (error) => {
                    console.error('Error creating order:', error);
                    this.snackBar.open('Failed to create order', 'Close', { duration: 5000 });
                    reject(error);
                  }
                });
              },
              error: (error) => {
                console.error('Error fetching cart items:', error);
                this.snackBar.open('Failed to fetch cart items', 'Close', { duration: 5000 });
                reject(error);
              }
            });
          }
        });
      }
      
    private prepareOrderDetails(cartItems: CartItemViewModel[]): OrderViewModel {
      const order: OrderViewModel = {
        order_ID: 0, // ID will be generated by backend
        member_ID: this.memberId,
        order_Date: new Date().toISOString(),
        total_Price: this.finalAmount, // Use the final amount from shared service
        order_Status_ID: 1, // Ready for Collection
        isCollected: false,
        orderLines: cartItems.map(item => ({
          order_Line_ID: 0, // ID will be generated by backend
          product_ID: item.product_ID,
          product_Name: item.product_Name,
          quantity: item.quantity,
          unit_Price: item.unit_Price
        }))
      };
    
      console.log('Prepared order details:', order);
      return order;
    }

    private createPayment(order: OrderViewModel) {
      const paymentData: PaymentViewModel = {
        payment_ID: 0,
        amount: order.total_Price, // Ensure this reflects VAT and discounts
        payment_Date: new Date().toISOString(),
        order_ID: order.order_ID,
        payment_Type_ID: 1 // Default to 1
      };

      this.paymentService.createPayment(paymentData).subscribe({
        next: (response) => {
          console.log('Payment record created successfully:', response);
          this.router.navigate(['/orders']);
        },
        error: (error) => {
          console.error('Error creating payment record:', error);
        }
      });
    }  
  }
vector<int> parent;
vector<int> rank;

int find (int x) {
    if (x == parent[x]) 
        return x;

    return parent[x] = find(parent[x]);
}

void Union (int x, int y) {
    int x_parent = find(x);
    int y_parent = find(y);

    if (x_parent == y_parent) 
        return;

    if(rank[x_parent] > rank[y_parent]) {
        parent[y_parent] = x_parent;
    } else if(rank[x_parent] < rank[y_parent]) {
        parent[x_parent] = y_parent;
    } else {
        parent[x_parent] = y_parent;
        rank[y_parent]++;
    }
}
INDEX(
  UNIQUE(Database[Name]),
  MOD([_ROWNUMBER] - 1, COUNT(UNIQUE(Database[Name]))) + 1
)
Understanding of meme coin development
In the world of digital money, meme coins stand out because they mix humor, strong community support, and the chance to make risky investments that could pay off big. These coins start from online trends and jokes, catching the interest of both seasoned investors and newbies. While they can be unpredictable and risky, seeing how holding meme coins can benefit users means looking closely at how they work.
Possibilities for Massive Profits:

Meme coins' main attraction is the possibility of large investment returns. Unlike traditional investments, which might take years to gain value, meme coins can see sudden price increases driven by social media enthusiasm, celebrity endorsements, or coordinated community projects. Early adopters of meme coins—like Dogecoin and Shiba Inu, for instance—have profited financially from periods of increased public interest and swings in markets.

Participation and Importance of the Community
Meme currencies become successful when their communities are strong. Having a meme currency usually means joining a passionate and active group that comes together around shared values and interests. Through conversation, memes, and social media campaigns, this engagement may result in more awareness, wider acceptance, and even control over the coin's fate. Within meme currency circles, community-led projects like fundraisers, charitable campaigns, and artistic collaborations are typical, fostering a sense of community and shared ambition among holders.

Accessibility and Small Entry Barriers
Meme coins also have the benefit of being easily accessible. In contrast to conventional financial markets, which could have high entrance hurdles like minimal investment amounts or complex registration procedures, meme coins are frequently easily available on a variety of cryptocurrency exchanges and platforms. Because of its accessibility, investing opportunities become more accessible to a wider range of users, who may participate in the market and maybe profit from early adoption or market speculation.

Specialization of Portfolios
Memes might provide investors looking for alternatives to their holdings an unusual but possibly profitable addition. Although many investing plans are based on traditional assets like bonds and stocks, a portion of funds may be allocated to meme coins to gain exposure to the rapidly growing cryptocurrency market. By distributing risk over several asset classes, diversification helps to possibly reduce losses resulting from downturns in other industries.

Cultural and Trend Awareness
Investing in meme coins can also furnish insights into burgeoning cultural trends and digital conduct. As digital natives and internet culture aficionados gravitate toward meme coins, monitoring their ascent and descent can impart valuable lessons in comprehending online communities, consumer behavior, and the convergence of humor and finance in the digital epoch. This cultural acumen can be particularly beneficial for marketers, content creators, and enterprises striving to resonate with younger cohorts and digital natives.

Conclusion
Block Sentinels' service of developing meme coin development company represents a promising step toward engaging a broader audience and pushing the boundaries of blockchain innovation. By leveraging the entertaining and accessible nature of meme coins, the company has the potential to simplify entry into cryptocurrency for new users and stimulate fresh technological advancements. This approach not only fosters a sense of community and belonging but also contributes positively to the growth and evolution of the cryptocurrency ecosystem.

Visit — https://beleaftechnologies.com/meme-coin-development-company
Contact details:
Phone +91 8148147362
Email:  business@beleaftechnologies.com
and(
    if(isnotblank(any(Filters[JetSkis])), [Boat Name] = any(Filters[JetSkis]), true),
    if(isnotblank(any(Filters[Date from])), [Date] >= any(Filters[Date from]), true),
    if(isnotblank(any(Filters[Date to])), [Date] <= any(Filters[Date to]), true)
)
app.get(%27/ab?cd%27, (req, res) => {
  res.send(%27ab?cd%27)
})
app.get(%27/random.text%27, (req, res) => {
  res.send(%27random.text%27)
})
app.get(%27/about%27, (req, res) => {
  res.send(%27about%27)
})
app.get(%27/%27, (req, res) => {
  res.send(%27root%27)
})
app.all(%27/secret%27, (req, res, next) => {
  console.log(%27Accessing the secret section ...%27)
  next() // pass control to the next handler
})
// GET method route
app.get('/', (req, res) => {
  res.send('GET request to the homepage')
})

// POST method route
app.post('/', (req, res) => {
  res.send('POST request to the homepage')
})
linktoview("Data")&"&at="&encodeurl(now() + 1)
star

Mon Aug 12 2024 21:41:03 GMT+0000 (Coordinated Universal Time)

@Justus

star

Mon Aug 12 2024 19:26:45 GMT+0000 (Coordinated Universal Time) https://www.codecademy.com

@thecowsays #javascript

star

Mon Aug 12 2024 17:48:11 GMT+0000 (Coordinated Universal Time) https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view

@angel_leonardo1

star

Mon Aug 12 2024 17:48:01 GMT+0000 (Coordinated Universal Time) https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view

@angel_leonardo1

star

Mon Aug 12 2024 17:47:53 GMT+0000 (Coordinated Universal Time) https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view

@angel_leonardo1

star

Mon Aug 12 2024 17:47:38 GMT+0000 (Coordinated Universal Time) https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view

@angel_leonardo1

star

Mon Aug 12 2024 17:38:38 GMT+0000 (Coordinated Universal Time) https://docs.docker.com/language/nodejs/containerize/

@angel_leonardo1

star

Mon Aug 12 2024 16:04:15 GMT+0000 (Coordinated Universal Time) https://coefficient.io/google-sheets-tutorials/how-to-combine-text-from-two-cells-in-google-sheets

@baamn

star

Mon Aug 12 2024 14:39:21 GMT+0000 (Coordinated Universal Time) https://vuejs.org/guide/quick-start

@hammad

star

Mon Aug 12 2024 14:17:25 GMT+0000 (Coordinated Universal Time)

@leamiz100

star

Mon Aug 12 2024 14:17:23 GMT+0000 (Coordinated Universal Time)

@leamiz100

star

Mon Aug 12 2024 13:52:04 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Mon Aug 12 2024 13:46:55 GMT+0000 (Coordinated Universal Time)

@gohilghanu

star

Mon Aug 12 2024 13:28:56 GMT+0000 (Coordinated Universal Time)

@BilalRaza12

star

Mon Aug 12 2024 12:23:41 GMT+0000 (Coordinated Universal Time) https://stackoverflow.com/questions/46427564/set-the-background-color-to-a-cell-based-on-a-hex-value

@baamn #javascript

star

Mon Aug 12 2024 12:13:04 GMT+0000 (Coordinated Universal Time)

@baamn #sheets

star

Mon Aug 12 2024 11:29:41 GMT+0000 (Coordinated Universal Time) https://www.bsetec.com/udemy-clone

@bsetec #lmsclone #lmsclonescript #udemycloneapp #udemyclonescript #udemyclonesoftware #udemyclone

star

Mon Aug 12 2024 11:27:53 GMT+0000 (Coordinated Universal Time) https://www.bsetec.com/blockchain-development-company

@bsetec #blockchain #blockchaindevelopmentcompany #blockchaindevelopmentcompanyandweb3services #blockchainservices #blockchainsoftwarecompany

star

Mon Aug 12 2024 06:59:30 GMT+0000 (Coordinated Universal Time) https://creatiosoft.com/poker-game-development

@Rishabh

star

Mon Aug 12 2024 05:52:35 GMT+0000 (Coordinated Universal Time)

@signup

star

Mon Aug 12 2024 05:38:02 GMT+0000 (Coordinated Universal Time)

@signup

star

Mon Aug 12 2024 04:44:12 GMT+0000 (Coordinated Universal Time)

@signup

star

Sun Aug 11 2024 23:39:37 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Aug 11 2024 23:29:20 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Aug 11 2024 21:31:08 GMT+0000 (Coordinated Universal Time)

@destinyChuck #json #vscode

star

Sun Aug 11 2024 19:26:39 GMT+0000 (Coordinated Universal Time) https://m.facebook.com/100092516409347/

@Elshadow

star

Sun Aug 11 2024 19:14:39 GMT+0000 (Coordinated Universal Time) https://m.facebook.com/login/identify/

@Elshadow

star

Sun Aug 11 2024 15:57:59 GMT+0000 (Coordinated Universal Time) https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basics

@DevomdDOM93

star

Sun Aug 11 2024 10:40:48 GMT+0000 (Coordinated Universal Time)

@christiana

star

Sun Aug 11 2024 09:37:06 GMT+0000 (Coordinated Universal Time)

@prawarjain

star

Sun Aug 11 2024 06:03:08 GMT+0000 (Coordinated Universal Time) https://support.oracle.com/knowledge/Middleware/2083752_1.html

@Curable1600 #windows

star

Sun Aug 11 2024 04:48:56 GMT+0000 (Coordinated Universal Time) https://www.thewindowsclub.com/how-to-remove-leftover-files-after-uninstall-in-windows

@acassell

star

Sat Aug 10 2024 20:29:04 GMT+0000 (Coordinated Universal Time)

@iamkatmakhafola

star

Sat Aug 10 2024 20:29:04 GMT+0000 (Coordinated Universal Time)

@iamkatmakhafola

star

Sat Aug 10 2024 15:01:55 GMT+0000 (Coordinated Universal Time) https://thisisnotawebsitedotcom.com/

@DomenicEXP111

star

Sat Aug 10 2024 15:00:46 GMT+0000 (Coordinated Universal Time) https://thisisnotawebsitedotcom.com/

@DomenicEXP111

star

Sat Aug 10 2024 13:09:20 GMT+0000 (Coordinated Universal Time)

@Wittinunt

star

Sat Aug 10 2024 12:33:01 GMT+0000 (Coordinated Universal Time)

@iamkatmakhafola

star

Sat Aug 10 2024 11:56:36 GMT+0000 (Coordinated Universal Time)

@gohilghanu

star

Sat Aug 10 2024 10:36:28 GMT+0000 (Coordinated Universal Time)

@Wittinunt

star

Sat Aug 10 2024 10:02:38 GMT+0000 (Coordinated Universal Time) https://beleaftechnologies.com/meme-coin-development-company

@sivaprasadm203 #blockchain #cryptocurrency #defi #web3

star

Sat Aug 10 2024 09:44:31 GMT+0000 (Coordinated Universal Time) https://www.appsheet.com/template/AppDef?appName

@Wittinunt

star

Sat Aug 10 2024 06:42:55 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:42:54 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:42:53 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:42:51 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:42:48 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:36:53 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap

star

Sat Aug 10 2024 06:35:17 GMT+0000 (Coordinated Universal Time) https://expressjs.com/en/guide/routing.html

@piyushkashyap #javascript

star

Sat Aug 10 2024 06:17:35 GMT+0000 (Coordinated Universal Time) https://www.appsheet.com/template/AppDef?appName

@Wittinunt

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension