17 Matching Annotations
  1. Apr 2022
    1. さて、あなたはいま『自分の仮説が当たった』と思っていますね。実はこの場にいる全員が『仮説が当たった』と思っています。資格を取得するきっかけの心理は大きく5つあり、このスライドにはすべてが含まれています。そのため、誰もが仮説が当たったと感じてしまうのです。それが問題なのです(羽山氏)
    2. 先ほど『自分の仮説は当たった』と思ったとき、あなたは自分の仮説以外の、見落としていたユーザー心理がいくつあったかに意識を払えたでしょうか。人間の目は、自分の仮説が当たるほどに曇ります。人間が人間のことを推測するので、仮説はかならず中途半端に当たるのです。それゆえに、かえって全体像を見失う。これが確証バイアスです(羽山氏)
  2. Jan 2022
    1. require require('file_path') でluaファイルをモジュールとして読み込みます。Neovimの runtimepath ディレクトリ内の lua ディレクトリに格納されているLuaファイルを require で読み込めます。 例 init.vim lua require('plugins') ~/.config/nvim/lua/plugins/init.lua を読み込みます。 lua require('plugins.completion') ~/.config/nvim/lua/plugins/completion.lua を読み込みます。 lua require('plugins/completion') . or / どっちでもOKです。 . のほうがよく見ます。
    1. Pyright from what I can tell doesn't support formatting. Coc seems to be using autopep8 which is a formatter and not a language server. That being said, for the langauge servers which do support formatting, I use this inside of the on_attach callback from nvim-lspconfig: vim.api.nvim_command[[autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_sync()]]
  3. Dec 2021
    1. How do I format files on save? See the following snippet: require("null-ls").setup({ -- you can reuse a shared lspconfig on_attach callback here on_attach = function(client) if client.resolved_capabilities.document_formatting then vim.cmd("autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_sync()") end end, })

      [[null-lsで保存時に自動フォーマットする]]

    1. これは Prettier の設定例です。あらかじめグローバルにprettierをインストールしておく必要があります。 init.lua use { "jose-elias-alvarez/null-ls.nvim", requires = { "nvim-lua/plenary.nvim" } } local nullls = require "null-ls" nullls.config { sources = { nullls.builtins.formatting.prettier, }, } require("lspconfig")["null-ls"].setup {}
    2. neovim でフォーマッタを動かす方法はいろいろありますが、ここではnull-lsを紹介します。 これは様々なツールの出力を LSP の形式に変換して nvim-lsp に送るという仕組みになっています。似たようなツールにdiagnostic-languageserverやefm-langserverがありますが、null-lsはあくまで neovim のプラグインなので外部依存がないことが利点です。
    1. vim.g.indent_blankline_context_patterns = { "abstract_class_declaration", "abstract_method_signature", "accessibility_modifier", "ambient_declaration", "arguments", "array", "array_pattern", "array_type", "arrow_function", "as_expression", "asserts", "assignment_expression", "assignment_pattern", "augmented_assignment_expression", "await_expression", "binary_expression", "break_statement", "call_expression", "call_signature", "catch_clause", "class", "class_body", "class_declaration", "class_heritage", "computed_property_name", "conditional_type", "constraint", "construct_signature", "constructor_type", "continue_statement", "debugger_statement", "declaration", "decorator", "default_type", "do_statement", "else_clause", "empty_statement", "enum_assignment", "enum_body", "enum_declaration", "existential_type", "export_clause", "export_specifier", "export_statement", "expression", "expression_statement", "extends_clause", "finally_clause", "flow_maybe_type", "for_in_statement", "for_statement", "formal_parameters", "function", "function_declaration", "function_signature", "function_type", "generator_function", "generator_function_declaration", "generic_type", "if_statement", "implements_clause", "import", "import_alias", "import_clause", "import_require_clause", "import_specifier", "import_statement", "index_signature", "index_type_query", "infer_type", "interface_declaration", "internal_module", "intersection_type", "jsx_attribute", "jsx_closing_element", "jsx_element", "jsx_expression", "jsx_fragment", "jsx_namespace_name", "jsx_opening_element", "jsx_self_closing_element", "labeled_statement", "lexical_declaration", "literal_type", "lookup_type", "mapped_type_clause", "member_expression", "meta_property", "method_definition", "method_signature", "module", "named_imports", "namespace_import", "nested_identifier", "nested_type_identifier", "new_expression", "non_null_expression", "object", "object_assignment_pattern", "object_pattern", "object_type", "omitting_type_annotation", "opting_type_annotation", "optional_parameter", "optional_type", "pair", "pair_pattern", "parenthesized_expression", "parenthesized_type", "pattern", "predefined_type", "primary_expression", "program", "property_signature", "public_field_definition", "readonly_type", "regex", "required_parameter", "rest_pattern", "rest_type", "return_statement", "sequence_expression", "spread_element", "statement", "statement_block", "string", "subscript_expression", "switch_body", "switch_case", "switch_default", "switch_statement", "template_string", "template_substitution", "ternary_expression", "throw_statement", "try_statement", "tuple_type", "type_alias_declaration", "type_annotation", "type_arguments", "type_parameter", "type_parameters", "type_predicate", "type_predicate_annotation", "type_query", "unary_expression", "union_type", "update_expression", "variable_declaration", "variable_declarator", "while_statement", "with_statement", "yield_expression" }
    1. main関数のreturnは省略しています。C++のmain関数では、returnを省略すると自動的にreturn 0;がコンパイル時に追加されます。

      [[C++のmain関数のreturnを省略するとreturn 0;がコンパイル時に追加される]]

    1. packer has the cond option that you can pass to optionally load a plugin. I found the disable didn't work for dynamic variables. For instance I have use { 'vimwiki/vimwiki', setup = [[require('config.vimwiki')]], cond = function() return not vim.g.vscode end } to only load vimwiki if not in vs code
    1. それ以外の用途において、bits/stdc++.hを用いることは避けるべきだと考えます。これには以下のような理由が考えられます。 libstdc++環境固有のヘッダであり、これを用いることはプログラムの可搬性を大きく損なうため ヘッダのプリコンパイルによるコンパイル高速化を行わない場合、stdc++.hのインクルードは本来の使用目的から外れ、コンパイル時間を増大させる可能性があるため コンパイル後のバイナリに不必要な未使用定数などが含まれ、サイズが増大するため 不必要なヘッダをインクルードすることによってIntellisenseなどIDEの動作を重くする可能性があるため ファイル中で標準ライブラリのどの機能を使用しているかがわかりにくくなり、プログラム全体の見通しが悪くなるため

      [[bits/stdc++.hは環境依存であり、開発用途で使うべきではない]]

    2. 最も致命的なのは、bits/stdc++.hを使うことによって得られる利点が「プログラムが短くなる」という点しか見当たらないことです。私は一般に、「プログラムが短くなる」とか「きれいに見えるようになる」などの理由でプログラムの動作に対する本質的な変更を加えることはバッドプラクティスであると考えます (もちろん、例外もあります)。

      [[bits/stdc++.hは環境依存であり、開発用途で使うべきではない]]

    3. でも環境依存って聞いたよ? bits/stdc++.hはlibstdc++固有の機能であり、Clangや CL.exe (VC++) のような他のコンパイラの標準ライブラリには同様のファイルは存在しません。 よって仮想Linux環境なしのWindowsや、自分のことをGCCだと思っている精神異常ClangがインストールされているMacでは通常このテクニックを使用することはできません。

      [[bits/stdc++.hは環境依存であり、開発用途で使うべきではない]]

    4. そもそも、bits/stdc++.hって何? GNUが開発するC++の標準ライブラリの実装であるlibstdc++のプリコンパイル済みヘッダを生成するためのソースファイルです。 具体的な中身はgccのソースリポジトリのlibstdc++-v3/include/precompiled/stdc++.hから参照することができます。見ると、CおよびC++の標準ライブラリに含まれるヘッダがすべてインクルードされており、このことから「#include <bits/stdc++.h>と書くとすべての標準ライブラリを一度にインクルードできる」という性質を持ちます。

      [[bits/stdc++.hとは何か]]

    1. Im using sway in Surface too and it work pretty well after some tweaks. This is what I have:Squeekboard, for onscreen keyboardWaybar with some custom buttons: (close window, layout mode, resize window, open squeekboard)I have the surface window key opening nwggrid (app launcher)The power key opens wlogout (nice power menu)For gesture control, you can use lisgd, it works reasonably well.I have some other scripts and apps but these are the main ones.
    1. 4.30. Focus on window activation If a window is activated, e.g., via google-chrome www.google.com, it may request to take focus. Since this might not be preferable, different reactions can be configured. Note that this might not affect windows that are being opened. To prevent new windows from being focused, see [no_focus]. Syntax: focus_on_window_activation smart|urgent|focus|none The different modes will act as follows: smart This is the default behavior. If the window requesting focus is on an active workspace, it will receive the focus. Otherwise, the urgency hint will be set. urgent The window will always be marked urgent, but the focus will not be stolen. focus The window will always be focused and not be marked urgent. none The window will neither be focused, nor be marked urgent.
    1. XWayland programs will be blurry when scaling is more than 1. There's still no way around this.I've been using Sway in scale 2 mode for a while, but I recently switched to scale 1, because I started using certain XWayland programs on a daily basis.My solution is to scale the fonts instead. So, for example:GTK apps can be scaled with gsettings set org.gnome.desktop.interface text-scaling-factor 1.33Firefox can be additionally scaled by adjusting the layout.css.devPixelsPerPx property in about:config, this will scale the UI and also zoom page contentThe XWayland programs that i use (Godot) provide their own way of scaling the UI in the settings, many "heavy" XWayland programs let you change the UI scalingIncreased terminal fonts, etc...I've been happily using this setup both on my laptop (161 DPI) and on desktop (183 DPI) for a while and it works great for me.