- Install target mingw-w64:
brew install mingw-w64 - Add target to rustup:
rustup target add x86_64-pc-windows-gnu - Create
.cargo/config - Add the instructions below to
.cargo/config
[target.x86_64-pc-windows-gnu]
brew install mingw-w64rustup target add x86_64-pc-windows-gnu.cargo/config.cargo/config[target.x86_64-pc-windows-gnu]
| const { ApolloServer, gql } = require('apollo-server'); | |
| // Type definitions define the "shape" of your data and specify | |
| // which ways the data can be fetched from the GraphQL server. | |
| const typeDefs = gql` | |
| # Comments in GraphQL are defined with the hash (#) symbol. | |
| # This "Book" type can be used in other type declarations. | |
| type Book { | |
| title: String! | |
| author: String |
В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)
Аутентификация - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с логином/паролем, сохранённым в базе данных пользователей.
Авторизация - это проверка прав пользователя на доступ к определенным ресурсам.
В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)
Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с логином/паролем, сохранённым в базе данных пользователей.
Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.
| const { gql } = require('apollo-server-koa') | |
| const UserType = require('./types/user') | |
| const PostType = require('./types/post') | |
| const RootQuery = gql` | |
| type Query { | |
| getUser(id: Int!): User | |
| getPostsByUserId(user_id: Int!): [Post!] | |
| } | |
| `; |
| # addUser mutation | |
| mutation addNewUser($username: String!, $password: String!, $fullName: String) { | |
| addUser(username: $username, password: $password, fullName: $fullName) { | |
| username | |
| fullName | |
| } | |
| } |
| const Koa = require('koa'); | |
| const { ApolloServer, gql } = require('apollo-server-koa'); | |
| // Construct a schema, using GraphQL schema language | |
| const typeDefs = gql` | |
| type Query { | |
| hello: String | |
| } | |
| `; |
| var gulp = require('gulp'); | |
| var uglify = require('gulp-uglify'); | |
| var streamify = require('gulp-streamify'); | |
| var browserify = require('browserify'); | |
| var babelify = require('babelify'); | |
| var source = require('vinyl-source-stream'); | |
| gulp.task('build', function () { | |
| return browserify({entries: 'components/app.jsx', extensions: ['.jsx'], debug: true}) |
→ Макет cavnas_layers.psd. Служит для демонстрации получения финального изображения эскиза из предварительно созданных слоев накладываемых друг на друга. Слои импортировались в документ psd из папки layers, также присутствующей в архиве.
→ Папка layers содержит набор png-изображений необходимый для минимальной прорисовки одной модели ежедневника. Размеры всех изображений должны быть строго соблюдены.
Следует отметить, что финальный эскиз состоит из двух этапов: