Edited, memorised or added to reading queue

on 27-Nov-2023 (Mon)

Do you want BuboFlash to help you learning these things? Click here to log in or create user.

Preface (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part I. Tutorial (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part II. The SQL Language (whole language)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part III. Server Administration (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part IV. Client Interfaces (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part V. Server Programming (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part VI. Reference (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part VII. Internals (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Part VIII. Appendixes (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Bibliography (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Index (whole section)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




Go programs are organized into packages
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
monstrates the development of a simple Go package inside a module and introduces the go tool, the standard way to fetch, build, and install Go modules, packages, and commands. Code organization <span>Go programs are organized into packages. A package is a collection of source files in the same directory that are compiled together. Functions, types, variables, and constants defined in one source file are visible to all oth




A package is a collection of source files in the same directory that are compiled together.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
package inside a module and introduces the go tool, the standard way to fetch, build, and install Go modules, packages, and commands. Code organization Go programs are organized into packages. <span>A package is a collection of source files in the same directory that are compiled together. Functions, types, variables, and constants defined in one source file are visible to all other source files within the same package. A repository contains one or more modules. A module




Functions, types, variables, and constants defined in one source file are visible to all other source files within the same package.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
nstall Go modules, packages, and commands. Code organization Go programs are organized into packages. A package is a collection of source files in the same directory that are compiled together. <span>Functions, types, variables, and constants defined in one source file are visible to all other source files within the same package. A repository contains one or more modules. A module is a collection of related Go packages that are released together. A Go repository typically contains only one module, located at the




A repository contains one or more modules, but typically contains only one module, located at the root of the respository.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
urce files in the same directory that are compiled together. Functions, types, variables, and constants defined in one source file are visible to all other source files within the same package. <span>A repository contains one or more modules. A module is a collection of related Go packages that are released together. A Go repository typically contains only one module, located at the root of the repository. A file named go.mo




A module is a collection of related Go packages that are released together.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
ompiled together. Functions, types, variables, and constants defined in one source file are visible to all other source files within the same package. A repository contains one or more modules. <span>A module is a collection of related Go packages that are released together. A Go repository typically contains only one module, located at the root of the repository. A file named go.mod there declares the module path: the import path prefix for all packages wi




A file named go.mod at the root of the module declares the module path : the import path prefix for all packages within the module.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
tains one or more modules. A module is a collection of related Go packages that are released together. A Go repository typically contains only one module, located at the root of the repository. <span>A file named go.mod there declares the module path: the import path prefix for all packages within the module. The module contains the packages in the directory containing its go.mod file as well as subdirectories of that directory, up to the next subdirectory containing another go.mod file (if




The module contains the packages in the directory containing its go.mod file as well as subdirectories of that directory, up to the next subdirectory containing another go.mod file (if any).
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
ository typically contains only one module, located at the root of the repository. A file named go.mod there declares the module path: the import path prefix for all packages within the module. <span>The module contains the packages in the directory containing its go.mod file as well as subdirectories of that directory, up to the next subdirectory containing another go.mod file (if any). Note that you don't need to publish your code to a remote repository before you can build it. A module can be defined locally without belonging to a repository. However, it's a good hab




An import path is a string used to import a package. A package's import path is its module path joined with its subdirectory within the module. For example, the module github.com/google/go-cmp contains a package in the directory cmp/. That package's import path is github.com/google/go-cmp/cmp. Packages in the standard library do not have a module path prefix.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

How to Write Go Code - The Go Programming Language
look to download it. For example, in order to download the module golang.org/x/tools, the go command would consult the repository indicated by https://golang.org/x/tools (described more here). <span>An import path is a string used to import a package. A package's import path is its module path joined with its subdirectory within the module. For example, the module github.com/google/go-cmp contains a package in the directory cmp/. That package's import path is github.com/google/go-cmp/cmp. Packages in the standard library do not have a module path prefix. Your first program To compile and run a simple program, first choose a module path (we'll use example/user/hello) and create a go.mod file that declares it: $ mkdir hello # Alternativel




React apps are made out of components. A component is a piece of the UI (user interface) that has its own logic and appearance. A component can be as small as a button, or as large as an entire page.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
add markup and styles How to display data How to render conditions and lists How to respond to events and update the screen How to share data between components Creating and nesting components <span>React apps are made out of components. A component is a piece of the UI (user interface) that has its own logic and appearance. A component can be as small as a button, or as large as an entire page. React components are JavaScript functions that return markup: function MyButton() { return ( <button>I'm a button</button> ); } Now that you’ve declared MyButton, you can ne




React components are JavaScript functions that return markup:

 function MyButton ( ) { 
return (
< button > I'm a button </ button >
) ;
}
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
apps are made out of components. A component is a piece of the UI (user interface) that has its own logic and appearance. A component can be as small as a button, or as large as an entire page. <span>React components are JavaScript functions that return markup: function MyButton() { return ( <button>I'm a button</button> ); } Now that you’ve declared MyButton, you can nest it into another component: export default function MyApp() { return ( <div> <h1>Welcome to my app</h1> <MyButton /&g




React component names must always start with a capital letter, while HTML tags must be lowercase.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
<div> <h1>Welcome to my app</h1> <MyButton /> </div> ); } Notice that <MyButton /> starts with a capital letter. That’s how you know it’s a React component. <span>React component names must always start with a capital letter, while HTML tags must be lowercase. Have a look at the result: App.js App.js Download Reset Fork 99 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function MyButton() { return ( <button> I'm a button </button> ); }




Now that you’ve declared MyButton, you can nest it into another component:

 export default function MyApp ( ) { 
return (
< div >
< h1 > Welcome to my app </ h1 >
< MyButton />
</ div >
) ;
}
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
as small as a button, or as large as an entire page. React components are JavaScript functions that return markup: function MyButton() { return ( <button>I'm a button</button> ); } <span>Now that you’ve declared MyButton, you can nest it into another component: export default function MyApp() { return ( <div> <h1>Welcome to my app</h1> <MyButton /> </div> ); } Notice that <MyButton /> starts with a capital letter. That’s how you know it’s a React component. React component names must always start with a capital letter, while HTML tags m




The export default keywords specify the main component in the file.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
t;button> I'm not a button </button> ); } export default function MyApp() { return ( <div> <h1>Welcome to my world</h1> <MyButton /> </div> ); } Show more <span>The export default keywords specify the main component in the file. If you’re not familiar with some piece of JavaScript syntax, MDN and javascript.info have great references. Writing markup with JSX The markup syntax you’ve seen above is called JSX. It




If you’re not familiar with some piece of JavaScript syntax, MDN and javascript.info have great references.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
nction MyApp() { return ( <div> <h1>Welcome to my world</h1> <MyButton /> </div> ); } Show more The export default keywords specify the main component in the file. <span>If you’re not familiar with some piece of JavaScript syntax, MDN and javascript.info have great references. Writing markup with JSX The markup syntax you’ve seen above is called JSX. It is optional, but most React projects use JSX for its convenience. All of the tools we recommend for local d




The markup syntax you’ve seen above is called JSX. It is optional, but most React projects use JSX for its convenience. All of the tools we recommend for local development support JSX out of the box.

JSX is stricter than HTML. You have to close tags like <br />. Your component also can’t return multiple JSX tags. You have to wrap them into a shared parent, like a <div>...</div> or an empty <>...</> wrapper

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
port default keywords specify the main component in the file. If you’re not familiar with some piece of JavaScript syntax, MDN and javascript.info have great references. Writing markup with JSX <span>The markup syntax you’ve seen above is called JSX. It is optional, but most React projects use JSX for its convenience. All of the tools we recommend for local development support JSX out of the box. JSX is stricter than HTML. You have to close tags like <br />. Your component also can’t return multiple JSX tags. You have to wrap them into a shared parent, like a <div>...</div> or an empty <>...</> wrapper: function AboutPage() { return ( <> <h1>About</h1> <p>Hello there.<br />How do you do?</p> </> ); } If you have a lot of HTML to port to JSX, y




If you have a lot of HTML to port to JSX, you can use an online converter.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
t;/div> or an empty <>...</> wrapper: function AboutPage() { return ( <> <h1>About</h1> <p>Hello there.<br />How do you do?</p> </> ); } <span>If you have a lot of HTML to port to JSX, you can use an online converter. Adding styles In React, you specify a CSS class with className. It works the same way as the HTML class attribute: <img className="avatar" /> Then you write the CSS rules for it i




In React, you specify a CSS class with className. It works the same way as the HTML class attribute:

 < img className = "avatar" /> 
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
> <h1>About</h1> <p>Hello there.<br />How do you do?</p> </> ); } If you have a lot of HTML to port to JSX, you can use an online converter. Adding styles <span>In React, you specify a CSS class with className. It works the same way as the HTML class attribute: <img className="avatar" /> Then you write the CSS rules for it in a separate CSS file: /* In your CSS */ .avatar { border-radius: 50%; } React does not prescribe how you add CSS files. In the simplest case, you’l




React does not prescribe how you add CSS files. In the simplest case, you’ll add a <link> tag to your HTML. If you use a build tool or a framework, consult its documentation to learn how to add a CSS file to your project.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
It works the same way as the HTML class attribute: <img className="avatar" /> Then you write the CSS rules for it in a separate CSS file: /* In your CSS */ .avatar { border-radius: 50%; } <span>React does not prescribe how you add CSS files. In the simplest case, you’ll add a <link> tag to your HTML. If you use a build tool or a framework, consult its documentation to learn how to add a CSS file to your project. Displaying data JSX lets you put markup into JavaScript. Curly braces let you “escape back” into JavaScript so that you can embed some variable from your code and display it to the user




JSX lets you put markup into JavaScript. Curly braces let you “escape back” into JavaScript so that you can embed some variable from your code and display it to the user. For example, this will display user.name:

 return ( 
< h1 >
{ user . name }
</ h1 >
) ;

You can also “escape into JavaScript” from JSX attributes, but you have to use curly braces instead of quotes. For example, className="avatar" passes the "avatar" string as the CSS class, but src={user.imageUrl} reads the JavaScript user.imageUrl variable value, and then passes that value as the src attribute:

 return ( 
< img
className = "avatar"
src = { user . imageUrl }
/>
) ;
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
the simplest case, you’ll add a <link> tag to your HTML. If you use a build tool or a framework, consult its documentation to learn how to add a CSS file to your project. Displaying data <span>JSX lets you put markup into JavaScript. Curly braces let you “escape back” into JavaScript so that you can embed some variable from your code and display it to the user. For example, this will display user.name: return ( <h1> {user.name} </h1> ); You can also “escape into JavaScript” from JSX attributes, but you have to use curly braces instead of quotes. For example, className="avatar" passes the "avatar" string as the CSS class, but src={user.imageUrl} reads the JavaScript user.imageUrl variable value, and then passes that value as the src attribute: return ( <img className="avatar" src={user.imageUrl} /> ); You can put more complex expressions inside the JSX curly braces too, for example, string concatenation: App.js App.js Download Reset Fork 99 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1




const user = { name : 'Hedy Lamarr' , imageUrl : 'https://i.imgur.com/yXOvdOSs.jpg' , imageSize : 90 , } ;
export default function Profile ( ) { return ( < > < h1 > { user . name } </ h1 > < img className = "avatar" src = { user . imageUrl } alt = { 'Photo of ' + user . name } style = { { width : user . imageSize , height : user . imageSize } } /> </ > ) ; }
Show more

In the above example, style={{}} is not a special syntax, but a regular {} object inside the style={ } JSX curly braces. You can use the style attribute when your styles depend on JavaScript variables.

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
e src attribute: return ( <img className="avatar" src={user.imageUrl} /> ); You can put more complex expressions inside the JSX curly braces too, for example, string concatenation: App.js <span>App.js Download Reset Fork 99 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 const user = { name: 'Hedy Lamarr', imageUrl: 'https://i.imgur.com/yXOvdOSs.jpg', imageSize: 90, }; export default function Profile() { return ( <> <h1>{user.name}</h1> <img className="avatar" src={user.imageUrl} alt={'Photo of ' + user.name} style={{ width: user.imageSize, height: user.imageSize }} /> </> ); } Show more In the above example, style={{}} is not a special syntax, but a regular {} object inside the style={ } JSX curly braces. You can use the style attribute when your styles depend on JavaScript variables. Conditional rendering In React, there is no special syntax for writing conditions. Instead, you’ll use the same techniques as you use when writing regular JavaScript code. For example,




Conditional rendering

In React, there is no special syntax for writing conditions. Instead, you’ll use the same techniques as you use when writing regular JavaScript code. For example, you can use an if statement to conditionally include JSX:

 let content ; 
if ( isLoggedIn ) {
content = < AdminPanel /> ;
} else {
content = < LoginForm /> ;
}
return (
< div >
{ content }
</ div >
) ;

If you prefer more compact code, you can use the conditional ? operator. Unlike if, it works inside JSX:

 < div > 
{ isLoggedIn ? (
< AdminPanel />
) : (
< LoginForm />
) }
</ div >

When you don’t need the else branch, you can also use a shorter logical && syntax:

 < div > 
{ isLoggedIn && < AdminPanel /> }
</ div >

All of these approaches also work for conditionally specifying attributes. If you’re unfamiliar with some of this JavaScript syntax, you can start by always using if...else.

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
bove example, style={{}} is not a special syntax, but a regular {} object inside the style={ } JSX curly braces. You can use the style attribute when your styles depend on JavaScript variables. <span>Conditional rendering In React, there is no special syntax for writing conditions. Instead, you’ll use the same techniques as you use when writing regular JavaScript code. For example, you can use an if statement to conditionally include JSX: let content; if (isLoggedIn) { content = <AdminPanel />; } else { content = <LoginForm />; } return ( <div> {content} </div> ); If you prefer more compact code, you can use the conditional ? operator. Unlike if, it works inside JSX: <div> {isLoggedIn ? ( <AdminPanel /> ) : ( <LoginForm /> )} </div> When you don’t need the else branch, you can also use a shorter logical && syntax: <div> {isLoggedIn && <AdminPanel />} </div> All of these approaches also work for conditionally specifying attributes. If you’re unfamiliar with some of this JavaScript syntax, you can start by always using if...else. Rendering lists You will rely on JavaScript features like for loop and the array map() function to render lists of components. For example, let’s say you have an array of products: cons




You will rely on JavaScript features like for loop and the array map() function to render lists of components.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
gt; All of these approaches also work for conditionally specifying attributes. If you’re unfamiliar with some of this JavaScript syntax, you can start by always using if...else. Rendering lists <span>You will rely on JavaScript features like for loop and the array map() function to render lists of components. For example, let’s say you have an array of products: const products = [ { title: 'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, { title: 'Apple', id: 3 }, ]; Inside your component, us




 const listItems = products . map ( product => 
< li key = { product . id } >
{ product . title }
</ li >
) ;

return (
< ul > { listItems } </ ul >
) ;

Notice how <li> has a key attribute. For each item in a list, you should pass a string or a number that uniquely identifies that item among its siblings. Usually, a key should be coming from your data, such as a database ID. React uses your keys to know what happened if you later insert, delete, or reorder the items.

App.js
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, { title: 'Apple', id: 3 }, ]; Inside your component, use the map() function to transform an array of products into an array of <li> items: <span>const listItems = products.map(product => <li key={product.id}> {product.title} </li> ); return ( <ul>{listItems}</ul> ); Notice how <li> has a key attribute. For each item in a list, you should pass a string or a number that uniquely identifies that item among its siblings. Usually, a key should be coming from your data, such as a database ID. React uses your keys to know what happened if you later insert, delete, or reorder the items. App.js App.js Download Reset Fork 99 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 const products = [ { title: 'Cabbage', isFruit: false, id: 1 }, { title: 'Garlic', isFruit: fal




Responding to events

You can respond to events by declaring event handler functions inside your components:

 function MyButton ( ) { 
function handleClick ( ) {
alert ( 'You clicked me!' ) ;
}

return (
< button onClick = { handleClick } >
Click me
</ button >
) ;
}

Notice how onClick={handleClick} has no parentheses at the end! Do not call the event handler function: you only need to pass it down. React will call your event handler when the user clicks the button.

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
p(product => <li key={product.id} style={{ color: product.isFruit ? 'magenta' : 'darkgreen' }} > {product.title} </li> ); return ( <ul>{listItems}</ul> ); } Show more <span>Responding to events You can respond to events by declaring event handler functions inside your components: function MyButton() { function handleClick() { alert('You clicked me!'); } return ( <button onClick={handleClick}> Click me </button> ); } Notice how onClick={handleClick} has no parentheses at the end! Do not call the event handler function: you only need to pass it down. React will call your event handler when the user clicks the button. Updating the screen Often, you’ll want your component to “remember” some information and display it. For example, maybe you want to count the number of times a button is clicked. To do




Updating the screen

Often, you’ll want your component to “remember” some information and display it. For example, maybe you want to count the number of times a button is clicked. To do this, add state to your component.

First, import useState from React:

 import { useState } from 'react' ; 

Now you can declare a state variable inside your component:

 function MyButton ( ) { 
const [ count , setCount ] = useState ( 0 ) ;
// ...

You’ll get two things from useState: the current state (count), and the function that lets you update it (setCount). You can give them any names, but the convention is to write [something, setSomething].

The first time the button is displayed, count will be 0 because you passed 0 to useState(). When you want to change state, call setCount() and pass the new value to it. Clicking this button will increment the counter:

 function MyButton ( ) { 
const [ count , setCount ] = useState ( 0 ) ;

function handleClick ( ) {
setCount ( count + 1 ) ;
}

return (
< button onClick = { handleClick } >
Clicked { count } times
</ button >
) ;
}

React will call your component function again. This time, count will be 1. Then it will be 2. And so on.

If you render the same c

...
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Quick Start – React
w onClick={handleClick} has no parentheses at the end! Do not call the event handler function: you only need to pass it down. React will call your event handler when the user clicks the button. <span>Updating the screen Often, you’ll want your component to “remember” some information and display it. For example, maybe you want to count the number of times a button is clicked. To do this, add state to your component. First, import useState from React: import { useState } from 'react'; Now you can declare a state variable inside your component: function MyButton() { const [count, setCount] = useState(0); // ... You’ll get two things from useState: the current state (count), and the function that lets you update it (setCount). You can give them any names, but the convention is to write [something, setSomething]. The first time the button is displayed, count will be 0 because you passed 0 to useState(). When you want to change state, call setCount() and pass the new value to it. Clicking this button will increment the counter: function MyButton() { const [count, setCount] = useState(0); function handleClick() { setCount(count + 1); } return ( <button onClick={handleClick}> Clicked {count} times </button> ); } React will call your component function again. This time, count will be 1. Then it will be 2. And so on. If you render the same component multiple times, each will get its own state. Click each button separately: App.js App.js Download Reset Fork 99 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import { useState } from 'react'; export default function MyApp() { return ( <div> <h1>Counters that update separately</h1> <MyButton /> <MyButton /> </div> ); } function MyButton() { const [count, setCount] = useState(0); function handleClick() { setCount(count + 1); } return ( <button onClick={handleClick}> Clicked {count} times </button> ); } Show more Notice how each button “remembers” its own count state and doesn’t affect other buttons. Using Hooks Functions starting with use are called Hooks. useState is a built-in Hook provided by React. You can find other built-in Hooks in the API reference. You can also write your




The most popular text editors for Go are VSCode (free), GoLand (paid), and Vim (free).
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Tutorial: Get started with Go - The Go Programming Language
e. The code here is pretty simple, but it helps to know something about functions. A tool to edit your code. Any text editor you have will work fine. Most text editors have good support for Go. <span>The most popular are VSCode (free), GoLand (paid), and Vim (free). A command terminal. Go works well using any terminal on Linux and Mac, and on PowerShell or cmd in Windows. Install Go Just use the Download and install steps. Write some code Get start




Enable dependency tracking for your code.

When your code imports packages contained in other modules, you manage those dependencies through your code's own module. That module is defined by a go.mod file that tracks the modules that provide those packages. That go.mod file stays with your code, including in your source code repository.

To enable dependency tracking for your code by creating a go.mod file, run the go mod init command, giving it the name of the module your code will be in. The name is the module's module path.

In actual development, the module path will typically be the repository location where your source code will be kept. For example, the module path might be github.com/mymodule. If you plan to publish your module for others to use, the module path must be a location from which Go tools can download your module. For more about naming a module with a module path, see Managing dependencies.

For the purposes of this tutorial, just use example/hello.

$ go mod init example/hello
go: creating new go.mod: module example/hello
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Tutorial: Get started with Go - The Go Programming Language
nd cd to your home directory. On Linux or Mac: cd On Windows: cd %HOMEPATH% Create a hello directory for your first Go source code. For example, use the following commands: mkdir hello cd hello <span>Enable dependency tracking for your code. When your code imports packages contained in other modules, you manage those dependencies through your code's own module. That module is defined by a go.mod file that tracks the modules that provide those packages. That go.mod file stays with your code, including in your source code repository. To enable dependency tracking for your code by creating a go.mod file, run the go mod init command, giving it the name of the module your code will be in. The name is the module's module path. In actual development, the module path will typically be the repository location where your source code will be kept. For example, the module path might be github.com/mymodule. If you plan to publish your module for others to use, the module path must be a location from which Go tools can download your module. For more about naming a module with a module path, see Managing dependencies. For the purposes of this tutorial, just use example/hello. $ go mod init example/hello go: creating new go.mod: module example/hello In your text editor, create a file hello.go in which to write your code. Paste the following code into your hello.go file and save the file. package main import "fmt" func main() { fmt.




The go run command is one of many go commands you'll use to get things done with Go. Use the following command to get a list of the others:

$ go help
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Tutorial: Get started with Go - The Go Programming Language
d Go. Implement a main function to print a message to the console. A main function executes by default when you run the main package. Run your code to see the greeting. $ go run . Hello, World! <span>The go run command is one of many go commands you'll use to get things done with Go. Use the following command to get a list of the others: $ go help Call code in an external package When you need your code to do something that might have been implemented by someone else, you can look for a package that has functions you can use in y




Go will add the quote module as a requirement, as well as a go.sum file for use in authenticating the module. For more, see Authenticating modules in the Go Modules Reference.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Tutorial: Get started with Go - The Go Programming Language
ding the highlighted lines, your code should include the following: package main import "fmt" import "rsc.io/quote" func main() { fmt.Println(quote.Go()) } Add new module requirements and sums. <span>Go will add the quote module as a requirement, as well as a go.sum file for use in authenticating the module. For more, see Authenticating modules in the Go Modules Reference. $ go mod tidy go: finding module for package rsc.io/quote go: found rsc.io/quote in rsc.io/quote v1.5.2 Run your code to see the message generated by the function you're calling. $ go r




React (whole document)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

React Reference Overview – React
d reference documentation for working with React. For an introduction to React, please visit the Learn section. Our The React reference documentation is broken down into functional subsections: <span>React Programmatic React features: Hooks - Use different React features from your components. Components - Documents built-in components that you can use in your JSX. APIs - APIs that are use




React

Programmatic React features:

  • Hooks - Use different React features from your components.
  • Components - Documents built-in components that you can use in your JSX.
  • APIs - APIs that are useful for defining components.
  • Directives - Provide instructions to bundlers compatible with React Server Components.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

React Reference Overview – React
d reference documentation for working with React. For an introduction to React, please visit the Learn section. Our The React reference documentation is broken down into functional subsections: <span>React Programmatic React features: Hooks - Use different React features from your components. Components - Documents built-in components that you can use in your JSX. APIs - APIs that are useful for defining components. Directives - Provide instructions to bundlers compatible with React Server Components. React DOM React-dom contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following: Hooks - Hooks f




React DOM

React-dom contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following:

  • Hooks - Hooks for web applications which run in the browser DOM environment.
  • Components - React supports all of the browser built-in HTML and SVG components.
  • APIs - The react-dom package contains methods supported only in web applications.
  • Client APIs - The react-dom/client APIs let you render React components on the client (in the browser).
  • Server APIs - The react-dom/server APIs let you render React components to HTML on the server.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

React Reference Overview – React
nts built-in components that you can use in your JSX. APIs - APIs that are useful for defining components. Directives - Provide instructions to bundlers compatible with React Server Components. <span>React DOM React-dom contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following: Hooks - Hooks for web applications which run in the browser DOM environment. Components - React supports all of the browser built-in HTML and SVG components. APIs - The react-dom package contains methods supported only in web applications. Client APIs - The react-dom/client APIs let you render React components on the client (in the browser). Server APIs - The react-dom/server APIs let you render React components to HTML on the server. Legacy APIs Legacy APIs - Exported from the react package, but not recommended for use in newly written code. How do you like these docs? Take our survey! ©2023 Learn React Quick Start




Legacy APIs
  • Legacy APIs - Exported from the react package, but not recommended for use in newly written code.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

React Reference Overview – React
t APIs - The react-dom/client APIs let you render React components on the client (in the browser). Server APIs - The react-dom/server APIs let you render React components to HTML on the server. <span>Legacy APIs Legacy APIs - Exported from the react package, but not recommended for use in newly written code. How do you like these docs? Take our survey! ©2023 Learn React Quick Start Installation Describing the UI Adding Interactivity Managing State Escape Hatches API Reference React APIs Rea




This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Effective Go - The Go Programming Language
w the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand. <span>This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first. Note added January, 2022: This document was written for Go's release in 2009, and has not been updated significantly since. Although it is a good guide to understand how to use the lang




WHERE TO DRAW THE LINE (whole book)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

pdf

cannot see any pdfs




migrate

Database migrations written in Go. Use as CLI or import as library.

(Whole file)

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
i Mention migradaptor bad30b5 · History History 195 lines (146 loc) · 8.07 KB Breadcrumbs migrate / README.md Top File metadata and controls Preview Code Blame 195 lines (146 loc) · 8.07 KB Raw <span>migrate Database migrations written in Go. Use as CLI or import as library. Migrate reads migrations from sources and applies them in correct order to a database. Drivers are "dumb", migrate glues everything together and makes sure the logic is bulletproof. (Ke




Migrating from MySQL to PostgreSQL (whole page)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Migrating from MySQL to PostgreSQL
Migrating from MySQL to PostgreSQL Migrating from MySQL to PostgreSQL Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> Copyright © 2004, 2005, 2008, 2019 Jeroen Ruigrok van der Werven Copyright information MySQL® is a registered trademark of My




graphile-migrate

Opinionated SQL-powered productive roll-forward migration tool for PostgreSQL.

(Whole page)

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
ate sponsors 🙏 (#194) 757194c · History History 938 lines (735 loc) · 39.4 KB Breadcrumbs migrate / README.md Top File metadata and controls Preview Code Blame 938 lines (735 loc) · 39.4 KB Raw <span>graphile-migrate Opinionated SQL-powered productive roll-forward migration tool for PostgreSQL. Crowd-funded open-source software To help us develop this software sustainably, we ask all individuals and businesses that use it to help support its ongoing maintenance and development




goose

Goose is a database migration tool. Manage your database schema by creating incremental SQL changes or Go functions.

(Whole page)

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
fix badge in README.md fd6da03 · History History 379 lines (275 loc) · 13.1 KB Breadcrumbs goose / README.md Top File metadata and controls Preview Code Blame 379 lines (275 loc) · 13.1 KB Raw <span>goose Goose is a database migration tool. Manage your database schema by creating incremental SQL changes or Go functions. Starting with v3.0.0 this project adds Go module support, but maintains backwards compatibility with older v2.x.y tags. Goose supports embedding SQL migrations, which means you'll need




Tern - The SQL Fan's Migrator

Tern is a standalone migration tool for PostgreSQL.

(Whole page)

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
g ENV to run tests 39dfdb7 · History History 609 lines (414 loc) · 17.6 KB Breadcrumbs tern / README.markdown Top File metadata and controls Preview Code Blame 609 lines (414 loc) · 17.6 KB Raw <span>Tern - The SQL Fan's Migrator Tern is a standalone migration tool for PostgreSQL. It includes traditional migrations as well as a separate optional workflow for managing database code such as functions and views. Features Multi-platform Stand-alone binary SSH tunnel support built-in Data variable interpolation into migrations Installation go install github.com/jackc/tern/v2@latest Creating a Ter




About Sqitch (Whole page)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

About Sqitch
About Sqitch About Docs Community Download About Sqitch Sqitch is a database change management application. What makes it different from your typical migration-style approaches? A few things: No Opinions Sqitch is not tied to any framework,




Welcome to pgloader’s documentation! (Whole page)
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Welcome to pgloader’s documentation! — pgloader 3.6.9 documentation
base Servers MySQL to Postgres SQLite to Postgres MS SQL to Postgres Postgres to Postgres PostgreSQL to Citus Redshift to Postgres pgloader » Welcome to pgloader’s documentation! Edit on GitHub <span>Welcome to pgloader’s documentation! The pgloader project is an Open Source Software project. The development happens at https://github.com/dimitri/pgloader and is public: everyone is welcome to participate by opening iss




#golang-migrate
  • Migrate reads migrations from sources and applies them in correct order to a database.
  • Drivers are "dumb", migrate glues everything together and makes sure the logic is bulletproof. (Keeps the drivers lightweight, too.)
  • Database drivers don't assume things or try to correct user input. When in doubt, fail.
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
B Breadcrumbs migrate / README.md Top File metadata and controls Preview Code Blame 195 lines (146 loc) · 8.07 KB Raw migrate Database migrations written in Go. Use as CLI or import as library. <span>Migrate reads migrations from sources and applies them in correct order to a database. Drivers are "dumb", migrate glues everything together and makes sure the logic is bulletproof. (Keeps the drivers lightweight, too.) Database drivers don't assume things or try to correct user input. When in doubt, fail. Forked from mattes/migrate Databases Database drivers run migrations. Add a new database? PostgreSQL PGX v4 PGX v5 Redshift Ql Cassandra SQLite SQLite3 (todo #165) SQLCipher MySQL/ Mari




statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
sure the logic is bulletproof. (Keeps the drivers lightweight, too.) Database drivers don't assume things or try to correct user input. When in doubt, fail. Forked from mattes/migrate Databases <span>Database drivers run migrations. Add a new database? PostgreSQL PGX v4 PGX v5 Redshift Ql Cassandra SQLite SQLite3 (todo #165) SQLCipher MySQL/ MariaDB Neo4j MongoDB CrateDB (todo #170) Shell (todo #171) Google Cloud Spanner CockroachDB YugabyteDB ClickHouse Firebird MS SQL Server Database URLs Database connection strings are specified via URLs. The URL format is driver dependent but generally has the form: dbdriver://username:password@host:port/dbname?param1=tru




#golang-migrate

Database URLs

Database connection strings are specified via URLs. The URL format is driver dependent but generally has the form: dbdriver://username:password@host:port/dbname?param1=true&param2=false

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
l Cassandra SQLite SQLite3 (todo #165) SQLCipher MySQL/ MariaDB Neo4j MongoDB CrateDB (todo #170) Shell (todo #171) Google Cloud Spanner CockroachDB YugabyteDB ClickHouse Firebird MS SQL Server <span>Database URLs Database connection strings are specified via URLs. The URL format is driver dependent but generally has the form: dbdriver://username:password@host:port/dbname?param1=true&param2=false Any reserved URL characters need to be escaped. Note, the % character also needs to be escaped Explicitly, the following characters need to be escaped: !, #, $, %, &, ', (, ), *, +,




#golang-migrate

Any reserved URL characters in the DB connection URL need to be escaped. Note, the % character also needs to be escaped

Explicitly, the following characters need to be escaped: !, #, $, %, &, ', (, ), *, +, ,, /, :, ;, =, ?, @, [, ]

It's easiest to always run the URL parts of your DB connection URL (e.g. username, password, etc) through an URL encoder. See the example Python snippets below:

$ python3 -c ' import urllib.parse; print(urllib.parse.quote(input("String to encode: "), "")) ' String to encode: FAKEpassword!#$%&' () * +,/:;= ? @[]
FAKEpassword%21%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D
$ python2 -c ' import urllib; print urllib.quote(raw_input("String to encode: "), "") ' String to encode: FAKEpassword!#$%&' () * +,/:;= ? @[]
FAKEpassword%21%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D
$
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
RLs Database connection strings are specified via URLs. The URL format is driver dependent but generally has the form: dbdriver://username:password@host:port/dbname?param1=true&param2=false <span>Any reserved URL characters need to be escaped. Note, the % character also needs to be escaped Explicitly, the following characters need to be escaped: !, #, $, %, &, ', (, ), *, +, ,, /, :, ;, =, ?, @, [, ] It's easiest to always run the URL parts of your DB connection URL (e.g. username, password, etc) through an URL encoder. See the example Python snippets below: $ python3 -c 'import urllib.parse; print(urllib.parse.quote(input("String to encode: "), ""))' String to encode: FAKEpassword!#$%&'()*+,/:;=?@[] FAKEpassword%21%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D $ python2 -c 'import urllib; print urllib.quote(raw_input("String to encode: "), "")' String to encode: FAKEpassword!#$%&'()*+,/:;=?@[] FAKEpassword%21%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D $ Migration Sources Source drivers read migrations from local or remote sources. Add a new source? Filesystem - read from filesystem io/fs - read from a Go io/fs Go-Bindata - read from em




Migration Sources

Source drivers read migrations from local or remote sources. Add a new source?

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
rt urllib; print urllib.quote(raw_input("String to encode: "), "")' String to encode: FAKEpassword!#$%&'()*+,/:;=?@[] FAKEpassword%21%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D $ <span>Migration Sources Source drivers read migrations from local or remote sources. Add a new source? Filesystem - read from filesystem io/fs - read from a Go io/fs Go-Bindata - read from embedded binary data (jteeuwen/go-bindata) pkger - read from embedded binary data (markbates/pkger) GitHub - read from remote GitHub repositories GitHub Enterprise - read from remote GitHub Enterprise repositories Bitbucket - read from remote Bitbucket repositories Gitlab - read from remote Gitlab repositories AWS S3 - read from Amazon Web Services S3 Google Cloud Storage - read from Google Cloud Platform Storage CLI usage Simple wrapper around this library. Handles ctrl+c (SIGINT) gracefully. No config search paths, no config files, no magic ENV var injections. CLI Documentation Basic usage $ m




CLI usage
  • Simple wrapper around this library.
  • Handles ctrl+c (SIGINT) gracefully.
  • No config search paths, no config files, no magic ENV var injections.

CLI Documentation

Basic usage

$ migrate -source file://path/to/migrations -database postgres://localhost:5432/database up 2

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
- read from remote Bitbucket repositories Gitlab - read from remote Gitlab repositories AWS S3 - read from Amazon Web Services S3 Google Cloud Storage - read from Google Cloud Platform Storage <span>CLI usage Simple wrapper around this library. Handles ctrl+c (SIGINT) gracefully. No config search paths, no config files, no magic ENV var injections. CLI Documentation Basic usage $ migrate -source file://path/to/migrations -database postgres://localhost:5432/database up 2 Docker usage $ docker run -v {{ migration dir }}:/migrations --network host migrate/migrate -path=/migrations/ -database postgres://localhost:5432/database up 2 Use in your Go project A




Getting started

Go to getting started

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
mp;postgres.Config{}) m, err := migrate.NewWithDatabaseInstance( "file:///migrations", "postgres", driver) m.Up() // or m.Step(2) if you want to explicitly set the number of migrations to run } <span>Getting started Go to getting started Tutorials CockroachDB PostgreSQL (more tutorials to come) Migration files Each migration has an up and down migration. Why? 1481574547_create_users_table.up.sql 1481574547_create_users_




statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
e.NewWithDatabaseInstance( "file:///migrations", "postgres", driver) m.Up() // or m.Step(2) if you want to explicitly set the number of migrations to run } Getting started Go to getting started <span>Tutorials CockroachDB PostgreSQL (more tutorials to come) Migration files Each migration has an up and down migration. Why? 1481574547_create_users_table.up.sql 1481574547_create_users_table.down.sql Best practices: Ho




Migration files

Each migration has an up and down migration. Why?

1481574547_create_users_table.up.sql
1481574547_create_users_table.down.sql

Best practices: How to write migrations.

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
", driver) m.Up() // or m.Step(2) if you want to explicitly set the number of migrations to run } Getting started Go to getting started Tutorials CockroachDB PostgreSQL (more tutorials to come) <span>Migration files Each migration has an up and down migration. Why? 1481574547_create_users_table.up.sql 1481574547_create_users_table.down.sql Best practices: How to write migrations. Coming from another db migration tool? Check out migradaptor. Note: migradaptor is not affliated or supported by this project Versions Version Supported? Import Notes master ✅ import "g




#golang-migrate

Coming from another db migration tool?

Check out migradaptor. Note: migradaptor is not affliated or supported by this project

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
s to come) Migration files Each migration has an up and down migration. Why? 1481574547_create_users_table.up.sql 1481574547_create_users_table.down.sql Best practices: How to write migrations. <span>Coming from another db migration tool? Check out migradaptor. Note: migradaptor is not affliated or supported by this project Versions Version Supported? Import Notes master ✅ import "github.com/golang-migrate/migrate/v4" New features and bug fixes arrive here first v4 ✅ import "github.com/golang-migrate/migra




Development and Contributing

Yes, please! Makefile is your friend, read the development guide.

Also have a look at the FAQ.

statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
Used for stable releases v3 ❌ import "github.com/golang-migrate/migrate" (with package manager) or import "gopkg.in/golang-migrate/migrate.v3" (not recommended) DO NOT USE - No longer supported <span>Development and Contributing Yes, please! Makefile is your friend, read the development guide. Also have a look at the FAQ. Looking for alternatives? https://awesome-go.com/#database. Footer © 2023 GitHub, Inc. Footer navigation Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog Abou




Features
  • Multi-platform
  • Stand-alone binary
  • SSH tunnel support built-in
  • Data variable interpolation into migrations
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
s Migrator Tern is a standalone migration tool for PostgreSQL. It includes traditional migrations as well as a separate optional workflow for managing database code such as functions and views. <span>Features Multi-platform Stand-alone binary SSH tunnel support built-in Data variable interpolation into migrations Installation go install github.com/jackc/tern/v2@latest Creating a Tern Project To create a new tern project in the current directory run: tern init Or to create the project somewhere e




The migrations themselves have an extremely simple file format. They are simply the up and down SQL statements divided by a magic comment.

---- create above / drop below ----

Example:

 create table t1 ( id serial primary key ); -- -- create above / drop below ---- drop table t1;

If a migration is irreversible such as a drop table, simply delete the magic comment.

 drop table widgets;
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
This will create a migration file with the given name prefixed by the next available sequence number (e.g. 001, 002, 003). The -e flag can be used to automatically open the new file in EDITOR. <span>The migrations themselves have an extremely simple file format. They are simply the up and down SQL statements divided by a magic comment. ---- create above / drop below ---- Example: create table t1( id serial primary key ); ---- create above / drop below ---- drop table t1; If a migration is irreversible such as a drop table, simply delete the magic comment. drop table widgets; To interpolate a custom data value from the config file prefix the name with a dot and surround the whole with double curly braces. create table {{.prefix}}config( id serial primary key




roll-forward only — maintaining rollbacks is a chore, and in 10 years of API development I've never ran one in production
statusnot read reprioritisations
last reprioritisation on suggested re-reading day
started reading on finished reading on

Unknown title
s 🤩: The Guild * Dovetail * Netflix * Stellate * Accenture * We Love Micro * * Sponsors the entire Graphile suite Why? fast iteration speed — save a file and database is updated in milliseconds <span>roll-forward only — maintaining rollbacks is a chore, and in 10 years of API development I've never ran one in production familiar — no custom DSL to learn, just use PostgreSQL syntax fully functional — sending SQL commands directly to PostgreSQL means you can use all of PostgreSQL's features complements P




  • Migrations should automatically be wrapped in transactions by default
  • Migrations that require execution outside of a transaction (e.g. to enable augmenting non-DDL-safe things, such as ENUMs in PostgreSQL) should be explicitly marked
  • statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    Unknown title
    ptable if absolutely necessary Production databases are critical - NEVER RESET Migrating data (as well as DDL) is acceptable, but should be kept to fast operations (or trigger a background job) <span>Migrations should automatically be wrapped in transactions by default Migrations that require execution outside of a transaction (e.g. to enable augmenting non-DDL-safe things, such as ENUMs in PostgreSQL) should be explicitly marked Migrations should not pollute PostgreSQL global settings (e.g. use SET LOCAL rather than SET) Roles should be managed outside of migrations (since they can be shared between databases)




    We recommend dumping your database schema with pg_dump after migrations are completed; you can see an example of this in Graphile Starter. Tracking this file in git will allow you to easily see the changes that different migrations are making, so you can be sure you're making the changes you intend to. We recommend that you dump the shadow database as it will be unaffected by the iteration you've been applying to your development database (which may have come out of sync - see 'Drift' below).
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    Unknown title
    tion. All members of your team should run the same PostgreSQL version to ensure that the shadow dump matches for everyone (one way of achieving this is through Docker, but that isn't required). <span>We recommend dumping your database schema with pg_dump after migrations are completed; you can see an example of this in Graphile Starter. Tracking this file in git will allow you to easily see the changes that different migrations are making, so you can be sure you're making the changes you intend to. We recommend that you dump the shadow database as it will be unaffected by the iteration you've been applying to your development database (which may have come out of sync - see 'Drift' below). Getting started These instructions are for starting a new database project with Graphile Migrate; if you already have a database schema, see Using Migrate with an existing database for




    Please, read the versioning problem first.
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    Unknown title
    opment This can be used to build local goose binaries without having the latest Go version installed locally. DOCKER_BUILDKIT=1 docker build -f Dockerfile.local --output bin . Hybrid Versioning <span>Please, read the versioning problem first. By default, if you attempt to apply missing (out-of-order) migrations goose will raise an error. However, If you want to apply these missing migrations pass goose the -allow-missing fla




    Database changes may declare dependencies on other changes — even changes from other Sqitch projects. This ensures proper order of execution, even when you’ve committed changes to your VCS out-of-order.
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    About Sqitch
    as scripts native to your selected database engine. Writing a PostgreSQL application? Write SQL scripts for psql. Writing a MySQL-backed app? Write SQL scripts for mysql. Dependency resolution <span>Database changes may declare dependencies on other changes — even changes from other Sqitch projects. This ensures proper order of execution, even when you’ve committed changes to your VCS out-of-order. Deployment integrity Sqitch manages changes and dependencies via a plan file, employing a Merkle tree pattern similar to Git and Blockchain to ensure deployment integrity. As such, ther




    Sqitch manages changes and dependencies via a plan file, employing a Merkle tree pattern similar to Git and Blockchain to ensure deployment integrity. As such, there is no need to number your changes, although you can if you want. Sqitch doesn’t much care how you name your changes.
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    About Sqitch
    ependencies on other changes — even changes from other Sqitch projects. This ensures proper order of execution, even when you’ve committed changes to your VCS out-of-order. Deployment integrity <span>Sqitch manages changes and dependencies via a plan file, employing a Merkle tree pattern similar to Git and Blockchain to ensure deployment integrity. As such, there is no need to number your changes, although you can if you want. Sqitch doesn’t much care how you name your changes. Iterative development Up until you tag and release your application, you can modify your change deployment scripts as often as you like. They’re not locked in just because they’ve been




    Up until you tag and release your application, you can modify your change deployment scripts as often as you like. They’re not locked in just because they’ve been committed to your VCS. This allows you to take an iterative or test-driven approach to developing your database schema.
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    About Sqitch
    ckchain to ensure deployment integrity. As such, there is no need to number your changes, although you can if you want. Sqitch doesn’t much care how you name your changes. Iterative development <span>Up until you tag and release your application, you can modify your change deployment scripts as often as you like. They’re not locked in just because they’ve been committed to your VCS. This allows you to take an iterative or test-driven approach to developing your database schema. Ready to give Sqitch a try? Download it now or read the docs. About this Site Corrections, suggestions, and comments welcome. <span>




    Database Schema Migration

    • atlas - A Database Toolkit. A CLI designed to help companies better work with their data.
    • avro - Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
    • bytebase - Safe database schema change and version control for DevOps teams.
    • darwin - Database schema evolution library for Go.
    • dbmate - A lightweight, framework-agnostic database migration tool.
    • go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library.
    • go-pg-migrate - CLI-friendly package for go-pg migrations management.
    • go-pg-migrations - A Go package to help write migrations with go-pg/pg.
    • goavro - A Go package that encodes and decodes Avro data.
    • godfish - Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3.
    • goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
    • gorm-seeder - Simple database seeder for Gorm ORM.
    • gormigrate - Database schema migration helper for Gorm ORM.
    • libschema - Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL.
    • migrate - Database migrations. CLI and Golang library.
    • migrator - Dead simple Go database migration library.
    • migrator - MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.
    • schema - Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.
    • skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.
    • soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
    • sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.
    • sqlize - Database migration generator. Allows generate sql migration from model and existing sql by differ them.
    ...
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang
    without service interruption. VictoriaMetrics - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL. <span>Database Schema Migration atlas - A Database Toolkit. A CLI designed to help companies better work with their data. avro - Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes. bytebase - Safe database schema change and version control for DevOps teams. darwin - Database schema evolution library for Go. dbmate - A lightweight, framework-agnostic database migration tool. go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library. go-pg-migrate - CLI-friendly package for go-pg migrations management. go-pg-migrations - A Go package to help write migrations with go-pg/pg. goavro - A Go package that encodes and decodes Avro data. godfish - Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3. goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. gorm-seeder - Simple database seeder for Gorm ORM. gormigrate - Database schema migration helper for Gorm ORM. libschema - Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL. migrate - Database migrations. CLI and Golang library. migrator - Dead simple Go database migration library. migrator - MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code. schema - Library to embed schema migrations for database/sql-compatible databases inside your Go binaries. skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata. sqlize - Database migration generator. Allows generate sql migration from model and existing sql by differ them. Database Tools chproxy - HTTP proxy for ClickHouse database. clickhouse-bulk - Collects small inserts and sends big requests to ClickHouse servers. dbbench - Database benchmarking tool




    Awesome Go (whole page)
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang
    A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang × Bestseller Awesome Go We use the Golang Bridge community Slack for instant communication, follow the form here to join. Sponsorships: Special thanks to Your app, enterprise-ready. Start selling to enterprise




    Because Graphile Migrate tracks which migrations it has ran and runs remaining migrations, you must not put your existing database schema as the first migration otherwise you production database might be wiped (or it just won't work) when Graphile Migrate attempts to apply it. Instead you must ensure all databases (development, staging, production, etc.) are at the same state before running any migrations, and then the Graphile Migrate migrations will be applied on top of this initial state.

    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    GitHub - graphile/migrate: Opinionated SQL-powered productive roll-forward migration tool for PostgreSQL.
    select 4; $$ language sql stable; Using Migrate with an existing database You can use Graphile Migrate to manage the migrations for your existing system, but the process is slightly different. <span>Because Graphile Migrate tracks which migrations it has ran and runs remaining migrations, you must not put your existing database schema as the first migration otherwise you production database might be wiped (or it just won't work) when Graphile Migrate attempts to apply it. Instead you must ensure all databases (development, staging, production, etc.) are at the same state before running any migrations, and then the Graphile Migrate migrations will be applied on top of this initial state. Storing the initial state Though you could hand-roll the initial state if you prefer, we generally advise that you take a schema-only dump of your existing (production) database schema




    Storing the initial state

    Though you could hand-roll the initial state if you prefer, we generally advise that you take a schema-only dump of your existing (production) database schema and store it to migrations/initial_schema.sql with a command such as:

    pg_dump --schema-only --no-owner --file=migrations/initial_schema.sql "postgres://..."
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    GitHub - graphile/migrate: Opinionated SQL-powered productive roll-forward migration tool for PostgreSQL.
    ll databases (development, staging, production, etc.) are at the same state before running any migrations, and then the Graphile Migrate migrations will be applied on top of this initial state. <span>Storing the initial state Though you could hand-roll the initial state if you prefer, we generally advise that you take a schema-only dump of your existing (production) database schema and store it to migrations/initial_schema.sql with a command such as: pg_dump --schema-only --no-owner --file=migrations/initial_schema.sql "postgres://..." If you manage some of the data in your initial database schema using your existing migration system then you should add that data to your initial_schema.sql file too. New databases must




    Part VI. Reference > SQL Commands (whole section)
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    pdf

    cannot see any pdfs




    Part VI. Reference > PostgreSQL Client Applications (whole section)
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    pdf

    cannot see any pdfs




    Part VI. Reference > PostgreSQL Server Applications (whole section)
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    pdf

    cannot see any pdfs




    Part VI. Reference > III. PostgreSQL Server Applications > pg_upgrade (whole section)
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    pdf

    cannot see any pdfs




    SuperMemo (from "Super Memory") is a learning method and software package developed by SuperMemo World and SuperMemo R&D with Piotr Woźniak in Poland from 1985 to the present.[2] It is based on research into long-term memory, and is a practical application of the spaced repetition learning method that has been proposed for efficient instruction by a number of psychologists as early as in the 1930s.[3]
    statusnot read reprioritisations
    last reprioritisation on suggested re-reading day
    started reading on finished reading on

    SuperMemo - Wikipedia
    o (2023-10-07)[1] Written in Delphi Operating system Windows, Windows Mobile, Palm OS Size 14.6 MB Type Accelerated learning and memory software License Proprietary Website www.super-memory.com <span>SuperMemo (from "Super Memory") is a learning method and software package developed by SuperMemo World and SuperMemo R&D with Piotr Woźniak in Poland from 1985 to the present.[2] It is based on research into long-term memory, and is a practical application of the spaced repetition learning method that has been proposed for efficient instruction by a number of psychologists as early as in the 1930s.[3] The method is available as a computer program for Windows, Windows CE, Windows Mobile, (Pocket PC), Palm OS (PalmPilot), etc. Course software by the same company (SuperMemo World) can a




    Flashcard 7601484598540

    Question
    [default - edit me]
    Answer
    The SuperMemo program stores a database of questions and answers constructed by the user. When reviewing information saved in the database, the program uses the SuperMemo algorithm to decide what questions to show the user. The user then answers the question and rates their relative ease of recall - with grades of 0 to 5 (0 is the hardest, 5 is the easiest) - and their rating is used to calculate how soon they should be shown the question again. While the exact algorithm varies with the version of SuperMemo, in general, items that are harder to remember show up more frequently.[

    statusnot learnedmeasured difficulty37% [default]last interval [days]               
    repetition number in this series0memorised on               scheduled repetition               
    scheduled repetition interval               last repetition or drill
    SuperMemo - Wikipedia
    a computer.[4] The desktop version of SuperMemo (since v. 2002) supports incremental reading, as well as traditional creation of question and answer flashcards.[5] Software implementation[edit] <span>The SuperMemo program stores a database of questions and answers constructed by the user. When reviewing information saved in the database, the program uses the SuperMemo algorithm to decide what questions to show the user. The user then answers the question and rates their relative ease of recall - with grades of 0 to 5 (0 is the hardest, 5 is the easiest) - and their rating is used to calculate how soon they should be shown the question again. While the exact algorithm varies with the version of SuperMemo, in general, items that are harder to remember show up more frequently.[2] Besides simple text questions and answers, the latest version of SuperMemo supports images, video, and HTML questions and answers.[6] Since 2002, SuperMemo has had a unique set of fea







    Flashcard 7601486433548

    Question
    In 1995, SM-8, which capitalized on data collected by users of SuperMemo 6 and SuperMemo 7 and added a number of improvements that strengthened the theoretical validity of the function of optimum intervals and made it possible to accelerate its adaptation, was introduced in SuperMemo 8.
    Answer
    [default - edit me]

    statusnot learnedmeasured difficulty37% [default]last interval [days]               
    repetition number in this series0memorised on               scheduled repetition               
    scheduled repetition interval               last repetition or drill
    SuperMemo - Wikipedia
    ithms, released the description for SM-5 in a paper titled Optimization of repetition spacing in the practice of learning. Little detail is specified in the algorithms released later than that. <span>In 1995, SM-8, which capitalized on data collected by users of SuperMemo 6 and SuperMemo 7 and added a number of improvements that strengthened the theoretical validity of the function of optimum intervals and made it possible to accelerate its adaptation, was introduced in SuperMemo 8.[11] In 2002, SM-11, the first SuperMemo algorithm that was resistant to interference from the delay or advancement of repetitions was introduced in SuperMemo 11 (aka SuperMemo 2002). In