- Download and set up ANTLR4
- Download
PlSqlLexer.g4andPlSqlParser.g4from https://github.com/antlr/grammars-v4/tree/master/sql/plsql
-
Build the lexer (https://stackoverflow.com/a/55379369/1958726):
antlr4 PlSqlLexer.g4 -Dlanguage=CSharp
| 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); |
| // 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: |
| # 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." |
| # 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 |
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
| using PuppeteerSharp; | |
| using System.Linq; | |
| using System.Threading.Tasks; | |
| namespace PuppeteerBoilerplate | |
| { | |
| class Program | |
| { | |
| static async Task Main(string[] args) | |
| { |
| <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) { |
| -- 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 |
| 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); |
| 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) |