- Download and set up ANTLR4
- Download
PlSqlLexer.g4
andPlSqlParser.g4
from https://github.com/antlr/grammars-v4/tree/master/sql/plsql
-
Build the lexer (https://stackoverflow.com/a/55379369/1958726):
antlr4 PlSqlLexer.g4 -Dlanguage=CSharp
using System.Collections.Generic; | |
using System.Data; | |
using System.Data.SqlClient; | |
using System.Linq; | |
public static class SqlBulkCopyExtensions | |
{ | |
public static SqlBulkCopy WithColumnMappings(this SqlBulkCopy sqlBulkCopy, DataColumnCollection columns) => WithColumnMappings(sqlBulkCopy, columns.Cast<DataColumn>()); | |
public static SqlBulkCopy WithColumnMappings(this SqlBulkCopy sqlBulkCopy, IEnumerable<DataColumn> columns) |
public static Folder FindFolderByDisplayName(ExchangeService service, string name) | |
{ | |
var folderView = new FolderView(100); | |
folderView.PropertySet = new PropertySet(BasePropertySet.IdOnly); | |
folderView.PropertySet.Add(FolderSchema.DisplayName); | |
folderView.Traversal = FolderTraversal.Deep; | |
FindFoldersResults findFolderResults = service.FindFolders(WellKnownFolderName.Root, folderView); |
-- https://stackoverflow.com/a/27361062/1958726 | |
-- Change: Select distinct table, column names only | |
-- Change: Discard value | |
-- Change: Sort in ascending order | |
USE DATABASE_NAME | |
DECLARE @SearchStr nvarchar(100) = 'SEARCH_TEXT' | |
DECLARE @Results TABLE (ColumnName nvarchar(370)) | |
SET NOCOUNT ON |
<input type="tel" name="phone" id="phone" class="form-control" required="" data-parsley-phone=""> | |
<script> | |
var parsleyPhoneValidatorSettings = { | |
ignoreCharacters: /[()+\- ]/g, | |
usPhoneNumber: /^1?\d{10}$/ | |
}; | |
window.Parsley.addValidator('phone', { | |
validateString: function(value) { |
using PuppeteerSharp; | |
using System.Linq; | |
using System.Threading.Tasks; | |
namespace PuppeteerBoilerplate | |
{ | |
class Program | |
{ | |
static async Task Main(string[] args) | |
{ |
PlSqlLexer.g4
and PlSqlParser.g4
from https://github.com/antlr/grammars-v4/tree/master/sql/plsqlBuild the lexer (https://stackoverflow.com/a/55379369/1958726):
antlr4 PlSqlLexer.g4 -Dlanguage=CSharp
# Posh-ACME is for getting Let's Encrypt certificates | |
# Install for all users (requires elevation) | |
Install-Module -Name Posh-ACME -Scope AllUsers | |
# Get a wildcard cert | |
$domain = Read-Host 'Domain' | |
$certNames = "*.$domain", $domain | |
$email = "admin@$domain" | |
$pArgs = @{} # TODO |
# Creates a WordPress site with SQLite as the database. Should be cross platform. | |
param( | |
[Parameter(Mandatory)] | |
[string] | |
$SiteName | |
) | |
# Create a directory | |
Write-Host "Creating directory $SiteName." |
// 1. Go to the "Review Proposals" tab of your job | |
// 2. Open DevTools (F12) | |
// 3. Paste this script | |
// 4. Once it's extracted the data from 100% of your proposals, it will | |
// output an array of their details into the DevTools console. Right- | |
// click the array and click `Copy object`. This is JSON of all your | |
// proposals. | |
// You can use any tool that works with JSON to manipulate the data. | |
// For example, in PowerShell: |
OpenAIClient openAiClient = new OpenAIClient(new System.ClientModel.ApiKeyCredential(config["DEEPSEEK_API_KEY"]!), new() | |
{ | |
Endpoint = new("https://api.deepseek.com/v1"), | |
}); | |
services.AddOpenAIChatCompletion(config["ModelName"]!, openAiClient); |