[keybindings] | |
"+" = "" | |
"." = "" | |
"<" = "" | |
">" = "" | |
"A" = "" | |
"Backspace" = "" | |
"Ctrl+a" = "" | |
"Ctrl+e" = "" | |
"Ctrl+n" = "" |
Современный механизм авторизации через почту/пароль поощряет пользователя на опасные привычки и в безопасной версии (с 2FA) сложен в использовании.
ИТ-миру нужно больше обсуждения механизмов авторизации, чтобы прийти к более удобный и безопасным вариантам.
Это предложение содержит необычный формат авторизации для узкого круга задач. Какие ошибки в нём могуть быть в плане безопасности и удобства использования?
#if DEBUG | |
import SwiftUI | |
private let screenshotDirectory = "/Users/inket/Desktop/" | |
struct PreviewScreenshot: ViewModifier { | |
struct LocatorView: UIViewRepresentable { | |
let tag: Int | |
func makeUIView(context: Context) -> UIView { |
Firefox has a page translator (similar to one in Chrome) turned off by default. Even though it is a bit buggy, it works well enough for a normal user.
Here is how to enable it:
- Сreate Yandex.Translate API key*:
- Make yourself familiar with Yandex Translator API Terms of Use.
- Create a Yandex Translator API key (you gonna need a Yandex account).
- Go to
about:config
and:
Сегодня попался рельсовый код, в котором используются монады, сервисы и прочее. Решил сделать обзор с объяснением того, что в коде не нравится и что можно исправить.
Данный разбор основан только на личном опыте и избегает попытку написать самый идеальный код на свете. К сожалению пошарить ссылку на код не могу, потому что автор попросил опубликовать анонимно.
Главная операция, которая вызывается из контроллера выглядит следующим образом:
---------------- Базовое ---------------------- | |
type Число = Int | |
type Строка = Text | |
type Строчное = Show | |
type ИО = IO | |
type Сравнимое = Eq | |
type Упорядоченное = Ord | |
печатать :: Строчное значение => значение -> ИО () | |
печатать = print |
This is a fork of and builds upon the work of Eddie Webb's search and Matthew Daly's search explorations.
It's built for the Hugo static site generator, but could be adopted to function with any json index.
To see it in action, go to craigmod.com and press CMD-/
and start typing.
{ | |
// Editor UI | |
"customizeUI.fontSizeMap": { | |
"13px": "12px", | |
"12px": "12px", | |
"window-title": "11px", // Window title font when using custom titlebar | |
"tab-title": "12px", // Used for editor tab titles | |
"monospace": "10px" // Used for monospace fonts in user interface | |
}, | |
"customizeUI.stylesheet": { |
function changeOwnership() { | |
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
var activeSheet = ss.getActiveSheet(); | |
// source folder | |
var sourceID = activeSheet.getRange(2,2).getValue(); | |
// email address of current owner | |
var currentOwner = activeSheet.getRange(3,2).getValue(); |